PackageTrack
Sign in Get early access

crossbeam-utils

Utilities for concurrent programming

0.8.22 845M downloads/mo #72 most downloaded on crates.io crossbeam-rs/crossbeam

What this package is like to depend on

Last release 1 months ago

06 Jul 2026

Release timing varies

gaps range from 1 weeks to 1.6 years

Nearly every release is documented

notes for 34 of 34 stable releases

9 versions withdrawn

withdrawn after publishing

9 years old

43 releases · first in 2017

1 release in the last 12 months

see the full history below

Release timeline

43 releases · Aug 2017 to Jul 2026
2018 2019 2020 2021 2022 2023 2024 2025 2026
Release Pre-release Withdrawn

Releases

latest 43
  1. 0.8.22 06 Jul 2026
    Release notes
    • Make AtomicCell::{as_ptr,into_inner} const. (#1237)
    • Make CachePadded repr(C). (#1270)
    • Optimize WaitGroup. (#1195)
    Open source →
    Release notes
    • Make AtomicCell::{as_ptr,into_inner} const. (#1237)
    • Make CachePadded repr(C). (#1270)
    • Optimize WaitGroup. (#1195)
    Open source →
  2. 0.8.21 15 Dec 2024
    Release notes
    • Improve implementation of CachePadded. (#1152)
    Open source →
    Release notes
    • Improve implementation of CachePadded. (#1152)
    Open source →
  3. 0.8.20 19 May 2024
    Release notes
    • Implement Display for CachePadded. (#1097)
    Open source →
  4. 0.8.19 08 Jan 2024
    Release notes
    • Remove dependency on cfg-if. (#1072)
    Open source →
  5. 0.8.18 24 Dec 2023
    Release notes
    • Relax the minimum supported Rust version to 1.60. (#1056)
    • Improve scalability of AtomicCell fallback. (#1055)
    Open source →
  6. 0.8.17 13 Dec 2023
    Release notes
    • Bump the minimum supported Rust version to 1.61. (#1037)
    • Improve support for targets without atomic CAS or 64-bit atomic. (#1037)
    • Always implement UnwindSafe and RefUnwindSafe for AtomicCell. (#1045)
    • Improve compatibility with Miri, TSan, and loom. (#995, #1003)
    • Improve compatibility with unstable oom=panic. (#1045)
    • Improve implementation of CachePadded. (#1014, #1025)
    • Update loom dependency to 0.7.
    Open source →
  7. 0.8.16 12 Jun 2023
    Release notes
    • Improve implementation of CachePadded. (#967)
    Open source →
  8. 0.8.15 28 Feb 2023
    Release notes
    • Add #[clippy::has_significant_drop] to ShardedLock{Read,Write}Guard. (#958)
    • Improve handling of very large timeout. (#953)
    • Soft-deprecate thread::scope() in favor of the more efficient std::thread::scope that stabilized in Rust 1.63. (#954)
    Open source →
  9. 0.8.14 22 Nov 2022
    Release notes
    • Fix build script bug introduced in 0.8.13. (#932)
    Open source →
  10. 0.8.13 20 Nov 2022 withdrawn
    Release notes

    Note: This release has been yanked due to regression fixed in 0.8.14.

    • Improve support for custom targets. (#922)
    Open source →
  11. 0.8.12 29 Sep 2022
    Release notes
    • Removes the dependency on the once_cell crate to restore the MSRV. (#913)
    • Work around rust-lang#98302, which causes compile error on windows-gnu when LTO is enabled. (#913)
    Open source →
  12. 0.8.11 23 Jul 2022
    Release notes
    • Bump the minimum supported Rust version to 1.38. (#877)
    Open source →
  13. 0.8.10 23 Jun 2022
    Release notes
    • Fix unsoundness of 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.
    Open source →
  14. 0.8.9 16 Jun 2022
    Release notes
    • Replace lazy_static with once_cell. (#817)
    Open source →
  15. 0.8.8 15 Mar 2022
    Release notes
    • Fix a bug when unstable loom support is enabled. (#787)
    Open source →
  16. 0.8.7 05 Feb 2022
    Release notes
    • Optimize Worker::push, Stealer::steal_batch*, Injector::steal_batch*. (#1233)
    Open source →
    Release notes
    • Add AtomicCell<{i*,u*}>::{fetch_max,fetch_min}. (#785)
    • Add AtomicCell<{i*,u*,bool}>::fetch_nand. (#785)
    • Fix unsoundness of AtomicCell<{i,u}64> arithmetics on 32-bit targets that support Atomic{I,U}64 (#781)
    Open source →
  17. 0.8.6 08 Jan 2022 withdrawn
    Release notes
    • Fix stack overflow when pushing large value to Injector. (#1146, #1147, #1159)
    Open source →
    Release notes

    Note: This release has been yanked. See GHSA-qc84-gqf4-9926 for details.

    • Re-add 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)
    • Re-add AtomicCell<{i,u}128>::{fetch_add,fetch_sub,fetch_and,fetch_or,fetch_xor} that were accidentally removed in 0.8.0. (#767)
    Open source →
  18. 0.8.5 30 May 2021 withdrawn
    Release notes

    Note: This release has been yanked. See GHSA-qc84-gqf4-9926 for details.

    • Add AtomicCell::fetch_update. (#704)
    • Support targets that do not have atomic CAS on stable Rust. (#698)
    Open source →
  19. 0.8.4 29 Apr 2021 withdrawn
    Release notes
    • Remove dependency on cfg-if. (#1072)
    Open source →
    Release notes

    Note: This release has been yanked. See GHSA-qc84-gqf4-9926 for details.

    • Bump loom dependency to version 0.5. (#686)
    Open source →
  20. 0.8.3 25 Feb 2021 withdrawn
    Release notes
    • Bump the minimum supported Rust version to 1.61. (#1037)
    Open source →
    Release notes

    Note: This release has been yanked. See GHSA-qc84-gqf4-9926 for details.

    • Make loom dependency optional. (#666)
    Open source →
  21. 0.8.2 20 Feb 2021 withdrawn
    Release notes
    • Bump the minimum supported Rust version to 1.38. (#877)
    Open source →
    Release notes

    Note: This release has been yanked. See GHSA-qc84-gqf4-9926 for details.

    • Deprecate AtomicCell::compare_and_swap. Use AtomicCell::compare_exchange instead. (#619)
    • Add Parker::park_deadline. (#563)
    • Improve implementation of CachePadded. (#636)
    • Add unstable support for loom. (#487)
    Open source →
  22. 0.8.1 26 Nov 2020 withdrawn
    Release notes
    • Support targets that do not have atomic CAS on stable Rust (#698)
    Open source →
    Release notes

    Note: This release has been yanked. See GHSA-qc84-gqf4-9926 for details.

    • Make AtomicCell::is_lock_free always const fn. (#600)
    • Fix a bug in seq_lock_wide. (#596)
    • Remove const_fn dependency. (#600)
    • crossbeam-utils no longer fails to compile if unable to determine rustc version. Instead, it now displays a warning. (#604)
    Open source →
  23. 0.8.0 12 Oct 2020 withdrawn
    Release notes
    • Bump the minimum supported Rust version to 1.36.
    • Bump crossbeam-channel to 0.5.
    • Bump crossbeam-deque to 0.8.
    • Bump crossbeam-epoch to 0.9.
    • Bump crossbeam-queue to 0.3.
    • Bump crossbeam-utils to 0.8.
    Open source →
    Release notes

    Note: This release has been yanked. See GHSA-qc84-gqf4-9926 for details.

    • Bump the minimum supported Rust version to 1.36.
    • Remove deprecated AtomicCell::get_mut() and Backoff::is_complete() methods.
    • Remove alloc feature.
    • Make CachePadded::new() const function.
    • Make AtomicCell::is_lock_free() const function at 1.46+.
    • Implement From<T> for AtomicCell<T>.
    Open source →
  24. 0.7.2 22 Feb 2020
    Release notes
    • Bump crossbeam-channel to 0.3.9.
    • Bump crossbeam-epoch to 0.7.2.
    • Bump crossbeam-utils to 0.6.6.
    Open source →
    Release notes
    • Fix bug in release (yanking 0.7.1)
    Open source →
  25. 0.7.1 22 Feb 2020 withdrawn
    Release notes
    • Bump crossbeam-utils to 0.6.5.
    Open source →
    Release notes
    • Bump autocfg dependency to version 1.0. (#460)
    • Make AtomicCell lockfree for u8, u16, u32, u64 sized values at 1.34+. (#454)
    Open source →
  26. 0.7.0 06 Nov 2019
    Release notes
    • Remove ArcCell, MsQueue, and TreiberStack.
    • Change the interface of ShardedLock to match RwLock.
    • Add SegQueue::len().
    • Rename SegQueue::try_pop() to SegQueue::pop().
    • Change the return type of SegQueue::pop() to Result.
    • Introduce ArrayQueue.
    • Update dependencies.
    Open source →
    Release notes
    • Bump the minimum required version to 1.28.
    • Fix breakage with nightly feature due to rust-lang/rust#65214.
    • Apply #[repr(transparent)] to AtomicCell.
    • Make AtomicCell::new() const function at 1.31+.
    Open source →
  27. 0.6.6 24 Jul 2019
    Release notes
    • Add UnwindSafe and RefUnwindSafe impls for AtomicCell.
    • Add AtomicCell::as_ptr().
    • Add AtomicCell::take().
    • Fix a bug in AtomicCell::compare_exchange() and AtomicCell::compare_and_swap().
    • Various documentation improvements.
    Open source →
  28. 0.6.5 29 Jan 2019
    Release notes
    • Rename Backoff::is_complete() to Backoff::is_completed().
    Open source →
  29. 0.6.4 28 Jan 2019
    Release notes
    • Add WaitGroup, ShardedLock, and Backoff.
    • Add fetch_* methods for AtomicCell<i128> and AtomicCell<u128>.
    • Expand documentation.
    Open source →
  30. 0.6.3 11 Dec 2018
    Release notes
    • Add AtomicCell.
    • Improve documentation.
    Open source →
  31. 0.6.2 08 Dec 2018
    Release notes
    • Add Parker.
    • Improve documentation.
    Open source →
  32. 0.6.1 12 Nov 2018
    Release notes
    • Fix a soundness bug in Scope::spawn().
    • Remove the T: 'scope bound on ScopedJoinHandle.
    Open source →
  33. 0.6.0 09 Nov 2018
    Release notes
    • Update dependencies.
    Open source →
    Release notes
    • Move AtomicConsume to atomic module.
    • scope() returns a Result of thread joins.
    • Remove spawn_unchecked.
    • Fix a soundness bug due to incorrect lifetimes.
    • Improve documentation.
    • Support nested scoped spawns.
    • Implement Copy, Hash, PartialEq, and Eq for CachePadded.
    • Add CachePadded::into_inner().
    Open source →
  34. 0.5.0 22 Jul 2018
    Release notes
    • Update crossbeam-channel to 0.3.
    • Update crossbeam-utils to 0.6.
    • Add AtomicCell, SharedLock, and WaitGroup.
    Open source →
    Release notes
    • Reorganize sub-modules and rename functions.
    Open source →
  35. 0.4.1 28 Jun 2018
    Release notes
    • Fix a double-free bug in MsQueue and SegQueue.
    Open source →
    Release notes
    • Fix a documentation link.
    Open source →
  36. 0.4.0 17 May 2018
    Release notes
    • CachePadded supports types bigger than 64 bytes.
    • Fix a bug in scoped threads where unitialized memory was being dropped.
    • Minimum required Rust version is now 1.25.
    Open source →
  37. 0.3.2 11 Mar 2018
    Release notes
    • Mark load_consume with #[inline].
    Open source →
  38. 0.3.1 11 Mar 2018
    Release notes
    • load_consume on ARM and AArch64.
    Open source →
  39. 0.3.0 11 Mar 2018
    Release notes
    • Add join for scoped thread API.
    • Add load_consume for atomic load-consume memory ordering.
    • Remove AtomicOption.
    Open source →
  40. 0.2.2 13 Jan 2018
    Release notes
    • Support Rust 1.12.1.
    • Call T::clone when cloning a CachePadded<T>.
    Open source →
  41. 0.2.1 26 Nov 2017
    Release notes
    • Add use_std feature.
    Open source →
  42. 0.2.0 18 Nov 2017
    Release notes
    • Add nightly feature.
    • Use repr(align(64)) on CachePadded with the nightly feature.
    • Implement Drop for CachePadded<T>.
    • Implement Clone for CachePadded<T>.
    • Implement From<T> for CachePadded<T>.
    • Implement better Debug for CachePadded<T>.
    • Write more tests.
    • Add this changelog.
    • Change cache line length to 64 bytes.
    • Remove ZerosValid.
    Open source →
  43. 0.1.0 28 Aug 2017
    Release notes
    • Old implementation of CachePadded from crossbeam version 0.3.0
    Open source →

Every package, every release, already written down.

The archive is open and free. Watching your own project is what we are building next.

Browse the archive