- New Notifier class IO::Async::Timer::Absolute, to invoke events at a fixed point in the future.
- New Notifier class IO::Async::PID, to watch a child process for exit(2).
- New Notifier class IO::Async::Protocol::LineStream, to implement stream protocols that use lines of plain text.
- New method on IO::Async::Protocol that wraps connect(2) functionallity, allowing for simpler network protocol client modules.
- IO::Async::Loop->connect's on_connect_error and IO::Async::Loop->listen's on_listen_error continuations now both receive errno information.
- New direct name resolution methods on IO::Async::Resolver for getaddrinfo(3) and getnameinfo(3). The resolver is now directly accessible from the IO::Async::Loop.
- IO::Async::Resolver supports deadline timeouts.
- IO::Async::Stream->write supports taking a CODE reference to dynamically generate data for the stream on-demand.
- IO::Async::Stream->write supports an on_flush callback.
- The IO::Async::Loop->new magic constructor now caches the loop. This is useful for wrapping modules, other event system integration, etc..
- Documentation has been rearranged to add new EVENTS sections, documenting the events that Notifier classes can fire either as callbacks in coderefs, or as methods on subclasses.
- Various bugfixes, other documentation additions
Perl - IO::Async - version 0.34
There's been four releases of IO::Async since I last wrote about version 0.30. Here's a rough summary of the more important changes and additions between then and version 0.34: