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 +

+ + +

Improvement +

+ +

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<>();