Bug 1885602 - Part 2: Add a MozillaAccountMenuButton composable for the menu redesign...
[gecko.git] / third_party / rust / crossbeam-channel / CHANGELOG.md
blobf0d11e60c120b58e982ef3bc63325d35a55f5e03
1 # Version 0.5.6
3 - Bump the minimum supported Rust version to 1.38. (#877)
5 # Version 0.5.5
7 - Replace Spinlock with Mutex. (#835)
9 # Version 0.5.4
11 - Workaround a bug in upstream related to TLS access on AArch64 Linux. (#802)
13 # Version 0.5.3
15 **Note:** This release has been yanked. See [#802](https://github.com/crossbeam-rs/crossbeam/issues/802) for details.
17 - Fix panic on very large timeout. (#798)
19 # Version 0.5.2
21 **Note:** This release has been yanked. See [#802](https://github.com/crossbeam-rs/crossbeam/issues/802) for details.
23 - Fix stacked borrows violations when `-Zmiri-tag-raw-pointers` is enabled. (#763, #764)
25 # Version 0.5.1
27 - Fix memory leak in unbounded channel. (#669)
29 # Version 0.5.0
31 - Bump the minimum supported Rust version to 1.36.
32 - Add `at()` function.
33 - Add `Sender::send_deadline()` and `Receiver::recv_deadline()` methods.
34 - Add `Select::select_deadline()` and `Select::ready_deadline()` methods.
35 - Add `std` (enabled by default) feature for forward compatibility.
36 - Allow `select!` macro compile with `forbid(unsafe_code)`.
38 # Version 0.4.4
40 - Fix bug in release (yanking 0.4.3)
41 - Fix UB and breaking change introduced in 0.4.3
43 # Version 0.4.3
45 **Note:** This release has been yanked. See [GHSA-v5m7-53cv-f3hx](https://github.com/crossbeam-rs/crossbeam/security/advisories/GHSA-v5m7-53cv-f3hx) for details.
47 - Change license to "MIT OR Apache-2.0".
49 # Version 0.4.2
51 - Fix bug in release (yanking 0.4.1)
53 # Version 0.4.1
55 - Avoid time drift in `channel::tick`. (#456)
56 - Fix unsoundness issues by adopting `MaybeUninit`. (#458)
58 # Version 0.4.0
60 - Bump the minimum required version to 1.28.
61 - Bump `crossbeam-utils` to `0.7`.
63 # Version 0.3.9
65 - Fix a bug in reference counting.
66 - Optimize `recv_timeout()`.
67 - Add `Select::remove()`.
68 - Various small improvements, code cleanup, more tests.
70 # Version 0.3.8
72 - Bump the minimum required version of `crossbeam-utils`.
74 # Version 0.3.7
76 - Remove `parking_lot` and `rand` dependencies.
77 - Expand documentation.
78 - Implement `Default` for `Select`.
79 - Make `size_of::<Receiver<T>>()` smaller.
80 - Several minor optimizations.
81 - Add more tests.
83 # Version 0.3.6
85 - Fix a bug in initialization of unbounded channels.
87 # Version 0.3.5
89 - New implementation for unbounded channels.
90 - A number of small performance improvements.
91 - Remove `crossbeam-epoch` dependency.
93 # Version 0.3.4
95 - Bump `crossbeam-epoch` to `0.7`.
96 - Improve documentation.
98 # Version 0.3.3
100 - Relax the lifetime in `SelectedOperation<'_>`.
101 - Add `Select::try_ready()`, `Select::ready()`, and `Select::ready_timeout()`.
102 - Update licensing notices.
103 - Improve documentation.
104 - Add methods `is_disconnected()`, `is_timeout()`, `is_empty()`, and `is_full()` on error types.
106 # Version 0.3.2
108 - More elaborate licensing notices.
110 # Version 0.3.1
112 - Update `crossbeam-utils` to `0.6`.
114 # Version 0.3.0
116 - Add a special `never` channel type.
117 - Dropping all receivers now closes the channel.
118 - The interface of sending and receiving methods is now very similar to those in v0.1.
119 - The syntax for `send` in `select!` is now `send(sender, msg) -> res => body`.
120 - The syntax for `recv` in `select!` is now `recv(receiver) -> res => body`.
121 - New, more efficient interface for `Select` without callbacks.
122 - Timeouts can be specified in `select!`.
124 # Version 0.2.6
126 - `Select` struct that can add cases dynamically.
127 - More documentation (in particular, the FAQ section).
128 - Optimize contended sends/receives in unbounded channels.
130 # Version 0.2.5
132 - Use `LocalKey::try_with` instead of `LocalKey::with`.
133 - Remove helper macros `__crossbeam_channel*`.
135 # Version 0.2.4
137 - Make `select!` linearizable with other channel operations.
138 - Update `crossbeam-utils` to `0.5.0`.
139 - Update `parking_lot` to `0.6.3`.
140 - Remove Mac OS X tests.
142 # Version 0.2.3
144 - Add Mac OS X tests.
145 - Lower some memory orderings.
146 - Eliminate calls to `mem::unitialized`, which caused bugs with ZST.
148 # Version 0.2.2
150 - Add more tests.
151 - Update `crossbeam-epoch` to 0.5.0
152 - Initialize the RNG seed to a random value.
153 - Replace `libc::abort` with `std::process::abort`.
154 - Ignore clippy warnings in `select!`.
155 - Better interaction of `select!` with the NLL borrow checker.
157 # Version 0.2.1
159 - Fix compilation errors when using `select!` with `#[deny(unsafe_code)]`.
161 # Version 0.2.0
163 - Implement `IntoIterator<Item = T>` for `Receiver<T>`.
164 - Add a new `select!` macro.
165 - Add special channels `after` and `tick`.
166 - Dropping receivers doesn't close the channel anymore.
167 - Change the signature of `recv`, `send`, and `try_recv`.
168 - Remove `Sender::is_closed` and `Receiver::is_closed`.
169 - Remove `Sender::close` and `Receiver::close`.
170 - Remove `Sender::send_timeout` and `Receiver::recv_timeout`.
171 - Remove `Sender::try_send`.
172 - Remove `Select` and `select_loop!`.
173 - Remove all error types.
174 - Remove `Iter`, `TryIter`, and `IntoIter`.
175 - Remove the `nightly` feature.
176 - Remove ordering operators for `Sender` and `Receiver`.
178 # Version 0.1.3
180 - Add `Sender::disconnect` and `Receiver::disconnect`.
181 - Implement comparison operators for `Sender` and `Receiver`.
182 - Allow arbitrary patterns in place of `msg` in `recv(r, msg)`.
183 - Add a few conversion impls between error types.
184 - Add benchmarks for `atomicring` and `mpmc`.
185 - Add benchmarks for different message sizes.
186 - Documentation improvements.
187 - Update `crossbeam-epoch` to 0.4.0
188 - Update `crossbeam-utils` to 0.3.0
189 - Update `parking_lot` to 0.5
190 - Update `rand` to 0.4
192 # Version 0.1.2
194 - Allow conditional cases in `select_loop!` macro.
195 - Fix typos in documentation.
196 - Fix deadlock in selection when all channels are disconnected and a timeout is specified.
198 # Version 0.1.1
200 - Implement `Debug` for `Sender`, `Receiver`, `Iter`, `TryIter`, `IntoIter`, and `Select`.
201 - Implement `Default` for `Select`.
203 # Version 0.1.0
205 - First implementation of the channels.
206 - Add `select_loop!` macro by @TimNN.