--- AnyEvent/Changes 2015/09/27 08:07:03 1.606 +++ AnyEvent/Changes 2021/09/20 21:46:30 1.652 @@ -8,12 +8,114 @@ 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 -TODO: hosts always read? that's not expected TODO: more formats for parse_ipv6 (single ipv6 address without port, ...p80, ...#80) +TODO: inet_aton maybe pack C4? no, add a comment why not +TODO: socket prepare callbacks, can they easily signal failure as well? +TODO: Олег Г , empty A record response causes +AnyEvent::resolve_sockaddr to eventually call pack_sockaddr with undef - +broken dns server, but maybe improve the response. +TODO: AnyEvent::Loop should not use POSIIX when ti isn't used. -TODO: document run_cmd can share scalar refs as output for multiple +TODO: AnyEvent::Log contexts should have a way to inject log messages received form elsewhere, using timestamp etc. +TODO: add some cheta-sheet to log synopsis regarding AE_LOG=AnyEvent::MP=+ +TODO: tcp_connect option for AnyEvent::Handle? +TODO: hosts files on windows probably contain \r, which is not stripped + - AnyEvent::Loop no longer loads the POSIX module if Time::HiRes + has monotonic clock support (suggested by Felipe Gasper). + - since Net::SSLeay (up to 1.88-1) is _still not ported to openssl 1.1 + and many distributions therefore will have a completely broken + Net::SSLeay module for the forseeable future, AnyEvent::TLS + will now log a warning (that is not seen by default unless you + increase log verbosity). + - expose error method of AnyEvent::Handle for general use. + - add tlsv1_3 disable switch to AnyEvent::TLS. + - add experimental "tls" method support for AnyEvent::TLS. + - tls methods were lowercase, but documented to be uppercase. + fix documentation. + - EV backend now uses EV::break when waiting for condvars, + making waiting for condvars more efficient. This might + "break" already-broken programs that recursively enter + the event loop even more. + - add a dependency on Coro 6.57 if the installed version is older, + to avoid an incompatibility. + - upgrade to UTS-46:13.0.0 ("Unicode 13"). + - reduce lib/AnyEvent/Util/uts46data.pl data from ~68k to ~47k + by applying some simple data compression. + +7.17 Wed Sep 18 03:04:49 CEST 2019 + - work around antique openssl version in RHEL 7 by formatting + dh parameters differently (reported by several people). + - add t/13_weaken.t. + +7.16 Fri Jul 19 18:00:21 CEST 2019 + - add ffdhe group dh parameters from RFC 7919, and use ffdhe3072 + as new default, instead of schmorp1539. + - AnyEvent::Log did not reassess logging status of + AnyEvent::Log::logger's when contexts were changed with + ->attach/detach/slaves, causing them to not log even though a + recent attach should have caused them to log. + - added some more logging configuration examples. + - mention RFC 8482 in AnyEvent::DNS. + +7.15 Tue Feb 26 03:07:42 CET 2019 + - INCOMPATIBLE CHANGE: AnyEvent::Handle's tls_detect documentation gave + separate major and minor versions, while code passed only a single + value. This version follows the documentation and now passes separate + major and minor values. + - work around Net::SSLeay not having been ported to openssl 1.1, but many + distributions compiling it against openssl 1.1, which unfortunately + succeeds and results in a very broken module. + - AnyEvent::DNS::dns_unpack now stores the original DNS packet + in the __ member, to allow decoding of undecodable resouce records + containing compressed domian names. + - AnyEvent::Socket::parse_ipv6 would NOT, as advertised, accept ipv4 + addresses. It now does and converts them to ipv4 mapped addresses. + - support CAA records, based on patch by Steve Atkins. + - add freenom and cloudflare nameservers as dns fallback. + - AnyEvent::Strict would not properly ward against io watchers + on files when the handle passed was a file descriptor. + - document "internal" variables used by the dns en-/decoder to allow + enterprising users to extend them in a semi-official way. + +7.14 Sat Jun 24 01:44:19 CEST 2017 + - fix a crash bug in AnyEvent::Handle with openssl 1.1.0 (patched + by Paul Howarth and apparently tracked down by Mike McCauley). + - AnyEvent::Handle->keepalive was documented (and defined) twice + (found by Matt Merhar). + - AnyEvent::Socket::tcp_bind/tcp_server would immediately unlink a unix + listening socket unless a guard is used. Change this so that no + cleanup will be performed unless a guard is used and document this more + clearly. + - make tcp_bind/tcp_server error messages more regular. + - work around latest perl upstream breakage - this time, perl5porters were + apparently bullied by a bogus CVE (CVE-2016-1238), and since distros + stupidly apply anything that has "security fix" stamped on it, it's likely + going to be a problem in practise (and working around it is trivial on + windows and unix). + - add TCP_FASTOPEN/MSG_FASTOPEN and MSG_NOSIGNAL/MSG_MORE/MSG_DONTWAIT + to constants. + - update warnings to common::sense 3.74 standards. + +7.13 Sat Sep 17 04:31:49 CEST 2016 + - Only call tlsext_host_name for non-empty common names (reported + by Maxime Soulé). + - log a (single) notice message if SNI is not supported. + - upgrade to UTS-46:9.0.0 draft and switch to non-transitional + behaviour, beating thunderbird, ie, edge, chrome and safari to it :) + (see also https://bugzilla.mozilla.org/show_bug.cgi?id=1218179) + - turns out the UTS-46 IDNA testcase failures were indeed bugs in the + testcases and the specification and not in the code - the post-9.0.0 + unicode files have all known problems fixed, so finally the AnyEvent + IDNA implementation can pass the full IDNA testsuite - without needing + a single fix :) + - guarantee (and document) that condvar callbacks will be removed + on invocation - important to avoid circular references. + +7.12 Wed Jan 27 19:12:26 CET 2016 - use common name as hostname for tls connects, if Net::SSLeay supports SNI. + - fix documentation of tls_autostart read type in AnyEvent::Handle, + analyzed by Felix Ostmann. 7.11 Thu Jul 16 14:36:00 CEST 2015 - AnyEvent::Socket::parse_ipv6 could accept malformed ipv6 @@ -28,7 +130,7 @@ 7.09 Sat May 2 16:38:53 CEST 2015 - AnyEvent::Debug called an internal function (AnyEvent::Log::ft) - that was renamed to AnyEvent::Log:format_time. uinder its old name + that was renamed to AnyEvent::Log:format_time. under its old name (analyzed by Michael Stovenour). - update AnyEvent::DNS fallback resolver addresses: seems google effectively killed most other free dns resolvers,