1# Version 0.9.5
2
3- Fix UB in `Pointable` impl of `[MaybeUninit<T>]` (#694)
4- Support targets that do not have atomic CAS on stable Rust (#698)
5- Fix breakage with nightly feature due to rust-lang/rust#84510 (#692)
6
7# Version 0.9.4
8
9- Fix UB in `<[MaybeUninit<T>] as Pointable>::init` when global allocator failed allocation (#690)
10- Bump `loom` dependency to version 0.5. (#686)
11
12# Version 0.9.3
13
14- Make `loom` dependency optional. (#666)
15
16# Version 0.9.2
17
18- Add `Atomic::compare_exchange` and `Atomic::compare_exchange_weak`. (#628)
19- Deprecate `Atomic::compare_and_set` and `Atomic::compare_and_set_weak`. Use `Atomic::compare_exchange` or `Atomic::compare_exchange_weak` instead. (#628)
20- Make `const_fn` dependency optional. (#611)
21- Add unstable support for `loom`. (#487)
22
23# Version 0.9.1
24
25- Bump `memoffset` dependency to version 0.6. (#592)
26
27# Version 0.9.0
28
29- Bump the minimum supported Rust version to 1.36.
30- Support dynamically sized types.
31
32# Version 0.8.2
33
34- Fix bug in release (yanking 0.8.1)
35
36# Version 0.8.1
37
38- Bump `autocfg` dependency to version 1.0. (#460)
39- Reduce stall in list iteration. (#376)
40- Stop stealing from the same deque. (#448)
41- Fix unsoundness issues by adopting `MaybeUninit`. (#458)
42- Fix use-after-free in lock-free queue. (#466)
43
44# Version 0.8.0
45
46- Bump the minimum required version to 1.28.
47- Fix breakage with nightly feature due to rust-lang/rust#65214.
48- Make `Atomic::null()` const function at 1.31+.
49- Bump `crossbeam-utils` to `0.7`.
50
51# Version 0.7.2
52
53- Add `Atomic::into_owned()`.
54- Update `memoffset` dependency.
55
56# Version 0.7.1
57
58- Add `Shared::deref_mut()`.
59- Add a Treiber stack to examples.
60
61# Version 0.7.0
62
63- Remove `Guard::clone()`.
64- Bump dependencies.
65
66# Version 0.6.1
67
68- Update `crossbeam-utils` to `0.6`.
69
70# Version 0.6.0
71
72- `defer` now requires `F: Send + 'static`.
73- Bump the minimum Rust version to 1.26.
74- Pinning while TLS is tearing down does not fail anymore.
75- Rename `Handle` to `LocalHandle`.
76- Add `defer_unchecked` and `defer_destroy`.
77- Remove `Clone` impl for `LocalHandle`.
78
79# Version 0.5.2
80
81- Update `crossbeam-utils` to `0.5`.
82
83# Version 0.5.1
84
85- Fix compatibility with the latest Rust nightly.
86
87# Version 0.5.0
88
89- Update `crossbeam-utils` to `0.4`.
90- Specify the minimum Rust version to `1.25.0`.
91
92# Version 0.4.3
93
94- Downgrade `crossbeam-utils` to `0.3` because it was a breaking change.
95
96# Version 0.4.2
97
98- Expose the `Pointer` trait.
99- Warn missing docs and missing debug impls.
100- Update `crossbeam-utils` to `0.4`.
101
102# Version 0.4.1
103
104- Add `Debug` impls for `Collector`, `Handle`, and `Guard`.
105- Add `load_consume` to `Atomic`.
106- Rename `Collector::handle` to `Collector::register`.
107- Remove the `Send` implementation for `Handle` (this was a bug). Only
108  `Collector`s can be shared among multiple threads, while `Handle`s and
109  `Guard`s must stay within the thread in which they were created.
110
111# Version 0.4.0
112
113- Update dependencies.
114- Remove support for Rust 1.13.
115
116# Version 0.3.0
117
118- Add support for Rust 1.13.
119- Improve documentation for CAS.
120
121# Version 0.2.0
122
123- Add method `Owned::into_box`.
124- Fix a use-after-free bug in `Local::finalize`.
125- Fix an ordering bug in `Global::push_bag`.
126- Fix a bug in calculating distance between epochs.
127- Remove `impl<T> Into<Box<T>> for Owned<T>`.
128
129# Version 0.1.0
130
131- First version of the new epoch-based GC.
132