The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.
Revision history for Perl extension EV and the embedded libev library

3.0  Mon Jan 28 13:23:11 CET 2008
	- upgrade to libev-3.0.
        - change child handler to incorporate tracing flag.

2.01 Mon Dec 31 01:59:19 CET 2007
	- found a minor problem in the testsuite that is only
          caught by new Test::Harness versions (reported by Andreas
          König).

2.0  Sat Dec 22 17:47:03 CET 2007
	- no longer force kqueue when enabled, enable it
          on more systems (as its now by default not used on most).
	- expose fork watchers.
        - switch to libev's MULTIPLICITY API.
        - use a slightly different include file name strategy.
        - get rid of (unused) libevent emulation.
        - 5% watcher management speedup due to callback optimisation
          when inline closures are used, 5% slowdown due to multiplicity.
        - very minimal support for dynamic event loops and embed watchers.
        - fix name of prepare start/stop methods.
        - create and export EV::sleep and EV::set_*_collect_interval.
        - fix typos in manpage (Alex Efros).

1.86 Tue Dec 18 02:36:57 CET 2007
        - add periodic->at methods.

1.85 Fri Dec 14 20:32:40 CET 2007
        - further optimise epoll backend by adding a heuristic that
          avoids EPOLL_CTL_DEL calls if possible.
	- EV::signal->start was not async-signal safe.
        - optimise start/stop when the fd hasn't changed.

1.8  Tue Dec 11 22:17:46 CET 2007
	- API version 3:0.
	- reduced fudge factor to zero for select, poll, epoll
          and kqueue: your system better be posix-compliant
          even in its extensions :->
        - improve long-term numerical stability in periodic watchers
          by introducing a separate offset value instead of reusing at.
        - recalculate real/monotonic clocks before blocking fully
          to avoid blocking for longer than necessary.
        - fix bugs in the heap functions. this rarely lead to illegal
          heap orderings.

1.72 Sat Dec  8 15:31:26 CET 2007
	- add dummy loop arguments to some EVAPI functions
          so that clients can use EV_A and EV_DEFAULT.
        - expose ev_clear_pending.
        - renamed trigger to invoke.

1.71 Fri Dec  7 19:10:24 CET 2007
	- changed/implemented idle watcher priority.
	- allow out-of-range priorities to be set.
        - fix ->priority to actually work on started watchers.
        - improved testsuite.

1.6  Wed Dec  5 15:06:20 CET 2007
	- add a missing SPAGAIN.
        - ripped out EV::DNS, use EV::ADNS for a better backend.
        - make ev_time callable from EVAPI.h.
        - add EV::loop_count.
        - some space optimisations.

1.5  Wed Nov 28 20:19:09 CET 2007
	- add inotify backend.
        - make testsuite even less sensible to timing issues,
          add more stat tests.
        - add ->attr, ->prev, ->stat calls to stat watcher.

1.4  Tue Nov 27 17:35:27 CET 2007
	- work around a linux 2.4 kernel bug in child handlers.
        - implement stat watcher interface.
        - implement fork watcher interface.
        - io->set did not keep the fh alive.
        - actively check signal numbers/names to be valid.
        - cleanups, minor fixes, new bugs.
        - work around windows bugs in the testsuite.

1.3  Sun Nov 25 10:46:57 CET 2007
	- stopping idle/check/prepare watchers could cause data corruption.
	- implement and document EV::once.
        - improved documentation, verify that netbsd indeed has the only
          working kqueue implementation (out of darwin, freebsd, netbsd and
          openbsd). Praise them!
        - fix the data method so it might work.
        - expose ev_ref/ev_unref to the C API.
        - expose ref/unref in form of the ->keepalive method to perl.
        - minor bugfixes and portability fixes.

1.2  Thu Nov 22 05:44:09 CET 2007
        - disable kqueue by default on !netbsd, as its broken on freebsd,
          darwin and openbsd and thus almost everywhere.
        - add some allowance in t/01_timer.t for the uneven monotonic
          vs. realtime clock tick on at least freebsd.
        - add -lsocket -lnsl on solaris in case the perl guy forgot to
          configure them.

1.1  Wed Nov 21 06:08:48 CET 2007
	- improved timer test to include periodics and
          withstand small timing variations.
        - many minor tweaks to libev.

1.0  Fri Nov 16 14:51:59 CET 2007
	- require AnyEvent update if AnyEvent is installed.
	- add solaris 10 port-based backend.
        - add child_ns and fix check_ns.
        - treat yes/no as enforcement, not as hint, when configuring,
          documentation update (reported by Andy Grundman).

0.9  Wed Nov 14 22:24:49 CET 2007
	- changed LIBEV_METHODS to LIBEV_FLAGS and the
          way this is used inside libev.
        - many, many bugfixes.
        - add unloop constants.
        - add timer test.
        - ev_loop will now terminate immediately when no watchers are active.

0.8  Mon Nov 12 02:28:46 CET 2007
	- fix "testsuite" again :().
        - fix check/idle/prepare/child watcher stop.
        - enourmously many fixes.
        - rewritten select backend (mostly for win32).
        - cache socket handles on win32.
        - provide considerably finer control over configuration.

0.7  Fri Nov  9 20:37:58 CET 2007
	- move AnyEvent adaptor into the AnyEvent module.
        - use private copy of evdns.[ch].
        - many minor fixes.

0.6  Thu Nov  8 18:23:43 CET 2007
	- (libev) better native win32 support.
        - fix idle watchers.
        - implement and document periodic reschedule callbacks.
        - do not run dns test on !linux platforms (actually to exclude win32).
        - fix (unused in EV :) poll backend.

0.51 Tue Nov  6 19:50:22 CET 2007
	- fix kqueue/poll compilation issue.
        - work around design issues in kqueue.
        - enable kqueue by default, seems to work.

0.5  Tue Nov  6 17:37:44 CET 2007
	- add signal and pid mutators.
        - add rstatus/rpid accessors.
        - updated libev (lower cost for clock monotonic).
        - support event priorities.
        - try to find SIG_SIZE on perls that don't have it (Slaven Rezic).
        - improved signal handling, fixed child watchers.
        - experimentally add kqueue backend, completely untested.
        - ported to cygwin and native win32.

0.1   Thu Nov  1 18:29:22 CET 2007
	- replaced libevent by libev (total rewrite).
        - many bugfixes w.r.t. libevent.
        - new watcher types: periodic, check, prepare, child, idle.
	- performance optimisations.
        - added interactive configuration.
        - added fork support.

0.03  Mon Oct 29 20:52:50 CET 2007
        - add timed_io convenience constructors.
        - improve documentation.
        - support signal names in addition to signal numbers.
        - support signal anyevent watchers.
        - vastly improved testsuite (its all relative :).
        - add EV::MakeMaker, beginning of C-level API.
        - force strings to byte form.

0.02  Sun Oct 28 07:40:21 CET 2007
	- call $EV::DIED in case a callback throws an exception.
        - add const char * to typemap for possible 5.6 compatibility.

0.01  Sat Oct 27 19:10:18 CEST 2007
	- initial release.

0.00  Fri Oct 26 11:12:57 CEST 2007
	- original version; cloned from JSON::XS