The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.
[Changes for 0.29 - 2008-12-13]

* Publisher and index fixes

* We don't need to force select_timeout anymore, and it causes
  explosions if called during global destruction, when $$self->[0]
  (_part_ of the pseudohash) may have gone missing already, but the
  object itself is still there.  So $$self->{anything} explodes with
  "not a hash reference" _sometimes_, despite $$self always being an
  arrayref.
  ..friends don't let friends use pseudohashes.

[Changes for 0.28 - 2008-08-15]

* We now require DBM::Deep 1.00 or later.

* Improved data consistency in DBM::Deep backend so it won't sometimes
  die with a "not an ARRAY reference" message.
  Reported by: Matthew Pitts

[Changes for 0.27 - 2007-10-09]

* Adjust tests so it no longer fails with newer versions of DBM::Deep.

[Changes for 0.26 - 2007-05-31]

* Repair a broken attempt at PAUSE uploading.

[Changes for 0.25 - 2007-05-31]

* The DBM::Deep tests of t/basic.t now explicitly passes the temporary
  database file to the backend; now it won't hangs on OSX anymore.
  Contributed by: Arne Skjærholt

[Changes for 0.24 - 2007-02-26]

* Typo fix in Memcached driver.

[Changes for 0.23 - 2007-02-19]

* New ->disconnect API to explicitly disconnect from the backend store.
  Contributed by: Alex Vandiver

[Changes for 0.22 - 2006-12-11]

* INCOMPATIBLE CHANGE to Jifty::DBI backend: "key" column changed to "data_key"
  because "key" is a reserved word in some SQL databases.
  Contributed by: Jesse Vincent

[Changes for 0.21 - 2006-10-26]

* Speed up ->modify calls for the Memcached backend.
* Normalized internal keys for channels, messages and data so they can't clash.

[Changes for 0.20 - 2006-10-25]

* Memcached: Remove the debug messages accidentally left in ->lock and ->unlock.
* New ->modify API for IPC::PubSub and Cache to atomically manipulate cache.
* Time::HiRes is now required to reduce locking contention.

[Changes for 0.11 - 2006-10-25]

* The Memcached backend now takes a namespace parameter to avoid collision.
* The ->lock, ->unlock, ->fetch, ->store APIs in IPC::PubSub now works again.

[Changes for 0.10 - 2006-10-25]

* Renamed from MessageBus.pm to IPC::PubSub.
* IPC::PubSub's factory methods are now ->new_subscriber and ->new_publisher.
* New ->channels API for Publisher and Subscriber objects.
* New ->publish, ->unpublish and ->expiry APIs for Publisher objects.
* New ->subscribe, ->unsubscribe APIs for Subscriber objects.

[Changes for 0.04 - 2006-10-24]

* Expose ->lock, ->unlock, ->fetch, ->store APIs into the IPC::PubSub object.
* Implement ->lock and ->unlock methods for non-Memcached backends.
* The tests are no longer entirely skipped when memcached is not running.

[Changes for 0.03 - 2006-10-24]

* New backend: JiftyDBI.
* Multiple publishers now work in DBM_Deep and Memcached backends.
* Memcached now atomically handles publisher announcement and removal.

[Changes for 0.02 - 2006-10-24]

* Thanks to mstrout++ this thing actually works now. :-)
* Switched from Class::InsideOut to Class::Accessor::Fast.

[Changes for 0.01 - 2006-10-24]

* Initial release to CPAN of this three-hours-old hack.