Ticket numbers in this file can be looked up by visiting
http://twistedmatrix.com/trac/ticket/<number>

Words 8.2.0 (2008-12-16)
========================

Feature
-------
 - There is now a standalone XMPP router included in twisted.words: it can be
   used with the 'twistd xmpp-router' command line (#3407)
 - A server factory for Jabber XML Streams has been added (#3435)
 - Domish now allows for iterating child elements with specific qualified names
   (#2429)
 - IRCClient now has a 'back' method which removes the away status (#3366)
 - IRCClient now has a 'whois' method (#3133)

Fixes
-----
 - The IRC Client implementation can now deal with compound mode changes (#3230)
 - The MSN protocol implementation no longer requires the CVR0 protocol to
   be included in the VER command (#3394)
 - In the IRC server implementation, topic messages will no longer be sent for
   a group which has no topic (#2204)
 - An infinite loop (which caused infinite memory usage) in irc.split has been
   fixed.  This was triggered any time a message that starts with a delimiter
   was sent (#3446)
 - Jabber's toResponse now generates a valid stanza even when stanzaType is not
   specified (#3467)
 - The lifetime of authenticator instances in XmlStreamServerFactory is no
   longer artificially extended (#3464)

Other
-----
 - #3365


8.1.0 (2008-05-18)
==================

Features
--------
 - JID objects now have a nice __repr__ (#3156)
 - Extending XMPP protocols is now easier (#2178)

Fixes
-----
 - The deprecated mktap API is no longer used (#3127)
 - A bug whereby one-time XMPP observers would be enabled permanently was fixed
   (#3066)


8.0.0 (2008-03-17)
==================

Features
--------
 - Provide function for creating XMPP response stanzas. (#2614, #2614)
 - Log exceptions raised in Xish observers. (#2616)
 - Add 'and' and 'or' operators for Xish XPath expressions. (#2502)
 - Make JIDs hashable. (#2770)

Fixes
-----
 - Respect the hostname and servername parameters to IRCClient.register. (#1649)
 - Make EventDispatcher remove empty callback lists. (#1652)
 - Use legacy base64 API to support Python 2.3 (#2461)
 - Fix support of DIGEST-MD5 challenge parsing with multi-valued directives.
   (#2606)
 - Fix reuse of dict of prefixes in domish.Element.toXml (#2609)
 - Properly process XMPP stream headers (#2615)
 - Use proper namespace for XMPP stream errors. (#2630)
 - Properly parse XMPP stream errors. (#2771)
 - Fix toResponse for XMPP stanzas without an id attribute. (#2773)
 - Move XMPP stream header procesing to authenticators. (#2772)

Misc
----
 - #2617, #2640, #2741, #2063, #2570, #2847


0.5.0 (2007-01-06)
==================

Features
--------
 - (Jabber) IQ.send now optionally has a 'timeout' parameter which
   specifies a time at which to errback the Deferred with a
   TimeoutError (#2218)
 - (Jabber) SASL authentication, resource binding and session
   establishment were added. (#1046) The following were done in
   support of this change:
   - Rework ConnectAuthenticator to work with initializer objects that
     provide a stream initialization step.
   - Reimplement iq:auth as an initializer.
   - Reimplement TLS negotiation as an initializer.
   - Add XMPPAuthenticator as a XMPP 1.0 client authenticator (only), along
     with XMPPClientFactory.
   - Add support for working with pre-XMPP-1.0 error stanzas.
   - Remove hasFeature() from XmlStream as you can test (uri, name) in
     xs.features.
   - Add sendFooter() and sendStreamError() to XmlStream

Fixes
-----
 - (Jabber) Deferreds from queries which were never resolved before
   a lost connection are now errbacked (#2006)
 - (Jabber) servers which didn't send a 'realm' directive in
   authentication challenges no longer cause the Jabber client to
   choke (#2098)
 - (MSN) error responses are now properly turned into errbacks (#2019)
 - (IRC) A trivial bug in IRCClient which would cause whois(oper=True)
   to always raise an exception was fixed (#2089)
 - (IM) Bugs in the error handling and already-connecting cases of
   AbstractAccount.logOn were fixed (#2086)

Misc
----
 - #1734, #1735, #1636, #1936, #1883, #1995, #2171, #2165, #2177


0.4.0 (2006-05-21)
==================

Features
--------
 - Jabber:
   - Add support for stream and stanza level errors
   - Create new IQ stanza helper that works with deferreds
   - Add TLS support for initiating entities to XmlStream
   - Fix account registration
 - Xish:
   - Fix various namespace issues
   - Add IElement
   - Store namespace declarations in parsed XML for later serialization
 - Fix user name/group collision in server service (#1655).
 - Correctly recognize MSN capability messages (#861).

Fixes
-----
 - Misc: #1283, #1296, #1302, #1424
 - Fix unicode/str confusion in IRC server service.


0.3.0:
 - Jabber:

   - Fix digest authentication in Jabber
   - Add Jabber xmlstream module that contains the Jabber specific bits that
     got factored out of Twisted Xish's xmlstream, and make it suitable for
     implementing full XMPP support.
 - Xish:
   - Fixed serialization in _ListSerializer
   - Removed unneeded extra whitespace generated in serialization
   - Removed _Serializer in favour of _ListSerializer
   - Use unicode objects for representing serialized XML, instead of utf-8
     encoded str objects.
   - Properly catch XML parser errors
   - Rework and fix element stream test cases
   - Strip xmlstream from all Jabber specifics that moved to Twisted Words
   - Added exhaustive docstrings to xmlstream.
 - Words Service:
   - Complete rewrite
   - Not backwards compatible

0.1.0:
 - Fix some miscellaneous bugs in OSCAR
 - Add QUIT notification for IRC
 - Fix message wrapping
 - Misc Jabber fixes
 - Add stringprep support for Jabber IDs
   This only works properly on 2.3.2 or higher
