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