mirror of
https://github.com/vanitasvitae/Smack.git
synced 2024-12-26 04:28:00 +01:00
1862 lines
90 KiB
Markdown
1862 lines
90 KiB
Markdown
# Smack Changelog
|
|
|
|
# 4.4.6 -- 2022-06-29
|
|
|
|
### Bug
|
|
|
|
- [SMACK-926](https://igniterealtime.atlassian.net/browse/SMACK-926) Memory-leak in ServiceDiscoveryManager
|
|
- [SMACK-925](https://igniterealtime.atlassian.net/browse/SMACK-925) MultiUserChat Presence interceptors do not intercept
|
|
|
|
# 4.4.5 -- 2022-03-02
|
|
|
|
### Bug
|
|
|
|
- [SMACK-923](https://igniterealtime.atlassian.net/browse/SMACK-923) Smack reactor should immediately handle scheduled actions that are due in zero milliseconds
|
|
- [SMACK-921](https://igniterealtime.atlassian.net/browse/SMACK-921) XmlStringBuilder.attribute\(String name, Enum<?> value\) should use value.toString\(\) \(and not value.name\(\)\)
|
|
- [SMACK-920](https://igniterealtime.atlassian.net/browse/SMACK-920) SASL GSSAPI mechanism should be marked to not require a password
|
|
- [SMACK-918](https://igniterealtime.atlassian.net/browse/SMACK-918) Self presences in MUC are no longer handled correctly
|
|
|
|
### Improvement
|
|
|
|
- [SMACK-922](https://igniterealtime.atlassian.net/browse/SMACK-922) Support 'optional text' and arbitrary element in Jingle 'reason' element
|
|
- [SMACK-919](https://igniterealtime.atlassian.net/browse/SMACK-919) PubSub ItemProvider should ignore character data in <item/>s
|
|
|
|
## 4.4.4 -- 2021-11-01
|
|
|
|
### Bug
|
|
|
|
- [SMACK-916](https://igniterealtime.atlassian.net/browse/SMACK-916) -
|
|
XMPPErrorException.stanza is missing a getter method
|
|
- [SMACK-915](https://igniterealtgime.atlassian.net/browse/SMACK-915) -
|
|
Smack does not process MUC destroy message if they contain
|
|
\'status\'
|
|
- [SMACK-914](https://igniterealtime.atlassian.net/browse/SMACK-914) -
|
|
MultiUserChat may be become unjoinable due to a race condition
|
|
- [SMACK-913](https://igniterealtime.atlassian.net/browse/SMACK-913) -
|
|
MultiUserChat.serviceSupportsStableIds\\(\\) may throws a
|
|
NullPointerException
|
|
- [SMACK-912](https://igniterealtime.atlassian.net/browse/SMACK-912) -
|
|
Smack does not start the local SOCKS5 proxy automatically
|
|
- [SMACK-910](https://igniterealtime.atlassian.net/browse/SMACK-910) -
|
|
FormNode and FormNodeProvide should handle non-existent DataForm
|
|
- [SMACK-909](https://igniterealtime.atlassian.net/browse/SMACK-909) -
|
|
Must use the raw character data of a form field in entity caps hash
|
|
calculation
|
|
|
|
## 4.4.3 -- 2021-07-06
|
|
|
|
### Bug
|
|
|
|
- [SMACK-905](https://igniterealtime.atlassian.net/browse/SMACK-905) -
|
|
The class org.jivesoftware.smackx.offline.packet.OfflineMessageInfo
|
|
has no ELEMENT, NAMESPACE or QNAME member
|
|
- [SMACK-907](https://igniterealtime.atlassian.net/browse/SMACK-907) -
|
|
Possible NPE in MultipleRecipientManager
|
|
|
|
## 4.4.2 -- 2021-03-25
|
|
|
|
### Bug
|
|
|
|
- [SMACK-903](https://igniterealtime.atlassian.net/browse/SMACK-903) -
|
|
StaxXmlPullParser.getNamespace() may throws IllegalArgumentException
|
|
- [SMACK-904](https://igniterealtime.atlassian.net/browse/SMACK-904) -
|
|
XEP-0096 file transfer fails because of a hidden ClastCastException
|
|
|
|
## 4.4.1 -- 2021-03-03
|
|
|
|
### Bug
|
|
|
|
- [SMACK-895](https://igniterealtime.atlassian.net/browse/SMACK-895) -
|
|
BoBIQ#getIQChildElementBuilder throws NPE when the BoB data does not
|
|
contain 'max-age'.
|
|
- [SMACK-896](https://igniterealtime.atlassian.net/browse/SMACK-896) -
|
|
BoBDataExtension is missing getter for BoBData and ContentId
|
|
- [SMACK-897](https://igniterealtime.atlassian.net/browse/SMACK-897) -
|
|
DirectoryRosterStore.readEntry() should also catch
|
|
IllegalArgumentException
|
|
- [SMACK-898](https://igniterealtime.atlassian.net/browse/SMACK-898) -
|
|
AbstractProvider should also consider TypeVariable
|
|
- [SMACK-899](https://igniterealtime.atlassian.net/browse/SMACK-899) -
|
|
NullPointerException in EntityCapsManager.addCapsExtension
|
|
- [SMACK-900](https://igniterealtime.atlassian.net/browse/SMACK-900) -
|
|
NPE in DataForm.Builder.addItem()
|
|
- [SMACK-902](https://igniterealtime.atlassian.net/browse/SMACK-902) -
|
|
DataFormProvider should retrieve the type of fields from
|
|
\<reported/> elements if possible
|
|
|
|
### Improvement
|
|
|
|
- [SMACK-901](https://igniterealtime.atlassian.net/browse/SMACK-901) -
|
|
BoBDataExtension.from() should also allow IQs
|
|
|
|
## 4.4.0 -- 2020-12-06
|
|
|
|
### Bug
|
|
|
|
- [SMACK-561](https://igniterealtime.atlassian.net/browse/SMACK-561) -
|
|
Smack should not reply with multiple stream types after stream
|
|
initiation is offered
|
|
- [SMACK-624](https://igniterealtime.atlassian.net/browse/SMACK-624) -
|
|
AdHocCommandManager\'s session sweeping thread does never stop
|
|
- [SMACK-729](https://igniterealtime.atlassian.net/browse/SMACK-729) -
|
|
Not all providers from smack-legacy.jar are loaded
|
|
- [SMACK-770](https://igniterealtime.atlassian.net/browse/SMACK-770) -
|
|
There is no Bits of Binary Extension Element provider registered
|
|
- [SMACK-848](https://igniterealtime.atlassian.net/browse/SMACK-848) -
|
|
Make MultiUserChat.leave() wait for response
|
|
- [SMACK-874](https://igniterealtime.atlassian.net/browse/SMACK-874) -
|
|
PacketParserUtilsTest#invalidXMLInMessageBody() fails on non-english
|
|
machines
|
|
- [SMACK-881](https://igniterealtime.atlassian.net/browse/SMACK-881) -
|
|
Deadlock between reader and writer if Stream Mangement unacked
|
|
stanza queue is full
|
|
- [SMACK-888](https://igniterealtime.atlassian.net/browse/SMACK-888) -
|
|
MUC roomDestroyed() callback is not invoked
|
|
|
|
### New Feature
|
|
|
|
- [SMACK-257](https://igniterealtime.atlassian.net/browse/SMACK-257) -
|
|
Add support for XEP-0118: User Tune
|
|
- [SMACK-636](https://igniterealtime.atlassian.net/browse/SMACK-636) -
|
|
Add support for XEP-0319: Last User Interaction in Presence
|
|
- [SMACK-743](https://igniterealtime.atlassian.net/browse/SMACK-743) -
|
|
Add support for XEP-0384: OMEMO Encryption
|
|
- [SMACK-801](https://igniterealtime.atlassian.net/browse/SMACK-801) -
|
|
Update Smack to Java 8
|
|
- [SMACK-824](https://igniterealtime.atlassian.net/browse/SMACK-824) -
|
|
Add support for XEP-0221: Data Forms Media Element
|
|
- [SMACK-862](https://igniterealtime.atlassian.net/browse/SMACK-862) -
|
|
Add support for XEP-0418: DNS Queries over XMPP (DoX)
|
|
- [SMACK-871](https://igniterealtime.atlassian.net/browse/SMACK-871) -
|
|
Add support for XEP-0350: Data Forms Geolocation Element
|
|
- [SMACK-872](https://igniterealtime.atlassian.net/browse/SMACK-872) -
|
|
Add support for XEP-0315: Data Forms XML Element
|
|
- [SMACK-878](https://igniterealtime.atlassian.net/browse/SMACK-878) -
|
|
Add support for XEP-0328: JID Prep
|
|
- [SMACK-884](https://igniterealtime.atlassian.net/browse/SMACK-884) -
|
|
Add support for XEP-0422: Message Fastening
|
|
- [SMACK-885](https://igniterealtime.atlassian.net/browse/SMACK-885) -
|
|
Add support for XEP-0420 Stanza Content Encryption
|
|
- [SMACK-889](https://igniterealtime.atlassian.net/browse/SMACK-889) -
|
|
Add support for XEP-0428: Fallback Indication
|
|
|
|
### Improvement
|
|
|
|
- [SMACK-591](https://igniterealtime.atlassian.net/browse/SMACK-591) -
|
|
Replace XPP3 by SmackXmlPullParser (wrapping Stax\'s XmlStreamReader
|
|
and XPP3 on Android)
|
|
- [SMACK-650](https://igniterealtime.atlassian.net/browse/SMACK-650) -
|
|
Enable Java8\'s javadoc doclint
|
|
- [SMACK-651](https://igniterealtime.atlassian.net/browse/SMACK-651) -
|
|
Perform sound cross-compilation: Use newer javac\'s \--release
|
|
feature
|
|
- [SMACK-718](https://igniterealtime.atlassian.net/browse/SMACK-718) -
|
|
Prevent extremely long reply timeouts from being set
|
|
- [SMACK-821](https://igniterealtime.atlassian.net/browse/SMACK-821) -
|
|
Make Forwarded a generic type
|
|
- [SMACK-822](https://igniterealtime.atlassian.net/browse/SMACK-822) -
|
|
Add API for XEP-0313 § 6.2 Advanced configuration via Ad-Hoc
|
|
commands
|
|
- [SMACK-825](https://igniterealtime.atlassian.net/browse/SMACK-825) -
|
|
Discourage Stanza.getExtension(String, String) in favor of
|
|
Stanza.getExtension(Class\<E extends ExtensionElement>)
|
|
- [SMACK-826](https://igniterealtime.atlassian.net/browse/SMACK-826) -
|
|
Add support for XEP-0373:\" OpenPGP for XMPP\" and XEP-0374:
|
|
\"OpenPGP for XMPP Instant Messaging\"
|
|
- [SMACK-828](https://igniterealtime.atlassian.net/browse/SMACK-828) -
|
|
Add support for XEP-0107: User Mood
|
|
- [SMACK-836](https://igniterealtime.atlassian.net/browse/SMACK-836) -
|
|
Save a ServiceDiscoveryManager instance in a private field of
|
|
MultiUserChatManger
|
|
- [SMACK-839](https://igniterealtime.atlassian.net/browse/SMACK-839) -
|
|
Provider.parse() should not throw a generic Exception, but instead
|
|
IOException and XmlPullParserException
|
|
- [SMACK-852](https://igniterealtime.atlassian.net/browse/SMACK-852) -
|
|
Message thread and subject should be designed and implemented as
|
|
ExtensionElements
|
|
- [SMACK-854](https://igniterealtime.atlassian.net/browse/SMACK-854) -
|
|
Rename smack-java7 to smack-java8
|
|
- [SMACK-866](https://igniterealtime.atlassian.net/browse/SMACK-866) -
|
|
Remove all tabs from the source code and add checkstyle rule that
|
|
enforces no-tabs
|
|
- [SMACK-867](https://igniterealtime.atlassian.net/browse/SMACK-867) -
|
|
Extend HttpFileUploadManager by methods with InputStream parameter
|
|
- [SMACK-882](https://igniterealtime.atlassian.net/browse/SMACK-882) -
|
|
Add support for MUC status code 333
|
|
- [SMACK-883](https://igniterealtime.atlassian.net/browse/SMACK-883) -
|
|
Add generic MUC callback for \"participant left\" caused by
|
|
unavailable presences
|
|
- [SMACK-890](https://igniterealtime.atlassian.net/browse/SMACK-890) -
|
|
Update Message Archive Management (XEP-0313) support to
|
|
urn:xmpp:mam:2
|
|
- [SMACK-892](https://igniterealtime.atlassian.net/browse/SMACK-892) -
|
|
Smack performs unnecessary escaping in XML text
|
|
|
|
### Task
|
|
|
|
- [SMACK-750](https://igniterealtime.atlassian.net/browse/SMACK-750) -
|
|
Raise Smack\'s minimum required Android SDK level to 19 (Android
|
|
4.4, Kit Kat, 2013-10)
|
|
- [SMACK-840](https://igniterealtime.atlassian.net/browse/SMACK-840) -
|
|
Remove smack-compression-jzlib, as it is obsolete (Smack uses Java 7
|
|
de- and inflate API now)
|
|
|
|
## 4.3.4 -- 2019-05-27
|
|
|
|
### Bug
|
|
|
|
- [SMACK-861](https://igniterealtime.atlassian.net/browse/SMACK-861) -
|
|
Potential NPE in Roster.getPresencesInternal(BareJid)
|
|
- [SMACK-863](https://igniterealtime.atlassian.net/browse/SMACK-863) -
|
|
ServiceDiscoveryManger does not use the main identity, causing
|
|
setIdentity() to have no effect
|
|
- [SMACK-864](https://igniterealtime.atlassian.net/browse/SMACK-864) -
|
|
Potential Denial of Service (DOS) by remote entities caused by
|
|
unlimited threads for asynchronous operations
|
|
- [SMACK-865](https://igniterealtime.atlassian.net/browse/SMACK-865) -
|
|
Some Manager.getInsanceFor() methods are missing the
|
|
\'synchronized\' keyword
|
|
- [SMACK-868](https://igniterealtime.atlassian.net/browse/SMACK-868) -
|
|
XHTMLText.appendOpenBodyTag() produces invalid XML
|
|
- [SMACK-870](https://igniterealtime.atlassian.net/browse/SMACK-870) -
|
|
TLS X.509 certificate verification should be performed with the ACE
|
|
representation of the XMPP service domain when possible
|
|
|
|
### Improvement
|
|
|
|
- [SMACK-869](https://igniterealtime.atlassian.net/browse/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
|
|
|
|
- [SMACK-856](https://igniterealtime.atlassian.net/browse/SMACK-856) -
|
|
Smack fails under JDK 11 because com.sun.jndi.dns.DnsContextFactory
|
|
is not inaccessible
|
|
|
|
### Improvement
|
|
|
|
- [SMACK-858](https://igniterealtime.atlassian.net/browse/SMACK-858) -
|
|
Dependency version specifier of jxmpp and MiniDNS include
|
|
alpha/beta/\... versions of the follow up version when Maven is used
|
|
- [SMACK-859](https://igniterealtime.atlassian.net/browse/SMACK-859) -
|
|
MultiUserChat enter() should reset the timeout of the collector
|
|
waiting for the final self presence to prevent timeouts for large
|
|
MUCs
|
|
|
|
## 4.3.2 -- 2019-02-22
|
|
|
|
### Bug
|
|
|
|
- [SMACK-842](https://igniterealtime.atlassian.net/browse/SMACK-842) -
|
|
The RFC 3920 xml-not-well-formed error condition should be handled
|
|
in stream error not a stanza error
|
|
- [SMACK-843](https://igniterealtime.atlassian.net/browse/SMACK-843) -
|
|
ManManager.pagePrevious() pages into the wrong direction
|
|
- [SMACK-844](https://igniterealtime.atlassian.net/browse/SMACK-844) -
|
|
Check if bounded unacknowledged stanzas queue is full before adding
|
|
to it to avoid IllegalStateException
|
|
- [SMACK-845](https://igniterealtime.atlassian.net/browse/SMACK-845) -
|
|
Ensure that IQ response \'to\' address and ID are set correctly
|
|
- [SMACK-846](https://igniterealtime.atlassian.net/browse/SMACK-846) -
|
|
XMPPTCPConnection does not wait for stream features after
|
|
authentication if compression is disabled
|
|
- [SMACK-848](https://igniterealtime.atlassian.net/browse/SMACK-848) -
|
|
Make MultiUserChat.leave() wait for response
|
|
- [SMACK-850](https://igniterealtime.atlassian.net/browse/SMACK-850) -
|
|
DeliveryReceiptManager should not send receipts with messages of
|
|
type \'groupchat\'
|
|
- [SMACK-855](https://igniterealtime.atlassian.net/browse/SMACK-855) -
|
|
XMPPTCPConnection sometimes has two writer threads running
|
|
|
|
### Improvement
|
|
|
|
- [SMACK-847](https://igniterealtime.atlassian.net/browse/SMACK-847) -
|
|
Make TCP socket connection attempt interruptable
|
|
- [SMACK-849](https://igniterealtime.atlassian.net/browse/SMACK-849) -
|
|
Smack Local SOCKS5 Proxy thread should be marked as daemon thread
|
|
|
|
## 4.3.1 -- 2018-10-14
|
|
|
|
### Bug
|
|
|
|
- [SMACK-833](https://igniterealtime.atlassian.net/browse/SMACK-833) -
|
|
XMLUtil.prettyFormatXml() throws on some Android devices
|
|
|
|
### Improvement
|
|
|
|
- [SMACK-829](https://igniterealtime.atlassian.net/browse/SMACK-829) -
|
|
Disconnect BOSH client on shutdown
|
|
- [SMACK-838](https://igniterealtime.atlassian.net/browse/SMACK-838) -
|
|
FormField.getFirstValue() throws IndexOutOfBoundsException if there
|
|
are no values
|
|
|
|
## 4.3.0 -- 2018-08-02
|
|
|
|
### Bug
|
|
|
|
- [SMACK-759](https://igniterealtime.atlassian.net/browse/SMACK-759) -
|
|
PubSubManager.getLeafNode() throws
|
|
PubSubAssertionError.DiscoInfoNodeAssertionError if node exists but
|
|
its not a PubSub Node
|
|
- [SMACK-814](https://igniterealtime.atlassian.net/browse/SMACK-814) -
|
|
NPE when using Node.getAffiliationsAsOwner()
|
|
- [SMACK-815](https://igniterealtime.atlassian.net/browse/SMACK-815) -
|
|
XEP-0184: DeliveryReceipt requires ID, although the XEP defines it
|
|
as optional attribute
|
|
- [SMACK-818](https://igniterealtime.atlassian.net/browse/SMACK-818) -
|
|
EntityCapsManager sends presences with multiple CapsExtension
|
|
causing disco#info lookup to fail
|
|
- [SMACK-819](https://igniterealtime.atlassian.net/browse/SMACK-819) -
|
|
ConcurrentModification Exception in MultiUserChatManager.java
|
|
- [SMACK-820](https://igniterealtime.atlassian.net/browse/SMACK-820) -
|
|
DNSUtil.setDaneProvider() does not set the DANE provider
|
|
|
|
### Task
|
|
|
|
- [SMACK-769](https://igniterealtime.atlassian.net/browse/SMACK-769) -
|
|
Rename XMPPError to StanzaError
|
|
- [SMACK-776](https://igniterealtime.atlassian.net/browse/SMACK-776) -
|
|
Remove deprecated reconnection callbacks in ConnectionListener
|
|
|
|
### Improvement
|
|
|
|
- [SMACK-761](https://igniterealtime.atlassian.net/browse/SMACK-761) -
|
|
Adopt ChatStateManager to new Chat API (chat2)
|
|
- [SMACK-812](https://igniterealtime.atlassian.net/browse/SMACK-812) -
|
|
Enable ModifierOrder checkstyle check
|
|
- [SMACK-816](https://igniterealtime.atlassian.net/browse/SMACK-816) -
|
|
SimplePayload should infer the XML element name and namespace
|
|
|
|
## 4.2.4 -- 2018-04-15
|
|
|
|
### Bug
|
|
|
|
- [SMACK-804](https://igniterealtime.atlassian.net/browse/SMACK-804) -
|
|
ServiceAdministrationManager does not use correct form actions
|
|
- [SMACK-805](https://igniterealtime.atlassian.net/browse/SMACK-805) -
|
|
ServiceDiscoveryManager.findService() only considers the first
|
|
service by feature
|
|
- [SMACK-813](https://igniterealtime.atlassian.net/browse/SMACK-813) -
|
|
Smack uses hostname instead of XMPP service name for SNI
|
|
|
|
### New Feature
|
|
|
|
- [SMACK-794](https://igniterealtime.atlassian.net/browse/SMACK-794) -
|
|
Add support for XEP-0394: Message Markup
|
|
- [SMACK-795](https://igniterealtime.atlassian.net/browse/SMACK-795) -
|
|
Add support for XEP-0382: Spoiler messages
|
|
- [SMACK-799](https://igniterealtime.atlassian.net/browse/SMACK-799) -
|
|
Add support for XEP-0372: References
|
|
- [SMACK-800](https://igniterealtime.atlassian.net/browse/SMACK-800) -
|
|
Add support for XEP-0392: Consistent Color Generation
|
|
|
|
### Improvement
|
|
|
|
- [SMACK-802](https://igniterealtime.atlassian.net/browse/SMACK-802) -
|
|
Rename and deprecate: addPacketSendingListener(),
|
|
removePacketSendingListener(), addPacketInterceptor() and
|
|
removePacketInterceptor()
|
|
- [SMACK-809](https://igniterealtime.atlassian.net/browse/SMACK-809) -
|
|
Make Roster\'s non-roster presence map second-level map bounded
|
|
|
|
## 4.2.3 -- 2018-02-07
|
|
|
|
### Bug
|
|
|
|
- [SMACK-788](https://igniterealtime.atlassian.net/browse/SMACK-788) -
|
|
NullPointerException if hostAddresses is null
|
|
- [SMACK-789](https://igniterealtime.atlassian.net/browse/SMACK-789) -
|
|
AffiliationsExtension toXml() produces invalid XML
|
|
- [SMACK-790](https://igniterealtime.atlassian.net/browse/SMACK-790) -
|
|
Some HTTP File Upload elements are not correctly parsed and
|
|
serialized
|
|
- [SMACK-791](https://igniterealtime.atlassian.net/browse/SMACK-791) -
|
|
NumberFormatException in IpAddressUtil.isIPv4LiteralAddress
|
|
- [SMACK-796](https://igniterealtime.atlassian.net/browse/SMACK-796) -
|
|
SOCKS5 authentication erroneously uses \'user\' when it should use
|
|
\'passwd\', causes authentication to fail
|
|
|
|
## 4.2.2 -- 2017-11-25
|
|
|
|
### Bug
|
|
|
|
- [SMACK-775](https://igniterealtime.atlassian.net/browse/SMACK-775) -
|
|
Create callback interface for ReconnectionManager
|
|
- [SMACK-778](https://igniterealtime.atlassian.net/browse/SMACK-778) -
|
|
ReconnectionManager.reconnect() can throw NotConnectedException
|
|
- [SMACK-779](https://igniterealtime.atlassian.net/browse/SMACK-779) -
|
|
smack-android erroneously depends on smack-omemo and
|
|
smack-omemo-signal
|
|
- [SMACK-780](https://igniterealtime.atlassian.net/browse/SMACK-780) -
|
|
PushNotificationManager\'s isSupported logic does query the server,
|
|
whereas it should query the bare JID
|
|
- [SMACK-781](https://igniterealtime.atlassian.net/browse/SMACK-781) -
|
|
MiniDnsResolver does not correctly handle the case when NOERROR is
|
|
returned together with an empty answer section.
|
|
- [SMACK-782](https://igniterealtime.atlassian.net/browse/SMACK-782) -
|
|
MultiUserChat does not remove the subject listener causing a memory
|
|
leak
|
|
- [SMACK-783](https://igniterealtime.atlassian.net/browse/SMACK-783) -
|
|
InvitationRejectionListener fires multiple times
|
|
- [SMACK-784](https://igniterealtime.atlassian.net/browse/SMACK-784) -
|
|
StringUtils.numbersAndLetters has the numbers twice, resulting in a
|
|
lower entropy
|
|
- [SMACK-785](https://igniterealtime.atlassian.net/browse/SMACK-785) -
|
|
OfflineMessageManager.getMessages() does count the pending messages
|
|
incorrectly, causing an unnecessary delay
|
|
- [SMACK-786](https://igniterealtime.atlassian.net/browse/SMACK-786) -
|
|
Race condition when resuming a stream
|
|
- [SMACK-787](https://igniterealtime.atlassian.net/browse/SMACK-787) -
|
|
Presence.getPriority() may return Integer.MIN_VALUE.
|
|
|
|
## 4.2.1 -- 2017-08-14
|
|
|
|
### Bug
|
|
|
|
- [SMACK-749](https://igniterealtime.atlassian.net/browse/SMACK-749) -
|
|
SCRAM-SHA-1 and SCRAM-SHA-1-PLUS SASL mechanisms have the same
|
|
priority, causing SASL authentication failures
|
|
- [SMACK-755](https://igniterealtime.atlassian.net/browse/SMACK-755) -
|
|
DIGEST-MD5 sometimes causes malformed request server response
|
|
- [SMACK-756](https://igniterealtime.atlassian.net/browse/SMACK-756) -
|
|
IoTIsFriendResponse has invalid name and produces invalid XML
|
|
- [SMACK-759](https://igniterealtime.atlassian.net/browse/SMACK-759) -
|
|
PubSubManager.getLeafNode() throws
|
|
PubSubAssertionError.DiscoInfoNodeAssertionError if node exists but
|
|
its not a PubSub Node
|
|
- [SMACK-764](https://igniterealtime.atlassian.net/browse/SMACK-764) -
|
|
NPE in hashCode() in Occupant when jid is null
|
|
- [SMACK-766](https://igniterealtime.atlassian.net/browse/SMACK-766) -
|
|
Smack possibly includes \'ask\' attribute in roster items when
|
|
sending requests
|
|
- [SMACK-768](https://igniterealtime.atlassian.net/browse/SMACK-768) -
|
|
Smack throws NoResponse timeout when waiting for IQ although there
|
|
was a response
|
|
- [SMACK-771](https://igniterealtime.atlassian.net/browse/SMACK-771) -
|
|
XMPPTCPConnection should use KeyManagerFactory.getDefaultAlgorithm()
|
|
instead of KeyManagerFactory.getInstance(\"sunX509\");
|
|
- [SMACK-772](https://igniterealtime.atlassian.net/browse/SMACK-772) -
|
|
HostAddress must deal with \'fqdn\' being null.
|
|
- [SMACK-773](https://igniterealtime.atlassian.net/browse/SMACK-773) -
|
|
Allow roster pushes from our full JID for backwards compatibility
|
|
- [SMACK-774](https://igniterealtime.atlassian.net/browse/SMACK-774) -
|
|
HTTP File Upload\'s SlotRequest metadata should be attributes not
|
|
child elements
|
|
|
|
### New Feature
|
|
|
|
- [SMACK-746](https://igniterealtime.atlassian.net/browse/SMACK-746) -
|
|
Add support for XEP-0380: Explicit Message Encryption
|
|
- [SMACK-758](https://igniterealtime.atlassian.net/browse/SMACK-758) -
|
|
Add support for XEP-0334: Message Processing Hints
|
|
- [SMACK-760](https://igniterealtime.atlassian.net/browse/SMACK-760) -
|
|
Smack does not allow custom extension elements in SM\'s \<failed/>
|
|
|
|
### Improvement
|
|
|
|
- [SMACK-752](https://igniterealtime.atlassian.net/browse/SMACK-752) -
|
|
XEP-0357 Push Notification enable IQ uses wrong form type: Should be
|
|
\'submit\' instead of \'form\'
|
|
- [SMACK-754](https://igniterealtime.atlassian.net/browse/SMACK-754) -
|
|
Allow MUC room subject changes from the MUCs bare JID
|
|
- [SMACK-777](https://igniterealtime.atlassian.net/browse/SMACK-777) -
|
|
MamManager should use the user\'s bare JID to check if MAM is
|
|
supported
|
|
|
|
## 4.2.0 -- 2017-03-10
|
|
|
|
## Sub-task
|
|
|
|
- [SMACK-639](https://igniterealtime.atlassian.net/browse/SMACK-639) -
|
|
Add support for pre-approved subscription requests (RFC 6121 § 3.4)
|
|
|
|
### Bug
|
|
|
|
- [SMACK-306](https://igniterealtime.atlassian.net/browse/SMACK-306) -
|
|
loadRosterOnLogin has non-trivial side effect on getRoster
|
|
- [SMACK-416](https://igniterealtime.atlassian.net/browse/SMACK-416) -
|
|
Refactor PEP to make it use the existing pubsub API.
|
|
- [SMACK-674](https://igniterealtime.atlassian.net/browse/SMACK-674) -
|
|
PubSub Affiliation extension element is missing \'jid\' attribute,
|
|
and is using wrong element name \'subscription\'
|
|
- [SMACK-682](https://igniterealtime.atlassian.net/browse/SMACK-682) -
|
|
Add support for \"XEP-0360: Nonzas (are not Stanzas)\"
|
|
- [SMACK-683](https://igniterealtime.atlassian.net/browse/SMACK-683) -
|
|
Using a Proxy with XMPPTCPConnection failes with \"SocketException:
|
|
Unconnected sockets not implemented\"
|
|
- [SMACK-691](https://igniterealtime.atlassian.net/browse/SMACK-691) -
|
|
Add support for MUCItem\'s Actor \'nick\'
|
|
- [SMACK-705](https://igniterealtime.atlassian.net/browse/SMACK-705) -
|
|
PubSub\'s Affiliation.getElementName() returns wrong name
|
|
- [SMACK-722](https://igniterealtime.atlassian.net/browse/SMACK-722) -
|
|
SASL X-OAUTH2 implementation incorrectly performs Base64 encoding
|
|
twice
|
|
- [SMACK-723](https://igniterealtime.atlassian.net/browse/SMACK-723) -
|
|
Support \"Caps Optimizations\" (XEP-0115 § 8.4)
|
|
- [SMACK-724](https://igniterealtime.atlassian.net/browse/SMACK-724) -
|
|
Do not re-use the Socket after connect() failed.
|
|
- [SMACK-725](https://igniterealtime.atlassian.net/browse/SMACK-725) -
|
|
ReconnectionManager should handle AlreadyConnectedException and
|
|
AlreadyLoggedInException not as failure
|
|
- [SMACK-741](https://igniterealtime.atlassian.net/browse/SMACK-741) -
|
|
Ad-hoc command \'note\' element \'type\' attribute should be treated
|
|
as optional
|
|
- [SMACK-745](https://igniterealtime.atlassian.net/browse/SMACK-745) -
|
|
Memory leak in MultiUserChat
|
|
|
|
### New Feature
|
|
|
|
- [SMACK-366](https://igniterealtime.atlassian.net/browse/SMACK-366) -
|
|
Add support for DNSSEC.
|
|
- [SMACK-610](https://igniterealtime.atlassian.net/browse/SMACK-610) -
|
|
Add support for XEP-0080: User Location
|
|
- [SMACK-619](https://igniterealtime.atlassian.net/browse/SMACK-619) -
|
|
Add roomDestroyed to MUC UserStatusListener
|
|
- [SMACK-625](https://igniterealtime.atlassian.net/browse/SMACK-625) -
|
|
Add support for XEP-313: Message Archive Management
|
|
- [SMACK-675](https://igniterealtime.atlassian.net/browse/SMACK-675) -
|
|
Add support for PubSub affiliation actions as owner
|
|
- [SMACK-677](https://igniterealtime.atlassian.net/browse/SMACK-677) -
|
|
Add support for SASL \'authzid\' (Authorization Identity)
|
|
- [SMACK-690](https://igniterealtime.atlassian.net/browse/SMACK-690) -
|
|
Add support for DNS-Based Authentication of Named Entities (DANE,
|
|
RFC 6698)
|
|
- [SMACK-731](https://igniterealtime.atlassian.net/browse/SMACK-731) -
|
|
Add support for XEP-0191: Blocking Command
|
|
- [SMACK-732](https://igniterealtime.atlassian.net/browse/SMACK-732) -
|
|
Smack should be able to handle \"single equals sign\" SASL responses
|
|
- [SMACK-740](https://igniterealtime.atlassian.net/browse/SMACK-740) -
|
|
Add support for Multi-User Chat Light
|
|
- [SMACK-742](https://igniterealtime.atlassian.net/browse/SMACK-742) -
|
|
Add support for XEP-0133: Service Administration
|
|
- [SMACK-747](https://igniterealtime.atlassian.net/browse/SMACK-747) -
|
|
Add support for XEP-0363: HTTP File Upload
|
|
|
|
### Task
|
|
|
|
- [SMACK-638](https://igniterealtime.atlassian.net/browse/SMACK-638) -
|
|
Call connection creation listeners from within
|
|
AbstractXMPPConnection\'s constructor
|
|
- [SMACK-644](https://igniterealtime.atlassian.net/browse/SMACK-644) -
|
|
Throw exception if account creation or password change is performed
|
|
over insecure connections
|
|
- [SMACK-655](https://igniterealtime.atlassian.net/browse/SMACK-655) -
|
|
Enable StreamManagement by default
|
|
|
|
### Improvement
|
|
|
|
- [SMACK-372](https://igniterealtime.atlassian.net/browse/SMACK-372) -
|
|
Make package protected methods in PEPItem public
|
|
- [SMACK-572](https://igniterealtime.atlassian.net/browse/SMACK-572) -
|
|
Rejoin MUC rooms after reconnect
|
|
- [SMACK-628](https://igniterealtime.atlassian.net/browse/SMACK-628) -
|
|
Rework Roster handling with anonymous connections
|
|
- [SMACK-629](https://igniterealtime.atlassian.net/browse/SMACK-629) -
|
|
Rework how Smack handles anonymous connections
|
|
- [SMACK-631](https://igniterealtime.atlassian.net/browse/SMACK-631) -
|
|
Improve ParsingExceptionCallback, allow it to be a functional
|
|
interface
|
|
- [SMACK-632](https://igniterealtime.atlassian.net/browse/SMACK-632) -
|
|
Make Smack interruptible
|
|
- [SMACK-633](https://igniterealtime.atlassian.net/browse/SMACK-633) -
|
|
Allow clean and graceful disconnects (stream closing)
|
|
- [SMACK-634](https://igniterealtime.atlassian.net/browse/SMACK-634) -
|
|
Use jxmpp-jid, add Jid class to replace String\'s being used as JIDs
|
|
- [SMACK-646](https://igniterealtime.atlassian.net/browse/SMACK-646) -
|
|
Add support for MUC roomnick rewrite
|
|
- [SMACK-647](https://igniterealtime.atlassian.net/browse/SMACK-647) -
|
|
Don\'t automatically call login() on connect() if the connection was
|
|
authenticated before
|
|
- [SMACK-648](https://igniterealtime.atlassian.net/browse/SMACK-648) -
|
|
Improve MultiUserChat API
|
|
- [SMACK-657](https://igniterealtime.atlassian.net/browse/SMACK-657) -
|
|
Rename RosterEntry.getStatus and RosterPacket.ItemStatus to
|
|
ItemAskStatus
|
|
- [SMACK-663](https://igniterealtime.atlassian.net/browse/SMACK-663) -
|
|
Roster should be fully loaded when
|
|
Roster.getInstanceFor(XMPPConnection) is called with a authenticated
|
|
connection
|
|
- [SMACK-665](https://igniterealtime.atlassian.net/browse/SMACK-665) -
|
|
Rename \'serviceName\' to \'xmppServiceDomain\'
|
|
- [SMACK-666](https://igniterealtime.atlassian.net/browse/SMACK-666) -
|
|
Typo in \'RosterEntries.rosterEntires()\', change to
|
|
\'RosterEntries.rosterEntries()\'
|
|
- [SMACK-703](https://igniterealtime.atlassian.net/browse/SMACK-703) -
|
|
Limit the stored presences of entities not in Roster
|
|
- [SMACK-704](https://igniterealtime.atlassian.net/browse/SMACK-704) -
|
|
Pass down Message stanza in ChatStateListener
|
|
- [SMACK-711](https://igniterealtime.atlassian.net/browse/SMACK-711) -
|
|
Improve the logging of TCP connection attempts.
|
|
- [SMACK-720](https://igniterealtime.atlassian.net/browse/SMACK-720) -
|
|
Improve support for Tor and Hidden Services.
|
|
- [SMACK-721](https://igniterealtime.atlassian.net/browse/SMACK-721) -
|
|
Report illegal Stream Management states to avoid OOM Exception
|
|
- [SMACK-727](https://igniterealtime.atlassian.net/browse/SMACK-727) -
|
|
Add partial support for the IoT XEPs (XEP-0323, -0324, -0325, -0347)
|
|
- [SMACK-733](https://igniterealtime.atlassian.net/browse/SMACK-733) -
|
|
Handle outgoing \'unavailable\' Presences in Roster
|
|
- [SMACK-736](https://igniterealtime.atlassian.net/browse/SMACK-736) -
|
|
Add support for Chat Markers (XEP-0333)
|
|
- [SMACK-737](https://igniterealtime.atlassian.net/browse/SMACK-737) -
|
|
Add support for Bits of Binary (XEP-0231)
|
|
- [SMACK-738](https://igniterealtime.atlassian.net/browse/SMACK-738) -
|
|
Add support for Push Notifications (XEP-0357)
|
|
|
|
## 4.1.9 -- 2016-11-19
|
|
|
|
### Bug
|
|
|
|
- [SMACK-739](https://igniterealtime.atlassian.net/browse/SMACK-739) -
|
|
Smack starts SASL step without TLS in case STARTTLS is stripped even
|
|
if SecurityMode.Required is used
|
|
- [SMACK-735](https://igniterealtime.atlassian.net/browse/SMACK-735) -
|
|
Smack sometimes sends invalid SCRAM-SHA1 nonce
|
|
|
|
## 4.1.8 -- 2016-07-30
|
|
|
|
### Bug
|
|
|
|
- [SMACK-722](https://igniterealtime.atlassian.net/browse/SMACK-722) -
|
|
SASL X-OAUTH2 implementation incorrectly performs Base64 encoding
|
|
twice
|
|
- [SMACK-724](https://igniterealtime.atlassian.net/browse/SMACK-724) -
|
|
Do not re-use the Socket after connect() failed.
|
|
- [SMACK-725](https://igniterealtime.atlassian.net/browse/SMACK-725) -
|
|
ReconnectionManager should handle AlreadyConnectedException and
|
|
AlreadyLoggedInException not as failure
|
|
- [SMACK-726](https://igniterealtime.atlassian.net/browse/SMACK-726) -
|
|
\'purge\' and \'remove\' IQ of XEP-0013 must be of type \'set\'
|
|
|
|
## 4.1.7 -- 2016-04-14
|
|
|
|
### Bug
|
|
|
|
- [SMACK-712](https://igniterealtime.atlassian.net/browse/SMACK-712) -
|
|
XMPPTCPConnection\'s setEnabledSSL(Protocols\|Ciphers) has no effect
|
|
- [SMACK-716](https://igniterealtime.atlassian.net/browse/SMACK-716) -
|
|
EntityTimeManager.getTime() does not set the recipients JID
|
|
- [SMACK-719](https://igniterealtime.atlassian.net/browse/SMACK-719) -
|
|
XMPPError should use Locale.US in toUpperCase()
|
|
|
|
### Improvement
|
|
|
|
- [SMACK-715](https://igniterealtime.atlassian.net/browse/SMACK-715) -
|
|
Add Roster.setRosterLoadedAtLoginDefault(boolean)
|
|
|
|
## 4.1.6 -- 2016-01-23
|
|
|
|
### Bug
|
|
|
|
- [SMACK-705](https://igniterealtime.atlassian.net/browse/SMACK-705) -
|
|
PubSub\'s Affiliation.getElementName() returns wrong name
|
|
- [SMACK-706](https://igniterealtime.atlassian.net/browse/SMACK-706) -
|
|
Smack may sends \<bind/> and \<session/> twice if Stream Management
|
|
is used and a previous SM state exists
|
|
- [SMACK-707](https://igniterealtime.atlassian.net/browse/SMACK-707) -
|
|
Infinite loop of NullPointerExceptions in Socks5Proxy
|
|
- [SMACK-708](https://igniterealtime.atlassian.net/browse/SMACK-708) -
|
|
DeliveryReceipt(Manager) should ensure that receipts (and requests)
|
|
have an ID set
|
|
- [SMACK-709](https://igniterealtime.atlassian.net/browse/SMACK-709) -
|
|
Don\'t request delivery receipts for messages without a body
|
|
- [SMACK-710](https://igniterealtime.atlassian.net/browse/SMACK-710) -
|
|
SASL DIGEST-MD5 backslash must be quoted
|
|
|
|
## 4.1.5 -- 2015-11-22
|
|
|
|
### Bug
|
|
|
|
- [SMACK-698](https://igniterealtime.atlassian.net/browse/SMACK-698) -
|
|
Time creates invalid XML
|
|
- [SMACK-700](https://igniterealtime.atlassian.net/browse/SMACK-700) -
|
|
Duplicate stanzas in unacknowledgedStanzas queue when stream is
|
|
resumed
|
|
- [SMACK-702](https://igniterealtime.atlassian.net/browse/SMACK-702) -
|
|
RejectedExecutionException in AbstractXMPPConnection.processPacket()
|
|
causes connection Termination
|
|
|
|
## 4.1.4 -- 2015-09-14
|
|
|
|
### Bug
|
|
|
|
- [SMACK-688](https://igniterealtime.atlassian.net/browse/SMACK-688) -
|
|
Reset carbons state if session got not resumed or cleanly
|
|
disconnected
|
|
- [SMACK-689](https://igniterealtime.atlassian.net/browse/SMACK-689) -
|
|
PEPPubSub creates malformed XML
|
|
- [SMACK-693](https://igniterealtime.atlassian.net/browse/SMACK-693) -
|
|
MultiUserChat\'s UserStatusListener is not getting triggered
|
|
- [SMACK-695](https://igniterealtime.atlassian.net/browse/SMACK-695) -
|
|
JSON and GCM parser does an erroneous extra next()
|
|
- [SMACK-697](https://igniterealtime.atlassian.net/browse/SMACK-697) -
|
|
PrivacyListManager should handle the case where not default and
|
|
active list are currently set
|
|
|
|
### Improvement
|
|
|
|
- [SMACK-686](https://igniterealtime.atlassian.net/browse/SMACK-686) -
|
|
Provide a hint that connect() needs to be called prior login() in
|
|
NotConnectedException
|
|
- [SMACK-687](https://igniterealtime.atlassian.net/browse/SMACK-687) -
|
|
Update to jxmpp 0.4.2
|
|
- [SMACK-696](https://igniterealtime.atlassian.net/browse/SMACK-696) -
|
|
Drop stream state after stream error
|
|
|
|
## 4.1.3 -- 2015-07-15
|
|
|
|
### Bug
|
|
|
|
- [SMACK-679](https://igniterealtime.atlassian.net/browse/SMACK-679) -
|
|
Memory leak in Socks5BytestreamManager. Should use weak map for
|
|
\'managers\'
|
|
- [SMACK-680](https://igniterealtime.atlassian.net/browse/SMACK-680) -
|
|
XHTML bodies are un-escaped after parsing
|
|
- [SMACK-681](https://igniterealtime.atlassian.net/browse/SMACK-681) -
|
|
Roster presence callbacks may not be invoked right after login
|
|
|
|
## 4.1.2 -- 2015-06-27
|
|
|
|
### Bug
|
|
|
|
- [SMACK-664](https://igniterealtime.atlassian.net/browse/SMACK-664) -
|
|
Invalid IQ error response to OfferRequestPacket and
|
|
OfferRevokePacket
|
|
- [SMACK-668](https://igniterealtime.atlassian.net/browse/SMACK-668) -
|
|
ReconnectionManager\'s value of \'attempts\' is not reset after
|
|
successful reconnection
|
|
- [SMACK-669](https://igniterealtime.atlassian.net/browse/SMACK-669) -
|
|
Only add Entity Capabilities extension to available presences
|
|
- [SMACK-670](https://igniterealtime.atlassian.net/browse/SMACK-670) -
|
|
SASLMechanism.authenticate should treat an empty byte array like
|
|
\'null\' byte array
|
|
- [SMACK-672](https://igniterealtime.atlassian.net/browse/SMACK-672) -
|
|
Memory leak caused by RosterGroup declaring a strong reference to
|
|
XMPPConnection
|
|
- [SMACK-673](https://igniterealtime.atlassian.net/browse/SMACK-673) -
|
|
VCard API does not support all elements
|
|
- [SMACK-676](https://igniterealtime.atlassian.net/browse/SMACK-676) -
|
|
ConcurrentModificationException in ServerPingWithAlarmManager
|
|
- [SMACK-678](https://igniterealtime.atlassian.net/browse/SMACK-678) -
|
|
Login hangs if starttls advertised, but security is set to
|
|
\'disabled\' and compression is also advertised
|
|
|
|
### Improvement
|
|
|
|
- [SMACK-667](https://igniterealtime.atlassian.net/browse/SMACK-667) -
|
|
Request Stream Mangement Acknowledgement after re-sending unack\'ed
|
|
stanzas after stream resumption
|
|
- [SMACK-671](https://igniterealtime.atlassian.net/browse/SMACK-671) -
|
|
Don\'t disable Scoks5BytestreamManager on connection termination
|
|
|
|
## 4.1.1 -- 2015-05-09
|
|
|
|
### Bug
|
|
|
|
- [SMACK-649](https://igniterealtime.atlassian.net/browse/SMACK-649) -
|
|
DIGEST-MD5 challenge/response parsing must handle linear white
|
|
spaces after the comma
|
|
- [SMACK-652](https://igniterealtime.atlassian.net/browse/SMACK-652) -
|
|
SynchronizationPoint should use signalAll
|
|
- [SMACK-653](https://igniterealtime.atlassian.net/browse/SMACK-653) -
|
|
Integer overflow if both client and server don\'t specify a max
|
|
resumption time
|
|
- [SMACK-654](https://igniterealtime.atlassian.net/browse/SMACK-654) -
|
|
isSmResumptionPossible() returns wrong values
|
|
- [SMACK-656](https://igniterealtime.atlassian.net/browse/SMACK-656) -
|
|
DeliveryReceipts auto add should use packet interceptors and should
|
|
not be requested for messages with ACKs.
|
|
- [SMACK-659](https://igniterealtime.atlassian.net/browse/SMACK-659) -
|
|
Memory leak caused by RosterEntry declaring a strong reference to
|
|
XMPPConnection
|
|
- [SMACK-660](https://igniterealtime.atlassian.net/browse/SMACK-660) -
|
|
ReconnectionManager\'s RANDOM_INCREASING_DELAY is erroneously using
|
|
a fixed value.
|
|
- [SMACK-661](https://igniterealtime.atlassian.net/browse/SMACK-661) -
|
|
Add method to set ProxyInfo in ConnectionConfiguration.Builder
|
|
- [SMACK-662](https://igniterealtime.atlassian.net/browse/SMACK-662) -
|
|
RosterEntry.setName() does not change the name
|
|
|
|
## 4.1.0 -- 2015-03-29
|
|
|
|
## Sub-task
|
|
|
|
- [SMACK-398](https://igniterealtime.atlassian.net/browse/SMACK-398) -
|
|
Implement SCRAM support
|
|
|
|
### Bug
|
|
|
|
- [SMACK-65](https://igniterealtime.atlassian.net/browse/SMACK-65) -
|
|
Packet parsing should look for depth
|
|
- [SMACK-237](https://igniterealtime.atlassian.net/browse/SMACK-237) -
|
|
Handle more vCard values (XEP-0054)
|
|
- [SMACK-383](https://igniterealtime.atlassian.net/browse/SMACK-383) -
|
|
Allow the garbage collection of all object instances of a closed and
|
|
unreferenced connection
|
|
- [SMACK-424](https://igniterealtime.atlassian.net/browse/SMACK-424) -
|
|
Add a MultiUserChat.presenceChanged callback method to be informed
|
|
if a presence within a MUC has changed (joined, leaved, status
|
|
change)
|
|
- [SMACK-542](https://igniterealtime.atlassian.net/browse/SMACK-542) -
|
|
MUC: RoomInfo should hold more data if the result contains a
|
|
FORM_TYPE field
|
|
- [SMACK-549](https://igniterealtime.atlassian.net/browse/SMACK-549) -
|
|
MUCUser#getStatus should be a List
|
|
- [SMACK-564](https://igniterealtime.atlassian.net/browse/SMACK-564) -
|
|
Some tests fail with Java 8
|
|
- [SMACK-570](https://igniterealtime.atlassian.net/browse/SMACK-570) -
|
|
Smack does not support resourceparts which contain the \'@\'
|
|
character.
|
|
- [SMACK-571](https://igniterealtime.atlassian.net/browse/SMACK-571) -
|
|
Don\'t remove the MUC listeners after a disconnect() , keep state of
|
|
Connection between disconnect() and connect()/login()
|
|
- [SMACK-573](https://igniterealtime.atlassian.net/browse/SMACK-573) -
|
|
MessageEventManager treats error replies as message events
|
|
- [SMACK-583](https://igniterealtime.atlassian.net/browse/SMACK-583) -
|
|
PacketListeners may not be invoked in delivery order
|
|
- [SMACK-585](https://igniterealtime.atlassian.net/browse/SMACK-585) -
|
|
XMPPTCPConnection does not set \'host\' and \'port\'
|
|
- [SMACK-590](https://igniterealtime.atlassian.net/browse/SMACK-590) -
|
|
Don\'t use IQReplyFilter for the bind set/result exchange
|
|
- [SMACK-597](https://igniterealtime.atlassian.net/browse/SMACK-597) -
|
|
PingManager.getLastReceivedPong() always returns -1
|
|
- [SMACK-604](https://igniterealtime.atlassian.net/browse/SMACK-604) -
|
|
MUCUser must support multiple status codes
|
|
- [SMACK-620](https://igniterealtime.atlassian.net/browse/SMACK-620) -
|
|
Smack should use a safe SAX parser, e.g. with entity reference
|
|
expansion disabled
|
|
- [SMACK-635](https://igniterealtime.atlassian.net/browse/SMACK-635) -
|
|
Typo DNSUtil.init() prevents DNS SRV lookups to fail in some cases
|
|
- [SMACK-643](https://igniterealtime.atlassian.net/browse/SMACK-643) -
|
|
Smack should not set the service name to the vale of the \'from\'
|
|
attribute of the opening stream element received from the service
|
|
|
|
### Improvement
|
|
|
|
- [SMACK-340](https://igniterealtime.atlassian.net/browse/SMACK-340) -
|
|
Should make the wait/timeouts on SASL authentication configurable.
|
|
- [SMACK-402](https://igniterealtime.atlassian.net/browse/SMACK-402) -
|
|
Update obsolete \"Message Delivery Receipts\" support from
|
|
(JEP\|XEP)-0022 to XEP-0184
|
|
- [SMACK-453](https://igniterealtime.atlassian.net/browse/SMACK-453) -
|
|
Add support for all primitive types in
|
|
IntrospectionProvider.decode()
|
|
- [SMACK-521](https://igniterealtime.atlassian.net/browse/SMACK-521) -
|
|
Clear PacketWriters queue when the connection is shut down
|
|
- [SMACK-532](https://igniterealtime.atlassian.net/browse/SMACK-532) -
|
|
Evaluate if its possible to guarantee the order of listeners by
|
|
using a LinkedHashMap
|
|
- [SMACK-566](https://igniterealtime.atlassian.net/browse/SMACK-566) -
|
|
Create public method that parses Strings/CharSequences to messages,
|
|
IQs and presence instances
|
|
- [SMACK-587](https://igniterealtime.atlassian.net/browse/SMACK-587) -
|
|
Subprojects should uses versions when importing the OSGi smack-core
|
|
components
|
|
- [SMACK-595](https://igniterealtime.atlassian.net/browse/SMACK-595) -
|
|
Add an API to send a stanza and wait asynchronously for a response
|
|
- [SMACK-599](https://igniterealtime.atlassian.net/browse/SMACK-599) -
|
|
Provide string messages to all exceptions thrown by Smack
|
|
- [SMACK-600](https://igniterealtime.atlassian.net/browse/SMACK-600) -
|
|
RoomInfo Class should add the information from the Identity element.
|
|
- [SMACK-608](https://igniterealtime.atlassian.net/browse/SMACK-608) -
|
|
Add support for XMPP error conditions text
|
|
- [SMACK-622](https://igniterealtime.atlassian.net/browse/SMACK-622) -
|
|
Add support for \'optional\' in session stream features
|
|
- [SMACK-626](https://igniterealtime.atlassian.net/browse/SMACK-626) -
|
|
Add support for \'ofrom\' Extended Stanza Addressing type
|
|
- [SMACK-627](https://igniterealtime.atlassian.net/browse/SMACK-627) -
|
|
Smack should allow null usernames under certain circumstances
|
|
- [SMACK-645](https://igniterealtime.atlassian.net/browse/SMACK-645) -
|
|
Roster should not leak internal state e.g. presences
|
|
|
|
### New Feature
|
|
|
|
- [SMACK-234](https://igniterealtime.atlassian.net/browse/SMACK-234) -
|
|
Add support for SASL EXTERNAL: PKI (Client SSL Cert) Support
|
|
- [SMACK-333](https://igniterealtime.atlassian.net/browse/SMACK-333) -
|
|
Implement XEP-0198: Stream Management
|
|
- [SMACK-378](https://igniterealtime.atlassian.net/browse/SMACK-378) -
|
|
Give access to the socket outside the XMPPconnection
|
|
- [SMACK-581](https://igniterealtime.atlassian.net/browse/SMACK-581) -
|
|
Add support for \"Result Set Management\" (XEP-59)
|
|
- [SMACK-607](https://igniterealtime.atlassian.net/browse/SMACK-607) -
|
|
Add support for XEP-0352: Client State Indication
|
|
- [SMACK-612](https://igniterealtime.atlassian.net/browse/SMACK-612) -
|
|
Add support for XEP-0141: Data Forms Layout
|
|
- [SMACK-621](https://igniterealtime.atlassian.net/browse/SMACK-621) -
|
|
Add support for XEP-0122: Data Forms Validation
|
|
- [SMACK-623](https://igniterealtime.atlassian.net/browse/SMACK-623) -
|
|
Add API to retrieve the subscriptions of a PubSub node as owner
|
|
|
|
### Task
|
|
|
|
- [SMACK-365](https://igniterealtime.atlassian.net/browse/SMACK-365) -
|
|
SmackConfiguration should only report errors if the file fails to
|
|
load, not when it fails to load for a specific classloader.
|
|
- [SMACK-371](https://igniterealtime.atlassian.net/browse/SMACK-371) -
|
|
Some MUC tasks are using stanza\'s as defined in an older version of
|
|
the spec. Fails to work on some servers.
|
|
- [SMACK-569](https://igniterealtime.atlassian.net/browse/SMACK-569) -
|
|
Move Message Event code to legacy subproject
|
|
- [SMACK-578](https://igniterealtime.atlassian.net/browse/SMACK-578) -
|
|
Remove decorators for \"Legacy Delayed Delivery\" (XEP-91) in favor
|
|
of Delayed Delivery (XEP-203)
|
|
- [SMACK-579](https://igniterealtime.atlassian.net/browse/SMACK-579) -
|
|
FileTransferManager and FileTransferNegoiator should use
|
|
WeakHashMaps and extend Manager
|
|
- [SMACK-582](https://igniterealtime.atlassian.net/browse/SMACK-582) -
|
|
Change ReceiptReceivedListener.onReceiptReceived parameters
|
|
- [SMACK-637](https://igniterealtime.atlassian.net/browse/SMACK-637) -
|
|
Move Roster and Chat code to new smack-im subproject
|
|
|
|
## 4.0.7 -- 2015-02-20
|
|
|
|
### Bug
|
|
|
|
- [SMACK-635](https://igniterealtime.atlassian.net/browse/SMACK-635) -
|
|
Typo DNSUtil.init() prevents DNS SRV lookups to fail in some cases
|
|
- [SMACK-643](https://igniterealtime.atlassian.net/browse/SMACK-643) -
|
|
Smack should not set the service name to the vale of the \'from\'
|
|
attribute of the opening stream element received from the service
|
|
|
|
## 4.0.6 -- 2014-11-23
|
|
|
|
### Bug
|
|
|
|
- [SMACK-616](https://igniterealtime.atlassian.net/browse/SMACK-616) -
|
|
Smack should fallback to using host with default port if DNS SRV
|
|
lookup fails
|
|
- [SMACK-617](https://igniterealtime.atlassian.net/browse/SMACK-617) -
|
|
Message Digest in EntityCapsManager should be synchronized
|
|
|
|
## 4.0.5 -- 2014-10-22
|
|
|
|
### Bug
|
|
|
|
- [SMACK-609](https://igniterealtime.atlassian.net/browse/SMACK-609) -
|
|
PingManager.ping(String, long) does not respect timeout
|
|
- [SMACK-613](https://igniterealtime.atlassian.net/browse/SMACK-613) -
|
|
Parsing exception causes infinite loop if the exception is not
|
|
thrown
|
|
|
|
## 4.0.4 -- 2014-09-05
|
|
|
|
### Bug
|
|
|
|
- [SMACK-596](https://igniterealtime.atlassian.net/browse/SMACK-596) -
|
|
Smack should load roster before sending the initial presence
|
|
- [SMACK-598](https://igniterealtime.atlassian.net/browse/SMACK-598) -
|
|
Smack should allow the empty string as content of message body
|
|
element
|
|
- [SMACK-601](https://igniterealtime.atlassian.net/browse/SMACK-601) -
|
|
PubSub ItemProvider does only process the outermost namespace
|
|
definition when creating PayloadItems
|
|
- [SMACK-602](https://igniterealtime.atlassian.net/browse/SMACK-602) -
|
|
PacketCollector must handle InterruptException
|
|
- [SMACK-603](https://igniterealtime.atlassian.net/browse/SMACK-603) -
|
|
XMPPError.Condition.equals() should be null-safe
|
|
|
|
## 4.0.3 -- 2014-08-16
|
|
|
|
### Bug
|
|
|
|
- [SMACK-589](https://igniterealtime.atlassian.net/browse/SMACK-589) -
|
|
FormField.Option toXML() produces malformed XML
|
|
- [SMACK-592](https://igniterealtime.atlassian.net/browse/SMACK-592) -
|
|
OfflineMessagesManager.getMessages() does send request before
|
|
collector is set up and could leak collector
|
|
- [SMACK-594](https://igniterealtime.atlassian.net/browse/SMACK-594) -
|
|
PrivateData Bookmarks.toXML() returns invalid XML
|
|
|
|
### Improvement
|
|
|
|
- [SMACK-539](https://igniterealtime.atlassian.net/browse/SMACK-539) -
|
|
Verify ConnectionConfiguration parameters
|
|
- [SMACK-588](https://igniterealtime.atlassian.net/browse/SMACK-588) -
|
|
Typo in org.jivesoftware.smackx.pubsub.ConfigureForm:
|
|
s/isSubscibe/isSubscribe/
|
|
- [SMACK-593](https://igniterealtime.atlassian.net/browse/SMACK-593) -
|
|
Smack should prefer full flush over sync flush when using
|
|
compression
|
|
|
|
## 4.0.2 -- 2014-07-27
|
|
|
|
### Improvement
|
|
|
|
- [SMACK-576](https://igniterealtime.atlassian.net/browse/SMACK-576) -
|
|
smack-resolver-javax should become a OSGi ServiceComponent
|
|
- [SMACK-586](https://igniterealtime.atlassian.net/browse/SMACK-586) -
|
|
Extend API to configure a HostnameVerifier
|
|
|
|
## 4.0.1 -- 2014-07-20
|
|
|
|
## Sub-task
|
|
|
|
- [SMACK-346](https://igniterealtime.atlassian.net/browse/SMACK-346) -
|
|
Bug in return code for rejection handling in FileTransferManager
|
|
|
|
### Bug
|
|
|
|
- [SMACK-574](https://igniterealtime.atlassian.net/browse/SMACK-574) -
|
|
Documentation still refers at some places to Connection
|
|
- [SMACK-575](https://igniterealtime.atlassian.net/browse/SMACK-575) -
|
|
PingManager schedules pings after pingInterval when it should be use
|
|
nextPingIn instead
|
|
- [SMACK-577](https://igniterealtime.atlassian.net/browse/SMACK-577) -
|
|
Bookmarks and FormField toXml() methods do not properly escape XML
|
|
- [SMACK-583](https://igniterealtime.atlassian.net/browse/SMACK-583) -
|
|
PacketListeners may not be invoked in delivery order
|
|
|
|
### Improvement
|
|
|
|
- [SMACK-576](https://igniterealtime.atlassian.net/browse/SMACK-576) -
|
|
smack-resolver-javax should become a OSGi ServiceComponent
|
|
|
|
### New Feature
|
|
|
|
- [SMACK-580](https://igniterealtime.atlassian.net/browse/SMACK-580) -
|
|
Add support for retrieving a PubSub node\'s affiliations
|
|
|
|
## 4.0.0 -- 2014-06-08
|
|
|
|
## Sub-task
|
|
|
|
- [SMACK-399](https://igniterealtime.atlassian.net/browse/SMACK-399) -
|
|
Add support for Roster Versioning (was XEP-0237, now in RFC 6121)
|
|
- [SMACK-400](https://igniterealtime.atlassian.net/browse/SMACK-400) -
|
|
Change xml-not-well-formed to not-well-formed
|
|
- [SMACK-401](https://igniterealtime.atlassian.net/browse/SMACK-401) -
|
|
Remove \<invalid-id/>
|
|
- [SMACK-445](https://igniterealtime.atlassian.net/browse/SMACK-445) -
|
|
XMPPError class is based on deprecated XEP-0086
|
|
|
|
### Bug
|
|
|
|
- [SMACK-357](https://igniterealtime.atlassian.net/browse/SMACK-357) -
|
|
Error in SASL authentication when SASL authzid parameter is null
|
|
- [SMACK-410](https://igniterealtime.atlassian.net/browse/SMACK-410) -
|
|
Any valid SSL server certificate can be used to perform a
|
|
man-in-the-middle attack
|
|
- [SMACK-411](https://igniterealtime.atlassian.net/browse/SMACK-411) -
|
|
ServiceDiscoveryManager identities should be non-static and kept in
|
|
a Set to allow multiple identities as per XEP-30
|
|
- [SMACK-414](https://igniterealtime.atlassian.net/browse/SMACK-414) -
|
|
Smack does not announce the support for XEP-54 aka vcard-temp
|
|
- [SMACK-427](https://igniterealtime.atlassian.net/browse/SMACK-427) -
|
|
Typo in code - StreamInitiation.setSesssionID()
|
|
- [SMACK-467](https://igniterealtime.atlassian.net/browse/SMACK-467) -
|
|
Don\'t use the default locale for machine-readable output, use
|
|
Locale.US instead
|
|
- [SMACK-531](https://igniterealtime.atlassian.net/browse/SMACK-531) -
|
|
Add missing namespace attribute to XHTML-IM body tags
|
|
- [SMACK-533](https://igniterealtime.atlassian.net/browse/SMACK-533) -
|
|
Smack should prevent IQ response spoofing
|
|
- [SMACK-535](https://igniterealtime.atlassian.net/browse/SMACK-535) -
|
|
jul.properties should only configure the \'org.igniterealtime\'
|
|
namespace
|
|
- [SMACK-538](https://igniterealtime.atlassian.net/browse/SMACK-538) -
|
|
ParseRoster does not check the sender of the roster and for pending
|
|
roster queries
|
|
- [SMACK-541](https://igniterealtime.atlassian.net/browse/SMACK-541) -
|
|
XHTMLExtensionProvider relies on incorrect behavior of MXParser,
|
|
violating the contract of the XMLPullParser interface
|
|
- [SMACK-543](https://igniterealtime.atlassian.net/browse/SMACK-543) -
|
|
packet.Time is not thread-safe
|
|
- [SMACK-546](https://igniterealtime.atlassian.net/browse/SMACK-546) -
|
|
PubSub\'s Item needs to escape its XML payload
|
|
- [SMACK-548](https://igniterealtime.atlassian.net/browse/SMACK-548) -
|
|
PingManager notifies pingFailedListeners multiple times
|
|
- [SMACK-551](https://igniterealtime.atlassian.net/browse/SMACK-551) -
|
|
ChatManager throws NPE, when Message has no \'from\' attribute
|
|
- [SMACK-554](https://igniterealtime.atlassian.net/browse/SMACK-554) -
|
|
Memory leak in BookmarkManager
|
|
- [SMACK-555](https://igniterealtime.atlassian.net/browse/SMACK-555) -
|
|
VCardProvider should consider some elements as optional
|
|
- [SMACK-558](https://igniterealtime.atlassian.net/browse/SMACK-558) -
|
|
connect() must wait until the stream features have been parsed
|
|
- [SMACK-559](https://igniterealtime.atlassian.net/browse/SMACK-559) -
|
|
Roster entries without a group are not updated
|
|
- [SMACK-560](https://igniterealtime.atlassian.net/browse/SMACK-560) -
|
|
Race condition in PacketWriter
|
|
- [SMACK-567](https://igniterealtime.atlassian.net/browse/SMACK-567) -
|
|
XMPPConnection leaks listenerExecutor ExecutorService
|
|
|
|
### Improvement
|
|
|
|
- [SMACK-343](https://igniterealtime.atlassian.net/browse/SMACK-343) -
|
|
Make Smack jar an OSGi bundle.
|
|
- [SMACK-356](https://igniterealtime.atlassian.net/browse/SMACK-356) -
|
|
There is no way to reliably end a Chat and have a new one created.
|
|
- [SMACK-454](https://igniterealtime.atlassian.net/browse/SMACK-454) -
|
|
Follow XEP-0170 recommendation: Compression before Resource Binding
|
|
- [SMACK-459](https://igniterealtime.atlassian.net/browse/SMACK-459) -
|
|
Add option to configure the default identity in
|
|
ServiceDiscoveryManager
|
|
- [SMACK-465](https://igniterealtime.atlassian.net/browse/SMACK-465) -
|
|
Replace custom wrapped Throwable in XMPPException with
|
|
Exception.cause
|
|
- [SMACK-468](https://igniterealtime.atlassian.net/browse/SMACK-468) -
|
|
Don\'t throw an IOException in IBBStreams when the stream got closed
|
|
by the remote
|
|
- [SMACK-536](https://igniterealtime.atlassian.net/browse/SMACK-536) -
|
|
JUL Loggers should become final
|
|
- [SMACK-537](https://igniterealtime.atlassian.net/browse/SMACK-537) -
|
|
Move XMPP Ping code to smackx, add keep-alive functionality to
|
|
PingManager
|
|
- [SMACK-545](https://igniterealtime.atlassian.net/browse/SMACK-545) -
|
|
Change API to the style mentioned in Smack\'s Code Guidelines
|
|
- [SMACK-547](https://igniterealtime.atlassian.net/browse/SMACK-547) -
|
|
Consistent behavior for \"from\" attribute on outgoing stanzas
|
|
- [SMACK-556](https://igniterealtime.atlassian.net/browse/SMACK-556) -
|
|
Make ConnectionConfigration getters public
|
|
- [SMACK-557](https://igniterealtime.atlassian.net/browse/SMACK-557) -
|
|
Provide a MultiUserChat method to create \*or\* join a room
|
|
- [SMACK-568](https://igniterealtime.atlassian.net/browse/SMACK-568) -
|
|
Don\'t exclude groupchat messages without body element in
|
|
MultiUserChat MessageListeners
|
|
|
|
### New Feature
|
|
|
|
- [SMACK-53](https://igniterealtime.atlassian.net/browse/SMACK-53) -
|
|
Add support for XEP-0092: Software Version
|
|
- [SMACK-71](https://igniterealtime.atlassian.net/browse/SMACK-71) -
|
|
Create new FromFilter that checks for exact matching
|
|
- [SMACK-187](https://igniterealtime.atlassian.net/browse/SMACK-187) -
|
|
Add HTTP Binding support (BOSH / XEP-0124)
|
|
- [SMACK-265](https://igniterealtime.atlassian.net/browse/SMACK-265) -
|
|
Move to a newer build process with artifacts published to maven
|
|
central repo
|
|
- [SMACK-426](https://igniterealtime.atlassian.net/browse/SMACK-426) -
|
|
Improve XMPPException
|
|
- [SMACK-544](https://igniterealtime.atlassian.net/browse/SMACK-544) -
|
|
Add support for XEP-0079: Advanced Message Processing
|
|
- [SMACK-552](https://igniterealtime.atlassian.net/browse/SMACK-552) -
|
|
Add support for \"HTTP over XMPP transport\" aka. XEP-0332
|
|
|
|
### Task
|
|
|
|
- [SMACK-371](https://igniterealtime.atlassian.net/browse/SMACK-371) -
|
|
Some MUC tasks are using stanza\'s as defined in an older version of
|
|
the spec. Fails to work on some servers.
|
|
- [SMACK-432](https://igniterealtime.atlassian.net/browse/SMACK-432) -
|
|
Code cleanup of deprecated methods
|
|
- [SMACK-446](https://igniterealtime.atlassian.net/browse/SMACK-446) -
|
|
Remove non-SASL authentication code
|
|
|
|
## 3.4.1 -- 2014-02-09
|
|
|
|
### Bug
|
|
|
|
- [SMACK-540](https://igniterealtime.atlassian.net/browse/SMACK-540) -
|
|
Memory leak in MultiUserChat
|
|
|
|
## 3.4.0 -- 2014-02-02
|
|
|
|
### Bug Fixes
|
|
|
|
- [SMACK-442](https://igniterealtime.atlassian.net/browse/SMACK-442) -
|
|
Manager\'s should also handle connectionClosedOnError()
|
|
- [SMACK-443](https://igniterealtime.atlassian.net/browse/SMACK-443) -
|
|
ReconnectionSuccessful listeners are invoked twice on reconnection
|
|
if connect() failed before
|
|
- [SMACK-452](https://igniterealtime.atlassian.net/browse/SMACK-452) -
|
|
PacketParserUtils.parseStreamError() is not aware of optional text
|
|
element and therefore failes to parse stream error\'s correctly.
|
|
Prevents ReconnectionManager from reconnecting.
|
|
- [SMACK-458](https://igniterealtime.atlassian.net/browse/SMACK-458) -
|
|
Smack\'s Managers should not remove itself when the connection is
|
|
closed or should re-add themselfs if the connection get reconnected
|
|
- [SMACK-462](https://igniterealtime.atlassian.net/browse/SMACK-462) -
|
|
Prevent duplicate manager instances by using the manager\'s
|
|
constructor in the ConnectionCreationListener\'s connectionCreated
|
|
- [SMACK-463](https://igniterealtime.atlassian.net/browse/SMACK-463) -
|
|
packet listeners silently fail when preceding listener caused
|
|
exception
|
|
- [SMACK-524](https://igniterealtime.atlassian.net/browse/SMACK-524) -
|
|
Use correct block-size definition for IBB transfers
|
|
- [SMACK-525](https://igniterealtime.atlassian.net/browse/SMACK-525) -
|
|
NPE in XMPPConnection.notifyConnectionError
|
|
- [SMACK-529](https://igniterealtime.atlassian.net/browse/SMACK-529) -
|
|
Add support for XEP-0280 \"Message Carbons\"
|
|
- [SMACK-530](https://igniterealtime.atlassian.net/browse/SMACK-530) -
|
|
DNSUtilTest requires an internet connection to work, it should be
|
|
moved to integration tests.
|
|
|
|
### New Feature
|
|
|
|
- [SMACK-286](https://igniterealtime.atlassian.net/browse/SMACK-286) -
|
|
Need to change ProviderManager to support loading smack.providers
|
|
from alternative locations
|
|
- [SMACK-387](https://igniterealtime.atlassian.net/browse/SMACK-387) -
|
|
Allow configuration of ChatManager to be able to allow message
|
|
handling to be customized.
|
|
- [SMACK-403](https://igniterealtime.atlassian.net/browse/SMACK-403) -
|
|
Add support for XEP-0297 \"Stanza Forwarding\"
|
|
- [SMACK-434](https://igniterealtime.atlassian.net/browse/SMACK-434) -
|
|
Create a project to contain non production ready implementations of
|
|
specifications
|
|
|
|
### Improvement
|
|
|
|
- [SMACK-343](https://igniterealtime.atlassian.net/browse/SMACK-343) -
|
|
Make Smack jar an OSGi bundle.
|
|
- [SMACK-381](https://igniterealtime.atlassian.net/browse/SMACK-381) -
|
|
Separate the configuration for smack extension related classes from
|
|
the smack jar.
|
|
- [SMACK-444](https://igniterealtime.atlassian.net/browse/SMACK-444) -
|
|
Allow \'null\' for TruststorePath and TruststorePassword in
|
|
ServerTrustManager
|
|
- [SMACK-456](https://igniterealtime.atlassian.net/browse/SMACK-456) -
|
|
Add the causing exception to the XMPPExceptions thrown in
|
|
XMPPConnection
|
|
- [SMACK-457](https://igniterealtime.atlassian.net/browse/SMACK-457) -
|
|
Remove unnecessary printStackTrace() in XMPPConnection
|
|
- [SMACK-460](https://igniterealtime.atlassian.net/browse/SMACK-460) -
|
|
ServiceDiscoveryManager should not use the constructor in
|
|
connectionCreated()
|
|
- [SMACK-461](https://igniterealtime.atlassian.net/browse/SMACK-461) -
|
|
Remove incorrect deprecated marker for
|
|
DiscoverInfo.Identity.setType()
|
|
- [SMACK-464](https://igniterealtime.atlassian.net/browse/SMACK-464) -
|
|
Make it clear that PacketListener\'s added with
|
|
XMPPConnection.addPacketListener() are only for received packets
|
|
- [SMACK-534](https://igniterealtime.atlassian.net/browse/SMACK-534) -
|
|
Convert all System.out and printStackTrace calls to use Java util
|
|
logging.
|
|
- [SMACK-339](https://igniterealtime.atlassian.net/browse/SMACK-339) -
|
|
Allow ConnectionListeners to be added before XMPPConnection is
|
|
connected. Currently throws exception
|
|
- [SMACK-373](https://igniterealtime.atlassian.net/browse/SMACK-373) -
|
|
Don\'t remove listeners after a disconnect() , keep state of
|
|
XMPPConnection between disconnect() and connect()/login()
|
|
- [SMACK-434](https://igniterealtime.atlassian.net/browse/SMACK-434) -
|
|
Create a project to contain non production ready implementations of
|
|
specifications
|
|
- [SMACK-526](https://igniterealtime.atlassian.net/browse/SMACK-526) -
|
|
Deprecate all PEP related classes.
|
|
|
|
## 3.3.1 -- 2013-10-06
|
|
|
|
### Bug Fixes
|
|
|
|
- [SMACK-428](https://igniterealtime.atlassian.net/browse/SMACK-428) -
|
|
RosterEntry overrides equals, but not hashcode.
|
|
- [SMACK-438](https://igniterealtime.atlassian.net/browse/SMACK-438) -
|
|
Possible NPE in
|
|
MultiUserChat.InvitationsMonitor.getInvitationsMonitor()
|
|
- [SMACK-441](https://igniterealtime.atlassian.net/browse/SMACK-441) -
|
|
Memory leak in KeepAliveManager
|
|
- [SMACK-447](https://igniterealtime.atlassian.net/browse/SMACK-447) -
|
|
Compression is not enabled for Java7ZlibInputOutputStream
|
|
- [SMACK-448](https://igniterealtime.atlassian.net/browse/SMACK-448) -
|
|
Java7ZlibInputOutputStream does not work. Deflater.DEFAULT_STRATEGY
|
|
is used as compression level when it should use
|
|
Deflater.DEFAULT_COMPRESSION
|
|
- [SMACK-450](https://igniterealtime.atlassian.net/browse/SMACK-450) -
|
|
VCard.load() throws null pointer exception if there is no VCard for
|
|
the user
|
|
- [SMACK-455](https://igniterealtime.atlassian.net/browse/SMACK-455) -
|
|
Multiple items doesn\`t not parse correctly in a pubsub message
|
|
|
|
### New Feature
|
|
|
|
- [SMACK-425](https://igniterealtime.atlassian.net/browse/SMACK-425) -
|
|
Collect (parser) Exceptions and unparseable stanzas. Provide a
|
|
callback method so that the user is notified about them if he wants
|
|
to
|
|
|
|
### Improvement
|
|
|
|
- [SMACK-369](https://igniterealtime.atlassian.net/browse/SMACK-369) -
|
|
Exceptions during login should get thrown back up to the caller.
|
|
- [SMACK-439](https://igniterealtime.atlassian.net/browse/SMACK-439) -
|
|
Improve documentation for MultiUserChat.InvitationsListener
|
|
- [SMACK-451](https://igniterealtime.atlassian.net/browse/SMACK-451) -
|
|
PingManager entry in META-INF/smack.providers is within Ad-Hoc
|
|
Command section
|
|
- [SMACK-431](https://igniterealtime.atlassian.net/browse/SMACK-431) -
|
|
Enable Entity Caps as default for new connections and write
|
|
extensions documentation html page
|
|
- [SMACK-405](https://igniterealtime.atlassian.net/browse/SMACK-405) -
|
|
Cleanup of redundant code in XMPPConnection.shutdown()
|
|
|
|
## 3.3.0 -- 2013-05-04
|
|
|
|
### Bug Fixes
|
|
|
|
- [SMACK-225](https://igniterealtime.atlassian.net/browse/SMACK-225) -
|
|
Improper handeling of DNS SRV records
|
|
- [SMACK-238](https://igniterealtime.atlassian.net/browse/SMACK-238) -
|
|
The vCard avatar type always return jpg
|
|
- [SMACK-270](https://igniterealtime.atlassian.net/browse/SMACK-270) -
|
|
Fix for a memory leak in MUC with MUC.finalize()
|
|
- [SMACK-278](https://igniterealtime.atlassian.net/browse/SMACK-278) -
|
|
Deadlock during Smack disconnect
|
|
- [SMACK-342](https://igniterealtime.atlassian.net/browse/SMACK-342) -
|
|
VCards causes ConcurrentModificationException
|
|
- [SMACK-344](https://igniterealtime.atlassian.net/browse/SMACK-344) -
|
|
Bug in SASL authentication mechanism when SRV records are being
|
|
used.
|
|
- [SMACK-351](https://igniterealtime.atlassian.net/browse/SMACK-351) -
|
|
Rework File Transfer
|
|
- [SMACK-352](https://igniterealtime.atlassian.net/browse/SMACK-352) -
|
|
Update the licensing headers in various files.
|
|
- [SMACK-355](https://igniterealtime.atlassian.net/browse/SMACK-355) -
|
|
IO Error if smack cant use port for local proxy
|
|
- [SMACK-371](https://igniterealtime.atlassian.net/browse/SMACK-371) -
|
|
Some MUC tasks are using stanza\'s as defined in an older version of
|
|
the spec. Fails to work on some servers.
|
|
- [SMACK-375](https://igniterealtime.atlassian.net/browse/SMACK-375) -
|
|
Node strings in the discovery info packets are not escaped as in the
|
|
other packets
|
|
- [SMACK-382](https://igniterealtime.atlassian.net/browse/SMACK-382) -
|
|
Prevent memory leak in AdHocCommandManager
|
|
- [SMACK-384](https://igniterealtime.atlassian.net/browse/SMACK-384) -
|
|
Endless waiting for connection to be established
|
|
- [SMACK-390](https://igniterealtime.atlassian.net/browse/SMACK-390) -
|
|
Smack login will fail if a bad delay packet is received
|
|
- [SMACK-392](https://igniterealtime.atlassian.net/browse/SMACK-392) -
|
|
In ant build, compile-test target doesn\'t work.
|
|
- [SMACK-394](https://igniterealtime.atlassian.net/browse/SMACK-394) -
|
|
Erroneous cast in IBBInputStream\'s read() method
|
|
- [SMACK-395](https://igniterealtime.atlassian.net/browse/SMACK-395) -
|
|
Socks5BytestreamManager\'s establishConnection() should still try to
|
|
use the local streamhost proxy if the server doesn\'t provide one
|
|
- [SMACK-404](https://igniterealtime.atlassian.net/browse/SMACK-404) -
|
|
Smack uses the wrong method to decode Base64 Strings
|
|
- [SMACK-413](https://igniterealtime.atlassian.net/browse/SMACK-413) -
|
|
VCardProvider incorrectly parses binary value of avatars
|
|
- [SMACK-415](https://igniterealtime.atlassian.net/browse/SMACK-415) -
|
|
ItemProvider relies on incorrect behavior of MXParser, violating the
|
|
contract of the XMLPullParser interface
|
|
- [SMACK-417](https://igniterealtime.atlassian.net/browse/SMACK-417) -
|
|
If both PacketReader and PacketWriter fail at the same time,
|
|
connectionClosedonError() is called two times
|
|
|
|
### New Features
|
|
|
|
- [SMACK-331](https://igniterealtime.atlassian.net/browse/SMACK-331) -
|
|
Add support for XEP-0184: Message Delivery Receipts
|
|
- [SMACK-345](https://igniterealtime.atlassian.net/browse/SMACK-345) -
|
|
Inproved detection of last activity
|
|
- [SMACK-361](https://igniterealtime.atlassian.net/browse/SMACK-361) -
|
|
Add support for XEP-0115 Entity Capabilities
|
|
- [SMACK-376](https://igniterealtime.atlassian.net/browse/SMACK-376) -
|
|
Setting a custom trust manager to control certificates from outside
|
|
- [SMACK-388](https://igniterealtime.atlassian.net/browse/SMACK-388) -
|
|
XEP-199 XMPP Ping support
|
|
|
|
### Improvements
|
|
|
|
- [SMACK-341](https://igniterealtime.atlassian.net/browse/SMACK-341) -
|
|
Update the PacketCollector and ConnectionDetachedPacketCollector to
|
|
use the java concurrent classes.
|
|
- [SMACK-358](https://igniterealtime.atlassian.net/browse/SMACK-358) -
|
|
Support additional properties for account creation in test cases.
|
|
- [SMACK-363](https://igniterealtime.atlassian.net/browse/SMACK-363) -
|
|
Code Cleanup
|
|
- [SMACK-377](https://igniterealtime.atlassian.net/browse/SMACK-377) -
|
|
avoid unnecessary DNS requests in XMPPconnection
|
|
- [SMACK-379](https://igniterealtime.atlassian.net/browse/SMACK-379) -
|
|
Sessions were removed from the specification but Smack still uses
|
|
them. Should be updated to reflect the spec changes.
|
|
- [SMACK-385](https://igniterealtime.atlassian.net/browse/SMACK-385) -
|
|
Reusing KeyStore in order to reduce memory usage
|
|
- [SMACK-389](https://igniterealtime.atlassian.net/browse/SMACK-389) -
|
|
Add java.util.zip.Deflater(In\|Out)putStream as Java7 API native
|
|
alternative to JZlib
|
|
- [SMACK-391](https://igniterealtime.atlassian.net/browse/SMACK-391) -
|
|
Improve date parsing in StringUtils and make
|
|
DelayInformationProvider use StringUtils for date parsing.
|
|
- [SMACK-412](https://igniterealtime.atlassian.net/browse/SMACK-412) -
|
|
Replace the whitespace ping with a XEP-0199 ping
|
|
- [SMACK-419](https://igniterealtime.atlassian.net/browse/SMACK-419) -
|
|
PacketWriter: Only flush the BufferedWriter if the packet queue is
|
|
empty
|
|
- [SMACK-423](https://igniterealtime.atlassian.net/browse/SMACK-423) -
|
|
Investigate whether unhandled packets should still parse the child
|
|
xml into a string as content
|
|
- [SMACK-430](https://igniterealtime.atlassian.net/browse/SMACK-430) -
|
|
Throw an exception if
|
|
FileTransferManager.createOutgoingFileTransfer() was used with a
|
|
bare JID
|
|
|
|
## 3.2.2 -- 2011-12-23
|
|
|
|
### Bug Fixes
|
|
|
|
- [SMACK-263](https://igniterealtime.atlassian.net/browse/SMACK-263) -
|
|
Set file info in all send\* methods
|
|
- [SMACK-322](https://igniterealtime.atlassian.net/browse/SMACK-322) -
|
|
NPE in XMPPConnection
|
|
- [SMACK-324](https://igniterealtime.atlassian.net/browse/SMACK-324) -
|
|
Investigate SASL issue with jabberd2 servers
|
|
- [SMACK-338](https://igniterealtime.atlassian.net/browse/SMACK-338) -
|
|
IBB filetransfer doesn\'t work as expected
|
|
- [SMACK-346](https://igniterealtime.atlassian.net/browse/SMACK-346) -
|
|
Bug in return code for rejection handling in FileTransferManager
|
|
- [SMACK-348](https://igniterealtime.atlassian.net/browse/SMACK-348) -
|
|
Documentation error - broken link
|
|
- [SMACK-349](https://igniterealtime.atlassian.net/browse/SMACK-349) -
|
|
Smack\'s IBB sends too much data in a packet
|
|
- [SMACK-350](https://igniterealtime.atlassian.net/browse/SMACK-350) -
|
|
Bytestream is not working in Spark 2.6.3 from XP to W7
|
|
- [SMACK-353](https://igniterealtime.atlassian.net/browse/SMACK-353) -
|
|
Thread leak in the FaultTolerantNegotiator
|
|
- [SMACK-362](https://igniterealtime.atlassian.net/browse/SMACK-362) -
|
|
smack throw NoSuchElementException if the muc#roominfo_subject has
|
|
no values
|
|
|
|
### Improvements
|
|
|
|
- [SMACK-343](https://igniterealtime.atlassian.net/browse/SMACK-343) -
|
|
Make Smack jar an OSGi bundle.
|
|
- [SMACK-354](https://igniterealtime.atlassian.net/browse/SMACK-354) -
|
|
Provide milliseconds in timestamp colum debugwindow
|
|
|
|
## 3.2.1 -- 2011-07-04
|
|
|
|
### Bug Fixes
|
|
|
|
- [SMACK-129](https://igniterealtime.atlassian.net/browse/SMACK-129) -
|
|
MultiUserChat will Store Messages in its PacketCollector
|
|
irregardless of whether or not they are being read
|
|
- [SMACK-230](https://igniterealtime.atlassian.net/browse/SMACK-230) -
|
|
Disconnect Can Cause Null Pointer Exception
|
|
- [SMACK-273](https://igniterealtime.atlassian.net/browse/SMACK-273) -
|
|
Bug in RoomListenerMultiplexor.java
|
|
- [SMACK-329](https://igniterealtime.atlassian.net/browse/SMACK-329) -
|
|
XHTMLText uses improper format for br tag
|
|
- [SMACK-338](https://igniterealtime.atlassian.net/browse/SMACK-338) -
|
|
IBB filetransfer doesn\'t work as expected
|
|
- [SMACK-324](https://igniterealtime.atlassian.net/browse/SMACK-324) -
|
|
Investigate SASL issue with jabberd2 servers
|
|
|
|
## 3.2.0 -- 2011-05-03
|
|
|
|
### New Features
|
|
|
|
- [SMACK-272](https://igniterealtime.atlassian.net/browse/SMACK-272) -
|
|
Add support for pubsub (XEP-0060)
|
|
- [SMACK-296](https://igniterealtime.atlassian.net/browse/SMACK-296) -
|
|
Add support for XEP-0224: Attention
|
|
- [SMACK-319](https://igniterealtime.atlassian.net/browse/SMACK-319) -
|
|
Add common interfaces for SOCKS5 Bytestreams and In-Band Bytestreams
|
|
|
|
### Improvements
|
|
|
|
- [SMACK-137](https://igniterealtime.atlassian.net/browse/SMACK-137) -
|
|
File Transfer Settings
|
|
- [SMACK-156](https://igniterealtime.atlassian.net/browse/SMACK-156) -
|
|
Add the ability to register for roster events before logging in
|
|
- [SMACK-261](https://igniterealtime.atlassian.net/browse/SMACK-261) -
|
|
Minor Jingle cleanup to better support Jingle in Spark
|
|
- [SMACK-277](https://igniterealtime.atlassian.net/browse/SMACK-277) -
|
|
Update XMLUnit to the latest version
|
|
- [SMACK-282](https://igniterealtime.atlassian.net/browse/SMACK-282) -
|
|
Support SASL-related error conditions.
|
|
- [SMACK-283](https://igniterealtime.atlassian.net/browse/SMACK-283) -
|
|
Investigate why Jingle is connecting to stun.xten.net
|
|
- [SMACK-285](https://igniterealtime.atlassian.net/browse/SMACK-285) -
|
|
Add support for Nicks
|
|
- [SMACK-289](https://igniterealtime.atlassian.net/browse/SMACK-289) -
|
|
There is no way of retrieving items from a pubsub node when the user
|
|
has multiple subscriptions.
|
|
- [SMACK-294](https://igniterealtime.atlassian.net/browse/SMACK-294) -
|
|
Handle empty roster groups and no goups in the same way
|
|
- [SMACK-295](https://igniterealtime.atlassian.net/browse/SMACK-295) -
|
|
Fire reconnectionSuccessful event when session is established
|
|
- [SMACK-297](https://igniterealtime.atlassian.net/browse/SMACK-297) -
|
|
add configuration for local Socks5 proxy
|
|
- [SMACK-298](https://igniterealtime.atlassian.net/browse/SMACK-298) -
|
|
Respond to all incoming Socks5 bytestream requests
|
|
- [SMACK-299](https://igniterealtime.atlassian.net/browse/SMACK-299) -
|
|
Improve accepting of Socks5 bytestream requests
|
|
- [SMACK-300](https://igniterealtime.atlassian.net/browse/SMACK-300) -
|
|
improve local Socks5 proxy implemetation
|
|
- [SMACK-301](https://igniterealtime.atlassian.net/browse/SMACK-301) -
|
|
support for bytestream packets to query Socks5 proxy for network
|
|
address
|
|
- [SMACK-302](https://igniterealtime.atlassian.net/browse/SMACK-302) -
|
|
Improve establishing of Socks5 bytestreams
|
|
- [SMACK-303](https://igniterealtime.atlassian.net/browse/SMACK-303) -
|
|
integrate of the extracted Socks5 bytestream API in file transfer
|
|
API
|
|
- [SMACK-304](https://igniterealtime.atlassian.net/browse/SMACK-304) -
|
|
Extend the IQ API to create empty IQ results and IQ error response
|
|
packets
|
|
- [SMACK-307](https://igniterealtime.atlassian.net/browse/SMACK-307) -
|
|
Improve Message Parser Robustness and Message Body I18N
|
|
- [SMACK-309](https://igniterealtime.atlassian.net/browse/SMACK-309) -
|
|
Fully implement XEP-0047 In-Band Bytestreams
|
|
- [SMACK-310](https://igniterealtime.atlassian.net/browse/SMACK-310) -
|
|
Add Support for Localized Message Subjects
|
|
|
|
### Bug Fixes
|
|
|
|
- [SMACK-163](https://igniterealtime.atlassian.net/browse/SMACK-163) -
|
|
Fix NPE in RoomInfo when subject has not value
|
|
- [SMACK-207](https://igniterealtime.atlassian.net/browse/SMACK-207) -
|
|
Parsing of messages may disconnect Smack/Spark
|
|
- [SMACK-225](https://igniterealtime.atlassian.net/browse/SMACK-225) -
|
|
Improper handeling of DNS SRV records
|
|
- [SMACK-232](https://igniterealtime.atlassian.net/browse/SMACK-232) -
|
|
Better handling of Roster error
|
|
- [SMACK-243](https://igniterealtime.atlassian.net/browse/SMACK-243) -
|
|
Packet with wrong date format makes Smack to disconnect
|
|
- [SMACK-264](https://igniterealtime.atlassian.net/browse/SMACK-264) -
|
|
fix for NPE in SASLMechanism.java
|
|
- [SMACK-269](https://igniterealtime.atlassian.net/browse/SMACK-269) -
|
|
Smack 3.1.0 creates a new chat for every incoming message
|
|
- [SMACK-271](https://igniterealtime.atlassian.net/browse/SMACK-271) -
|
|
Deadlock in XMPPConnection while login and parsing stream features
|
|
- [SMACK-275](https://igniterealtime.atlassian.net/browse/SMACK-275) -
|
|
Patch: Fix for broken SASL DIGEST-MD5 implementation
|
|
- [SMACK-280](https://igniterealtime.atlassian.net/browse/SMACK-280) -
|
|
The authentification should use the XMPPConnection#sendPacket method
|
|
and work transparent with packets and packet listeners.
|
|
- [SMACK-288](https://igniterealtime.atlassian.net/browse/SMACK-288) -
|
|
The parsing of the result for a LeafNode.getItems() call is
|
|
incorrect. It creates a DefaultPacketExtension instead of an Item
|
|
for every other item in the result.
|
|
- [SMACK-290](https://igniterealtime.atlassian.net/browse/SMACK-290) -
|
|
Deadlock while getting Roster before it\'s initialized
|
|
- [SMACK-291](https://igniterealtime.atlassian.net/browse/SMACK-291) -
|
|
RosterGroup modifications should depend on roster push
|
|
- [SMACK-293](https://igniterealtime.atlassian.net/browse/SMACK-293) -
|
|
Support optional roster subscription attribute
|
|
- [SMACK-305](https://igniterealtime.atlassian.net/browse/SMACK-305) -
|
|
RosterEntry#getGroups causing a roster reload
|
|
- [SMACK-308](https://igniterealtime.atlassian.net/browse/SMACK-308) -
|
|
Multiple errors in pubsub GetItemsRequest
|
|
- [SMACK-312](https://igniterealtime.atlassian.net/browse/SMACK-312) -
|
|
Only fire RosterListener#entriesUpdated for RosterEntries that
|
|
changed
|
|
- [SMACK-327](https://igniterealtime.atlassian.net/browse/SMACK-327) -
|
|
getFeatures() method on DiscoverInfo is improperly set to be package
|
|
protected instead of public
|
|
- [SMACK-328](https://igniterealtime.atlassian.net/browse/SMACK-328) -
|
|
Number format exception while parsing dates.
|
|
- [SMACK-332](https://igniterealtime.atlassian.net/browse/SMACK-332) -
|
|
Smack 3.2.0b2 shows wrong version in Smack Dubugger Window
|
|
- [SMACK-334](https://igniterealtime.atlassian.net/browse/SMACK-334) -
|
|
Error in form for FileTransferNegotiator
|
|
|
|
## 3.1.0 -- 2008-11-20
|
|
|
|
### New Features
|
|
|
|
- [SMACK-142](https://igniterealtime.atlassian.net/browse/SMACK-142) -
|
|
Added support for Kerberos/NTLM. **(6 votes)**
|
|
- [SMACK-210](https://igniterealtime.atlassian.net/browse/SMACK-210) -
|
|
Added support for MD5 SASL. **(1 vote)**
|
|
- [SMACK-256](https://igniterealtime.atlassian.net/browse/SMACK-256) -
|
|
Added support for new sophisticated TLS mechanisms including
|
|
SmartCard and Apple\'s KeychainStore.
|
|
- [SMACK-242](https://igniterealtime.atlassian.net/browse/SMACK-242) -
|
|
Added support for JEP-50: Ad-hoc commands.
|
|
- [SMACK-251](https://igniterealtime.atlassian.net/browse/SMACK-251) -
|
|
Added support for XEP-0163: Personal Eventing Protocol. **(1 vote)**
|
|
- [SMACK-226](https://igniterealtime.atlassian.net/browse/SMACK-226) -
|
|
XMLConnection can now be used with an http/socks proxy. **(2
|
|
votes)**
|
|
- [SMACK-254](https://igniterealtime.atlassian.net/browse/SMACK-254) -
|
|
Loading the Roster during login is now optional.
|
|
- [SMACK-255](https://igniterealtime.atlassian.net/browse/SMACK-255) -
|
|
Added ability to set mime type for avatar.
|
|
- [SMACK-235](https://igniterealtime.atlassian.net/browse/SMACK-235) -
|
|
Improved performance of Roster class.
|
|
- [SMACK-241](https://igniterealtime.atlassian.net/browse/SMACK-241) -
|
|
Updated Base64 implementation to match Openfire\'s.
|
|
- [SMACK-240](https://igniterealtime.atlassian.net/browse/SMACK-240) -
|
|
Updated Jingle implementation to newest version.
|
|
- [SMACK-246](https://igniterealtime.atlassian.net/browse/SMACK-246) -
|
|
Improve Jingle logging using commons-logging
|
|
- [SMACK-244](https://igniterealtime.atlassian.net/browse/SMACK-244) -
|
|
Updated JSTUN to 0.7.2.
|
|
- [SMACK-259](https://igniterealtime.atlassian.net/browse/SMACK-259) -
|
|
Updated XPP library to latest version.
|
|
|
|
### Bug Fixes
|
|
|
|
- [SMACK-231](https://igniterealtime.atlassian.net/browse/SMACK-231) -
|
|
IBB Outputstream was not being flushed before it was closed.
|
|
- [SMACK-236](https://igniterealtime.atlassian.net/browse/SMACK-236) -
|
|
Renamed stanza error \"unexpected-condition\" to
|
|
\"unexpected-request\".
|
|
- [SMACK-258](https://igniterealtime.atlassian.net/browse/SMACK-258) -
|
|
Fixed disconnection issue when parsing SASL success that contained a
|
|
payload.
|
|
- [SMACK-175](https://igniterealtime.atlassian.net/browse/SMACK-175) -
|
|
Fixed typo in RosterPacket.ItemStatus constant.
|
|
- [SMACK-260](https://igniterealtime.atlassian.net/browse/SMACK-260) -
|
|
Added handling of error presence packets
|
|
|
|
## 3.0.3 -- 2007-05-31
|
|
|
|
### New Features
|
|
|
|
- [SMACK-99](https://igniterealtime.atlassian.net/browse/SMACK-99) -
|
|
Added support for multiple message bodies and message body
|
|
languages.
|
|
- [SMACK-218](https://igniterealtime.atlassian.net/browse/SMACK-218) -
|
|
Implemented GSSAPI for single-sign on.
|
|
|
|
### Bug Fixes
|
|
|
|
- [SMACK-219](https://igniterealtime.atlassian.net/browse/SMACK-219) -
|
|
The getPresence method was not working correctly with offline
|
|
presence.
|
|
- [SMACK-224](https://igniterealtime.atlassian.net/browse/SMACK-224) -
|
|
SASL authenticion was using the XMPP domain instead of the FQDN.
|
|
|
|
## 3.0.2 -- 2007-05-03
|
|
|
|
### Bug Fixes
|
|
|
|
- [SMACK-212](https://igniterealtime.atlassian.net/browse/SMACK-212) -
|
|
Jingle can\'t establish session if only one side has a relay service
|
|
- [SMACK-213](https://igniterealtime.atlassian.net/browse/SMACK-213) -
|
|
RTP Bridge Resolver get wrong localhost address in certain
|
|
situations
|
|
- [SMACK-214](https://igniterealtime.atlassian.net/browse/SMACK-214) -
|
|
Presences with a negative priority of -1 are not sending the
|
|
priority to the server
|
|
|
|
## 3.0.1 -- 2007-04-12
|
|
|
|
### Bug Fixes
|
|
|
|
- [SMACK-211](https://igniterealtime.atlassian.net/browse/SMACK-211) -
|
|
Jingle ICE with relay sometimes closed sessions.
|
|
- Upgraded bundled version of JSTUN.
|
|
|
|
## 3.0.0 -- 2007-03-31
|
|
|
|
### Important Changes
|
|
|
|
- Java 5 is now required.
|
|
- Several API changes are not backwards compatible. In particular,
|
|
connection handling has been significantly updated, the GroupChat
|
|
class has been dropped in favor of the standardized MultiUserChat,
|
|
and the Chat class has an updated API.
|
|
|
|
### New Features
|
|
|
|
- [SMACK-74](https://igniterealtime.atlassian.net/browse/SMACK-74) -
|
|
Added support for unavailable presences with status text. **(4
|
|
votes)**
|
|
- [SMACK-191](https://igniterealtime.atlassian.net/browse/SMACK-191) -
|
|
RosterListener API improvements.
|
|
- [SMACK-194](https://igniterealtime.atlassian.net/browse/SMACK-194) -
|
|
Roster.getPresence(String) now considers mode after priority to
|
|
determine the presence value to return.
|
|
- [SMACK-195](https://igniterealtime.atlassian.net/browse/SMACK-195) -
|
|
Added the ability to disconnect with a custom presence value (for
|
|
offline status).
|
|
- [SMACK-200](https://igniterealtime.atlassian.net/browse/SMACK-200) -
|
|
Added convenience methods to Presence class.
|
|
- [SMACK-31](https://igniterealtime.atlassian.net/browse/SMACK-31) -
|
|
Added support for privacy lists. **(4 votes)**
|
|
- [SMACK-94](https://igniterealtime.atlassian.net/browse/SMACK-94) -
|
|
Added support for last activity of online users. **(1 vote)**
|
|
- [SMACK-121](https://igniterealtime.atlassian.net/browse/SMACK-121) -
|
|
Added support for stream errors.
|
|
- [SMACK-136](https://igniterealtime.atlassian.net/browse/SMACK-136) -
|
|
Added support for XEP-0048: bookmark storage.
|
|
- [SMACK-144](https://igniterealtime.atlassian.net/browse/SMACK-144) -
|
|
Added bookmark manager for central bookmark management.
|
|
- [SMACK-150](https://igniterealtime.atlassian.net/browse/SMACK-150) -
|
|
Added support for handling node features in disco.
|
|
- [SMACK-167](https://igniterealtime.atlassian.net/browse/SMACK-167) -
|
|
Added support for XEP-0106: JID Escaping
|
|
- [SMACK-171](https://igniterealtime.atlassian.net/browse/SMACK-171) -
|
|
The presence of available contacts is now changed to offline when
|
|
the connection is closed.
|
|
- [SMACK-172](https://igniterealtime.atlassian.net/browse/SMACK-172) -
|
|
Added support for re-connection when the connection is abruptly
|
|
closed.
|
|
- [SMACK-182](https://igniterealtime.atlassian.net/browse/SMACK-182) -
|
|
ProviderManager is now pluggable (for Eclipse ECF).
|
|
- [SMACK-185](https://igniterealtime.atlassian.net/browse/SMACK-185) -
|
|
Added the workgroup API to Smack.
|
|
- [SMACK-206](https://igniterealtime.atlassian.net/browse/SMACK-206) -
|
|
Added the option to specify the username to use for the automated
|
|
test cases.
|
|
- [SMACK-208](https://igniterealtime.atlassian.net/browse/SMACK-208) -
|
|
Added a max queue size for outgoing packets to prevent memory issues
|
|
during extreme load.
|
|
- [SMACK-209](https://igniterealtime.atlassian.net/browse/SMACK-209) -
|
|
Initial Jingle support implemented.
|
|
|
|
### Bug Fixes
|
|
|
|
- [SMACK-6](https://igniterealtime.atlassian.net/browse/SMACK-6) -
|
|
Don\'t force use of collectors in Chat class.
|
|
- [SMACK-10](https://igniterealtime.atlassian.net/browse/SMACK-10) -
|
|
Flush pending packets before closing the connection. **(4 votes)**
|
|
- [SMACK-51](https://igniterealtime.atlassian.net/browse/SMACK-51) -
|
|
Use unique Thread names among connections.
|
|
- [SMACK-54](https://igniterealtime.atlassian.net/browse/SMACK-54) -
|
|
Add #equals and #hashCode to Occupant.
|
|
- [SMACK-86](https://igniterealtime.atlassian.net/browse/SMACK-86) -
|
|
Made presence checks case in-sensitive.
|
|
- [SMACK-93](https://igniterealtime.atlassian.net/browse/SMACK-93) -
|
|
XHTML provider wasn\'t handling some tags correctly.
|
|
- [SMACK-138](https://igniterealtime.atlassian.net/browse/SMACK-138) -
|
|
Added caching to file transfer negotiation operations.
|
|
- [SMACK-143](https://igniterealtime.atlassian.net/browse/SMACK-143) -
|
|
Updated XMPPError to be compliant with RFC3920.
|
|
- [SMACK-145](https://igniterealtime.atlassian.net/browse/SMACK-145) -
|
|
XHTML parsing could fail in some cases.
|
|
- [SMACK-146](https://igniterealtime.atlassian.net/browse/SMACK-146) -
|
|
DNS lookups were failing with some DNS servers.
|
|
- [SMACK-147](https://igniterealtime.atlassian.net/browse/SMACK-147) -
|
|
Removed invisibility presence mode.
|
|
- [SMACK-148](https://igniterealtime.atlassian.net/browse/SMACK-148) -
|
|
Socks 5 listening thread was not cleaning up correctly. **(2
|
|
votes)**
|
|
- [SMACK-149](https://igniterealtime.atlassian.net/browse/SMACK-149) -
|
|
Fixed possible memory leaking in PacketReader.
|
|
- [SMACK-151](https://igniterealtime.atlassian.net/browse/SMACK-151) -
|
|
Now use getBytes(\"UTF-8\") instead of getBytes().
|
|
- [SMACK-152](https://igniterealtime.atlassian.net/browse/SMACK-152) -
|
|
The FN field is duplicated when loading vCards from the server.
|
|
- [SMACK-153](https://igniterealtime.atlassian.net/browse/SMACK-153) -
|
|
Optimized performance by replacing StringBuffer with StringBuilder.
|
|
- [SMACK-154](https://igniterealtime.atlassian.net/browse/SMACK-154) -
|
|
Fixed roster test cases that were sometimes failing.
|
|
- [SMACK-155](https://igniterealtime.atlassian.net/browse/SMACK-155) -
|
|
Optimized MUC performance by reducing number of packet collectors
|
|
and listeners.
|
|
- [SMACK-158](https://igniterealtime.atlassian.net/browse/SMACK-158) -
|
|
FileTransfer isDone() method was returning true even when the
|
|
transfer was refused.
|
|
- [SMACK-159](https://igniterealtime.atlassian.net/browse/SMACK-159) -
|
|
Filenames were not escaped for file transfers.
|
|
- [SMACK-160](https://igniterealtime.atlassian.net/browse/SMACK-160) -
|
|
Now use stream:feature to discover registration support.
|
|
- [SMACK-161](https://igniterealtime.atlassian.net/browse/SMACK-161) -
|
|
Improved connection speed.
|
|
- [SMACK-162](https://igniterealtime.atlassian.net/browse/SMACK-162) -
|
|
Fixed NPE in SmackConfiguration.
|
|
- [SMACK-163](https://igniterealtime.atlassian.net/browse/SMACK-163) -
|
|
Fixed NPE in RoomInfo when subject was null.
|
|
- [SMACK-164](https://igniterealtime.atlassian.net/browse/SMACK-164) -
|
|
Contact name was not being escaped.
|
|
- [SMACK-165](https://igniterealtime.atlassian.net/browse/SMACK-165) -
|
|
Listeners were not being removed from PacketReader.
|
|
- [SMACK-166](https://igniterealtime.atlassian.net/browse/SMACK-166) -
|
|
Packet reader thread was freezing when parsing an error text with no
|
|
description.
|
|
- [SMACK-168](https://igniterealtime.atlassian.net/browse/SMACK-168) -
|
|
Fixed possible delay in PacketReader when negotiating TLS.
|
|
- [SMACK-173](https://igniterealtime.atlassian.net/browse/SMACK-173) -
|
|
Renamed ConnectionEstablishedListener to ConnectionCreationListener.
|
|
- [SMACK-176](https://igniterealtime.atlassian.net/browse/SMACK-176) -
|
|
Fixed incorrect property initialization.
|
|
- [SMACK-177](https://igniterealtime.atlassian.net/browse/SMACK-177) -
|
|
Removed synchronization from Roster.
|
|
- [SMACK-178](https://igniterealtime.atlassian.net/browse/SMACK-178) -
|
|
Added NodeInformation#getNodeIdentities() to return identities of
|
|
hosted nodes
|
|
- [SMACK-181](https://igniterealtime.atlassian.net/browse/SMACK-181) -
|
|
Improved parsing of certificates to get signed domains.
|
|
- [SMACK-183](https://igniterealtime.atlassian.net/browse/SMACK-183) -
|
|
Documentation fixes.
|
|
- [SMACK-184](https://igniterealtime.atlassian.net/browse/SMACK-184) -
|
|
Simplified XMPPConnection constructors.
|
|
- [SMACK-203](https://igniterealtime.atlassian.net/browse/SMACK-203) -
|
|
NULL thread IDs would cause an error inside of the Chat Manager.
|
|
- [SMACK-205](https://igniterealtime.atlassian.net/browse/SMACK-205) -
|
|
Fixed PacketReader concurrency problems.
|
|
- [SMACK-188](https://igniterealtime.atlassian.net/browse/SMACK-188) -
|
|
Resources are now closed after reading the keystore.
|
|
- [SMACK-189](https://igniterealtime.atlassian.net/browse/SMACK-189) -
|
|
The listener was remaining blocked forever in some cases.
|
|
- [SMACK-190](https://igniterealtime.atlassian.net/browse/SMACK-190) -
|
|
Exceptions while notifying packet reader listeners was stopping the
|
|
notification thread.
|
|
- [SMACK-192](https://igniterealtime.atlassian.net/browse/SMACK-192) -
|
|
Roster.getPresence(String) now forces use of the bare JID.
|
|
- [SMACK-193](https://igniterealtime.atlassian.net/browse/SMACK-193) -
|
|
New presence packets now default to a null presence mode.
|
|
- [SMACK-196](https://igniterealtime.atlassian.net/browse/SMACK-196) -
|
|
Now set closed to true at the start of the connection shutdown
|
|
method and not the end.
|
|
- [SMACK-197](https://igniterealtime.atlassian.net/browse/SMACK-197) -
|
|
The source build was failing.
|
|
- [SMACK-198](https://igniterealtime.atlassian.net/browse/SMACK-198) -
|
|
File transfer streams were not being closed properly in some cases.
|
|
- [SMACK-199](https://igniterealtime.atlassian.net/browse/SMACK-199) -
|
|
MultiUserChat invitation listeners are no longer removed on
|
|
disconnects.
|
|
- [SMACK-201](https://igniterealtime.atlassian.net/browse/SMACK-201) -
|
|
Roster no longer exposes that it implements ConnectionListener.
|
|
|
|
## 2.2.1 -- 2006-06-12
|
|
|
|
- [SMACK-141](https://igniterealtime.atlassian.net/browse/SMACK-141) -
|
|
Fixed SSL exception while creating new XMPPConnections. **(1 vote)**
|
|
- [SMACK-127](https://igniterealtime.atlassian.net/browse/SMACK-127) -
|
|
Fixed incorrect file transfer progress.
|
|
- [SMACK-130](https://igniterealtime.atlassian.net/browse/SMACK-130) -
|
|
Fixed VCard escaping problem that was crashing connections.
|
|
- [SMACK-134](https://igniterealtime.atlassian.net/browse/SMACK-134) -
|
|
VCards were not being saved when avatar was the only element.
|
|
- [SMACK-131](https://igniterealtime.atlassian.net/browse/SMACK-131) -
|
|
Illegal XML characters are now properly escaped in the presence
|
|
status.
|
|
- [SMACK-133](https://igniterealtime.atlassian.net/browse/SMACK-133) -
|
|
Illegal XML characters are now properly escaped in groups names.
|
|
- [SMACK-132](https://igniterealtime.atlassian.net/browse/SMACK-132) -
|
|
Fixed IBB problem triggered when buffersize was increased.
|
|
- [SMACK-135](https://igniterealtime.atlassian.net/browse/SMACK-135) -
|
|
Moved to new Base64 implementation to fix line break issue in old
|
|
implementation.
|
|
|
|
## 2.2.0 -- 2006-03-09
|
|
|
|
- [SMACK-122](https://igniterealtime.atlassian.net/browse/SMACK-122) -
|
|
Added support for JEP-96: File Transfer. **(1 vote)**
|
|
- [SMACK-72](https://igniterealtime.atlassian.net/browse/SMACK-72) -
|
|
Added support for JEP-47: In-Band Bytestreams. **(2 votes)**
|
|
- [SMACK-122](https://igniterealtime.atlassian.net/browse/SMACK-122) -
|
|
Added support for JEP-65: SOCKS5 Bytestreams. **(1 vote)**
|
|
- [SMACK-112](https://igniterealtime.atlassian.net/browse/SMACK-112) -
|
|
Added support for JEP-38 Stream Compression.
|
|
- [SMACK-117](https://igniterealtime.atlassian.net/browse/SMACK-117) -
|
|
Added support for JEP-33: Extended Stanza Addressing.
|
|
- [SMACK-27](https://igniterealtime.atlassian.net/browse/SMACK-27) -
|
|
Certification validation is now pluggable.
|
|
- [SMACK-118](https://igniterealtime.atlassian.net/browse/SMACK-118) -
|
|
Added methods to dynamically remove providers.
|
|
- [SMACK-125](https://igniterealtime.atlassian.net/browse/SMACK-125) -
|
|
Added support for deaf occupant in MUC rooms.
|
|
- [SMACK-109](https://igniterealtime.atlassian.net/browse/SMACK-109) -
|
|
Optimized client performance. **(1 vote)**
|
|
- [SMACK-113](https://igniterealtime.atlassian.net/browse/SMACK-113) -
|
|
Added support for choosing if TLS should be used or not.
|
|
- [SMACK-114](https://igniterealtime.atlassian.net/browse/SMACK-114) -
|
|
Added support for choosing if SASL should be used or not.
|
|
- [SMACK-123](https://igniterealtime.atlassian.net/browse/SMACK-123) -
|
|
A thread is no longer used for packet writer listeners.
|
|
- [SMACK-110](https://igniterealtime.atlassian.net/browse/SMACK-110) -
|
|
Resource binding and session establishment are now requested only if
|
|
the server offered them.
|
|
- [SMACK-111](https://igniterealtime.atlassian.net/browse/SMACK-111) -
|
|
Fixed concurrency issue with date formatter.
|
|
- [SMACK-116](https://igniterealtime.atlassian.net/browse/SMACK-116) -
|
|
Fixed vCard issues.
|
|
- [SMACK-119](https://igniterealtime.atlassian.net/browse/SMACK-119) -
|
|
Fixed AccessControlException when using vCard from an applet.
|
|
- [SMACK-120](https://igniterealtime.atlassian.net/browse/SMACK-120) -
|
|
Listener thread was not being shutdown properly.
|
|
- [SMACK-124](https://igniterealtime.atlassian.net/browse/SMACK-124) -
|
|
Parsing resource binding packets was requiring smackx.jar file to be
|
|
in the classpath.
|
|
- [SMACK-97](https://igniterealtime.atlassian.net/browse/SMACK-97) -
|
|
Fixed functional test failures in PresencePriorityTest and
|
|
RosterTest.
|