NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
crates.io · #78 most downloaded on crates.io
Utilities for concurrent programming
Last release 1 months ago
05 Sep 2026
Release timing varies
gaps range from 1 weeks to 1.6 years
Nearly every release is documented
notes for 35 of 35 stable releases
9 versions withdrawn
withdrawn after publishing
9 years old
44 releases · first in 2017
Fix SB violation when ShardedLockWriteGuard is leaked.
One column per quarter.
Improve implementation of CachePadded .
CachePadded. (#1152)Implement Display for CachePadded.
Display for CachePadded. (#1097)- Remove dependency on cfg-if.
cfg-if. (#1072)Relax the minimum supported Rust version to 1.60.
AtomicCell fallback. (#1055)Bump the minimum supported Rust version to 1.61.
UnwindSafe and RefUnwindSafe for AtomicCell. (#1045)oom=panic. (#1045)CachePadded. (#1014, #1025)loom dependency to 0.7.Improve implementation of CachePadded.
CachePadded. (#967)Soft-deprecate thread::scope() in favor of the more efficient std::scope that stabilized in Rust 1.63.
#[clippy::has_significant_drop] to ShardedLock{Read,Write}Guard. (#958)thread::scope() in favor of the more efficient std::thread::scope that stabilized in Rust 1.63. (#954)Fix build script bug introduced in 0.8.13.
Note: This release has been yanked due to regression fixed in 0.8.14.
Note: This release has been yanked due to regression fixed in 0.8.14.
Removes the dependency on the once_cell crate to restore the MSRV.
once_cell crate to restore the MSRV. (#913)Bump the minimum supported Rust version to 1.38.
Fix unsoundness of AtomicCell on types containing niches. (#834) This fix contains breaking changes, but they are allowed because this is a soundness…
AtomicCell on types containing niches. (#834)
This fix contains breaking changes, but they are allowed because this is a soundness bug fix. See #834 for more.Replace lazy_static with once_cell.
Improve compatibility with ThreadSanitizer.
Optimize Worker::push , Stealer::steal_batch* , Injector::steal_batch* .
Worker::push, Stealer::steal_batch*, Injector::steal_batch*. (#1233)AtomicCell<{i*,u*}>::{fetch_max,fetch_min}. (#785)AtomicCell<{i*,u*,bool}>::fetch_nand. (#785)AtomicCell<{i,u}64> arithmetics on 32-bit targets that support Atomic{I,U}64 (#781)Fix stack overflow when pushing large value to Injector . ( #1146 , #1147 , #1159 )
Note: This release has been yanked. See GHSA-qc84-gqf4-9926 for details.
AtomicCell<{i,u}64>::{fetch_add,fetch_sub,fetch_and,fetch_or,fetch_xor} that were accidentally removed in 0.8.0 on targets that do not support Atomic{I,U}64. (#767)AtomicCell<{i,u}128>::{fetch_add,fetch_sub,fetch_and,fetch_or,fetch_xor} that were accidentally removed in 0.8.0. (#767)Update MSRV policy to support 1 year instead of 6 months to meet rayon's MSRV policy.
Note: This release has been yanked. See GHSA-qc84-gqf4-9926 for details.
AtomicCell::fetch_update. (#704)- Remove dependency on cfg-if.
cfg-if. (#1072)Note: This release has been yanked. See GHSA-qc84-gqf4-9926 for details.
loom dependency to version 0.5. (#686)Bump the minimum supported Rust version to 1.61.
Note: This release has been yanked. See GHSA-qc84-gqf4-9926 for details.
loom dependency optional. (#666)Bump the minimum supported Rust version to 1.38.
Note: This release has been yanked. See GHSA-qc84-gqf4-9926 for details.
AtomicCell::compare_and_swap. Use AtomicCell::compare_exchange instead. (#619)Parker::park_deadline. (#563)CachePadded. (#636)loom. (#487)Support targets that do not have atomic CAS on stable Rust
Note: This release has been yanked. See GHSA-qc84-gqf4-9926 for details.
AtomicCell::is_lock_free always const fn. (#600)seq_lock_wide. (#596)const_fn dependency. (#600)crossbeam-utils no longer fails to compile if unable to determine rustc version. Instead, it now displays a warning. (#604)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-qc84-gqf4-9926 for details.
AtomicCell::get_mut() and Backoff::is_complete() methods.alloc feature.CachePadded::new() const function.AtomicCell::is_lock_free() const function at 1.46+.From<T> for AtomicCell<T>.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.- Bump crossbeam-utils to 0.6.5.
crossbeam-utils to 0.6.5.autocfg dependency to version 1.0. (#460)AtomicCell lockfree for u8, u16, u32, u64 sized values at 1.34+. (#454)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.#[repr(transparent)] to AtomicCell.AtomicCell::new() const function at 1.31+.Add UnwindSafe and RefUnwindSafe impls for AtomicCell.
UnwindSafe and RefUnwindSafe impls for AtomicCell.AtomicCell::as_ptr().AtomicCell::take().AtomicCell::compare_exchange() and AtomicCell::compare_and_swap().Rename Backoff::is_complete() to Backoff::is_completed().
Backoff::is_complete() to Backoff::is_completed().Add WaitGroup, ShardedLock, and Backoff.
WaitGroup, ShardedLock, and Backoff.fetch_* methods for AtomicCell<i128> and AtomicCell<u128>.- Add AtomicCell. - Improve documentation.
AtomicCell.- Add Parker. - Improve documentation.
Parker.Fix a soundness bug in Scope::spawn().
Scope::spawn().T: 'scope bound on ScopedJoinHandle.- Update dependencies.
AtomicConsume to atomic module.scope() returns a Result of thread joins.spawn_unchecked.Copy, Hash, PartialEq, and Eq for CachePadded.CachePadded::into_inner().Update crossbeam-channel to 0.3.
crossbeam-channel to 0.3.crossbeam-utils to 0.6.AtomicCell, SharedLock, and WaitGroup.Fix a double-free bug in MsQueue and SegQueue.
MsQueue and SegQueue.CachePadded supports types bigger than 64 bytes.
CachePadded supports types bigger than 64 bytes.Mark load_consume with #[inline].
load_consume with #[inline].load_consume on ARM and AArch64.
load_consume on ARM and AArch64.Add join for scoped thread API.
join for scoped thread API.load_consume for atomic load-consume memory ordering.AtomicOption.Call T::clone when cloning a CachePadded .
T::clone when cloning a CachePadded<T>.- Add use_std feature.
use_std feature.Use repr(align(64)) on CachePadded with the nightly feature.
nightly feature.repr(align(64)) on CachePadded with the nightly feature.Drop for CachePadded<T>.Clone for CachePadded<T>.From<T> for CachePadded<T>.Debug for CachePadded<T>.ZerosValid.Old implementation of CachePadded from crossbeam version 0.3.0
CachePadded from crossbeam version 0.3.0Your coding agent can read these notes before it upgrades. Set up the MCP server →