This version was released on 2000-01-24.

Added the ability to compress referenced data passing through Filter::Reference. This doesn't break backward compatibility, but it may mean strange behavior if both ends of a Filter::Reference connection don't agree on the compression mode.

Added the ability to map package and object states to methods that are named differently. This adds new syntax to POE::Session's new() and create() constructors, as well as POE::Kernel->state(). The new test in samples/objmaps.perl exercises the code.

may break code: The ability to map package and object states to methods has uncovered a problem with POE::Session->create's object_states parameter. This previously accepted a hashref, which stringified the object references. Now it requires an array reference instead. The package_states parameter is also expected to be an array reference now.

There seems to be renewed interest in Win32 support. The previous Win32 porting attempt was about a year ago, and it was never completed or tested. Since it's been so long, I've removed the code on the assumption that a fresh start is better. Patches welcome!

Added UDP support to SocketFactory. This involved rewriting &SocketFactory::new to be partially data driven; now it should be easier to add new protocols and families.

Added UDP testing to samples/socketfactory.perl.

Addi found a bareword warning in samples/udp.perl; I renamed $heap->{socket} to $heap->{socket_handle} to avoid it.

Michael Stevens (mstevens) found another $heap->{socket} bareword warning in samples/poing.perl.

mstevens also reminded me that samples/poing.perl is running as root; I added a -T switch to the #! line. If poing.perl dies with a ``Too late for -"t" option'' message, then you'll have to either remove the -T from the #! line (not recommended) or run the script as: /usr/bin/perl -T poing.perl

And mstevens pointed out that using -I.. on the #! line is a problem in some Perl versions where POE otherwise runs fine. I replaced the -I.. switch with "use lib '..';", and things should be a lot happier.

And his ROWS and COLS environment variables really are LINES and COLUMNS. I fixed samples/poing.perl to recognize the alternate environment variables and punt to 80 columns and/or 25 lines as a last resort.

Back to POE CHANGES.