PackageTrack
Sign in Get early access

crossbeam-epoch

Epoch-based garbage collection

0.9.20 612M downloads/mo #152 most downloaded on crates.io crossbeam-rs/crossbeam

What this package is like to depend on

Last release 1 months ago

06 Jul 2026

Ships unpredictably

gaps range from 1 weeks to 2.5 years

Nearly every release is documented

notes for 32 of 33 stable releases

7 versions withdrawn

withdrawn after publishing

9 years old

40 releases · first in 2017

2 releases in the last 12 months

see the full history below

Release timeline

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

Releases

latest 40
  1. 0.9.20 06 Jul 2026
    Release notes
    • Fix invalid pointer dereference in fmt::Pointer impl for Atomic/Shared when the underlying pointer is invalid. This fixes unsoundness that was not fully addressed in 0.9.19's fix. (#1276)
    Open source →
    Release notes
    • Fix invalid pointer dereference in fmt::Pointer impl for Atomic/Shared when the underlying pointer is invalid. This fixes unsoundness that was not fully addressed in 0.9.19's fix. (#1276)
    Open source →
  2. 0.9.19 06 Jul 2026
    Release notes
    • Fix null pointer dereference in fmt::Pointer impl for Atomic/Shared when it is a null pointer. (#1273)
    • Fix return value of Atomic::fetch_update. (#1197)
    • Improve compatibility with ThreadSanitizer. (#998)
    • Allow unsized types in Guard::defer_destroy. (#1201)
    • Use 64-bit integer for epoch representation on 32-bit platforms if AtomicU64 is available. (#1230)
    Open source →
    Release notes
    • Fix null pointer dereference in fmt::Pointer impl for Atomic/Shared when it is a null pointer. (#1273)
    • Fix return value of Atomic::fetch_update. (#1197)
    • Improve compatibility with ThreadSanitizer. (#998)
    • Allow unsized types in Guard::defer_destroy. (#1201)
    • Use 64-bit integer for epoch representation on 32-bit platforms if AtomicU64 is available. (#1230)
    Open source →
  3. 0.9.18 08 Jan 2024
    Release notes
    • Remove dependency on cfg-if. (#1072)
    • Remove dependency on autocfg. (#1071)
    Open source →
  4. 0.9.17 24 Dec 2023
    Release notes
    • Remove dependency on memoffset. (#1058)
    Open source →
  5. 0.9.16 13 Dec 2023
    Release notes
    • Bump the minimum supported Rust version to 1.61. (#1037)
    • Improve support for targets without atomic CAS. (#1037)
    • Remove build script. (#1037)
    • Remove dependency on scopeguard. (#1045)
    • Update loom dependency to 0.7.
    Open source →
  6. 0.9.15 12 Jun 2023
    Release notes
    • Update memoffset to 0.9. (#981)
    Open source →
  7. 0.9.14 28 Feb 2023
    Release notes
    • Update memoffset to 0.8. (#955)
    Open source →
  8. 0.9.13 22 Nov 2022
    Release notes
    • Fix build script bug introduced in 0.9.12. (#932)
    Open source →
  9. 0.9.12 20 Nov 2022 withdrawn
    Release notes

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

    • Update memoffset to 0.7. (#926)
    • Improve support for custom targets. (#922)
    Open source →
  10. 0.9.11 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 →
  11. 0.9.10 23 Jul 2022
    Release notes
    • Bump the minimum supported Rust version to 1.38. (#877)
    • Mitigate the risk of segmentation faults in buggy downstream implementations. (#879)
    • Add {Atomic, Shared}::try_into_owned (#701)
    Open source →
  12. 0.9.9 16 Jun 2022
    Release notes
    • Replace lazy_static with once_cell. (#817)
    Open source →
  13. 0.9.8 15 Mar 2022
    Release notes
    • Make Atomic::null() const function at 1.61+. (#797)
    Open source →
  14. 0.9.7 05 Feb 2022
    Release notes
    • Fix Miri error when -Zmiri-check-number-validity is enabled. (#779)
    Open source →
  15. 0.9.6 08 Jan 2022
    Release notes
    • Add Atomic::fetch_update. (#706)
    Open source →
  16. 0.9.5 30 May 2021
    Release notes
    • Fix UB in Pointable impl of [MaybeUninit<T>]. (#694)
    • Support targets that do not have atomic CAS on stable Rust. (#698)
    • Fix breakage with nightly feature due to rust-lang/rust#84510. (#692)
    Open source →
  17. 0.9.4 29 Apr 2021 withdrawn
    Release notes

    Note: This release has been yanked. See #693 for details.

    • Fix UB in <[MaybeUninit<T>] as Pointable>::init when global allocator failed allocation. (#690)
    • Bump loom dependency to version 0.5. (#686)
    Open source →
  18. 0.9.3 25 Feb 2021 withdrawn
    Release notes

    Note: This release has been yanked. See #693 for details.

    • Make loom dependency optional. (#666)
    Open source →
  19. 0.9.2 20 Feb 2021 withdrawn
    Release notes

    Note: This release has been yanked. See #693 for details.

    • Add Atomic::compare_exchange and Atomic::compare_exchange_weak. (#628)
    • Deprecate Atomic::compare_and_set and Atomic::compare_and_set_weak. Use Atomic::compare_exchange or Atomic::compare_exchange_weak instead. (#628)
    • Make const_fn dependency optional. (#611)
    • Add unstable support for loom. (#487)
    Open source →
  20. 0.9.1 26 Nov 2020 withdrawn
    Release notes

    Note: This release has been yanked. See #693 for details.

    • Bump memoffset dependency to version 0.6. (#592)
    Open source →
  21. 0.9.0 12 Oct 2020 withdrawn
    Release notes

    Note: This release has been yanked. See #693 for details.

    • Bump the minimum supported Rust version to 1.36.
    • Support dynamically sized types.
    Open source →
  22. 0.8.2 22 Feb 2020
    Release notes
    • Bump the minimum supported Rust version to 1.38. (#877)
    Open source →
    Release notes
    • Fix bug in release (yanking 0.8.1)
    Open source →
  23. 0.8.1 22 Feb 2020 withdrawn
    Release notes
    • Support targets that do not have atomic CAS on stable Rust (#698)
    Open source →
    Release notes
    • Bump autocfg dependency to version 1.0. (#460)
    • Reduce stall in list iteration. (#376)
    • Stop stealing from the same deque. (#448)
    • Fix unsoundness issues by adopting MaybeUninit. (#458)
    • Fix use-after-free in lock-free queue. (#466)
    Open source →
  24. 0.8.0 06 Nov 2019
    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
    • Bump the minimum required version to 1.28.
    • Fix breakage with nightly feature due to rust-lang/rust#65214.
    • Make Atomic::null() const function at 1.31+.
    • Bump crossbeam-utils to 0.7.
    Open source →
  25. 0.7.2 24 Jul 2019
    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
    • Add Atomic::into_owned().
    • Update memoffset dependency.
    Open source →
  26. 0.7.1 28 Jan 2019
    Release notes
    • Bump crossbeam-utils to 0.6.5.
    Open source →
    Release notes
    • Add Shared::deref_mut().
    • Add a Treiber stack to examples.
    Open source →
  27. 0.7.0 16 Dec 2018
    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
    • Remove Guard::clone().
    • Bump dependencies.
    Open source →
  28. 0.6.1 09 Nov 2018
    Release notes
    • Update crossbeam-utils to 0.6.
    Open source →
  29. 0.6.0 11 Sep 2018
    Release notes
    • Update dependencies.
    Open source →
    Release notes
    • defer now requires F: Send + 'static.
    • Bump the minimum Rust version to 1.26.
    • Pinning while TLS is tearing down does not fail anymore.
    • Rename Handle to LocalHandle.
    • Add defer_unchecked and defer_destroy.
    • Remove Clone impl for LocalHandle.
    Open source →
  30. 0.5.2 02 Aug 2018
    Release notes
    • Update crossbeam-utils to 0.5.
    Open source →
  31. 0.5.1 20 Jul 2018
    Release notes
    • Fix compatibility with the latest Rust nightly.
    Open source →
  32. 0.5.0 12 Jun 2018
    Release notes
    • Update crossbeam-channel to 0.3.
    • Update crossbeam-utils to 0.6.
    • Add AtomicCell, SharedLock, and WaitGroup.
    Open source →
    Release notes
    • Update crossbeam-utils to 0.4.
    • Specify the minimum Rust version to 1.25.0.
    Open source →
  33. 0.4.3 12 Jun 2018
    Release notes
    • Downgrade crossbeam-utils to 0.3 because it was a breaking change.
    Open source →
  34. 0.4.2 12 Jun 2018
    Release notes
    • Expose the Pointer trait.
    • Warn missing docs and missing debug impls.
    • Update crossbeam-utils to 0.4.
    Open source →
  35. 0.4.1 20 Mar 2018
    Release notes
    • Fix a double-free bug in MsQueue and SegQueue.
    Open source →
    Release notes
    • Add Debug impls for Collector, Handle, and Guard.
    • Add load_consume to Atomic.
    • Rename Collector::handle to Collector::register.
    • Remove the Send implementation for Handle (this was a bug). Only Collectors can be shared among multiple threads, while Handles and Guards must stay within the thread in which they were created.
    Open source →
  36. 0.4.0 10 Feb 2018
    Release notes
    • Update dependencies.
    • Remove support for Rust 1.13.
    Open source →
  37. 0.3.1 23 Mar 2018

    Nothing published for this version

  38. 0.3.0 10 Feb 2018
    Release notes
    • Add support for Rust 1.13.
    • Improve documentation for CAS.
    Open source →
  39. 0.2.0 29 Nov 2017
    Release notes
    • Add method Owned::into_box.
    • Fix a use-after-free bug in Local::finalize.
    • Fix an ordering bug in Global::push_bag.
    • Fix a bug in calculating distance between epochs.
    • Remove impl<T> Into<Box<T>> for Owned<T>.
    Open source →
  40. 0.1.0 26 Nov 2017
    Release notes
    • First version of the new epoch-based GC.
    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