]>
Commit | Line | Data |
---|---|---|
487cf647 FG |
1 | # Version 0.8.14 |
2 | ||
3 | - Fix build script bug introduced in 0.8.13. (#932) | |
4 | ||
5 | # Version 0.8.13 | |
6 | ||
7 | **Note:** This release has been yanked due to regression fixed in 0.8.14. | |
8 | ||
9 | - Improve support for custom targets. (#922) | |
10 | ||
2b03887a FG |
11 | # Version 0.8.12 |
12 | ||
13 | - Removes the dependency on the `once_cell` crate to restore the MSRV. (#913) | |
14 | - Work around [rust-lang#98302](https://github.com/rust-lang/rust/issues/98302), which causes compile error on windows-gnu when LTO is enabled. (#913) | |
15 | ||
f2b60f7d FG |
16 | # Version 0.8.11 |
17 | ||
18 | - Bump the minimum supported Rust version to 1.38. (#877) | |
19 | ||
064997fb FG |
20 | # Version 0.8.10 |
21 | ||
22 | - Fix unsoundness of `AtomicCell` on types containing niches. (#834) | |
23 | This fix contains breaking changes, but they are allowed because this is a soundness bug fix. See #834 for more. | |
24 | ||
25 | # Version 0.8.9 | |
26 | ||
27 | - Replace lazy_static with once_cell. (#817) | |
28 | ||
5e7ed085 FG |
29 | # Version 0.8.8 |
30 | ||
31 | - Fix a bug when unstable `loom` support is enabled. (#787) | |
32 | ||
5099ac24 FG |
33 | # Version 0.8.7 |
34 | ||
35 | - Add `AtomicCell<{i*,u*}>::{fetch_max,fetch_min}`. (#785) | |
36 | - Add `AtomicCell<{i*,u*,bool}>::fetch_nand`. (#785) | |
37 | - Fix unsoundness of `AtomicCell<{i,u}64>` arithmetics on 32-bit targets that support `Atomic{I,U}64` (#781) | |
38 | ||
39 | # Version 0.8.6 | |
40 | ||
064997fb | 41 | **Note:** This release has been yanked. See [GHSA-qc84-gqf4-9926](https://github.com/crossbeam-rs/crossbeam/security/advisories/GHSA-qc84-gqf4-9926) for details. |
5e7ed085 | 42 | |
5099ac24 FG |
43 | - Re-add `AtomicCell<{i,u}64>::{fetch_add,fetch_sub,fetch_and,fetch_or,fetch_xor}` that were accidentally removed in 0.8.0 on targets that do not support `Atomic{I,U}64`. (#767) |
44 | - Re-add `AtomicCell<{i,u}128>::{fetch_add,fetch_sub,fetch_and,fetch_or,fetch_xor}` that were accidentally removed in 0.8.0. (#767) | |
45 | ||
17df50a5 XL |
46 | # Version 0.8.5 |
47 | ||
064997fb | 48 | **Note:** This release has been yanked. See [GHSA-qc84-gqf4-9926](https://github.com/crossbeam-rs/crossbeam/security/advisories/GHSA-qc84-gqf4-9926) for details. |
5e7ed085 | 49 | |
5099ac24 FG |
50 | - Add `AtomicCell::fetch_update`. (#704) |
51 | - Support targets that do not have atomic CAS on stable Rust. (#698) | |
17df50a5 XL |
52 | |
53 | # Version 0.8.4 | |
54 | ||
064997fb | 55 | **Note:** This release has been yanked. See [GHSA-qc84-gqf4-9926](https://github.com/crossbeam-rs/crossbeam/security/advisories/GHSA-qc84-gqf4-9926) for details. |
5e7ed085 | 56 | |
17df50a5 XL |
57 | - Bump `loom` dependency to version 0.5. (#686) |
58 | ||
6a06907d XL |
59 | # Version 0.8.3 |
60 | ||
064997fb | 61 | **Note:** This release has been yanked. See [GHSA-qc84-gqf4-9926](https://github.com/crossbeam-rs/crossbeam/security/advisories/GHSA-qc84-gqf4-9926) for details. |
5e7ed085 | 62 | |
6a06907d XL |
63 | - Make `loom` dependency optional. (#666) |
64 | ||
65 | # Version 0.8.2 | |
66 | ||
064997fb | 67 | **Note:** This release has been yanked. See [GHSA-qc84-gqf4-9926](https://github.com/crossbeam-rs/crossbeam/security/advisories/GHSA-qc84-gqf4-9926) for details. |
5e7ed085 | 68 | |
6a06907d XL |
69 | - Deprecate `AtomicCell::compare_and_swap`. Use `AtomicCell::compare_exchange` instead. (#619) |
70 | - Add `Parker::park_deadline`. (#563) | |
71 | - Improve implementation of `CachePadded`. (#636) | |
72 | - Add unstable support for `loom`. (#487) | |
73 | ||
5869c6ff XL |
74 | # Version 0.8.1 |
75 | ||
064997fb | 76 | **Note:** This release has been yanked. See [GHSA-qc84-gqf4-9926](https://github.com/crossbeam-rs/crossbeam/security/advisories/GHSA-qc84-gqf4-9926) for details. |
5e7ed085 | 77 | |
5869c6ff XL |
78 | - Make `AtomicCell::is_lock_free` always const fn. (#600) |
79 | - Fix a bug in `seq_lock_wide`. (#596) | |
80 | - Remove `const_fn` dependency. (#600) | |
81 | - `crossbeam-utils` no longer fails to compile if unable to determine rustc version. Instead, it now displays a warning. (#604) | |
82 | ||
83 | # Version 0.8.0 | |
84 | ||
064997fb | 85 | **Note:** This release has been yanked. See [GHSA-qc84-gqf4-9926](https://github.com/crossbeam-rs/crossbeam/security/advisories/GHSA-qc84-gqf4-9926) for details. |
5e7ed085 | 86 | |
5869c6ff | 87 | - Bump the minimum supported Rust version to 1.36. |
6a06907d | 88 | - Remove deprecated `AtomicCell::get_mut()` and `Backoff::is_complete()` methods. |
5869c6ff XL |
89 | - Remove `alloc` feature. |
90 | - Make `CachePadded::new()` const function. | |
91 | - Make `AtomicCell::is_lock_free()` const function at 1.46+. | |
92 | - Implement `From<T>` for `AtomicCell<T>`. | |
93 | ||
94 | # Version 0.7.2 | |
95 | ||
96 | - Fix bug in release (yanking 0.7.1) | |
97 | ||
98 | # Version 0.7.1 | |
99 | ||
100 | - Bump `autocfg` dependency to version 1.0. (#460) | |
101 | - Make `AtomicCell` lockfree for u8, u16, u32, u64 sized values at 1.34+. (#454) | |
102 | ||
103 | # Version 0.7.0 | |
104 | ||
105 | - Bump the minimum required version to 1.28. | |
106 | - Fix breakage with nightly feature due to rust-lang/rust#65214. | |
107 | - Apply `#[repr(transparent)]` to `AtomicCell`. | |
108 | - Make `AtomicCell::new()` const function at 1.31+. | |
109 | ||
110 | # Version 0.6.6 | |
111 | ||
112 | - Add `UnwindSafe` and `RefUnwindSafe` impls for `AtomicCell`. | |
113 | - Add `AtomicCell::as_ptr()`. | |
114 | - Add `AtomicCell::take()`. | |
115 | - Fix a bug in `AtomicCell::compare_exchange()` and `AtomicCell::compare_and_swap()`. | |
116 | - Various documentation improvements. | |
117 | ||
118 | # Version 0.6.5 | |
119 | ||
120 | - Rename `Backoff::is_complete()` to `Backoff::is_completed()`. | |
121 | ||
122 | # Version 0.6.4 | |
123 | ||
124 | - Add `WaitGroup`, `ShardedLock`, and `Backoff`. | |
125 | - Add `fetch_*` methods for `AtomicCell<i128>` and `AtomicCell<u128>`. | |
126 | - Expand documentation. | |
127 | ||
128 | # Version 0.6.3 | |
129 | ||
130 | - Add `AtomicCell`. | |
131 | - Improve documentation. | |
132 | ||
133 | # Version 0.6.2 | |
134 | ||
135 | - Add `Parker`. | |
136 | - Improve documentation. | |
137 | ||
138 | # Version 0.6.1 | |
139 | ||
140 | - Fix a soundness bug in `Scope::spawn()`. | |
141 | - Remove the `T: 'scope` bound on `ScopedJoinHandle`. | |
142 | ||
143 | # Version 0.6.0 | |
144 | ||
145 | - Move `AtomicConsume` to `atomic` module. | |
146 | - `scope()` returns a `Result` of thread joins. | |
147 | - Remove `spawn_unchecked`. | |
148 | - Fix a soundness bug due to incorrect lifetimes. | |
149 | - Improve documentation. | |
150 | - Support nested scoped spawns. | |
151 | - Implement `Copy`, `Hash`, `PartialEq`, and `Eq` for `CachePadded`. | |
152 | - Add `CachePadded::into_inner()`. | |
153 | ||
154 | # Version 0.5.0 | |
155 | ||
156 | - Reorganize sub-modules and rename functions. | |
157 | ||
158 | # Version 0.4.1 | |
159 | ||
160 | - Fix a documentation link. | |
161 | ||
162 | # Version 0.4.0 | |
163 | ||
164 | - `CachePadded` supports types bigger than 64 bytes. | |
165 | - Fix a bug in scoped threads where unitialized memory was being dropped. | |
166 | - Minimum required Rust version is now 1.25. | |
167 | ||
168 | # Version 0.3.2 | |
169 | ||
170 | - Mark `load_consume` with `#[inline]`. | |
171 | ||
172 | # Version 0.3.1 | |
173 | ||
174 | - `load_consume` on ARM and AArch64. | |
175 | ||
176 | # Version 0.3.0 | |
177 | ||
178 | - Add `join` for scoped thread API. | |
179 | - Add `load_consume` for atomic load-consume memory ordering. | |
180 | - Remove `AtomicOption`. | |
181 | ||
182 | # Version 0.2.2 | |
183 | ||
184 | - Support Rust 1.12.1. | |
185 | - Call `T::clone` when cloning a `CachePadded<T>`. | |
186 | ||
187 | # Version 0.2.1 | |
188 | ||
189 | - Add `use_std` feature. | |
190 | ||
191 | # Version 0.2.0 | |
192 | ||
193 | - Add `nightly` feature. | |
194 | - Use `repr(align(64))` on `CachePadded` with the `nightly` feature. | |
195 | - Implement `Drop` for `CachePadded<T>`. | |
196 | - Implement `Clone` for `CachePadded<T>`. | |
197 | - Implement `From<T>` for `CachePadded<T>`. | |
198 | - Implement better `Debug` for `CachePadded<T>`. | |
199 | - Write more tests. | |
200 | - Add this changelog. | |
201 | - Change cache line length to 64 bytes. | |
202 | - Remove `ZerosValid`. | |
203 | ||
204 | # Version 0.1.0 | |
205 | ||
206 | - Old implementation of `CachePadded` from `crossbeam` version 0.3.0 |