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