1# Version 2.5.1 2 3- Replace spinlock with a mutex. 4 5# Version 2.5.0 6 7- Add `EventListener::discard()`. 8 9# Version 2.4.0 10 11- `Event::new()` is now a const fn. 12 13# Version 2.3.3 14 15- Fix a bug in `List::insert()` that was causing deadlocks. 16 17# Version 2.3.2 18 19- Optimization: use a simple spinlock and cache an `Entry` for less allocation. 20 21# Version 2.3.1 22 23- Optimization: don't initialize `Inner` when notifying `Event`. 24 25# Version 2.3.0 26 27- Implement `UnwindSafe`/`RefUnwindSafe` for `Event`/`EventListener`. 28 29# Version 2.2.1 30 31- Always keep the last waker in `EventListener::poll()`. 32 33# Version 2.2.0 34 35- Add `EventListener::same_event()`. 36 37# Version 2.1.0 38 39- Add `EventListener::listens_to()`. 40 41# Version 2.0.1 42 43- Replace `usize::MAX` with `std::usize::MAX`. 44 45# Version 2.0.0 46 47- Remove `Event::notify_one()` and `Event::notify_all()`. 48- Add `Event::notify_relaxed()` and `Event::notify_additional_relaxed()`. 49- Dropped notified `EventListener` now notifies one *or* one additional listener. 50 51# Version 1.2.0 52 53- Add `Event::notify_additional()`. 54 55# Version 1.1.2 56 57- Change a `Relaxed` load to `Acquire` load. 58 59# Version 1.1.1 60 61- Fix a bug in `EventListener::wait_timeout()`. 62 63# Version 1.1.0 64 65- Add `EventListener::notify()`. 66 67# Version 1.0.1 68 69- Reduce the complexity of `notify_all()` from O(n) to amortized O(1). 70- Fix a bug where entries were notified in wrong order. 71- Add tests. 72 73# Version 1.0.0 74 75- Initial version. 76