The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.
1.11
====
  - Added in a module for DTD parsing.  This will hopefully lead to
    verification of XML Streams based off of DTD.
  - Fixed bug in the Process function caused by the new way of handling
    multiple connections with detecting a broken connection.
  - Added code to handle listening for incoming connections on a port
    for a namespace.  THIS IS STILL UNDER DEVELOPMENT!
  - Added XML::Stream::Parser to replace XML::Parser.
  - Fixed bug in the timeout code.

1.10
====
  - Added SetCallBacks function to repleace OnNode and provide other
    hooks for more functions.
  - Fixed initial connect function and error handling.

1.09
====
  - Updated Connect to handle changing the values of the to and from
    attributes directly from the function call.  (Useful for proxying.)

1.08
====
  - Added boiler plate comments for the LGPL.
  - Added code to Send to check if the connection was lost.  This
    fixes a Broken Pipe error that I was seeing when the program tried
    to write to a socket that was closed.

1.07
====
  - Added code to handle not only connecting over TCP/IP but over
    STDIN/STDOUT (for the new Jabber server).
  - Added code to handle keeping the connection alive over connections
    that drop the connection after a period of inactivity.

1.06
====
  - Fixed bug where Process(0) would still sleep for a short time and
    cause those fast loops to take longer than they should.
  - Added Unicode support.  When you build the tree, make sure that
    it's latin 1 you are speaking.  It's then up to the sender to ensure
    that the outgoing data is utf8.
  - Added timestamp support to debug.
  - STREAMERROR is now local to an object instantiaion instead of the 
    namespace.  This helps when you get an error and then grab a new
    object and want to connect again.

1.05
====
  - Fixed sport where Stream would die if it could not resolve your full
    hostname.  Now it just reverts back to the result of hostname() if
    it can' look up the full name.
  - Initialized some variables to get rid of warnings with perl -w.

1.04
====
  - Changed version scheme to allow Perl to check for it.

1.0c
====
  - I think I got the bug in ParseStream that removes the parse coming in
    while a parse is already in progress.
  - Fixed major bug in Process.  If you got a tag in the middle of the tag
    it would cause an XML error.
  - Also, if another parse came in during another parse, the second parse
    tree would get built under the current parse tree and everything would
    grind to a halt.

1.0b
====
  - Improved error handling by creating GetErrorCode and SetErrorCode.
    These functions allow the caller to get some information about why
    Process or Connect returned undef.
  - Added error checking if a <stream:error> is sent.  This will call
    SetErrorCode and return undef.

1.0a
====
  - Version bump.
  - Changed method of handling timeouts in the Connect and Process block.
    The timeout from the Connect is no longer remembered in the Process
    and used.  This method has improved the speed of the module greatly.
  - Fixed bug where the Process was not properly handling a connection 
    breakdown.  It now returns undef, or "", when the server dies or the
    connection is dropped.

0.1b
====
  - Added XML::Stream::Namespace to make writting Perl modules for other
    namepsaces possible.  (This is highly alpha...)
  - Added Disconnect function to send closing tag and shut the stream down.
  - Added documentation list of methods in Stream.pm.

0.1a
====
  - First version.
  - Supports connecting to a server, opening a stream, and receiving from that
    stream.