POE 0.30 was released on 25 November 2004.  I realized it shipped with
a broken META.yml file, and released 0.3001 an hour or so later.
About an hour after THAT, I discovered that "make testreport" had
broken, so I released 0.3002 with some fixes.

Then the CPAN testers sent a bunch of "hey, it's broken" notices,
mostly related to our broken Build.PL magic.  We never intended it to
be used for istalling, but CPANPLUS tries it before Makefile.PL.
0.3003 was released on the 26th with the Module::Build magic moved
into Makefile.PL, and everybody seems happy.

So, what's new?  A link to the CHANGES file on search.cpan.org was
already posted, so I'll summarize the more interesting bits.

* Deprecations.

The scheduled signals deprecations moved another step towards
completion.

1. POE 0.30 doesn't register handlers for everything in %SIG anymore.
Instead it waits for you to call sig(SIGNAL, EVENT).  Likewise,
clearing the last event for a signal will remove the corresponding
%SIG entry.  People who lamented that Ctrl+Z doesn't pause a POE
%program should be happier.

Be careful using SIGWINCH.  Some terminals will send a flurry of them
when resizing a window, and Perl may dump core if it doesn't support
"safe" signals.

2. You MUST use sig_handled() rather than a return value to tell POE
that you've handled a signal.  No surprise there since handling
signals with return values has been a mandatory error for months.

* Bugs fixed.

A lot of bugs were fixed all over the place.  POE's RT queue at
rt.cpan.org got increasingly more exercise.  Among the changes:

The old, buggy dependency checker was thrown out.  There's no point
maintaining it when ExtUtils::AutoInstall (and other modern tools) do
such a good job.

The tests have been expanded and categorized.  This is perhaps the
largest single change in the release.  The reorganization sets the
stage for expanded test coverage, which is a major milestone for POE's
1.00 release.  If anybody wants to write tests for their favorite
bugs, please do so.  Please use Test::More since we're migrating all
the tests to that.

The Kernel's ID is recalculated whenever $kernel->stop() is called.
The use case: calling stop() in child processes to clear out a forked
Kernel.  The new Kernel no longer inherits the parent's ID.

ASSERT_DATA would cause memory leaks when turned on.  At least three
such leaks were plugged.

* Compatibility.

Tk's a moving target.  This release aims at the latest CPAN release.
You should probably upgrade if you're using Tk+POE or encounter Tk
errors when installing POE.

POE::Loop loaders were fixed to let people publish their own event
loop bridges on CPAN.  This let Martijn van Beers (who did most of the
work for this change) release POE::Loop::Glib, which lets you use POE
with Gtk2, irssi, and xchat (or so I've heard).  Talk to Martijn if
POE::Loop::Glib isn't on your favorite CPAN mirror.

The long-standing Term::ReadKey was isolated, and work-arounds
documented in POE::Wheel::ReadLine.  As you may recall, that wheel
would hang after the first keypress on certain Linux systems.  If
you're getting this, upgrade your Linux system and/or Perl once in a
while.  Read perldoc POE::Wheel::ReadLine for details.

Nick Williams virtually rewrote POE::Wheel::ReadLine to better support
GNU readline semantics.  Have a look!

POE was tested favorably with Windows 98se and 2000 before release.

POE was tested favorably with Perl 5.004_05, 5.005_04, 5.6.1, and
5.8.5 before release.

* Features.

CALLER_STATE was added.  It should tell you which event was being
handled when the currently handled event was generated.  A Kernel
method, get_active_event() was also added to support the new event
parameter.

You can opt out of the network tests if you're on an airplane or
otherwise don't have access to a network.

When a child session stops, its parent receives a _child event.  Now
the _child event includes the return value of the child's _stop
handler.

* Documentation.

Typos were corrected thanks to a large patch by LARRYSH.

The "can't select a handle 2+ times" error was vague.  Thanks to
prodding by Jonathan Steinert, it is now much more specific about
what's going on.

... and stuff like that.  Unless I miscounted, 127 (hey, 2^7-1)
changes in all.

-- 
Rocco Caputo - http://poe.perl.org/

Reply via email to