1# Version 0.8.5
2
3- Remove dependency on `cfg-if`. (#1072)
4
5# Version 0.8.4
6
7- Bump the minimum supported Rust version to 1.61. (#1037)
8
9# Version 0.8.3
10
11- Add `Stealer::{steal_batch_with_limit, steal_batch_with_limit_and_pop}` methods. (#903)
12- Add `Injector::{steal_batch_with_limit, steal_batch_with_limit_and_pop}` methods. (#903)
13
14# Version 0.8.2
15
16- Bump the minimum supported Rust version to 1.38. (#877)
17
18# Version 0.8.1
19
20- Fix deque steal race condition. (#726)
21- Add `Stealer::len` method. (#708)
22
23# Version 0.8.0
24
25**Note:** This release has been yanked. See [GHSA-pqqp-xmhj-wgcw](https://github.com/crossbeam-rs/crossbeam/security/advisories/GHSA-pqqp-xmhj-wgcw) for details.
26
27- Bump the minimum supported Rust version to 1.36.
28- Add `Worker::len()` and `Injector::len()` methods.
29- Add `std` (enabled by default) feature for forward compatibility.
30
31# Version 0.7.4
32
33- Fix deque steal race condition.
34
35# Version 0.7.3
36
37**Note:** This release has been yanked. See [GHSA-pqqp-xmhj-wgcw](https://github.com/crossbeam-rs/crossbeam/security/advisories/GHSA-pqqp-xmhj-wgcw) for details.
38
39- Stop stealing from the same deque. (#448)
40- Fix unsoundness issues by adopting `MaybeUninit`. (#458)
41
42# Version 0.7.2
43
44**Note:** This release has been yanked. See [GHSA-pqqp-xmhj-wgcw](https://github.com/crossbeam-rs/crossbeam/security/advisories/GHSA-pqqp-xmhj-wgcw) for details.
45
46- Bump `crossbeam-epoch` to `0.8`.
47- Bump `crossbeam-utils` to `0.7`.
48
49# Version 0.7.1
50
51**Note:** This release has been yanked. See [GHSA-pqqp-xmhj-wgcw](https://github.com/crossbeam-rs/crossbeam/security/advisories/GHSA-pqqp-xmhj-wgcw) for details.
52
53- Bump the minimum required version of `crossbeam-utils`.
54
55# Version 0.7.0
56
57**Note:** This release has been yanked. See [GHSA-pqqp-xmhj-wgcw](https://github.com/crossbeam-rs/crossbeam/security/advisories/GHSA-pqqp-xmhj-wgcw) for details.
58
59- Make `Worker::pop()` faster in the FIFO case.
60- Replace `fifo()` nad `lifo()` with `Worker::new_fifo()` and `Worker::new_lifo()`.
61- Add more batched steal methods.
62- Introduce `Injector<T>`, a MPMC queue.
63- Rename `Steal::Data` to `Steal::Success`.
64- Add `Steal::or_else()` and implement `FromIterator` for `Steal`.
65- Add `#[must_use]` to `Steal`.
66
67# Version 0.6.3
68
69- Bump `crossbeam-epoch` to `0.7`.
70
71# Version 0.6.2
72
73- Update `crosbeam-utils` to `0.6`.
74
75# Version 0.6.1
76
77- Change a few `Relaxed` orderings to `Release` in order to fix false positives by tsan.
78
79# Version 0.6.0
80
81- Add `Stealer::steal_many` for batched stealing.
82- Change the return type of `pop` to `Pop<T>` so that spinning can be handled manually.
83
84# Version 0.5.2
85
86- Update `crossbeam-utils` to `0.5.0`.
87
88# Version 0.5.1
89
90- Minor optimizations.
91
92# Version 0.5.0
93
94- Add two deque constructors : `fifo()` and `lifo()`.
95- Update `rand` to `0.5.3`.
96- Rename `Deque` to `Worker`.
97- Return `Option<T>` from `Stealer::steal`.
98- Remove methods `Deque::len` and `Stealer::len`.
99- Remove method `Deque::stealer`.
100- Remove method `Deque::steal`.
101
102# Version 0.4.1
103
104- Update `crossbeam-epoch` to `0.5.0`.
105
106# Version 0.4.0
107
108- Update `crossbeam-epoch` to `0.4.2`.
109- Update `crossbeam-utils` to `0.4.0`.
110- Require minimum Rust version 1.25.
111
112# Version 0.3.1
113
114- Add `Deque::capacity`.
115- Add `Deque::min_capacity`.
116- Add `Deque::shrink_to_fit`.
117- Update `crossbeam-epoch` to `0.3.0`.
118- Support Rust 1.20.
119- Shrink the buffer in `Deque::push` if necessary.
120
121# Version 0.3.0
122
123- Update `crossbeam-epoch` to `0.4.0`.
124- Drop support for Rust 1.13.
125
126# Version 0.2.0
127
128- Update `crossbeam-epoch` to `0.3.0`.
129- Support Rust 1.13.
130
131# Version 0.1.1
132
133- Update `crossbeam-epoch` to `0.2.0`.
134
135# Version 0.1.0
136
137- First implementation of the Chase-Lev deque.
138