Good morning.

POE 0.28 is released to the CPAN.  This release may have installation
problems related to my recent upgrade to Perl 5.8.2.

The biggest problem is a bogus META.yml file.  The tools to generate
META.yml expect a distribution's modules to be in a certain place that
I've been using for something else.  I'm reorganizing the distribution
directories to align POE with the rest of CPAN.  Specifically:

  The lib directory is being renamed to mylib.
  
  A new lib directory is being created, and POE.pm and the POE
  directory are being moved there.

  Library and tool paths throughout the distribution are being
  updated.

This may break your testing environments.  You'll no longer be able to
run tests from the distribution's main directory without modification.
The workaround will be to change into the lib subdirectory, or to
include it in your libpath.

Sorry for the inconvenience.  Version 0.29 will be released shortly
after the reorganization is complete.

Change highlights in 0.28.  First the breakage:

  Broken META.yml.  Hurrrrrrr!

  A lot of POSIX errno constants were replaced by Errno ones.  A lot
  of Windows workarounds for missing POSIX errno constants went away.
  This breaks POE for ActivePerl 5.6.1, circa build 633.

  Test::More is now an absolute requirement.  This brings the total to
  two.  It also opens the door for phasing out our four-year-old test
  library for modern technology.  We'll be looking for people who like
  to write tests (both of you) to port tests to Test::More once we're
  done designing the new test plan.

Now the features and fixes:

  Actual tests and fixes for POE::Filter::HTTPD!  It should be a
  little happier all around.  The tests bring our coverage report
  1/25% over the magic 70% mark.  I'm excited, anyway.

  Major doc patches here and there.  The documentation for
  POE::Wheel::ReadWrite's put() was totally wrong about its
  parameters.  I'm shocked nobody noticed sooner.  POE.pm's POD was
  mostly rewritten in a freak editor accident.


  POE::Filter::Block was given the ability to customize how block
  lengths are encoded.  Alexander Zangerl wanted to use more C
  friendly block lengths instead of parsing strings and dealing with
  chr(0) as a field separator.

  Nick Williams sent in the beginnings of a performance and status
  monitoring system.  It's designed to have no impact unless
  TRACE_STATISTICS is turned on.  This will surprise him, as will the
  file name his module has settled into. :)  We're pretty sure its
  statistics are meaningless, but they're a great start.

  Gerald Richter contributed code that lets POE::Wheel::Run propagate
  the terminal's window size to children's pseudo TTYs.  As if by
  magic, it even works when STDIN isn't a terminal.

  POE::Wheel::ReadLine has given up relying solely on Term::Cap for
  keystroke definitions.  Instead we've hardcoded a bunch of common
  ones, so the vagaraties of /etc/termcap matter less.  Oh, and you
  should be able to use your arrow keys now.

  MacOS X's IO::Poll doesn't export POLLRDBAND.  We though ActivePerl
  was the only platform that has constants but refuses to export them.
  We were wrong.  To atone, POE::Loop::Poll defines its own when
  needed.

  Graham Barr patched POE::Kernel here and there so it runs better as
  an Apache handler.

  The POE::Loop class loader has been rewritten so that their classes
  aren't hardcoded in POE::Kernel anymore.  We still don't have a good
  version of dynamic loading for the POE::Resource classes, in case
  someone's interested there.

  However, we have opened the door for POE::XS versions of both
  POE::Loop and POE::Resource classes.  The loaders for both...
  classes... of class will look for POE::XS versions before the plain
  perl ones.  This lets us start writing and distributing
  high-performance replacements for POE's hotspots independent of the
  base distribution.

  Scott Beck contributed an experimental stop() method for
  POE::Kernel.  Now you can halt a program dead, with caveats outlined
  in the docs.

  At least two obscure reference count leaks were found and fixed.

  All the $VERSION numbers have been fixed.  Specifically fixed to
  four decimal places.  This means a lot of the distribution's modules
  went retrograde (POE::Component 1.5 becomes 1.006, for example).
  This should clear itself up in another release or two.

  Added a shutdown_stdin() method to POE::Wheel::Run, so you can
  trigger a child process' EOF on STDIN.  Some programs wait for the
  EOF before they return any data.

  Added Dan McCormick's callback().  This works like postback() but it
  immediately invokes an event handler.  Some callback-based systems
  rely on synchrony, and they change state after calling a callback.

  Applied Eric's patch to allow different input and output filters for
  POE::Component::Server::TCP.  Also applied Damir Dzeko's patch to
  support UNIX sockets.  It would be better for the server code to be
  abstracted into a base class, and proper TCP and UNIX components to
  customize that.

  Fixed aliases in POE::Component::Client::TCP when reconnecting.

  Enhanced and documented TRACE_DESTROY.

  Removed the SOMAXCONN limit for Wheel::SocketFactory's listen queue.
  Some operating systems set SOMAXCONN to far lower than they support.

  Repaired missing Disconnect callbacks in Client::TCP and
  Server::TCP.  Disconnections should be reported reliably now.

Whew!

-- 
Rocco Caputo - [EMAIL PROTECTED] - http://poe.perl.org/

Reply via email to