ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/cvsroot/EV/Changes
Revision: 1.257
Committed: Thu Feb 12 04:44:13 2026 UTC (7 months ago) by root
Branch: MAIN
CVS Tags: HEAD
Changes since 1.256: +8 -0 lines
Log Message:
*** empty log message ***

File Contents

# User Rev Content
1 root 1.143 Revision history for Perl extension EV
2 root 1.1
3 root 1.244 Changes marked with (libev) are changes in libev, and might have more
4 root 1.185 documentation in the libev Changes file.
5 root 1.223
6 root 1.257 - EV::child_reinit is no longer experimental.
7    
8     4.37 Thu 22 Jan 2026 16:05:45 CET
9     - so ExtUtils::ParseXS is a mess. Installing the latest CPAN
10     version works, but the version in Perl 5.42 does not. That is,
11     fedora 43 fails, debian's 5.42 works. I've tried to work around
12     it again. Thanks to vividsnow for alerting me to this.
13    
14 root 1.256 4.36 Fri 19 Sep 2025 19:15:30 CEST
15     - seems the xsubpp maintainer changes syntax every few releases.
16     use extremely ugly workaround. goddamnit.
17    
18 root 1.255 4.35 Fri 19 Sep 2025 18:44:27 CEST
19     - work around yet another undocumented newly introduced breakage
20     in xsubpp, apparently introduced in perl 5.42. killing off Perl
21     one change at a time...
22    
23 root 1.253 4.34 Sun 08 Oct 2023 23:45:11 CEST
24 root 1.252 - the EV::stat->path method errornously freed the result, causing
25     corruption (testcase by Carsten Witt).
26 root 1.254 - new function EV::Child::reinit.
27 root 1.252
28 root 1.251 4.33 Wed Mar 18 13:31:12 CET 2020
29 root 1.250 - the enable assertion makefile question failed to enable
30     assertions due to a typo.
31 root 1.249 - try harder to avoid perl's assert () which does not actually
32     behave correctly.
33 root 1.251 - updated libecb to make it compile under more windows environments.
34 root 1.249
35 root 1.248 4.32 Fri Jan 24 14:21:35 CET 2020
36 root 1.246 - (libev) fixed a bug introduced in 4.31 when timerfds and signalfds were
37     used at the same time.
38     - (libev) 0 is now allowed as requested event mask in io watchers.
39     - (libev) once-per-minute wakeups will now be optimized away when
40     timerfds are available
41 root 1.247 - use the new ev_io_modify in EV::IO->events, instead of the potentially
42 root 1.245 slower ev_io_set.
43 root 1.247 - add a bunch of mutator methods, mostly untested(!): EV::Timer->repeat,
44     EV::Periodic->offset, EV::Periodic->interval,
45     EV::Periodic->reschedule_cb.
46     - minor optimisations and bugfixes.
47 root 1.245
48 root 1.244 4.31 Fri Dec 20 21:57:00 CET 2019
49     - (libev) handle backends with minimum wait time a bit better by
50     not waiting in the presence of already-expired timers
51     (behaviour reported by Felipe Gasper).
52     - (libev) use timerfd to detect timejumps.
53     - (libev) new loop flag: EVFLAG_NOTIMERFD.
54    
55     4.30 Fri Nov 22 21:00:00 CET 2019
56     - (libev) use a different and hopefully even more portable
57     test to disable io_uring when header files are too old,
58     by directly testing LINUX_VERSION_CODE.
59     - (libev) fix a bug in the io_uring backend that polled the wrong
60     backend fd, causing it to not work in many cases.
61    
62 root 1.243 4.29 Fri Nov 22 15:34:29 CET 2019
63     - (libev) add io uring autoconf and non-autoconf detection,
64     the latter of which should disable io_uring compilation
65     on old systems.
66    
67 root 1.241 4.28 Tue Nov 19 13:55:39 CET 2019
68     - (libev) fix ev_port backend, thanks to David H. Gutteridge for
69 root 1.242 - (libev) many bugfixes in linuxaio backend.
70     - (libev) experimental io uring interface.
71 root 1.241 reminding me to actually release the fix.
72 root 1.238 - try to name ev.h more explicitly, to hopefully improve portability.
73 root 1.239 - opportunistically round up wait times for poll and epoll backend,
74     to avoid unnecessary loop iterations.
75     - add build dependency on ev_linuxaio.c.
76 root 1.240 - quickly (re)-ported to minix 3.3 before minix crashed again.
77 root 1.238
78 root 1.237 4.27 Thu Jun 27 09:39:58 CEST 2019
79 root 1.236 - (libev) completely rewritten linuxaio backend, maybe
80     usable as a general-use backend.
81     - (libev) use more aggressive assertions to catch
82     more usage errors.
83 root 1.237 - allow users to re-enable assert() in case it is disabled
84     by perl (which is typically the case).
85 root 1.236
86 root 1.235 4.26 Mon Jun 24 23:39:40 CEST 2019
87     - (libev) included experimental linux aio backend.
88 root 1.234 - allow the linux aio backend to be used by default
89     only when explicitly configured during Makefile.PL time.
90 root 1.233
91 root 1.231 4.25 Fri Dec 21 08:04:26 CET 2018
92     - (libev) updated to libev 4.25, minor fixes and enhancements.
93 root 1.229 - document the requirement to "use EV" when using EV::MakeMaker.
94 root 1.228 - only use __register_atfork with glibc and uclibc, as musl
95     defines __linux__, but doesn't implement the linux standard
96     base ABI, nor makes itself detectable via a macro, both apparently
97     by design, winning the "broken by design 2016 award" - well done.
98 root 1.230 - correct EV::periodic example 24h after midnight -> one day after
99     midnight (reported by Felix Ostmann).
100 root 1.228
101 root 1.227 4.22 Sun Dec 20 02:34:39 CET 2015
102     - (libev) when epoll detects unremovable fds in the fd set, rebuild
103     only the epoll descriptor, not the signal pipe, to avoid
104     SIGPIPE in ev_async_send. This doesn't solve it on fork,
105     so document what needs to be done in ev_loop_fork
106     (analyzed by Benjamin Mahler).
107     - (libev) remove superfluous sys/timeb.h include on win32
108     (analyzed by Jason Madden).
109     - updated libecb.
110    
111 root 1.226 4.21 Mon Jul 13 21:47:33 CEST 2015
112     - allow argument in timer->again.
113     - document timer->remaining.
114     - document default repeat value for timer->set.
115    
116 root 1.225 4.20 Sat Jun 20 13:07:34 CEST 2015
117     - added stability canary support.
118 root 1.224 - truly rely on automatic configuration for clock_gettime and others.
119 root 1.225 unfortunately, this doesn't help with activeperl and similar perls,
120 root 1.224 which define _POSIX_TIMERS without actually implementing any of it.
121 root 1.225 - (libev, ecb) make it compile as C++ again.
122     - (libev) fix a potential aliasing issue when accessing watcher cbs.
123 root 1.224
124 root 1.223 4.18 Sat Sep 6 20:37:23 CEST 2014
125     - use slightly better weay to find includes, to support multiarch
126     on newer perls.
127 root 1.185
128 root 1.222 4.17 Fri Apr 11 06:22:38 CEST 2014
129     - perl5porters broke Async::Interrupt, BDB, EV, IO::AIO, OpenCL
130     without warning by switching the meaning of USE_SOCKETS_AS_HANDLES
131     in 5.18. What's so attractive about giving a shit about backwards
132     compatibility - I will never understand.
133 root 1.219
134 root 1.221 4.16 Sat Mar 8 16:49:05 CET 2014
135 root 1.216 - make sure EV::CHECK is available at all times.
136     - avoid a spurious warning when perl -w overrides "no warnings".
137 root 1.219 - use perl's signal implementation on WIN32.
138 root 1.220 - ensure extern "C" function pointers are used for externally-visible
139 root 1.221 pointers.
140     - (libev) mark event pipe fd as cloexec after a fork (analyzed by Sami Farin).
141     - (ecb) support m68k, m88k and sh (patch by Miod Vallat).
142     - (libev) in the absence of autoconf, do not use the clock syscall
143     on glibc >= 2.17 (avoids the syscall AND -lrt on systems
144     doing clock_gettime in userspace).
145     - (ecb) work around memory barriers and volatile apparently both being
146     broken in visual studio 2008 and later (analysed and patch by Nicolas Noble).
147 root 1.216
148 root 1.215 4.15 Fri Mar 1 12:15:53 CET 2013
149     - (libev) upgrade to 4.15 - too many changes to list.
150 root 1.214 - EV::run now returns a boolean.
151 root 1.211 - API version 5:1.
152 root 1.214 - document that cleanup watchers are not available via perl.
153 root 1.212 - cast I32 to int in error message printf.
154 root 1.214 - remove dependencies on librt and libpthreads on GNU/Linux.
155 root 1.211
156 root 1.210 4.11 Sat Feb 4 19:56:26 CET 2012
157     - (libev) implement memory fences for (obsolete) llvm-gcc.
158    
159 root 1.209 4.10 Thu Jan 19 18:54:23 CET 2012
160     - (libev) fix a race where the workaround against the epoll fork
161     bugs caused signals to not be handled anymore.
162     - (libev) correct backend_fudge for most backends, and implement
163     a windows specific workaround to avoid looping because we call
164     both select and Sleep, both with different time resolutions.
165 root 1.207 - e_new wasn't declared static (causing very minor .so bloat).
166 root 1.208 - replace more old api names by new ones.
167 root 1.206
168 root 1.205 4.03 Tue Jan 11 14:51:05 CET 2011
169 root 1.203 - do not avoid the clock_gettime call on GNU/Linux anymore, as EV
170     links against -lpthread anyways - as a result, EV might now take
171     advantage of fast userspace clock_gettime implementations,
172     but also links against -lrt.
173 root 1.204 - (libev) lots of event port bug workarounds.
174     - (libev) officially support files in I/O watchers.
175     - (libev) new function ev_feed_signal.
176     - fix documentation parts still refering to the 3.x API.
177 root 1.203
178 root 1.202 4.02 Thu Dec 30 08:27:41 CET 2010
179     - the revents argument did not stringify correctly, as only the
180     numeric value was updated, while the string value was kept from
181     previous invocations.
182    
183 root 1.201 4.01 Sun Dec 5 12:42:13 CET 2010
184 root 1.197 - fully support EV_COMPAT3=0.
185 root 1.198 - default_fork was stupidly defined as inline.
186 root 1.199 - ask cpan to upgrade AnyEvent if < 5.29.
187 root 1.200 - support EV_EXTRA_DEFS during configuration.
188 root 1.201 - support -DEV_NO_LOOPS for snakker build.
189 root 1.197
190 root 1.196 4.00 Mon Oct 25 13:30:09 CEST 2010
191 root 1.194 - many API changes, see the manual.
192 root 1.196 - (libev) lots and lots of bugfixes, see the ev documentation.
193 root 1.187 - fix a bug where inotify usage would parse the same event
194     multiple times, causing various forms of breakage.
195     - greatly reduce stack usage for inotify (8kb to <0.5kb).
196 root 1.189 - expose ev_depth and ev_verify via the XS API.
197 root 1.196 - implement ev_cleanup watchers.
198 root 1.188 - (libev) ev_embed_stop did not correctly stop the watcher.
199     - (libev) disable poll backend on AIX.
200     - (libev) rename EV_TIMEOUT to EV_TIMER.
201     - (libev) add section on accept() problems to the manpage.
202 root 1.191 - (libev) no child watchers on win32.
203 root 1.190 - make code more aliasing compliant, in case perl is ever
204     translated to C.
205 root 1.193 - document the EV::CHECK runtime unavailability.
206 root 1.192 - ported to minix 3.1.7.
207 root 1.187
208 root 1.186 3.9 Thu Dec 31 07:59:59 CET 2009
209 root 1.182 - disable t/07* under automatic testing.
210 root 1.183 - increase t/09* timeouts as netbsd has *horribly* broken
211     select/kevent that *usually* sleep >>0.6s instead of 0.3.
212 root 1.184 - add constants EV::FLAG_NOSIGFD, EV::FLAG_NOINOTIFY and
213     EV::BACKEND_ALL.
214 root 1.185 - (libev) signalfd is no longer used by default.
215     - (libev) backport inotify code to C89.
216     - (libev) inotify file descriptors could leak into child processes.
217     - (libev) ev_stat watchers could keep an errornous extra ref on the loop.
218     - (libev) take advantage of inotify_init1, if available.
219     - (libev) the signal handling pipe wasn't always initialised under windows.
220     - changed minimum glibc requirement from glibc 2.9 to 2.7, for signalfd.
221     - (libev) only replace ev_stat.prev when we detect an actual difference.
222 root 1.182
223 root 1.181 3.8 Sun Aug 9 15:30:10 CEST 2009
224 root 1.180 - implement $loop->signal/signal_ns.
225 root 1.181 - (libev) incompatible change: do not necessarily reset signal
226     handler to SIG_DFL when a sighandler is stopped.
227     - (libev) ev_default_destroy did not properly free or zero some
228     members, potentially causing crashes and memory corruption on
229     repated ev_default_destroy/ev_default_loop calls.
230     - (libev) take advantage of signalfd on GNU/Linux systems.
231     - (libev) document that the signal mask might be in an unspecified
232     state when using libev's signal handling.
233     - (libev) take advantage of some GNU/Linux calls to set
234     cloexec/nonblock on fd creation, to avoid race conditions.
235     - implement internal glue code to interface more efficiently
236     with AnyEvent.
237 root 1.180
238 root 1.177 3.7 Fri Jul 17 16:49:16 CEST 2009
239 root 1.171 - add EV::loop_verify and EV::loop_depth.
240 root 1.172 - use output filehandle for i/o watchers waiting
241     for EV_WRITE, otherwise input filehandle.
242     - use common schmorp.h header.
243 root 1.176 - add EV::Timer->remaining.
244 root 1.175 - allow for subclassing of EV::Loop (see the exciting
245     EV::Loop::Async module for an example).
246     - added EV::invoke_pending and EV::pending_count.
247 root 1.171
248 root 1.177 - (libev) ev_unloop and ev_loop wrongly used a global variable to
249     exit loops, instead of using a per-loop variable.
250     - (libev) the ev_set_io_collect_interval interpretation has changed.
251     - add new functionality: EV::invoke_pending, EV::pending_count.
252     - add $timer->remaining.
253     - add EV::loop_depth.
254     - (libev) calling unloop in fork/prepare watchers will no longer poll
255     for new events.
256     - (libev) use GetSystemTimeAsFileTime instead of _timeb on windows,
257     for slightly higher accuracy.
258     - (libev) actually 0-initialise struct sigaction when installing
259     signals.
260    
261 root 1.170 3.6 Tue Apr 28 02:50:37 CEST 2009
262 root 1.167 - keepalive(0) could decrease the refcount of the loop
263     permanently.
264 root 1.168 - add ev_suspend/ev_resume, also make ev_now_update
265     accessible via the XS API.
266 root 1.169 - most EV::<eventtype> constants were missing and have been
267     added :/.
268     - add EV::VERSION_MAJOR/VERSION_MINOR constants.
269     - (libev) multiple timers becoming ready within an event loop
270     iteration will be invoked in the "correct" order now.
271     - (libev) do not leave the event loop early just because we have
272     no active watchers, fixing a problem when embedding a kqueue
273     loop that has active kernel events but no registered watchers
274     (reported by blacksand blacksand).
275     - (libev) correctly zero the idx values for arrays, so destroying
276     and reinitialising the default loop actually works (patch by
277     Malek Hadj-Ali).
278     - (libev) new EV::CUSTOM revents flag for use by applications.
279     - (libev) add documentation section about priorites.
280     - (libev) add a glossary to the dcoumentation.
281     - (libev) extend the ev_fork description slightly.
282     - (libev) optimize a jump out of call_pending.
283     - t/03_keepalive could fail when there was no actual error.
284 root 1.167
285 root 1.166 3.53 Sun Feb 15 02:38:20 CET 2009
286     - (libev) on win32, the event loop creation could randomly fail
287     due to an initialised variable having the wrong value.
288 root 1.165 - (libev) probe for CLOCK_REALTIME support at runtime as well and
289     fall back to gettimeofday if there is an error, to support older
290     operating systems with newer header files/libraries.
291     - prefer gettimeofday over clock_gettime by default.
292    
293 root 1.164 3.52 Wed Jan 7 21:46:14 CET 2009
294 root 1.163 - (libev) fix some issues in the select backend when in fd_set mode.
295     - (libev) due to a thinko, instead of disabling everything but
296     select on the borked OS X platform, everything but select was
297     allowed (reported by Emanuele Giaquinta).
298     - (libev) actually verify that local and remote port are matching in
299     libev's socketpair emulation, which makes denial-of-service
300     attacks harder (but not impossible - it's windows). Make sure
301     it even works under vista, which thinks that getpeer/sockname
302     should return fantasy port numbers.
303    
304 root 1.162 3.51 Wed Dec 24 23:01:59 CET 2008
305 root 1.161 - do not cache the arguments passed to callbacks if the refcount
306     indicates that the callback has stolen them.
307 root 1.159 - (libev) try to avoid librt on GNU/Linux.
308 root 1.160 - (libev) check port_getn return value dfferently, might potentially
309     avoid problems.
310 root 1.162 - (libev) fix a bug with stat watchers possibly causing freezes.
311     - (libev) work around OS X 10.5 breaking poll, now select is the
312     only viable choice left on that pile of garbage.
313 root 1.161 - play tester whore: disable some tests that typically fail only
314     on cpan tester machines.
315 root 1.159
316 root 1.158 3.49 Wed Nov 19 11:26:53 CET 2008
317 root 1.155 - fix typos in manpage (Alex Efros).
318 root 1.156 - increase timing even further, for the ever-overloaded cpan-tester
319     machines, and to the detriment of everybody else who wants a fast
320     make test.
321 root 1.157 - possible 5.6 compatibility.
322 root 1.158 - (libev) use inotify even on buggy kernels, but don't rely on it.
323     - (libev) use inotify only as an added hint on network filesystems.
324 root 1.155
325 root 1.154 3.48 Thu Oct 30 09:09:48 CET 2008
326 root 1.152 - (libev) use a generation counter to detect spurious epoll events
327 root 1.151 and recreate the kernel in such a case (sorry, it's slow, but
328     I didn't design epoll...).
329 root 1.150 - (libev) optimise away an EPOLL_CTL_ADD/MOD combo in the epoll
330     backend in some cases.
331     - (libev) use memset to initialise most arrays now and do away
332     with the init functions.
333 root 1.152 - speed up event callback invocation further (~15%), by
334 root 1.151 not creating the object reference each time.
335 root 1.153 - EV::sleep was documented, but not implemented. fun.
336 root 1.150
337     3.45 Tue Oct 21 22:20:39 CEST 2008
338     - (libev) disable inotify usage on linux <2.6.25 (kernel bug).
339 root 1.146 - (libev) ev_embed will now automatically follow fork.
340     - (libev) ev_once will now pass both io and timeout events to
341     the callback when both happen concurrently, instead of giving
342     one precedence.
343 root 1.149 - install C library documentation as EV::libev manpage (sorry, oesi).
344 root 1.150 - (libev) fix a minor performance bug in ev_stat handling.
345 root 1.146
346 root 1.145 3.44 Mon Sep 29 05:16:31 CEST 2008
347 root 1.144 - (libev) add EV::now_update and $loop->now_update.
348    
349 root 1.142 3.431 Sun Jul 13 00:19:02 CEST 2008
350     - made the EV::embed callback optional again. reported by
351     Vladimir Timofeev.
352    
353 root 1.141 3.43 Tue Jul 8 20:56:31 CEST 2008
354 root 1.140 - disabled warnings in EV.pm, the CHECK issue is now understood
355     and harmless.
356    
357 root 1.139 3.42 Mon May 26 07:36:46 CEST 2008
358 root 1.138 - (libev) work around another bug in windows perls and
359     windows itself: failed connects do NOT set read or write
360     flags in select, but this version of libev will.
361    
362 root 1.136 3.41 Thu May 22 01:39:40 CEST 2008
363 root 1.135 - (libev) fix many heap-related bugs (timers, periodics).
364 root 1.134 - (libev) improve timing stability of timers and periodics.
365 root 1.137 - expose ev_loop_verify to perl code.
366 root 1.134 - clarify documentation for periodic reschedule callbacks.
367     - verify that the passed callback argument is indeed a code
368     reference, for earlier error reporting and a nice calling
369     speed increase (as well as saving memory).
370    
371 root 1.133 3.4 Tue May 20 21:51:55 CEST 2008
372 root 1.132 - (libev) work around both a windows bug and a bug in perl's
373     select on windows when not waiting for any file descriptors.
374 root 1.131 - bundle ev.pod into the tarball, just to increase its size
375     (and for the poor internetless person).
376    
377 root 1.130 3.33 Sun May 18 12:43:04 CEST 2008
378     - (libev) use numerous enhancements such as a more
379     cache-friendly 4-heap and heap index caching for timers.
380     - remove undocumented ev_timer->at accessor.
381    
382 root 1.129 3.31 Wed Apr 16 20:48:59 CEST 2008
383     - (libev) post-last-minute fix for ev_poll.c problem.
384    
385 root 1.128 3.3 Wed Apr 16 19:04:47 CEST 2008
386 root 1.125 - (libev) linux eventfd support.
387 root 1.128 - (libev) inline more with C99 compilers.
388     - (libev) work around a number of bugs in valgrind.
389     - (libev) work around broken realloc on openbsd and darwin.
390 root 1.126 - added example to EV::MakeMaker manpage.
391 root 1.127 - add async_pending method.
392 root 1.125
393 root 1.123 3.2 Wed Apr 2 17:08:16 CEST 2008
394 root 1.117 - "ported" again to the Microsoft "C" language.
395 root 1.124 - relax testsuite timing for the benefit of freebsd users once more.
396 root 1.121 - fix EVAPI's ev_time and ev_sleep macros.
397 root 1.120 - (libev) fix select backend on 64 bit architetcures.
398 root 1.122 - (libev) ev_loop flags are now local to each invocation.
399 root 1.117
400 root 1.116 3.1 Sat Mar 8 11:41:14 CET 2008
401 root 1.113 - add ev_sync_* and ev_fork_* to EVAPI.h.
402 root 1.115 - provide EV::Embed->sweep method.
403     - new watcher type: async (not very useful in perl).
404 root 1.113
405 root 1.112 3.0 Mon Jan 28 13:23:11 CET 2008
406     - upgrade to libev-3.0.
407 root 1.111 - change child handler to incorporate tracing flag.
408    
409 root 1.110 2.01 Mon Dec 31 01:59:19 CET 2007
410     - found a minor problem in the testsuite that is only
411     caught by new Test::Harness versions (reported by Andreas
412     König).
413    
414 root 1.107 2.0 Sat Dec 22 17:47:03 CET 2007
415 root 1.100 - no longer force kqueue when enabled, enable it
416     on more systems (as its now by default not used on most).
417 root 1.95 - expose fork watchers.
418     - switch to libev's MULTIPLICITY API.
419 root 1.96 - use a slightly different include file name strategy.
420     - get rid of (unused) libevent emulation.
421 root 1.97 - 5% watcher management speedup due to callback optimisation
422     when inline closures are used, 5% slowdown due to multiplicity.
423 root 1.98 - very minimal support for dynamic event loops and embed watchers.
424 root 1.103 - fix name of prepare start/stop methods.
425 root 1.105 - create and export EV::sleep and EV::set_*_collect_interval.
426 root 1.106 - fix typos in manpage (Alex Efros).
427 root 1.95
428 root 1.94 1.86 Tue Dec 18 02:36:57 CET 2007
429 root 1.93 - add periodic->at methods.
430 root 1.92
431 root 1.91 1.85 Fri Dec 14 20:32:40 CET 2007
432 root 1.90 - further optimise epoll backend by adding a heuristic that
433     avoids EPOLL_CTL_DEL calls if possible.
434 root 1.87 - EV::signal->start was not async-signal safe.
435 root 1.89 - optimise start/stop when the fd hasn't changed.
436 root 1.87
437 root 1.86 1.8 Tue Dec 11 22:17:46 CET 2007
438 root 1.83 - API version 3:0.
439 root 1.81 - reduced fudge factor to zero for select, poll, epoll
440     and kqueue: your system better be posix-compliant
441     even in its extensions :->
442 root 1.82 - improve long-term numerical stability in periodic watchers
443     by introducing a separate offset value instead of reusing at.
444 root 1.84 - recalculate real/monotonic clocks before blocking fully
445     to avoid blocking for longer than necessary.
446 root 1.85 - fix bugs in the heap functions. this rarely lead to illegal
447     heap orderings.
448 root 1.81
449 root 1.80 1.72 Sat Dec 8 15:31:26 CET 2007
450 root 1.77 - add dummy loop arguments to some EVAPI functions
451     so that clients can use EV_A and EV_DEFAULT.
452 root 1.78 - expose ev_clear_pending.
453 root 1.79 - renamed trigger to invoke.
454 root 1.77
455 root 1.76 1.71 Fri Dec 7 19:10:24 CET 2007
456 root 1.75 - changed/implemented idle watcher priority.
457     - allow out-of-range priorities to be set.
458     - fix ->priority to actually work on started watchers.
459     - improved testsuite.
460    
461 root 1.74 1.6 Wed Dec 5 15:06:20 CET 2007
462 root 1.70 - add a missing SPAGAIN.
463 root 1.71 - ripped out EV::DNS, use EV::ADNS for a better backend.
464     - make ev_time callable from EVAPI.h.
465 root 1.72 - add EV::loop_count.
466 root 1.73 - some space optimisations.
467 root 1.70
468 root 1.69 1.5 Wed Nov 28 20:19:09 CET 2007
469 root 1.67 - add inotify backend.
470 root 1.69 - make testsuite even less sensible to timing issues,
471     add more stat tests.
472 root 1.68 - add ->attr, ->prev, ->stat calls to stat watcher.
473 root 1.67
474 root 1.66 1.4 Tue Nov 27 17:35:27 CET 2007
475 root 1.64 - work around a linux 2.4 kernel bug in child handlers.
476     - implement stat watcher interface.
477 root 1.65 - implement fork watcher interface.
478 root 1.64 - io->set did not keep the fh alive.
479     - actively check signal numbers/names to be valid.
480     - cleanups, minor fixes, new bugs.
481 root 1.66 - work around windows bugs in the testsuite.
482 root 1.64
483 root 1.63 1.3 Sun Nov 25 10:46:57 CET 2007
484     - stopping idle/check/prepare watchers could cause data corruption.
485 root 1.58 - implement and document EV::once.
486 root 1.57 - improved documentation, verify that netbsd indeed has the only
487     working kqueue implementation (out of darwin, freebsd, netbsd and
488     openbsd). Praise them!
489 root 1.62 - fix the data method so it might work.
490 root 1.59 - expose ev_ref/ev_unref to the C API.
491 root 1.61 - expose ref/unref in form of the ->keepalive method to perl.
492 root 1.58 - minor bugfixes and portability fixes.
493 root 1.57
494 root 1.56 1.2 Thu Nov 22 05:44:09 CET 2007
495     - disable kqueue by default on !netbsd, as its broken on freebsd,
496     darwin and openbsd and thus almost everywhere.
497     - add some allowance in t/01_timer.t for the uneven monotonic
498     vs. realtime clock tick on at least freebsd.
499     - add -lsocket -lnsl on solaris in case the perl guy forgot to
500     configure them.
501    
502 root 1.55 1.1 Wed Nov 21 06:08:48 CET 2007
503 root 1.53 - improved timer test to include periodics and
504     withstand small timing variations.
505 root 1.54 - many minor tweaks to libev.
506 root 1.53
507 root 1.52 1.0 Fri Nov 16 14:51:59 CET 2007
508 root 1.50 - require AnyEvent update if AnyEvent is installed.
509 root 1.51 - add solaris 10 port-based backend.
510     - add child_ns and fix check_ns.
511 root 1.52 - treat yes/no as enforcement, not as hint, when configuring,
512     documentation update (reported by Andy Grundman).
513 root 1.50
514 root 1.49 0.9 Wed Nov 14 22:24:49 CET 2007
515 root 1.45 - changed LIBEV_METHODS to LIBEV_FLAGS and the
516     way this is used inside libev.
517 root 1.46 - many, many bugfixes.
518     - add unloop constants.
519 root 1.47 - add timer test.
520 root 1.48 - ev_loop will now terminate immediately when no watchers are active.
521 root 1.45
522 root 1.44 0.8 Mon Nov 12 02:28:46 CET 2007
523 root 1.41 - fix "testsuite" again :().
524     - fix check/idle/prepare/child watcher stop.
525 root 1.42 - enourmously many fixes.
526     - rewritten select backend (mostly for win32).
527     - cache socket handles on win32.
528 root 1.43 - provide considerably finer control over configuration.
529 root 1.41
530 root 1.40 0.7 Fri Nov 9 20:37:58 CET 2007
531 root 1.39 - move AnyEvent adaptor into the AnyEvent module.
532 root 1.41 - use private copy of evdns.[ch].
533 root 1.39 - many minor fixes.
534    
535 root 1.38 0.6 Thu Nov 8 18:23:43 CET 2007
536 root 1.95 - (libev) better native win32 support.
537 root 1.35 - fix idle watchers.
538 root 1.37 - implement and document periodic reschedule callbacks.
539     - do not run dns test on !linux platforms (actually to exclude win32).
540 root 1.38 - fix (unused in EV :) poll backend.
541 root 1.34
542 root 1.33 0.51 Tue Nov 6 19:50:22 CET 2007
543 root 1.32 - fix kqueue/poll compilation issue.
544 root 1.33 - work around design issues in kqueue.
545 root 1.32 - enable kqueue by default, seems to work.
546    
547 root 1.31 0.5 Tue Nov 6 17:37:44 CET 2007
548 root 1.23 - add signal and pid mutators.
549 root 1.27 - add rstatus/rpid accessors.
550 root 1.24 - updated libev (lower cost for clock monotonic).
551 root 1.25 - support event priorities.
552 root 1.26 - try to find SIG_SIZE on perls that don't have it (Slaven Rezic).
553 root 1.28 - improved signal handling, fixed child watchers.
554 root 1.29 - experimentally add kqueue backend, completely untested.
555 root 1.30 - ported to cygwin and native win32.
556 root 1.23
557 root 1.22 0.1 Thu Nov 1 18:29:22 CET 2007
558 root 1.18 - replaced libevent by libev (total rewrite).
559     - many bugfixes w.r.t. libevent.
560     - new watcher types: periodic, check, prepare, child, idle.
561 root 1.16 - performance optimisations.
562 root 1.19 - added interactive configuration.
563 root 1.21 - added fork support.
564 root 1.16
565 root 1.14 0.03 Mon Oct 29 20:52:50 CET 2007
566 root 1.9 - add timed_io convenience constructors.
567     - improve documentation.
568 root 1.8 - support signal names in addition to signal numbers.
569 root 1.9 - support signal anyevent watchers.
570 root 1.10 - vastly improved testsuite (its all relative :).
571 root 1.11 - add EV::MakeMaker, beginning of C-level API.
572 root 1.12 - force strings to byte form.
573 root 1.6
574 root 1.5 0.02 Sun Oct 28 07:40:21 CET 2007
575 root 1.15 - call $EV::DIED in case a callback throws an exception.
576 root 1.4 - add const char * to typemap for possible 5.6 compatibility.
577 root 1.3
578     0.01 Sat Oct 27 19:10:18 CEST 2007
579     - initial release.
580    
581     0.00 Fri Oct 26 11:12:57 CEST 2007
582 root 1.1 - original version; cloned from JSON::XS
583