Source code

Revision control

Copy as Markdown

Other Tools

# Version 0.8.2
- Bump the minimum supported Rust version to 1.38. (#877)
# Version 0.8.1
- Fix deque steal race condition. (#726)
- Add `Stealer::len` method. (#708)
# Version 0.8.0
**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.
- Bump the minimum supported Rust version to 1.36.
- Add `Worker::len()` and `Injector::len()` methods.
- Add `std` (enabled by default) feature for forward compatibility.
# Version 0.7.4
- Fix deque steal race condition.
# Version 0.7.3
**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.
- Stop stealing from the same deque. (#448)
- Fix unsoundness issues by adopting `MaybeUninit`. (#458)
# Version 0.7.2
**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.
- Bump `crossbeam-epoch` to `0.8`.
- Bump `crossbeam-utils` to `0.7`.
# Version 0.7.1
**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.
- Bump the minimum required version of `crossbeam-utils`.
# Version 0.7.0
**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.
- Make `Worker::pop()` faster in the FIFO case.
- Replace `fifo()` nad `lifo()` with `Worker::new_fifo()` and `Worker::new_lifo()`.
- Add more batched steal methods.
- Introduce `Injector<T>`, a MPMC queue.
- Rename `Steal::Data` to `Steal::Success`.
- Add `Steal::or_else()` and implement `FromIterator` for `Steal`.
- Add `#[must_use]` to `Steal`.
# Version 0.6.3
- Bump `crossbeam-epoch` to `0.7`.
# Version 0.6.2
- Update `crosbeam-utils` to `0.6`.
# Version 0.6.1
- Change a few `Relaxed` orderings to `Release` in order to fix false positives by tsan.
# Version 0.6.0
- Add `Stealer::steal_many` for batched stealing.
- Change the return type of `pop` to `Pop<T>` so that spinning can be handled manually.
# Version 0.5.2
- Update `crossbeam-utils` to `0.5.0`.
# Version 0.5.1
- Minor optimizations.
# Version 0.5.0
- Add two deque constructors : `fifo()` and `lifo()`.
- Update `rand` to `0.5.3`.
- Rename `Deque` to `Worker`.
- Return `Option<T>` from `Stealer::steal`.
- Remove methods `Deque::len` and `Stealer::len`.
- Remove method `Deque::stealer`.
- Remove method `Deque::steal`.
# Version 0.4.1
- Update `crossbeam-epoch` to `0.5.0`.
# Version 0.4.0
- Update `crossbeam-epoch` to `0.4.2`.
- Update `crossbeam-utils` to `0.4.0`.
- Require minimum Rust version 1.25.
# Version 0.3.1
- Add `Deque::capacity`.
- Add `Deque::min_capacity`.
- Add `Deque::shrink_to_fit`.
- Update `crossbeam-epoch` to `0.3.0`.
- Support Rust 1.20.
- Shrink the buffer in `Deque::push` if necessary.
# Version 0.3.0
- Update `crossbeam-epoch` to `0.4.0`.
- Drop support for Rust 1.13.
# Version 0.2.0
- Update `crossbeam-epoch` to `0.3.0`.
- Support Rust 1.13.
# Version 0.1.1
- Update `crossbeam-epoch` to `0.2.0`.
# Version 0.1.0
- First implementation of the Chase-Lev deque.