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.