Changes for version 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.
Modules
Jabber Perl Library
Jabber Client Library
Jabber Debug Library
Jabber Info/Query Library
Jabber JID Module
Jabber Key Library
Jabber Message Module
Jabber Presence Module
Jabber Protocol Library
Jabber Query Library
Jabber Query Agent Module
Jabber Query Agents Module
Jabber IQ Authentication Module
Jabber IQ AutoUpdate Module
Jabber IQ AutoUpdate Release Module
Jabber IQ Feature Negotiotation Module
Jabber Query Out Of Bandwidth File Transfer Module
Jabber IQ Registration Module
Jabber IQ Roster Module
Jabber IQ Roster Item Module
Jabber IQ Search Module
Jabber IQ Search Item Module
Jabber IQ Time Module
Jabber IQ Version Module
Jabber Transport Library
Jabber X Module
Jabber X AutoUpdate Delegate
Jabber X Delay Delegate
Jabber X GroupChat Delegate
Jabber X Ident Delegate
Jabber X Out Of Bandwidth File Transfer Module
Jabber IQ Roster Module
Jabber IQ Roster Item Module