--- Coro/Changes 2006/11/05 02:20:16 1.140 +++ Coro/Changes 2006/11/30 18:21:14 1.162 @@ -1,10 +1,30 @@ Revision history for Perl extension Coro. -TODO: possibly convert some of the Event modules into AnyEvent users. +3.0 + - reimplement a new stack sharing algorithm. + - make stack sharing mandatory (it no longer uses a heuristic). + - eval/die no longer cause weird problems under heavy use. + - Coro::Event could cause livelocks if it was used but + no Coro::Event watchers were used. + - Coro::Event should be cleaner and more efficient now. + - minor incompatibility: subclassing Coro::State is supported + directly now without going through a _coro_state member. + - state/coro switching is much faster now. + - very minor optimisations and code/documentation cleanup. + - avoid problems due to compiler inlining. + - removed timers from Coro::Timer -> use AnyEvent instead. + - replaced Coro::idle coroutine by (cleaner) idle handler. + - updated to newest libcoro. + - implement enhanced support for valgrind. + - implement is_ready and return value for ready. +2.5 Tue Nov 7 12:22:33 CET 2006 + - made Coro::Util, Coro::Select, Coro::Handle and Coro::Socket + use AnyEvent, moved them to Coro/. - added Coro::LWP which contains all the uglyness required to make LWP non-blocking. - should work with perl 5.9.x now (Andreas König made me do it). + - fixed another bug in Coro::Select when the timeout was undef. - reuse PL_start_env for all coros, saves some memory per coroutine. - manage PL_top_env differently, hopefully to avoid panic: top_env. - timeout argument was not properly used in Coro::Socket. @@ -12,7 +32,6 @@ - emulate undocumented(!) functionality of IO::Socket required by LWP(!!). - updated eg/lwp to work with newer lwp's. - - made Coro::Util an AnyEvent user, moved it to Coro/. - remove "FATAL: uncaught exception" prefix. Coroutines that die kill the whole process, just as exceptions in the main "coroutine" did already.