Adding ability for XMPPStream to handle custom stanzas (non iq, message, presence), along with corresponding delegate methods.
Minor alteration to new API within XMPPModule. (changing method: didDeactivate -> willDeactivate)
Adding method to XMPPStream: getNumberOfBytesSent:numberOfBytesReceived: (simple atomic operation to fetch 2 related properties at the same time). Also updated XMPPBandwidthMonitor to use the new method.
Added a warning log statement if one attempts to set an invalid whitespace character.
A little bit of code modernization: converting enums to NS_ENUM.
Minor documentation improvements
Adding a proper NSError for cases where the stream is disconnected due to the startTLSPolicy.
Adding support for custom binding protocols. This is similar to pluggable authentication, but for binding.
Initial support for XEP-0198 (stream management)
Edge case bug fix: XMPPStream should guarantee in-order delivery of stanzas, even if there are xmppStream:willReceiveX: delegates.
Minor documentation clarification.
Adding new delegate method for XMPPStream - xmppStreamDidFilterStanza
Minor bug fix for XMPPBandwidthMonitor - should start monitoring bandwidth immediately upon TCP connect, not post XMPP handshake.
Minor optimization for XMPPIDTracker - only fetch the elementID once.
Bug fix for edge case in XMPPStreamManagement - counts would be incorrect if a delegate filtered an incoming stanza.
Minor bug fix for XMPPStreamManagement
Include XMPPCustomBinding in Sample Projects
unsignedIntegerValue should be NSUInteger
Set NSDateFormatter Locale en_US_POSIX

https://developer.apple.com/library/ios/qa/qa1480/_index.html
Code Clean Up

- Remove NSLog for Release Builds
- Only call exit() for Debug Builds (in extreme circumstances)
- Don't call properties in init