NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
crates.io · #166 most downloaded on crates.io
Concurrent work-stealing deque
Last release 1 months ago
05 Sep 2026
Ships fairly regularly
a new release about every 9 months
Nearly every release is documented
notes for 23 of 23 stable releases
5 versions withdrawn
withdrawn after publishing
9 years old
28 releases · first in 2017
Improve compatibility with ThreadSanitizer.
Optimize Worker::push , Stealer::steal_batch* , Injector::steal_batch* .
Worker::push, Stealer::steal_batch*, Injector::steal_batch*. (#1233)One column per quarter.
Fix stack overflow when pushing large value to Injector . ( #1146 , #1147 , #1159 )
Update MSRV policy to support 1 year instead of 6 months to meet rayon's MSRV policy.
- Remove dependency on cfg-if.
cfg-if. (#1072)Bump the minimum supported Rust version to 1.61.
Stealer::{steal_batch_with_limit, steal_batch_with_limit_and_pop} methods. (#903)Injector::{steal_batch_with_limit, steal_batch_with_limit_and_pop} methods. (#903)Bump the minimum supported Rust version to 1.38.
Support targets that do not have atomic CAS on stable Rust
Stealer::len method. (#708)Bump the minimum supported Rust version to 1.36.
crossbeam-channel to 0.5.crossbeam-deque to 0.8.crossbeam-epoch to 0.9.crossbeam-queue to 0.3.crossbeam-utils to 0.8.Note: This release has been yanked. See GHSA-pqqp-xmhj-wgcw for details.
Worker::len() and Injector::len() methods.std (enabled by default) feature for forward compatibility.Fix deque steal race condition.
Fix breakage with nightly feature due to rust-lang/rust#65214.
crossbeam-channel to 0.4.crossbeam-epoch to 0.8.crossbeam-queue to 0.2.crossbeam-utils to 0.7.Note: This release has been yanked. See GHSA-pqqp-xmhj-wgcw for details.
MaybeUninit. (#458)Bump crossbeam-channel to 0.3.9.
crossbeam-channel to 0.3.9.crossbeam-epoch to 0.7.2.crossbeam-utils to 0.6.6.Note: This release has been yanked. See GHSA-pqqp-xmhj-wgcw for details.
crossbeam-epoch to 0.8.crossbeam-utils to 0.7.- Bump crossbeam-utils to 0.6.5.
crossbeam-utils to 0.6.5.Note: This release has been yanked. See GHSA-pqqp-xmhj-wgcw for details.
crossbeam-utils.Remove ArcCell, MsQueue, and TreiberStack.
ArcCell, MsQueue, and TreiberStack.ShardedLock to match RwLock.SegQueue::len().SegQueue::try_pop() to SegQueue::pop().SegQueue::pop() to Result.ArrayQueue.Note: This release has been yanked. See GHSA-pqqp-xmhj-wgcw for details.
Worker::pop() faster in the FIFO case.fifo() nad lifo() with Worker::new_fifo() and Worker::new_lifo().Injector<T>, a MPMC queue.Steal::Data to Steal::Success.Steal::or_else() and implement FromIterator for Steal.#[must_use] to Steal.- Bump crossbeam-epoch to 0.7.
crossbeam-epoch to 0.7.- Update crosbeam-utils to 0.6.
crosbeam-utils to 0.6.Change a few Relaxed orderings to Release in order to fix false positives by tsan.
Relaxed orderings to Release in order to fix false positives by tsan.- Update dependencies.
Stealer::steal_many for batched stealing.pop to Pop<T> so that spinning can be handled manually.Update crossbeam-utils to 0.5.0.
crossbeam-utils to 0.5.0.- Minor optimizations.
Update crossbeam-channel to 0.3.
crossbeam-channel to 0.3.crossbeam-utils to 0.6.AtomicCell, SharedLock, and WaitGroup.fifo() and lifo().rand to 0.5.3.Deque to Worker.Option<T> from Stealer::steal.Deque::len and Stealer::len.Deque::stealer.Deque::steal.Fix a double-free bug in MsQueue and SegQueue.
MsQueue and SegQueue.Update crossbeam-epoch to 0.4.2.
crossbeam-epoch to 0.4.2.crossbeam-utils to 0.4.0.Update crossbeam-epoch to 0.3.0.
Deque::capacity.Deque::min_capacity.Deque::shrink_to_fit.crossbeam-epoch to 0.3.0.Deque::push if necessary.Update crossbeam-epoch to 0.4.0.
crossbeam-epoch to 0.4.0.Update crossbeam-epoch to 0.3.0.
crossbeam-epoch to 0.3.0.Update crossbeam-epoch to 0.2.0.
crossbeam-epoch to 0.2.0.First implementation of the Chase-Lev deque.
Your coding agent can read these notes before it upgrades. Set up the MCP server →