Version 2.5.1

  • Replace spinlock with a mutex.

Version 2.5.0

  • Add EventListener::discard().

Version 2.4.0

  • Event::new() is now a const fn.

Version 2.3.3

  • Fix a bug in List::insert() that was causing deadlocks.

Version 2.3.2

  • Optimization: use a simple spinlock and cache an Entry for less allocation.

Version 2.3.1

  • Optimization: don't initialize Inner when notifying Event.

Version 2.3.0

  • Implement UnwindSafe/RefUnwindSafe for Event/EventListener.

Version 2.2.1

  • Always keep the last waker in EventListener::poll().

Version 2.2.0

  • Add EventListener::same_event().

Version 2.1.0

  • Add EventListener::listens_to().

Version 2.0.1

  • Replace usize::MAX with std::usize::MAX.

Version 2.0.0

  • Remove Event::notify_one() and Event::notify_all().
  • Add Event::notify_relaxed() and Event::notify_additional_relaxed().
  • Dropped notified EventListener now notifies one or one additional listener.

Version 1.2.0

  • Add Event::notify_additional().

Version 1.1.2

  • Change a Relaxed load to Acquire load.

Version 1.1.1

  • Fix a bug in EventListener::wait_timeout().

Version 1.1.0

  • Add EventListener::notify().

Version 1.0.1

  • Reduce the complexity of notify_all() from O(n) to amortized O(1).
  • Fix a bug where entries were notified in wrong order.
  • Add tests.

Version 1.0.0

  • Initial version.