AnyEvent
view release on metacpan or search on metacpan
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
addresses (extra "::" at end and similar cases).
- add a more explicit warning to AnyEvent::Handle that it doesn't
work on files, people keep getting confused.
- new function AnyEvent::Socket::tcp_bind.
- new functions AnyEvent::fh_block and AnyEvent::fh_unblock.
- aligned ipv6 address formatting with RFC 5952 (by not shortening
a single :0: to ::).
- added stability canary support.
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
(analyzed by Michael Stovenour).
- update AnyEvent::DNS fallback resolver addresses:
seems google effectively killed most other free dns resolvers,
so remove them, but add cable and wireless (ecrc) since it was
stable for 20 years or so, official or not, and there should be
an alternative to google.
- perl5porters broke windows error codes in 5.20, and mapped
WSAEWOULDBLOCK on the (different) EWOULDBLOCK error code, and
WSAEINPROGRESS into the incompatible ERINPROGRESS code, probably
because they were so cool. They probably broke other error codes
for no reason, too, but I didn't care for checking, it's too
depressing. This version only works around the WSAEWOULDBLOCK
issue, because I don't have a nice way to work around the
WSAEINPROGRESS bug.
7.08 Wed Dec 10 05:27:17 CET 2014
- 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).
- AnyEvent::Strict will now confess, not croak. This is in line with
it being a development/debugging tool.
- work around a number of libglib bugs (debug builds of libglib enforce
certain undocumented behaviour patterns such as not being able to
remove a child watch source after it has fired, which we will try
to emulate to avoid "criticals". what where they thinking...).
- mention json security issues in AnyEvent::Handle, now that Douglas
Crockford has foolishly and incompatibly changed JSON.
- changed default dns resolver "max_outstanding" value from 1 to 10,
the latter beinfg the intended value all along
(reported by Ilya Chesnokov).
- added new "AnyEvent::Impl::UV" interface module to the UV event lib
(written by Mike Lowell).
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
assumption that all data could be written before read
(reported by Jim Razmus).
4.160 Thu Jul 3 04:02:21 CEST 2008
- re-registering signal watchers after unregistering one did
not work if a backend falls back on AnyEvent's default
implementation (also affected child watchers).
- new AnyEvent::Handle options: autocork and no_delay.
4.152 Sun Jun 22 14:15:44 CEST 2008
- allow for 32-bit perls that implement shifts differently
on different architectures in parse_ipv4 (reported and
analysed by Keiichi DAIBA).
4.151 Fri Jun 6 17:34:24 CEST 2008
- make sure specifying _only_ on_read and never pushing reads
works.
4.15 Fri Jun 6 13:00:46 CEST 2008
- the pure perl backend would keep some watchers alive when more than
one watcher was registered for the same fd.
- new "packstring" and "storable" read and write types
for AnyEvent::Handle.
- allow on_eof handler to be called after on_error with EPIPE returns.
- do not immediately call on_read callback in handle constructor.
4.14 Thu Jun 5 20:29:31 CEST 2008
- Fixed a bug in DNS SRV priority sorting.
- AnyEvent::Util::guard now reports runtime errors while
executing the guard block as warnings.
- handle 0-byte-reads just before EOF correctly in AnyEvent::Handle.
4.13 Thu Jun 5 00:47:59 CEST 2008
- AnyEvent::DNS only followed cname chains with length 2,
contrary to documentation. bumped it up to 10, thanks to
microsoft, the current broken-dns-config-king.
- AnyEvent::DNS didn't check for socket return status
but instead relied on perl not creating filehandles in that
case - too bad it gives you a bogus file handle (reported
and analysed by Vladimir Timofeev).
- fix queue management logic in AnyEvent::Handle:
when on_read was registered, the queue was empty
and no progress could be made AnyEvent::Handle would
enter an endless loop.
- correctly start reading again when the handle became
busy again after idling.
- correctly treat tls shut-downs as EOF condition
(for the time being, would be nice to have a callback for that).
- correctly call eof callback under all conditions
(hopefully).
- the timeout callback did not expect that $self can go
away any time.
4.12 Tue Jun 3 10:58:04 CEST 2008
- include AnyEvent::Intro, a tutorial for anyevent,
anyevent::socket and anyevent::handle.
- allow more options in on_error.
4.11 Fri May 30 23:42:25 CEST 2008
- INCOMPATIBLE CHANGE: replace ptr by real PTR lookup, provide
reverse_lookup and reverse_verify to replace it, support
v4mapped and v4compat addresses.
- provide more documentation for the resolver class.
- really replace longest run of :0: by :: in format_address,
also properly convert :: and ::1 again.
- support NAPTR record name and decode it.
- implement random weight sampling for SRV records, as per
rfc 2782.
- correctly abort on srv-record targets of ".".
- added AnyEvent::DNS::wait_for_slot.
- in the unlikely event of a virtual circuit connection
being invalidated by a delayed udp reply, AnyEvent::DNS
could die. this has been fixed.
- plug a probable memleak in the DNS vc code.
- use configured timeout also for VC request phase.
- implement timeout and max_outstanding methods
for resolver class.
- update version numbers in all modules.
4.1 Thu May 29 05:45:40 CEST 2008
- INCOMPATIBLE CHANGE: renamed xxx_ip functions to xxx_address
which mirrors their purpose better (old names still available
for a while). Also moved AnyEvent::DNS::addr to
AnyEvent::Socket::resolve_sockaddr.
- implement AnyEvent->time and AnyEvent->now.
- fix IPv6 support in pack_sockaddr.
- officially un-experimentalise all newly introduced code.
- support unix domain sockets everywhere by specifying
a host of "unix/" and the pathname as service.
- implement an activity timeout in AnyEvent::Handle.
- added a regex read type to AnyEvent::Handle.
- added a json read/write type to AnyEvent::Handle.
- always croak in on_error in AnyEvent::Handle.
- document how to subclass AnyEvent::Handle.
- implement AnyEvent::Util::fork_call.
- add support for IPv6 nameservers and nameserver statements.
- work around _yet_ _another_ windows perl bug in where empty
select masks cause errors in the pure perl backend (this
workaround cannot be implemented for the other event loops,
but EV also works around this).
- supply AnyEvent::Socket::address_type and make good use of it.
- clarify and fix the Handle documentation w.r.t $self vs. $handle
vs. callback arguments.
- add some recommends to the META.yml.
4.05 Mon May 26 19:44:06 CEST 2008
- some platforms ignore the rfc and prepend an extra sa_len member to
the sockaddr structure, cater for those. also use sockaddr_family,
didn't know it was there, but comes in handy for the workaround.
- undo the import WIN32 hack.
4.04 Mon May 26 08:03:31 CEST 2008
- try to work around yet another windows bug: failed connects are reported
as if it were out-of-band data. windows users: you suck. Only
EV, Glib, Event and the pure perl backend can handle this condition.
- optimize write algorithm in AnyEvent::Handle.
- properly parse PERL_ANYEVENT_PROTOCOLS and use the info correctly.
- tcp_connect now properly iterates through all targets.
- check wether IPv6 sockets can actually be created, otherwise, disable ipv6
support entirely. also hardcode some AF_INET6 constants for the
sake of perl 5.8.
( run in 0.747 second using v1.01-cache-2.11-cpan-39bf76dae61 )