XMPP4R 0.5 (15/06/2009) ======================= * Many bugs fixed and tests cleanups (better Ruby 1.9 support, in particular) * Support for reliable connections (that auto-reconnect when being disconnected, without losing messages) * Better notification of server disconnects XMPP4R 0.4 (05/08/2008) ======================= * Initial support for Ruby 1.9 (see README_ruby19.txt) * Complete PubSub API Change - more logical and better for childclasses, support for collection node creation * a Helper to assist with XEP-0115 Entity Capabilities * SASL anonymous support * File transfer fixes * MUC room configuration fixes * initial support for XEP-0118 User Tune * fix for an xmlrpc exception-during-serialisation bug, which would cause a hang * Support auto-gem generation on GitHub with improved and DRY'er RakeFile and gemspec. * Add support for the old SSL protocol (needed to connect to GTalk) * Changed API for Client, Component, Connection, Stream to remove need for antiquated 'threaded' param in the initializer. * Use a Logger instance instead of directly writing to stdout * Re-factored & consolidated Error classes. See xmpp4r/errors.rb for all custom errors that can be caught. All inherit from Jabber::Error which itself inherits from Ruby's StandardError. This is a first step in re-factoring errors. The next step will be to convert all 'raise' calls to raise a custom Jabber::Error or one of its children instead of anonymous RuntimeErrors. This allows much more granularity in catching and handling errors later. If you were catching Jabber::ErrorException before you should probably change that in your code to now catch Jabber::Error if you want to catch everything or one of the custom children of Jabber::Error defined in 'lib/xmpp4r/errors.rb'. Additionally, the Error class which encapsulated the xmpp error response, has been renamed to ErrorResponse to reflect its real usage. This free's up 'Jabber::Error' for use as our base Error class. XMPP4R 0.3.2 (15/10/2007) ========================= * Serious bug involving Ruby threading fixed (caused exceptions with ruby 1.8.6) * vCard helper fixes * Jabber RPC (JEP0009) support * HTTP Binding (JEP0124) support * Publish-Subscribe support * XMPPElement: a framework for classes representing XML elements * Ad-hoc commands support * Improvements to Dataforms: XData, XDataTitle and XDataInstructions XMPP4R 0.3.1 (23/04/2007) ========================= * SASL fixes * Message#x and Presence#x support element selection by namespace * Proper XML entity escaping for REXML text nodes * Improvements to FileTransfer::Helper and SOCKS5BytestreamsServer * Vcard::Helper fixes * Update Digest module usage to reflect recent Ruby versions * More documentation XMPP4R 0.3 (20/07/2006) ======================= * SRV lookup capability in Client#connect * Stringprep support for JIDs * TLS & SASL support * Basic Dataforms support * Multi-User Chat Helpers * Helpers for File-Transfer, SOCKS5 Bytestreams, In-Band Bytestreams * Roster helper has modified subscription-request semantics (see Roster#add_subscription_request_callback) * A lot of features have renamed namespaces (see UPDATING file) XMPP4R 0.2 (20/10/2005) ======================= * Workarounds for REXML bugs. * Presences are now Comparable according to priority or interest * fixed a serious bug in Stream#send which caused some lockups. Reported by chunlinyao@gmail.com. * Moved REXML::Element#add to REXML::Element#typed_add to keep add accessible * Rewritten Roster helper * Added Vcard helper and improved IqVcard * XMLStanza id generator * Support for Roster Item Exchange (JEP-0093 and JEP-0144) * Client#password= to change client's account password * Documentation fixes XMPP4R 0.1 (12/09/2005) ======================= * first public release.