Replace 'hGetChar' with 'hGetBytes'.
Transition most remaining text storage to lazy 'Text'.
Use GNU IDN instead of 'text-icu' for Stringprep support.
Small tweak for first public version of GNU TLS bindings.
When retrieving a stanza tree from a root, only check element children.
Allow IQ payloads to be empty.
Restart streams after establishing a TLS connection and authentication.
Small cleanup to 'putTree'.
In 'treeToStanza', treat the input as a root node.
Treat strings retrieved from libXML as UTF8.
Better error handling for unexpected EOF in 'hGetChar'.
When authenticating, do not include resources in the JID.
Use lazy instead of strict bytestrings.
Migrate 'Handle' to a more modern TLS binding.
Add error handling hooks to 'Handle' computation signatures, to simplify the migration to a better GNU TLS binding.
Expose enough of the 'XMPP' monad internals for clients to interleave it with other IO.
Export 'Error' in the public API.
Make 'JID' an instance of 'IsString'.
Define the 'XMPP' monad, so clients don't have to pass a stream around.
Use more specific license version in Cabal file.