--- AnyEvent/Changes 2011/10/04 05:34:50 1.515 +++ AnyEvent/Changes 2012/04/12 08:13:05 1.546 @@ -1,8 +1,68 @@ Revision history for Perl extension AnyEvent. TODO: document TCP_*** constants - TODO: add debug/trace logging to some modules +TODO: use the eval-with-cb-call trick also to speed up JSON? +lib/AnyEvent/DNS.pm: open my $fh, "<", $resolv_conf +lib/AnyEvent/DNS.pm: if (open my $fh, "ipconfig /all |") { +lib/AnyEvent/TLS.pm: or croak "$dh_file: failed to open DH parameter file: $!"; +TODO: common pitfalls? + +7.0 + - child watchers are broken in POE 1.352 (also many earlier + versions) and there seems to be no way to work around it, as POE + itself is inherently racy. Document this regression and add a delay + in t/68_poe_03_child.t for the time being. + - new module AnyEvent::IO, that is a frontend to either a pure-perl + synchronous I/O implementation (AnyEvent::IO::Perl), or to the + asynchronous I/O extension IO::AIO (AnyEvent::IO::IOAIO). + - load /etc/hosts only when DNS has no answer. + - stat /etc/hosts on every access and reload it if it changed. + - load /etc/hosts via AnyEvent::IO - potentially asynchronous. + - AnyEvent::Log log_to_file and log_to_path now use AnyEvent::IO. As + a side effect, they now use true appending as opposed to libc + appending, and the file might not have been opened when the function + returns. + - the default logging level was not properly documented in a variety of + places, this has hopefully been rectified. + - updated uts46data.pl for unicode 6.1.0. + - made log messages genearted by AnyEvent submodules not + include the package name anymore, as it will be logged + by default already. + - upgrade to the trick used by common-sense 3.5 to work + around extra warning torture/breakage under perl 5.15.x. + - log messages by anyevent are now ucfirst, are usually full + sentences and do no longer include the package name. + - the storable read type would sometimes throw an exception instead + of causing EBADMSG (analyzed by Maxime Soulé). + - work around a bug in openssl 1.0.1 which enforces a minimum rsa + keysize (reported by Paul Howarth). + - documented Rocco fabricating statements about AnyEvent and me. + +6.14 Tue Jan 31 20:00:24 CET 2012 + - AnyEvent::Impl::Tk was broken due to a mysterious "die" inside, + probably an editing mistake (reported by Darin McBride). + +6.13 Thu Jan 12 07:27:01 CET 2012 + - AnyEvent::Util::fork_call checked for POSIX availability in the wrong way, + causing it to fail if POSIX wasn't loaded already (analysed by Rock Power). + - AnyEvent::Handle::push_read (line => did pass $1 directly, so + regex-matching inside the callback would change the parameter, despite + $1 being dynamically scoped per-block. this perl bug is now being + worked around (testcase by Cindy Wang). + +6.12 Mon Dec 12 13:21:10 CET 2011 + - $! was clobbered by subsequent calls in tcp_connect, due to + the postpone not saving/restoring it (analyzed by Richard Garnish). + +6.11 Tue Nov 22 10:36:05 CET 2011 + - Tk cannot create windows when tainted unless you set a title, so + set a dummy title for AnyEvent's dummy mainwindow. How dummy. + - escape any nonprintable/nonascii characters when stringifying + backtraces. + - log the reason loading an interface module fails to load at level debug. + +6.1 Tue Oct 4 19:44:30 CEST 2011 - INCOMPATIBLE CHANGE: the default log level is now "4" (error and above), and some messages inside AnyEvent have been elevated to higher log levels to print by default. @@ -25,6 +85,8 @@ - new env variable PERL_ANYEVENT_MAX_SIGNAL_LATENCY. - private (%namespace) log contexts in PERL_ANYEVENT_LOG now have the name of the context as title. + - AnyEvent::Strict would not restore read-write access to $_ when a callback + died - this is a user bug, but since AE::Strict exists to help dbeugging... - detect the extremely evil IO::Async::Loop::AnyEvent module and refuse to work with it - the author is well aware of the issues but refuses to fix them. This extreme step has been taken because the module actively @@ -75,7 +137,7 @@ - env variables can now be specified using AE_xyz instead of PERL_ANYEVENT_xyz, subject to some rules. - lots of new AnyEvent::Debug functionality. - - AnyEvent::Strict now checks for modifications $_ by the callback + - AnyEvent::Strict now checks for modifications of $_ by the callback (by setting it to readonly while executing the callback, if possible). - IO::Async sometimes cancels the wrong timer when you call cancel_timer. Invest extra overhead to work around this peculiar behaviour.