$Id: Changes,v 1.10 1998/12/04 17:12:53 troc Exp $

Revision history for Perl extension POE.

*** 0.05 1998.12.04

- Delayed garbage collection on new sessions.  Previously, sessions
would be tested for garbage collection immediately after creation.

- Fixed a fatal bug in tests/proxy.perl.  Added ability to redirect
multiple ports.  Added more logging information.

- Fixed SIGPIPE handling.  Previously, SIGPIPE would be dispatched to
every Session.  Now it is dispatched directly to the session that was
running when the signal occurred.  This probably breaks multithreaded
programs that contain multiple kernels, and I am considering dropping
multi-kernel support.

- Fixed SIGRTMIN handling.  At least one system has this signal
defined in %SIG but doesn't support it.  Assigning to $SIG{'RTMIN'}
there causes an "Attempt to free unreferenced scalar" warning, and the
test program hangs.  POE now skips RTMIN and RTMAX when assigning
handlers.

- Added Filter::Reference, contributed by Artur Bergman
<artur@vogon-solutions.com>.  Filter::References enables POE to pass
copies of referenced data between processes.  It requires C<Storable>
or C<FreezeThaw>.

- Fixed Wheel::ReadWrite::put().  It used to send a concatenated
version of @_ to its driver.  This broke Filter::Reference when
putting a list of references.  Now it's up to respective Filter
classes to do the right thing with @_.

- Fixed Wheel::ReadWrite.  Now it sends FlushedState events when it
should.


*** 0.04 1998.11.24

- Added $object->can($state) check when registering object methods as
states/event handlers.

- Added Session aliases (symbolic references).  See tests/names.perl
for an example.

- Added Kernel::signal($session, $name).  This sends signals directly
to POE::Sessions or POE::Kernels without going to the operating system
(which would send the signal to every kernel and session).  The
signals.perl test has been updated to test this.

- Added Kernel::call().  Takes the same parameters as Kernel::post,
but dispatches the state/event immediately.  Returns whatever the
event handler did.  The sessions.perl test test has been updated to
test this.


*** 0.031 1998.11.24

- Added tests/objsessions.perl to the manifest.  D'oh!


*** 0.03  1998.11.23

- Added new constructor syntax to POE::Session.  It's now possible to
say: new POE::Session($kernel, $object, \@methods).  See
tests/objsession.perl for an example.

- Removed an unnecessary function call in Kernel.pm.

- Rearranged Changes so the most recent ones come first.


*** 0.02  1998.11.22

- Rewrote signals.  Signals now propagate from parent to child
sessions.  "Terminal" signals now only kill sessions that don't
otherwise handle them.

- Allowed subsecond resolution in Kernel.pm if Time::HiRes is
available.  See the docs for POE::Kernel::alarm().

- Added POE::Kernel::delay() for "time() + $seconds" alarms.  Uses
Kernel's time(), which may be from Time::HiRes.

- Parent sessions will now wait around until all child sessions
finish, unless they're explicitly killed off.

- Fixed a blessing bleed that caused implicitly returned objects to
die in the wrong scope (confounding resource management).

- Added tests/proxy.perl, a simple line-based proxy example.


*** 0.01  1998.08.15

- Initial release.  Implemented Kernel, Session, Wheel, Driver,
Filter.

-EOF-
