Ignore unexpected but legal SAX events, such as comments and processing instructions.
Added stanza functions for converting XML trees into generic stanzas, messages, and presence notifications.
Use new leak-safe helper functions from GSASL.
Allow the SASL mechanism used to be automatically negotiated.
Ported authentication to GNU SASL. Currently, only the PLAIN mechanism is supported.
When binding a resource, allow the calling code to request a specific resource string be used.
Add functions for retrieving parts of a JID as strings.
In TLS mode, check for pending data before calling ``tlsRecv``. If no data is pending, wait for some first. By waiting for input in Haskell code, SIGINT will work again.
Add basic support for the ``message`` and ``presence`` stanza types, which simplify the construction of XML trees.
Change JIDs to be unformatted when shown -- turns out using show for formatting was a dumb idea, because it would typecheck even if the value was no longer a JID.
Export the JID constructor.
Extracted incremental XML parsing to a separate library.
Cleaned unused and duplicate imports, and added some type declarations.
In ``clientBind``, parse and return the JID returned from the server.
Add type signatures for ``mkAttr`` and ``mkQName``, and fixed a typo in ``mkQName``.
Moved utility functions into Util module.
Cleaned up clientBind a bit, and allow put/getTree operations on authenticated clients.
When building a tree from SAX events, include element attributes.