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