Revision history for Net-XMPP2

0.11 Fri Mar 21 03:00:58 CET 2008
         - tweaked tests a bit
         - and added use strict to some modules
         - fixed a small oversight in Ext::Version w.r.t. to 'use strict'
         - added the pod-coverage test
         - added some more MUC functions (Net::XMPP2::Ext::MUC::Room::get_users)
         - added nickcollision callback
         - fixed some errors in the documentation
         - added a xmpp_datetime_as_timestamp utility function
         - fixed a minor documentation bug in Net::XMPP2::Client
         - removed the init method from the public interface and made
           the stream initiation implicit on connect.

0.10 Wed Dec 12 15:38:58 CET 2007
         - implemented conversation/chat session tracking,
           see Net::XMPP2::Client::send_message and
           Net::XMPP2::IM::Account::send_tracked_message.
         - fixed a race condition with the account adding routine
           of Net::XMPP2::Client.
         - also fixed a small bug in stream initiation, Net::XMPP2 now
           sends a xml declaration again.
         - implemented a very old authentication method which makes Net::XMPP2
           now also work with jabberd 1.4.2. See also the
           'disable_old_jabber_authentication' option in Net::XMPP2::Connection
         - fixed cpan bug #29724 (unpacking the tarball on os x works now
           after renaming devcl -> dev_client).
         - fixed a bug with handling the is_room query in MUC

0.09 Sun Sep 16 09:25:25 CEST 2007
         - fixed a small bug important bug in namespace setting when binding
           a resource. this was a showstopper for eg. jabber.org.

0.08 Sat Sep 15 10:50:00 CEST 2007
         - fixed glitches in tests
         - added disco_info example
         - updated disco_info example, added data form retrieval in disco_info
         - fixed bug in whitespace ping
         - added character filter functions for filtering out not-allowed XML
           chars before sending them to the server. Even though this might be
           a programmer error and shouldn't probably be handled by Net::XMPP2
           I added it for convenience. Hopefully noone is confused.
         - fixed potential bug in ping extension
         - added a sample bot samples/talkbot
         - fixed small issue in Writer.pm
         - added other sample bot samples/talkbot_channel
         - added sample script to retrieve roster: samples/retrieve_roster

0.07 Tue Aug 14 19:22:11 CEST 2007
         - implemented whitespace ping and:
            - XEP-0199 - XMPP Ping
         - added next_iq_id() method to Net::XMPP2::Connection
         - additions to Net::XMPP2::Event, you can now implement guards
           for unregistration of registered event callbacks. You can also
           remove all callbacks now and event names are case sensitive now.
         - Net::XMPP2::Client adding already existing accounts
           now updates them.
         - further todo items killed for MUC support
         - implemented mapping of old error codes to the new condition strings
           and the other way around too in Net::XMPP2::Error::Stanza
         - fallback namespace function for simxml() is now enabled all the time,
           now default namespaces are nearly always generated an the namespace of a
           node fallsback to the parent node if none was supplied.
         - increased test timeout to 20 secs and offered an environment variable
           to override it.
         - the XML writer doesn't write a encoding declaration anymore, for the sake
           of XMPP.

0.06 Wed Aug  1 15:53:56 CEST 2007
         - reply_iq_result and reply_iq_error now attach a from attribute themselves.
         - added general instructions for the test suite which also seems to be
           useful to test servers :-)
         - implemented XEP-0092
         - reviewed the message API a bit, take care
         - started implementation of MUC (XEP-0045).
         - added support for:
            - XEP-0082 - XMPP Date and Time Profiles
            - XEP-0091 - Delayed Delivery (legacy)
            - XEP-0203 - Delayed Delivery (new)
         - reworked subscription system a bit, now you have to subscribe
           manually by calling the contact's methods yourself.
         - fixed weirdties with JID prepping
         - removed to attribute from iq auth get
         - implemented iq auth (XEP-0078)
         - fixed some bugs and improved the API a bit
         - implemented the possibility of intercepting events from the library.

0.05 Fri Jul 27 17:45:16 CEST 2007
         - fixed destructor problem in disco
         - disco extension now supports multiple identities
         - added some unit tests!!!11
         - improved error reporting a bit of internal exceptions
         - fixed a bug where empty passwords didn't work
         - typo bugfix in Net::XMPP2::Ext::Registration::submit_form
         - lots of documentation bugfixes and also added some
           more useful examples to the synopsises.
         - fixed a bug with enabling and disabling multiple features
           with enable_feature (as Ext::OOB does).

0.04 Thu Jul 26 20:41:57 CEST 2007
         - actually added event send_stanza_data after documenting it
         - added samples/simple_register_example
         - fixed some bugs in Net::XMPP2::Ext::Disco
         - now really added support for in band registration (XEP-0077)
         - added support for out of band transfers (XEP-0066)

0.03 Wed Jul 25 12:04:06 CEST 2007
         - fundamentally changed how events work, it's now less
           errorprone for the programmer (you don't have to return
           a true value now all the time and can call $self->unreg_me
           for unregistering a callback).
           Because of this change send_*_hook and contact_did_* events
           have changed their arguments.
         - implemented SAX event generator for easier integration
           with other XML libraries and generation of DOM.
         - added the possibility to completly restore the original
           XML data from a Net::XMPP2::Node.
         - implemented the component protocol to establish a component
           stream with a server.
         - reordered events a bit so that session_ready comes after
           roster retrieval (when it is retrieved)
         - added possibility to set the initial presence priority
           or prevent sending of initial presence
           (see Net::XMPP2::IM::Connection).
         - fixed some minor issue with handling invalid disco results
         - added send_*_hook event hooks for future extensions
           like the entity capabilities to be able to add payload
           to outgoing stanzas

0.02 Wed Jul 11 22:55:56 CEST 2007
         - added iq_xml event
         - added development client example in samples/devcl/
         - added some debugging events: debug_recv, debug_send, send_stanza_data,
           and recv_stanza_xml.
         - the error event now also provides error reporting
           about exceptions (eq. in IQ callbacks, which is certainly
           useful for development!)
         - fixed error in binding-handling in case the bind iq gets a timeout
         - added samples/room_lister* and samples/conference_lister
         - redesigned disco mechanism a bit
         - added error collection event for nicer error reporting capabilities
         - added samples/disco_test
         - implemented XEP-0004
         - added samples/limit_searcher
         - added simxml()
         - splitting up large packets when writing
         - fixed bad link in documentation of Net::XMPP2::IM::Connection
         - added samples/simple_example_1
         - fixed some typos (thanks to lynx aka carlo)

0.01 Thu Jul  5 19:34:30 CEST 2007
         - fixed first bugs and tested in daily usage.
         - implemented XEP-0086
         - implemented XEP-0030
         - implemented XEP-0077
         - implemented 95% of RFC 3921
         - implemented 95% of RFC 3920
         - first version, released to an unsuspecting world :-)