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