1.0013
======
  - Removed some leftover print statements that would cause confusing output
    to STDOUT.

1.0012
======
  - In the Message module Reply function, it only does "re: " for normal
    messages now.
  - Added <registered/> to the iq:register namespace.

1.0011
======
  - Added PresenceDBDelete to allow for deleting JIDs from the the DB.
  - Fixed a bug where PresenceDBParse would take any presence, regardless of 
    the type.  It should only take available and unavailable.

1.0010
======
  - Fixed a bug in the GetXMLData function where it would try to check an
    attrib but the array entry it was checking did not contain an array.
    Added a ref() statement in there to fix that.
  - Fixed another bug with the ErrorCode functions where I forgot to change
    all of the calls in Protocol to ErrorCode from ErrorType.

1.0009
======
  - Fixed bug in the error tags.

1.0008
======
  - Fixed a bug in the AutoUpdate/Release.pm code.

1.0007
======
  - Added Query/Filter to support the mod_filter in the server.
  - Added PresenceDB functions to make managing the multiple resource and 
    priority thing much easier for a client/transport.
  - Initialized some variables to get rid of warnings under perl -w.
  - Fixed outgoing XML to be UTF-8 encoded.

1.0006
======
  - Added support for <truncated/> in iq:search.

1.0005
======
  - Changed AutoUpdate namespaces to show <ver/> becoming <version/>.
  - When SeachRequest and RegisterRequest get errors they now return undef
    to show that there was an error.
  - Changed versioning scheme to match up Perl and Jabber.  1.005 refers to
    Jabber version 1.0 and Net::Jabber verison 005.

1.0d
====
  - GetQuery and GetX returns undef if there is not valid namespace found.
  - Fixed bug in namespace handling.  Instead of hardcoding looking for <x/>
    and <query/> Net::Jabber now searches for any tag that has an xmlns and
    uses that tag as the query or x.
  - Added Jabber::X::GC to handle GroupChat X tags.
  - Added Debug object to make it easier to log debug information.
  - Fixed bug in JID where GetJID did not return the correct JID if there
    is an % in the UserID.
  - Added Key.pm.
  - Fixed bug in RosterRemove where the JID was not being sent and thus the
    item not being removed.

1.0c
====
  - Fixed bug in Message, Presence, and IQ with the GetJID function changing.

1.0b
====
  - Added Query::AutoUpdate.
  - In Query::Version, a call to SetOS will call POSIX::uname and try to get
    the OS name from there.  (Not sure if this work on Windows and Mac...)
  - Added GetAgents function to Protocol.pm to query a server/transport
    and get the list of supported agents.
  - Fixed bug in Query where the sub lists (items from roster and agents from
    agents) were not being pulled back into <query/>.
  - Fixed bug in Agent were the GetJID and SetJID were operating on the wrong
    value.
  - Fixed bug in Agents where the new agent objects were not being created
    properly.
  - Fixed bug in examples/client where it called a function from Query without
    getting the query from the iq.
  - Added function Reply to IQ and Presence objects as well.
  - Added function Reply to Message objects.  It takes a string, and based
    on that string it sets the proper values for to/from/etherx:to/etherx:from,
    thread, type, and id.

1.0a
====
  - Added better example files in examples/.
  - Wrote Transport.pm, it too uses Protocol.pm through delegates.
  - Client.pm now uses delegates to pull in the functiosn from Protocol.pm.
  - Moved high-level functions out of Client.pm into Protocol.pm.
  - Added support for jabber:iq:agent, jabber:iq:agents, and jabber:x:roster.
  - Updated example.pl.
  - If you have Time::Timezone installed in the Query/Time.pm automagically
    uses the timezone functions to figure out your timezone when you call
    SetTZ().
  - If you have Digest::SHA1 installed then Client.pm automagically uses the 
    SHA-1 digest to encrypt the password for Authorization.
  - RosterGet returns a complex data structure that contains the roster from
    the server.
  - <iq/> modules now use the AUTOLOAD and delegates same as the <x/> modules 
    do.
  - Bumped version to 1.0a.
  - Changed method of handling timeouts.
  - Added code to better handle errors on the Stream.  It now actually returns
    undef, or "", when the server or connection dies.
  - Added code to test a Connect without crashing.  Connect returns undef, or
    "", if the Connect failed.

0.8.1b
======
  - Added IgnoreIDs() and WatchIDs() in Client.pm.
  - Added support for delegates in the X/pm module.
  - Added X.pm alpha code to handle reading and setting <x/> tags in various
    top-level tags.
  - Added PresenceSend to send a presence tag.
  - Added RegisterSend to send a registration packet.
  - Fixed SetError and SetErrorType in Message.pm.
  - Added SetError and SetErrorType to IQ.pm.
  - Added support for "value" and "tree" on the root tag in the GetXMLData
    function in Jabber.pm.
  - Moved Disconnect functionality into XML::Stream.  That's really where we
    should have been sending the closing tag...

0.8.1a
======
  - Supports Jabber v0.8.1.
  - Fixed support for IQ tags.  Changed to distributed modules for each
    namespace.
  - Created IQ/Auth.pm to give authentication support.
  - Created IQ/Roster.pm and IQ/Roster/Item.pm to provide Roster support.
  - Created IQ/Register.pm to give registration support.  (Still experimental)
  - Created Presence.pm to provide support for presence tags.
  - Changed internal data structure to XML::Parser::Tree.  This made
    integration with XML::Stream a snap.
  - Created helper functions to access an XML::Parser::Tree easily.
  - Changed Client.pm to use XML::Stream instead of doing it manually.

0.7.1
=====
  - Added support for the new IQ, and Presence tags from Jabber-0.7.
  - Removed support for Status and Roster since those were removed from
    Jabber-0.7 in favor of IQ, and Presence.

0.6.2
=====
  - Added Set* functions to Message.pm, Status.pm, and Roster.pm.
  - Moved Simply, BuildXML, and EscapeXML into Jabber.pm to avoid redundant
    functions.
  - Redesigned internal data structures to better handle <ext> structures
    and multiple copies of the same tag.
  - Added better documentation in the perldocs for each.
  - Changed the perldocs in each file from use Net::Jabber::xxxxx to just
    use Net::Jabber.
  - Removed <ext> support from Status since it isn't designed to handle it.
  - Changed the names of the Roster Set* functions.  Get()->SetGet(),
    Add()->SetAdd(), and Delete()->SetDelete().
  - Added support to Message.pm to send to multiple people using the SetTo
    command.

0.6.1
=====
  - First version.