POE 1.280 has just been released, but it may take up to a day before your favorite CPAN mirror catches wind of it. You'll also need the latest POE::Test::Loops, version 1.030.

Several contributors helped make this release happen. Notably but not exclusively:

  Craig
  Andrew Feren
  Adam Kennedy
  Marius Kjeldahl
  Chris Williams
  The people of irc.perl.org #poe.
  The people of poe(a)perl.org.
  Let me know if I left you out.

Those of you following along may notice that the version numbers jumped a little. That's because POE has undergone a couple optimizations that alter its behavior a little.

I/O Dispatch is Faster

I/O events jump the queue in POE 1.280. Skipping an enqueue and dequeue saves significant time. The drawback is that I/O is dispatched in a different order relative to other kinds of events. Most people won't care, but it has affected one of POE::Component::Client::HTTP's tests. Speak up if you think it's affecting you.

Session Cleanup is Faster

In POE 1.280, session cleanup is done just before the event loop would wait for new events. Programs that aren't event bound should show decreased latency because the cleanup will be scheduled during idle times. This optimization changes the timing of session cleanup and their resulting _stop events. While I don't think it affects many people, it has already bitten Adam Kennedy. Please let us know if you suspect it's gnawing on you, too.

Other Changes

POE::Wheel::Run::Win32 code has been merged into POE::Wheel::Run. Many thanks to Chris Williams for developing and contributing POE::Wheel::Run::Win32, and Andrew Feren for the patch.

The tests should be a little faster since the full tracing has been turned off. Tracing is only enabled when running coverage tests now. This also exposes more warnings to the console, most of which have been fixed.

POE::Wheel::ReadLine memory leaks have been fixed. Unfortunately, it requires the use of Scalar::Util::weaken(). This wheel won't run on really old versions of Perl anymore. Patches that don't reintroduce the memory leak are welcome.

Miscellaneous $kernel->has_forked() fixes.

The mark and sweep session garbage collection fixed an issue where call() would sometimes sidestep garbage collection. Mysterious program hangs should be eliminated by this release.

Lots of MSWin32 fixes! Not nearly enough, but it's improved by a leap and a bound.

... and a bunch of really minor things in the CHANGES file.

Thanks everyone!  What's next?

--
Rocco Caputo - rcap...@pobox.com

Reply via email to