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/