Good morning! I am pleased to announce the release of POE 0.18. Way pleased. Immensely relieved, in fact. It's about time!
The tarball has been placed on SourceForge and the PAUSE. Your favorite CPAN mirror should have it shortly. Highlights of the changes since 0.17 are listed at the end of this message. Useful links: http://poe.perl.org/?Where_to_Get_POE http://poe.perl.org/?POE_CHANGES http://poe.perl.org/?POE%27s_test_results http://poe.perl.org/?POE%27s_test_coverage_report http://poe.perl.org/?POE_Components_List http://search.cpan.org/search?mode=module&query=POE http://poe.perl.org/?POE_Cookbook Thanks for reading, and thanks to everyone whose work has gone into this fine release. -- Rocco Caputo / [EMAIL PROTECTED] / poe.perl.org / poe.sf.net Major changes since 0.17: There was a memory leak when watching files and using Tk at the same time, but it was fixed. Posted events kept only the receiving session alive, but now they also keep the sender alive. Mysterious select errors, "Bad file handle" and "Unknown error" have been fixed. POE::Wheel::FollowTail can now detect when log files are reset. Worked around a Linux select(2) hang. POE polls for SIGCHLD rather than registering a signal handler. This makes programs that manage child sessions much more robust. POE::Filter::HTTPD now supports the creation of streaming web servers. See: http://poe.perl.org/?POE_Cookbook/Web_Stream_Server POE::Preprocessor supports inheritance now, allowing objects that use it to be subclassed. POE::Server::TCP has been vastly simplified. See: http://poe.perl.org/?POE_Cookbook/Echo_Server POE::Client::TCP was added. POE::Wheel::Run slave ptys now have their window sizes set. Some programs don't run well without this. The test programs run a lot better, but not perfectly, under Win32. This needs more work, and it requires the ActiveState Perl build 631 or later. POE's use of waitpid() is why the function was patched in AS Perl 631. Session destruction would sometimes leak memory, but this is fixed. Several Win32 problems were fixed, although there still are more. There were problems when installing POE on MacOS/X using Chris Nandor's installer icon. Many of these were fixed, but there probably are some more. Installing POE on MacOS/X via Makefile.PL was verified to work. The subtests in t/08_errors.t that were crashing perl on Windows 2000 have been fixed. POE::Filter::HTTPD has stopped using the deprecated URI::URL module, so it should work better with newer revisions of libwww-perl. Soft signals can now include extra parameters. A race condition has been fixed in the proxy.perl sample program. Several of the tests no longer crash if the modules they need are not install. The modules in question are not strictly requirements for POE, so it's fine if they don't exist. POE::Driver::SysRW and POE::Filter::Line are now the defaults for the POE::Wheel classes that use drivers and filters. They were the most popular, and it's silly to keep specifying them. Tk programs would hang on error. This has been worked around, pending a more formal exceptions system. POE::Wheel::ReadWrite now has pause_input() and resume_input() methods for input flow control. File activity events are now posted through the queue rather than dispatched out of order. This should make multi-user servers easier to keep synchronized. File events are also posted one at a time, so reading a local file should not choke the queue with a bolus of input events as a file is slurped at once. A memory leak was fixed in POE::Wheel::* destruction. Some of the skipped-test messages looked like fatal warnings. They have been made friendlier. All the sub-modules have $VERSION information now. Event enqueuing has been sped up a little. -End-
