2000-02-01  Joshua Pritikin  <joshua.pritikin@db.com>

	* Release 0.62.  ** Please upgrade if you installed 0.61. **

	* Allow implied stop() if required attributes are explicitly

2000-01-31  Joshua Pritikin  <joshua.pritikin@db.com>

	* Release 0.61.

	* is_cancelled() method (requested by

	* Doc updates.

	* Prevent starting unconfigured or badly configured
 	watchers. Added tests. (Jochen.Stenzel.gp@icn.siemens.de)

	* Refuse to start cancelled watchers.  Added test & updated doc.

2000-01-26  Joshua Pritikin  <joshua.pritikin@db.com>

	* If parked=>1 then the constructor will not invoke
 	$watcher->start().  (uri@sysarch.com)

	* Release 0.60.

	* Added $watcher->data() attribute. (This is Uri Guttman
 	<uri@sysarch.com>'s fault.)

2000-01-20  Joshua Pritikin  <joshua.pritikin@db.com>

	* Fixed refcnt problem caused by extra invocations of cancel()
 	(Discovered by uri@sysarch.com.)  Added test.

	* Release 0.59.

	* Fixed serious memory leak (isolated by
 	Jochen.Stenzel.gp@icn.siemens.de). Added t/leak2.t.

2000-01-19  Joshua Pritikin  <joshua.pritikin@db.com>

	* Doc for timeout_cb (demanded by uri@sysarch.com :-).

1999-12-15  Joshua Pritikin  <joshua.pritikin@db.com>

	* Added demo/variable_timer.t along with minor doc
 	update. (jsalmon@gw.thesalmons.org)

1999-11-22  Joshua Pritikin  <joshua.pritikin@db.com>

	* Release 0.58.

	* timeout_cb for io watchers.  Added test.  (suggested by Uri
 	Guttman <uri@sysarch.com>)

	* Copy the callback specification from watcher to event for

	* Removed support for clump.  The performance trade-off for this
 	feature was probably unmeasurable.  Now it's definitely
 	unmeasurable.  :-)

	* Rename Ev* macros to Wa* to make room for new Ev macros.

1999-10-22  Joshua Pritikin  <joshua.pritikin@db.com>

	* Remove EvNOW macro.

1999-10-11  Joshua Pritikin  <joshua.pritikin@db.com>

	* Added demo/readline.t. (perl@jochen-stenzel.de)

1999-10-06  Joshua Pritikin  <joshua.pritikin@db.com>

	* Release 0.57.

	* Memory leak fixed: ioevents were being retired to the wrong
 	freelist. (thospel@mail.dma.be)

1999-09-23  Joshua Pritikin  <joshua.pritikin@db.com>

	* Document is_active/is_suspended. (Jochen.Stenzel.gp@icn.siemens.de)

1999-09-22  Joshua Pritikin  <joshua.pritikin@db.com>

	* Skip hup.t on Win32. (Paul.Moore@uk.origin-it.com)

	* Release 0.56.

	* Fixed detection of EOF.  Added test. (Gisle Aas)

1999-09-14  Joshua Pritikin  <joshua.pritikin@db.com>

	* Figured out the strange pipe symantics on AIX and modified the
 	io.t test to cope. (dfavor@austin.ibm.com)

1999-09-13  Joshua Pritikin  <joshua.pritikin@db.com>

	* Release 0.55.

	* Changes for clean threaded build against 5.5.61.  Unfortunately,
 	this breaks threaded 5.5.3.  If this is a problem for you then
 	send patches.  The threading variations in the devel track are
 	driving me crazy. (dfavor@austin.ibm.com)
	* Fixed coredump trigger by attach_to test (cpan-testers@perl.org).

1999-09-10  Joshua Pritikin  <joshua.pritikin@db.com>

	* Release 0.54.

	* Improved cb(...) diagnostics.  Added tests.

	* Devel-PPPort (schinder@pobox.com of cpan-testers@perl.org).

1999-09-09  Joshua Pritikin  <joshua.pritikin@db.com>

	* If a file is unexpectedly closed, the io watcher is no longer
 	stopped.  Instead the file handle is reset.  This symantic allows
 	io timeouts to continue to trigger and should make recovery
 	simpler.  Added tests.

	* Prohibit attach_to blessed refs.  Added test.

	* Minor doc updates.

	* Release 0.53.

	* Fix Event::MakeMaker to pick the correct install directory.

1999-09-08  Joshua Pritikin  <joshua.pritikin@db.com>

	* This release is NOT binary compatible with 0.52!
	* Obscure potential typemap bugs fixed.

	* Reworked the typemap to avoid the exotic 5.6 self-tied hash
 	mechanism.  It should now be fairly easy to backport Event to
 	older versions of perl.

	* In the tradition of adding innovative (or at least strange)
 	features to Event, constructors now accept (attach_to=>$ref).
  	This will cause the watcher to attach its information to the given
 	$ref instead of to a fresh anonymous hash ref.  For backwards
 	compatibility the default is still an anonymous hash.

	* Removed a bunch of deprecated features.

	* Reformatted the source to be more consistent (if not beautiful).

1999-08-18  Joshua Pritikin  <joshua.pritikin@db.com>

	* Release 0.52.

	* Moved t/inactivity.t to demo/ because it fails occationally and
 	I don't have time to figure it out.  You might say that it takes
 	too much time to write a good test of inactivity.

1999-08-02  Joshua Pritikin  <joshua.pritikin@db.com>

	* Make mention of Time::Warp.

1999-07-29  Joshua Pritikin  <joshua.pritikin@db.com>

	* Don't complain about Time::HiRes (uri@sysarch.com)

1999-07-27  Joshua Pritikin  <joshua.pritikin@db.com>

	* Skip t/idle2.t if Time::HiRes is unavailable (lukka@iki.fi &

1999-07-23  Joshua Pritikin  <joshua.pritikin@db.com>

	* Release 0.51.

	* Notice bogus fds in both poll & select.  Added test.

	* Make mention of the mailing list archive.

1999-07-20  Joshua Pritikin  <joshua.pritikin@db.com>

	* Don't request benchmark results (artur@vogon.se).

1999-07-10  Joshua Pritikin  <joshua.pritikin@db.com>

	* Release 0.50.

	* A few Win32 tweaks to get working tests to pass (jan.dubois).

	* Minor cleanup in preparation for 0.50.

1999-06-30  Joshua Pritikin  <joshua.pritikin@db.com>

	* Release 0.44 (thanks: jan.dubois@ibm.net).

	* Renamed abort() to scrub() to avoid clashing with Perl's abort.

	* Removed remaining dependency on gettimeofday.

	* C++ clean.

1999-06-22  Joshua Pritikin  <joshua.pritikin@db.com>

	* Release 0.43.

	* Tweaks for threaded compile (dfavor@austin.ibm.com).

1999-06-19  Joshua Pritikin  <joshua.pritikin@db.com>

	* Release 0.42.

	* Rename event.c -> ev.c (Jan Dubois).

	* Split flags into individual methods: is_running, is_active,
 	is_suspended, is_queued.

	* Repaired default_exception_handler.

1999-05-19  Joshua Pritikin  <joshua.pritikin@db.com>

	* Release 0.41.

        * Added attributes() and configure() methods.

1999-05-18  Joshua Pritikin  <joshua.pritikin@db.com>

	* When using eval {} inside a callback, $@ could fool Event into
 	thinking that an exception is being thrown.

1999-05-17  Joshua Pritikin  <joshua.pritikin@db.com>

	* Moved attributes from hash entries to methods.

1999-05-07  Joshua Pritikin  <joshua.pritikin@db.com>

	* Fix unloop('').

1999-05-06  Joshua Pritikin  <joshua.pritikin@db.com>

	* Release 0.40.

	* Regularize event constructors.

1999-05-04  Joshua Pritikin  <joshua.pritikin@db.com>

	* Doc fixes catalyzed by Jochen.Stenzel.gp@icn.siemens.de.

1999-04-27  Joshua Pritikin  <joshua.pritikin@db.com>

	* Release 0.39.

1999-04-20  Joshua Pritikin  <joshua.pritikin@db.com>

	* Fix broken t/eval.t.

1999-04-19  Joshua Pritikin  <joshua.pritikin@db.com>

	* More conservative refcnt policy for watchers.

1999-04-16  Joshua Pritikin  <joshua.pritikin@db.com>

	* Release 0.38.

	* Rename 'mom' to 'w'.

	* Deprecate the accessing of watcher attributes via events.

	* Fix PL_ macros again.  (*Argh!*)

1999-04-14  Joshua Pritikin  <joshua.pritikin@db.com>

	* Release 0.37.

	* Redesign typemap.

1999-04-12  Joshua Pritikin  <joshua.pritikin@db.com>

	* Make 'e_cbtime' available from perl.  Added test.

1999-04-09  Joshua Pritikin  <joshua.pritikin@db.com>

	* Release 0.36.

	* Return unloop_all($arg) from loop().

	* Make compile with threaded perl.

1999-04-07  Joshua Pritikin  <joshua.pritikin@db.com>

	* Release 0.35.

	* Documentation updates and reorganization.

	* Switch inactivity from e_interval to e_timeout.

1999-04-06  Joshua Pritikin  <joshua.pritikin@db.com>

	* Release 0.34.

1999-04-05  Joshua Pritikin  <joshua.pritikin@db.com>

	* Plug typemap holes.  Implementation still needs improvement.

	* Make io timeout respect e_repeat. (gisle@aas.no).

1999-03-30  Joshua Pritikin  <joshua.pritikin@db.com>

	* Release 0.33.

1999-03-29  Joshua Pritikin  <joshua.pritikin@db.com>

	* Store 'e_max_cb_tm' and hand-off to stats engine.

1999-03-17  Joshua Pritikin  <joshua.pritikin@db.com>

	* Morph events into watchers when they go out of scope.

1999-03-16  Joshua Pritikin  <joshua.pritikin@db.com>

	* Refine typemap fix.

1999-03-15  Joshua Pritikin  <joshua.pritikin@db.com>

	* Release 0.32.

	* Apply typemap fix as per gsar@activestate.com.

1999-03-09  Joshua Pritikin  <joshua.pritikin@db.com>

	* Cut version 0.31 for PerlClinic.

1999-03-05  Joshua Pritikin  <joshua.pritikin@db.com>

	* Simplified typemap in an attempt to squash bugs.

1999-03-04  Joshua Pritikin  <joshua.pritikin@db.com>

	* Search @INC in Event::MakeMaker.

1999-03-03  Joshua Pritikin  <joshua.pritikin@db.com>

	* Make io timers non-repeating.

	* Relax io watchers more.  Now they can be started with either
 	e_fd or e_timeout or both or neither.

1999-03-02  Joshua Pritikin  <joshua.pritikin@db.com>

	* Allow creation of io watchers without a valid e_fd.  Should
 	probably do the same with the rest of the watcher types.

	* Added e_suspend.  Do we keep the 'suspend' and 'resume' methods?

1999-02-26  Joshua Pritikin  <joshua.pritikin@db.com>

	* Fixed refcnt problem triggered by deleting hash entries.  Added

1999-02-25  Joshua Pritikin  <joshua.pritikin@db.com>

	* Avoid qr// in keys.t.

1999-02-12  Joshua Pritikin  <joshua.pritikin@db.com>

	* Reroute C-API croak through Carp::croak. Added test.

1999-02-11  Joshua Pritikin  <joshua.pritikin@db.com>

	* Removed backward compatibility up to 0.24 (inclusive).

	* Factored event init/dtor code.

	* Added 'callback' hooks.  Updated docs.

1999-02-03  Joshua Pritikin  <joshua.pritikin@db.com>

	* Release 0.30.

	* Constructors now populate the watcher hash with any extra
	unrecognized key-value pairs.

1999-02-01  Joshua Pritikin  <joshua.pritikin@db.com>

	* Better typemap diagnostics.  There seem to be bugs lurking but I
 	can't construct a short test case...

1999-01-19  Joshua Pritikin  <joshua.pritikin@db.com>

	* Arrange for events to have the same careful typemap treatment as
 	do watchers.  Added test.

1999-01-12  Joshua Pritikin  <joshua.pritikin@db.com>

	* Release 0.29.

	* Unplugged Time::Virtual (suggested mainly by Sarathy, Nick and
 	Graham).  See patches/time-hires.

1998-12-30  Joshua Pritikin  <joshua.pritikin@db.com>

	* Added AllWatchers & typemap functions to the public API.

	* Moved Event::Stats to a separate tarball.  I wonder if the stats
 	API is too restrictive?

1998-12-28  Joshua Pritikin  <joshua.pritikin@db.com>

	* Split Event::Watcher code into a separate file for intuitive
 	importing via 'use' (suggested by artur@vogon-solutions.com).

	* Fix SEGV in keys %$event (ophir@internap.com &
 	artur@vogon-solutions.com).  Added test.

	* Tweaks to diagnostics.

1998-12-27  Joshua Pritikin  <joshua.pritikin@db.com>

	* Release 0.28.

	* Event destruction now must be managed explicitly.  Use the
 	'stop' method to disable a watcher and use 'cancel' to destroy a
 	watcher.  This change is an unfortunate necessity because of
 	optimizations in perl's reference counting.

	* Suspend & cancel now abort any pending events.  In previous
 	releases, the callback could be called after cancel in some cases.

1998-12-25  Joshua Pritikin  <joshua.pritikin@db.com>

	* Release 0.27.

	* Replaced newHVhv.  Some versions of perl have a buggy

	* Fixed a few minor problems detected by Insure++.

1998-12-24  Joshua Pritikin  <joshua.pritikin@db.com>

	* Fixed typos in croak messages.

	* Generous updates to Event.pod.

	* Bumped version to 0.26.  Merry Christmas!!
	* Renamed (lots of) keys.

	* Added 'use_keys' method.  Comments?
	* (Try to) remove support for leading dashes (any left?).

	* Factor out code to Time::Virtual (& Time::HiRes).

1998-12-19  Joshua Pritikin  <joshua.pritikin@db.com>

	* Moved process.pm to demo directory.

1998-12-08  Joshua Pritikin  <joshua.pritikin@db.com>

	* Added discussion of event loops vs. threads
 	(kudos to Mark.Mielke.markm@nt.com & fellow loop'ers).

1998-11-20  Joshua Pritikin  <joshua.pritikin@db.com>

	* Release 0.25.

1998-11-19  Joshua Pritikin  <joshua.pritikin@db.com>

	* Move SAVETMPS/FREETMPS up to Event::_loop.

1998-11-13  Joshua Pritikin  <joshua.pritikin@db.com>

	* Split ACTIVE flag into two separate flags, ACTIVE & POLLING, to
 	more accurately track watcher state.

1998-11-09  Joshua Pritikin  <joshua.pritikin@db.com>

	* Tweaks to io 'events' mask handling.

	* Move @EXPORT_OK list for qw(R W E T) to Event::Watcher.

1998-11-06  Joshua Pritikin  <joshua.pritikin@db.com>

	* Fix SEGV in all_watchers/all_idle if zero watchers present.

1998-11-04  Joshua Pritikin  <joshua.pritikin@db.com>

	* Nuke obsolete backward support code in io.c.  (Poll constants to
 	set event mask.)

	* Rename event_vtbl->watcher.

1998-11-01  Joshua Pritikin  <joshua.pritikin@db.com>

	* Release 0.24.  [Massive code changes -- caution advised!]

	* Reengineered hash-object implementation to use HVs.

1998-10-31  Joshua Pritikin  <joshua.pritikin@db.com>

	* Removed tailpoll support from io watchers.  File::Tail can just
 	hook up with timers & a generic "block on read" API can be built
 	on top of that if need arises.  Nick, this okay?

	* Split watchers & events into separate C structures.

1998-10-24  Joshua Pritikin  <joshua.pritikin@db.com>

	* Fixed misbehaving autoload code.

	* END hook to cancel all events before global destruction.  Still
 	needs more work to be sure the memory is freed.

	* Fixed bad arithmetic in io timeout code.  Renamed interval
 	epsilon and added better diagnostics (see Event::_timeout_too_early).

1998-10-20  Joshua Pritikin  <joshua.pritikin@db.com>

	* Timers cancelled within their callback weren't!  Fixed.

1998-10-19  Joshua Pritikin  <joshua.pritikin@db.com>

	* Fix typo in c/queue.c (thanks again Jan!).

1998-10-18  Joshua Pritikin  <joshua.pritikin@db.com>

	* Release 0.23.

	* Unified Perl & C API for hooks.

	* Niggles for Win32 (thanks Jan!).

1998-10-17  Joshua Pritikin  <joshua.pritikin@db.com>

	* Release 0.22.

	* Include copy of self-tie patch with dist.

	* Documentation for Event::MakeMaker.

	* tailpoll revamped.


1998-10-15  Joshua Pritikin  <joshua.pritikin@db.com>

	* Improve sv_2interval typemap.

1998-10-08  Joshua Pritikin  <joshua.pritikin@db.com>

	* Release 0.21.

	* Try to normalize benchmark.

	* 'now' was broken for inactive events.  Fixed & added test.

	* Fixed infinite loop triggered by botched exception recovery.

1998-10-06  Joshua Pritikin  <joshua.pritikin@db.com>

	* Release 0.20.

	* Rename inactive to inactivity.

	* Use new self-tie to wrap watcher objects.  Leak test now passes
 	for almost all watcher types.

1998-10-04  Joshua Pritikin  <joshua.pritikin@db.com>

	* Slight improvements to gettimeofday.c.

	* Merged c_callback & perl_callback into one pointer slot.

1998-10-03  Joshua Pritikin  <joshua.pritikin@db.com>

	* Added timeable methods to the public API.

	* Var watchers weren't working very well.  Set up events/got mask
 	stuff mirroring io watchers.  Added tests.  Does anyone really
 	want timeouts?

	* Release 0.19.

	* Put in code for tailpoll, but I can't tell if it works because
 	the tail-f behavior seems to already happen automatically.
  	Comments?  See demo/tail.t.

	* Added inactive watchers (& tests).

	* timeable API changes to allow multiple timers per watcher.

	* Fixed non-ANSI function declaration in c/signal.c

	* Reduced C API.

	* Renamed queueEvent to queue.

	* Fixed refcnt problem in DELETE.

	* Dashes depreciated.

	* Added -timeout to process watchers.  Might be useful.

	* Fixed typo induced polling in one_event.

	* Moved R/W/E/T flags to Event from Event::io.

	* Changed the arguments to $Event::DIED in order to cope with
 	$Event::DIED dieing.  Fixed sweep exception handling.  Added test.

1998-10-02  Joshua Pritikin  <joshua.pritikin@db.com>

	* Watchers created with the C API now should require their perl
 	support code automatically.  Moved idle support to an autoloaded

	* Added sweep & loop($timeout).  Fixed sleep.

	* Release 0.18.

	* Added non-working export_fail prototype.  Suggestions welcome.

	* Re-factored start & stop better (the preCB method is gone).

	* Finished up sleep().  Added tests.

	* Tied watchers are now based on pe_tmevent.

1998-10-01  Joshua Pritikin  <joshua.pritikin@db.com>

	* Applied patch from Gisle for pe_sys_sleep/select.

	* Renamed 'watchvar' to 'var'.

	* Added tests for 'now' (it was completely broken!).

	* Tweaked debug levels.  Someone needs to inventory debug warnings
 	are decide what is reasonable.

	* Release 0.17

	* Added tests.
1998-09-30  Joshua Pritikin  <joshua.pritikin@db.com>

	* Added sleep().  Truly a tortuous experience.
	* Added min/max interval to idle watchers.

	* c_callback no longer prevents watcher destruction.  Use refcnt!

	* Renamed various C APIs for accuracy (unix_io.c).
	* Reentrant flag added.

1998-09-29  Joshua Pritikin  <joshua.pritikin@db.com>

	* Release 0.16 (only as a patch)

	* loop() now terminates when there are no active watchers left.

	* Depreciated async.  Moved -priority to -nice & added warning.

	* Fixed minor stuff.
	* Make io timeouts work for real.  (Thanks Gisle :-)

	* Release 0.15.

	* Improved the EventAPI.h version check.
	* Added -timeout for io watchers.  Untested.

	* Fix io watcher bugs (unix_io.c) pointed out by Gisle Aas.

1998-09-28  Joshua Pritikin  <joshua.pritikin@db.com>

	* Release 0.14.

	* Gutted the internals to make events reentrant.

	* The $Now cache was not being refreshed and that was causing
 	timers to be queued, well, never.

	* Fixed whitespace in Event.pod.  (Gisle Aas again.)

	* Optimized priority queue (hopefully).  I probably should have
 	benchmarked it first.  :-P

1998-09-27  Joshua Pritikin  <joshua.pritikin@db.com>

	* Release 0.13.
	* Moved and renamed lots of methods.  Yet, added code to ease
 	backward compatibility.  (perl-loop suggested)

1998-09-24  Joshua Pritikin  <joshua.pritikin@db.com>

	* Integrated rewritten documentation contributed by Gisle
 	Aas. Thanks!

1998-09-21  Joshua Pritikin  <joshua.pritikin@db.com>

	* Release 0.12.
	* Event::MakeMaker & event_api.h.

1998-09-14  Joshua Pritikin  <joshua.pritikin@db.com>

	* Add 'total' stat.  Moved stat methods to Event::Loop package.

1998-09-11  Joshua Pritikin  <joshua.pritikin@db.com>

	* Release 0.11.

1998-09-10  Joshua Pritikin  <joshua.pritikin@db.com>

	* Regularized exception handling.  $Event::DIED is now called if an
 	event dies.

	* Allow timer interval to be a scalar ref.

1998-09-09  Joshua Pritikin  <joshua.pritikin@db.com>

	* Tweaked queue scheduling.  Events with priorities <= 5 now
 	starve if higher priority events are available.

	* Changing the event priority of a queued event will now reque the
 	event into the appropriate queue.

	* Split NetServer::ProcessTop into it's own tarball.

1998-09-04  Joshua Pritikin  <joshua@eq1062.wks.na.deuba.com>

	* Release 0.10.

	* NetServer::ProcessTop implements a top-style control panel
 	available via telnet ($$ % 7000).  See util/top.pl.

	* Proxy "tied" event type that allows completely perl-side
 	implementation of new event handlers.

	* Event::process is working again (implementation is entirely in

	* Eliminated race conditions in signal handling.

	* Zombie events are still not being collected due to mysterious
 	refcnt problems.  It is possible that this cannot be resolved
 	until perl implements tied hashes properly (through a VTBL!).

	* Removed $Event::*::Count since it is superceded by
1998-08-28  Joshua Pritikin  <joshua@eq1062.wks.na.deuba.com>

	* Fixed serious bug in the event destructor.

1998-08-22  Joshua Pritikin  <joshua@eq1062.wks.na.deuba.com>

	* Accept file descriptor numbers in addition to filehandles, etc.
  	Maybe non-portable, but nice for unixen.

1998-08-19  Joshua Pritikin  <joshua.pritikin@db.com>

	* Fixed repeating timer logic.  Tweaks for idle events.

1998-08-14  Joshua Pritikin  <joshua.pritikin@db.com>
	* Completed re-write of almost everything in C.

Change 144 on 1998/05/31 by <gbarr@pobox.com> (Graham Barr)

	- Now passes $ref to callback
	- added use attrs qw(locked method) to all subs, and code to
	ensure this will work on pre-threaded perl

Change 143 on 1998/05/31 by <gbarr@pobox.com> (Graham Barr)

	- Fixed so will compile with threaded perl
	- Added -hard option

Change 124 on 1998/04/04 by <gbarr@pobox.com> (Graham Barr)

	new files

Change 123 on 1998/04/04 by <gbarr@pobox.com> (Graham Barr)

	- Tweaks to keys dispatchAsyncEvents()

Change 121 on 1998/04/01 by <gbarr@pobox.com> (Graham Barr)

	- added Time::HiRes
	Event::idle, Event
	- moved idle events into sub-module
	- Removed INSTALLDIRS => 'perl'