RosterManager now supports (nested) contact groups
Improve Jid class (nodeprep, resourceprep, better escaping logic, caching for better performance, Comparable interface implemented)
Add JID Escaping feature (jid\\escaping) to feature list for Service Discovery.
Restructure the project: It’s now separated into modules:
xmpp-core, which contains XML schema implementations and core classes. It could theoretically be useful for a server implementation, too.
xmpp-client, which contains business logic, used by XMPP clients (e.g. connection logic, roster management, …)
The base Connection class is now called XmppSession, which can have multiple connection methods. Each connection method is tried while connecting. That way a XMPP session can have a normal TcpConnection and an alternative BoshConnection, which is tried as fallback.
Move Message, Presence and IQ classes from org.xmpp.stanza to `org.xmpp.stanza.client package (API change).
The ‘from’ attribute of roster/privacy lists/blocking command pushes are now checked to prevent IQ spoofing.