1# Version 0.9.18
2
3- Remove dependency on `cfg-if`. (#1072)
4- Remove dependency on `autocfg`. (#1071)
5
6# Version 0.9.17
7
8- Remove dependency on `memoffset`. (#1058)
9
10# Version 0.9.16
11
12- Bump the minimum supported Rust version to 1.61. (#1037)
13- Improve support for targets without atomic CAS. (#1037)
14- Remove build script. (#1037)
15- Remove dependency on `scopeguard`. (#1045)
16- Update `loom` dependency to 0.7.
17
18# Version 0.9.15
19
20- Update `memoffset` to 0.9. (#981)
21
22# Version 0.9.14
23
24- Update `memoffset` to 0.8. (#955)
25
26# Version 0.9.13
27
28- Fix build script bug introduced in 0.9.12. (#932)
29
30# Version 0.9.12
31
32**Note:** This release has been yanked due to regression fixed in 0.9.13.
33
34- Update `memoffset` to 0.7. (#926)
35- Improve support for custom targets. (#922)
36
37# Version 0.9.11
38
39- Removes the dependency on the `once_cell` crate to restore the MSRV. (#913)
40- 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)
41
42# Version 0.9.10
43
44- Bump the minimum supported Rust version to 1.38. (#877)
45- Mitigate the risk of segmentation faults in buggy downstream implementations. (#879)
46- Add `{Atomic, Shared}::try_into_owned` (#701)
47
48# Version 0.9.9
49
50- Replace lazy_static with once_cell. (#817)
51
52# Version 0.9.8
53
54- Make `Atomic::null()` const function at 1.61+. (#797)
55
56# Version 0.9.7
57
58- Fix Miri error when `-Zmiri-check-number-validity` is enabled. (#779)
59
60# Version 0.9.6
61
62- Add `Atomic::fetch_update`. (#706)
63
64# Version 0.9.5
65
66- Fix UB in `Pointable` impl of `[MaybeUninit<T>]`. (#694)
67- Support targets that do not have atomic CAS on stable Rust. (#698)
68- Fix breakage with nightly feature due to rust-lang/rust#84510. (#692)
69
70# Version 0.9.4
71
72**Note**: This release has been yanked. See [#693](https://github.com/crossbeam-rs/crossbeam/issues/693) for details.
73
74- Fix UB in `<[MaybeUninit<T>] as Pointable>::init` when global allocator failed allocation. (#690)
75- Bump `loom` dependency to version 0.5. (#686)
76
77# Version 0.9.3
78
79**Note**: This release has been yanked. See [#693](https://github.com/crossbeam-rs/crossbeam/issues/693) for details.
80
81- Make `loom` dependency optional. (#666)
82
83# Version 0.9.2
84
85**Note**: This release has been yanked. See [#693](https://github.com/crossbeam-rs/crossbeam/issues/693) for details.
86
87- Add `Atomic::compare_exchange` and `Atomic::compare_exchange_weak`. (#628)
88- Deprecate `Atomic::compare_and_set` and `Atomic::compare_and_set_weak`. Use `Atomic::compare_exchange` or `Atomic::compare_exchange_weak` instead. (#628)
89- Make `const_fn` dependency optional. (#611)
90- Add unstable support for `loom`. (#487)
91
92# Version 0.9.1
93
94**Note**: This release has been yanked. See [#693](https://github.com/crossbeam-rs/crossbeam/issues/693) for details.
95
96- Bump `memoffset` dependency to version 0.6. (#592)
97
98# Version 0.9.0
99
100**Note**: This release has been yanked. See [#693](https://github.com/crossbeam-rs/crossbeam/issues/693) for details.
101
102- Bump the minimum supported Rust version to 1.36.
103- Support dynamically sized types.
104
105# Version 0.8.2
106
107- Fix bug in release (yanking 0.8.1)
108
109# Version 0.8.1
110
111- Bump `autocfg` dependency to version 1.0. (#460)
112- Reduce stall in list iteration. (#376)
113- Stop stealing from the same deque. (#448)
114- Fix unsoundness issues by adopting `MaybeUninit`. (#458)
115- Fix use-after-free in lock-free queue. (#466)
116
117# Version 0.8.0
118
119- Bump the minimum required version to 1.28.
120- Fix breakage with nightly feature due to rust-lang/rust#65214.
121- Make `Atomic::null()` const function at 1.31+.
122- Bump `crossbeam-utils` to `0.7`.
123
124# Version 0.7.2
125
126- Add `Atomic::into_owned()`.
127- Update `memoffset` dependency.
128
129# Version 0.7.1
130
131- Add `Shared::deref_mut()`.
132- Add a Treiber stack to examples.
133
134# Version 0.7.0
135
136- Remove `Guard::clone()`.
137- Bump dependencies.
138
139# Version 0.6.1
140
141- Update `crossbeam-utils` to `0.6`.
142
143# Version 0.6.0
144
145- `defer` now requires `F: Send + 'static`.
146- Bump the minimum Rust version to 1.26.
147- Pinning while TLS is tearing down does not fail anymore.
148- Rename `Handle` to `LocalHandle`.
149- Add `defer_unchecked` and `defer_destroy`.
150- Remove `Clone` impl for `LocalHandle`.
151
152# Version 0.5.2
153
154- Update `crossbeam-utils` to `0.5`.
155
156# Version 0.5.1
157
158- Fix compatibility with the latest Rust nightly.
159
160# Version 0.5.0
161
162- Update `crossbeam-utils` to `0.4`.
163- Specify the minimum Rust version to `1.25.0`.
164
165# Version 0.4.3
166
167- Downgrade `crossbeam-utils` to `0.3` because it was a breaking change.
168
169# Version 0.4.2
170
171- Expose the `Pointer` trait.
172- Warn missing docs and missing debug impls.
173- Update `crossbeam-utils` to `0.4`.
174
175# Version 0.4.1
176
177- Add `Debug` impls for `Collector`, `Handle`, and `Guard`.
178- Add `load_consume` to `Atomic`.
179- Rename `Collector::handle` to `Collector::register`.
180- Remove the `Send` implementation for `Handle` (this was a bug). Only
181  `Collector`s can be shared among multiple threads, while `Handle`s and
182  `Guard`s must stay within the thread in which they were created.
183
184# Version 0.4.0
185
186- Update dependencies.
187- Remove support for Rust 1.13.
188
189# Version 0.3.0
190
191- Add support for Rust 1.13.
192- Improve documentation for CAS.
193
194# Version 0.2.0
195
196- Add method `Owned::into_box`.
197- Fix a use-after-free bug in `Local::finalize`.
198- Fix an ordering bug in `Global::push_bag`.
199- Fix a bug in calculating distance between epochs.
200- Remove `impl<T> Into<Box<T>> for Owned<T>`.
201
202# Version 0.1.0
203
204- First version of the new epoch-based GC.
205