--- AnyEvent/Changes 2012/04/08 03:44:59 1.544 +++ AnyEvent/Changes 2014/04/13 11:33:02 1.589 @@ -1,13 +1,92 @@ Revision history for Perl extension AnyEvent. +03:55:22 Doku zu new: It is possible to push requests on the read and write queues, and modify properties of the stream, even + while +03:55:23 AnyEvent::Handle is connecting. +03:55:39 doku zu on_connect: It is not allowed to use the read or write queues while the handle object is connecting. + 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: FAQ: common pitfalls? invoke-before-return +TODO: FAQ: scope-ids? hosts file order? +TODO: AnyEvent::Handle with AnyEvent::IO? +TODO: invalid. and localhost. specialcasing inside AEDNS and not AESocket (rfc6761) +TODO: maybe implement env variable to give hosts precedence + + - work around a newly introduced bug in Socket 2.011 (an + errornous sun_length check) (analyzed by Maxime Soulé). + - AnyEvent::TLS didn't load (but refer to) AnyEvent::Socket + (analyzed by Ben Magistro). + +7.07 Tue Dec 17 17:45:02 CET 2013 + - the documentation for custom tls verify schemes was wrong. make it agree + with the code (reported by Maxime Soulé). + - added cbor read and write types to AnyEvent::Handle (using CBOR::XS). + - work around an API change in openssl that could cause wrong tls connection + aborts, likely on windows only (analyzed by sten). + - calling AnyEvent->now_update with AnyEvent::Impl::Perl caused an + endless loop (reported by Dietrich Rebmann). + - add tlsv1_1 and tlsv1_2 protocols to AnyEvent::TLS + (patch by Maxime Soulé). + - document AnyEvent::Impl::IOAsync::set_loop and + $AnyEvent::Impl::IOAsync::LOOP. Though only documented now, this + functionality has _always_ been available. + - force a toplevel domain name in t/81_hosts.t (analyzed by + David Jack Wange Olrik). + - document that AnyEvent::Log uses AnyEvent::IO. + - warn about AnyEvent::Filesys::Notify performance. + - praise the joys of AnyEvent::Fork::*. + - time for an =encoding directive. + - do no longer use JSON to create a default json coder, use + JSON::XS or JSON::PP directly. + +7.05 Wed Aug 21 10:38:08 CEST 2013 + - uts46data.pl couldn't be found due to wrong naming of the file + (reported by Fulko Hew). + - handle lone \015's properly in AE::Handle's default line read + (reported by various people). + - untaint ip addresses found in /etc/hosts (patch by José Micó). + - the memleak fix in 7.03 caused resolving via /etc/hosts to always + fail on first use (reported and testcase by Andrew Whatson). + - expose AnyEvent::Log::format_time, and allow users to redefine it. + - expose AnyEvent::Log::default_format, and allow redefinition. + - expose AnyEvent::Log::fatal_exit, to allow redefinition. + - AnyEvent::Debug shell can now run coro shell commands, if available. + - t/63* tests were wrongly in MANIFEST. + - kernel.org's finger server went MIA, switch to freebsd.org and + icculus.org. + - clarify that IO::AIO and AnyEvent::AIO are needed for AnyEvent::IO + to function asynchronously (reported by Daniel Carosone). + - hard-disable $^W in most tests, it generates too much garbage output. + - use a (hopefully) more future-proof method to emulate common::sense. + - upgrade to UTS-46:6.2.0. + - switch to INSTLIB from INSTLIBDIR, as INSTLIBDIR was wrongly + documented. should not affect anything. + +7.04 Thu Nov 15 02:23:58 CET 2012 + - debugging code left in. + +7.03 Thu Nov 15 02:16:11 CET 2012 + - AnyEvent::Socket::inet_aton did not work when dns resolution was + used to find the addresses (analyzed and patch by Maxime Soulé). + - fix a memory leak in the /etc/hosts lookup code when hosts don't + resolve and are not in hosts (analyzed by sten). + +7.02 Tue Aug 14 04:27:58 CEST 2012 + - AnyEvent::Util::run_cmd could block indefinitely (analyzed and test + program by Yorhel). + - verified that AnyEvent::Socket follows RFC5952. + - try to parse "ADDR#PORT" in addition to "ADDR PORT". + +7.01 Sun May 13 01:03:17 CEST 2012 + - fail with EPROTO in AnyEvent::Handle wqhen TLS is requested but + not available, instead of throwing an exception. + - use File::Spec to get the tmpdir in t/*, to avoid needless + failures on (most, not mine :) windows boxes. + - new handle read types: tls_detect and tls_autostart. -6.2 +7.0 Fri Apr 13 06:33:30 CEST 2012 - 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 @@ -18,6 +97,7 @@ - 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. + - fix a buggy croak in the dh parameter reading in AnyEvent::TLS. - 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 @@ -25,7 +105,7 @@ - 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 + - made log messages generated 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