--- AnyEvent/Changes 2011/09/05 07:21:53 1.507 +++ AnyEvent/Changes 2012/04/08 03:44:59 1.544 @@ -1,26 +1,96 @@ Revision history for Perl extension AnyEvent. TODO: document TCP_*** constants - -TODO: log message level redistribute? -TOOD: stop internals abusing -TODO: AE::logger TODO: add debug/trace logging to some modules -TODO: poe child watcher hang? -TODO: $autload model kill? +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: $!"; + +6.2 + - 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. + - AnyEvent::log, unlike AnyEvent::Log::log, did not always exit on fatal. + - work around yet another signal race bug, newly introduced by POE. My + how that module sucks. - add google public ipv6 dns as fallback servers, so AE::DNS can finally support ipv6-only operation even with defaults (also use ::1 instead of 127.0.0.1). - give better guidelines on how to chose a logging level. + - AnyEvent::Log can now cap (limit) log message priority by context. + - AE::log will now save and restore $! and $@, so callers don't have to. - AE::Strict now checks that registered fds are still valid at regular intervals. - - AnyEvent::log, unlike AnyEvent::Log::log, did not always exit on fatal. - skip frequently called 'require' calls if the module appears loaded. - - increase signal latency test timer considerably for poor little osx. + - increase signal latency test timer considerably for poor little osx, + which can't be bothered with basic posix functionality such as signal + delivery. - mention some debugging aids in the tutorial. + - 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 + attacks the goals of AnyEvent and makes it harder for module authors to use + AnyEvent. 6.02 Fri Aug 26 20:08:31 CEST 2011 - log_to_syslog now accepts facility strings. @@ -60,13 +130,13 @@ - new env variable, PERL_ANYEVENT_DEBUG_WRAP, to automatically enable watcher instrumentation/wrapping (see AnyEvent::Debug::wrap). - new env variable, PERL_ANYEVENT_HOSTS, to override the place where - F can be found. + /etc/hosts can be found. - an empty PERL_ANYEVENT_RESOLV_CONF now selects the default configuration. - 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.