diff --git a/resources/releasedocs/changelog.html b/resources/releasedocs/changelog.html
index 706a4e2c6..e11abe56a 100644
--- a/resources/releasedocs/changelog.html
+++ b/resources/releasedocs/changelog.html
@@ -141,6 +141,32 @@ hr {
+
4.3.4 -- 2019-05-27
+
+
Bug
+
+
+- [SMACK-861] - Potential NPE in Roster.getPresencesInternal(BareJid)
+
+- [SMACK-863] - ServiceDiscoveryManger does not use the main identity, causing setIdentity() to have no effect
+
+- [SMACK-864] - Potential Denial of Service (DOS) by remote entities caused by unlimited threads for asynchronous operations
+
+- [SMACK-865] - Some Manager.getInsanceFor() methods are missing the 'synchronized' keyword
+
+- [SMACK-868] - XHTMLText.appendOpenBodyTag() produces invalid XML
+
+- [SMACK-870] - TLS X.509 certificate verification should be performed with the ACE representation of the XMPP service domain when possible
+
+
+
+
Improvement
+
+
+- [SMACK-869] - Exceptions in async tasks should not go uncaught to the call stack to avoid program termination
+
+
+
4.3.3 -- 2019-03-14
Bug
diff --git a/smack-core/src/main/java/org/jivesoftware/smack/ConnectionConfiguration.java b/smack-core/src/main/java/org/jivesoftware/smack/ConnectionConfiguration.java
index e302a1159..5c07cb38d 100644
--- a/smack-core/src/main/java/org/jivesoftware/smack/ConnectionConfiguration.java
+++ b/smack-core/src/main/java/org/jivesoftware/smack/ConnectionConfiguration.java
@@ -750,7 +750,7 @@ public abstract class ConnectionConfiguration {
/**
* Set the Internet address of the host providing the XMPP service. If set, then this will overwrite anything
- * set via {@link #setHost(String)}.
+ * set via {@link #setHost(CharSequence)}.
*
* @param address the Internet address of the host providing the XMPP service.
* @return a reference to this builder.
@@ -762,16 +762,29 @@ public abstract class ConnectionConfiguration {
}
/**
- * Set the name of the host providing the XMPP service. Note that this method does only allow DNS names and not
- * IP addresses. Use {@link #setHostAddress(InetAddress)} if you want to explicitly set the Internet address of
- * the host providing the XMPP service.
+ * Set the name of the host providing the XMPP service. This method takes DNS names and
+ * IP addresses.
*
* @param host the DNS name of the host providing the XMPP service.
* @return a reference to this builder.
*/
- public B setHost(String host) {
- DnsName hostDnsName = DnsName.from(host);
- return setHost(hostDnsName);
+ public B setHost(CharSequence host) {
+ String fqdnOrIpString = host.toString();
+ if (InetAddressUtil.isIpAddress(fqdnOrIpString)) {
+ InetAddress hostInetAddress;
+ try {
+ hostInetAddress = InetAddress.getByName(fqdnOrIpString);
+ }
+ catch (UnknownHostException e) {
+ // Should never happen.
+ throw new AssertionError(e);
+ }
+ setHostAddress(hostInetAddress);
+ } else {
+ DnsName dnsName = DnsName.from(fqdnOrIpString);
+ setHost(dnsName);
+ }
+ return getThis();
}
/**
@@ -795,23 +808,12 @@ public abstract class ConnectionConfiguration {
* @see #setHost(DnsName)
* @see #setHostAddress(InetAddress)
* @since 4.3.2
+ * @deprecated use {@link #setHost(CharSequence)} instead.
*/
+ @Deprecated
+ // TODO: Remove in Smack 4.5.
public B setHostAddressByNameOrIp(CharSequence fqdnOrIp) {
- String fqdnOrIpString = fqdnOrIp.toString();
- if (InetAddressUtil.isIpAddress(fqdnOrIp)) {
- InetAddress hostInetAddress;
- try {
- hostInetAddress = InetAddress.getByName(fqdnOrIpString);
- }
- catch (UnknownHostException e) {
- // Should never happen.
- throw new AssertionError(e);
- }
- setHostAddress(hostInetAddress);
- } else {
- setHost(fqdnOrIpString);
- }
- return getThis();
+ return setHost(fqdnOrIp);
}
public B setPort(int port) {
diff --git a/smack-core/src/test/java/org/jivesoftware/smack/ConnectionConfigurationTest.java b/smack-core/src/test/java/org/jivesoftware/smack/ConnectionConfigurationTest.java
index 6637eae56..163937c07 100644
--- a/smack-core/src/test/java/org/jivesoftware/smack/ConnectionConfigurationTest.java
+++ b/smack-core/src/test/java/org/jivesoftware/smack/ConnectionConfigurationTest.java
@@ -1,6 +1,6 @@
/**
*
- * Copyright 2018 Florian Schmaus.
+ * Copyright 2018-2019 Florian Schmaus.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -28,7 +28,7 @@ public class ConnectionConfigurationTest {
DummyConnectionConfiguration.Builder builder = newUnitTestBuilder();
final String ip = "192.168.0.1";
- builder.setHostAddressByNameOrIp(ip);
+ builder.setHost(ip);
DummyConnectionConfiguration connectionConfiguration = builder.build();
assertEquals('/' + ip, connectionConfiguration.getHostAddress().toString());
@@ -39,7 +39,7 @@ public class ConnectionConfigurationTest {
DummyConnectionConfiguration.Builder builder = newUnitTestBuilder();
final String fqdn = "foo.example.org";
- builder.setHostAddressByNameOrIp(fqdn);
+ builder.setHost(fqdn);
DummyConnectionConfiguration connectionConfiguration = builder.build();
assertEquals(fqdn, connectionConfiguration.getHost().toString());
diff --git a/smack-extensions/src/main/java/org/jivesoftware/smackx/muc/MultiUserChatManager.java b/smack-extensions/src/main/java/org/jivesoftware/smackx/muc/MultiUserChatManager.java
index a24ae74fe..97d70a862 100644
--- a/smack-extensions/src/main/java/org/jivesoftware/smackx/muc/MultiUserChatManager.java
+++ b/smack-extensions/src/main/java/org/jivesoftware/smackx/muc/MultiUserChatManager.java
@@ -294,6 +294,9 @@ public final class MultiUserChatManager extends Manager {
* Returns a Set of the rooms where the user has joined. The Iterator will contain Strings where each String
* represents a room (e.g. room@muc.jabber.org).
*
+ * Note: In order to get a list of bookmarked (but not necessarily joined) conferences, use
+ * {@link org.jivesoftware.smackx.bookmarks.BookmarkManager#getBookmarkedConferences()}.
+ *
* @return a List of the rooms where the user has joined using a given connection.
*/
public Set getJoinedRooms() {
diff --git a/smack-im/src/main/java/org/jivesoftware/smack/roster/Roster.java b/smack-im/src/main/java/org/jivesoftware/smack/roster/Roster.java
index d9e54e886..790e4d059 100644
--- a/smack-im/src/main/java/org/jivesoftware/smack/roster/Roster.java
+++ b/smack-im/src/main/java/org/jivesoftware/smack/roster/Roster.java
@@ -1680,7 +1680,7 @@ public final class Roster extends Manager {
@Override
public void onSuccess(IQ packet) {
final XMPPConnection connection = connection();
- LOGGER.log(Level.FINE, "RosterResultListener received {}", packet);
+ LOGGER.log(Level.FINE, "RosterResultListener received {0}", packet);
Collection addedEntries = new ArrayList<>();
Collection updatedEntries = new ArrayList<>();
Collection deletedEntries = new ArrayList<>();