POE 1.280 is released to PAUSE

Rocco Caputo <[email protected]>
Newsgroups gmane.comp.lang.perl.poe
Message-ID <[email protected]>
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 - [email protected]
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.