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 2026Releases
latest 40-
0.9.2006 Jul 2026Release notes
Open source →- Fix invalid pointer dereference in
fmt::Pointerimpl forAtomic/Sharedwhen the underlying pointer is invalid. This fixes unsoundness that was not fully addressed in 0.9.19's fix. (#1276)
Release notes
Open source →- Fix invalid pointer dereference in
fmt::Pointerimpl forAtomic/Sharedwhen the underlying pointer is invalid. This fixes unsoundness that was not fully addressed in 0.9.19's fix. (#1276)
- Fix invalid pointer dereference in
-
0.9.1906 Jul 2026Release notes
Open source →- Fix null pointer dereference in
fmt::Pointerimpl forAtomic/Sharedwhen 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
AtomicU64is available. (#1230)
Release notes
Open source →- Fix null pointer dereference in
fmt::Pointerimpl forAtomic/Sharedwhen 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
AtomicU64is available. (#1230)
- Fix null pointer dereference in
-
0.9.1808 Jan 2024Release notes
Open source →- Remove dependency on
cfg-if. (#1072) - Remove dependency on
autocfg. (#1071)
- Remove dependency on
-
0.9.1724 Dec 2023 -
0.9.1613 Dec 2023Release notes
Open source →- 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
loomdependency to 0.7.
-
0.9.1512 Jun 2023 -
0.9.1428 Feb 2023 -
0.9.1322 Nov 2022 -
0.9.1220 Nov 2022 withdrawnRelease notes
Open source →Note: This release has been yanked due to regression fixed in 0.9.13.
- Update
memoffsetto 0.7. (#926) - Improve support for custom targets. (#922)
- Update
-
0.9.1129 Sep 2022Release notes
Open source →- Removes the dependency on the
once_cellcrate to restore the MSRV. (#913) - Work around rust-lang#98302, which causes compile error on windows-gnu when LTO is enabled. (#913)
- Removes the dependency on the
-
0.9.1023 Jul 2022Release notes
Open source →- 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)
-
0.9.916 Jun 2022 -
0.9.815 Mar 2022 -
0.9.705 Feb 2022 -
0.9.608 Jan 2022 -
0.9.530 May 2021Release notes
Open source →- Fix UB in
Pointableimpl 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)
- Fix UB in
-
0.9.429 Apr 2021 withdrawnRelease notes
Open source →Note: This release has been yanked. See #693 for details.
- Fix UB in
<[MaybeUninit<T>] as Pointable>::initwhen global allocator failed allocation. (#690) - Bump
loomdependency to version 0.5. (#686)
- Fix UB in
-
0.9.325 Feb 2021 withdrawnRelease notes
Open source →Note: This release has been yanked. See #693 for details.
- Make
loomdependency optional. (#666)
- Make
-
0.9.220 Feb 2021 withdrawnRelease notes
Open source →Note: This release has been yanked. See #693 for details.
- Add
Atomic::compare_exchangeandAtomic::compare_exchange_weak. (#628) - Deprecate
Atomic::compare_and_setandAtomic::compare_and_set_weak. UseAtomic::compare_exchangeorAtomic::compare_exchange_weakinstead. (#628) - Make
const_fndependency optional. (#611) - Add unstable support for
loom. (#487)
- Add
-
0.9.126 Nov 2020 withdrawnRelease notes
Open source →Note: This release has been yanked. See #693 for details.
- Bump
memoffsetdependency to version 0.6. (#592)
- Bump
-
0.9.012 Oct 2020 withdrawnRelease notes
Open source →Note: This release has been yanked. See #693 for details.
- Bump the minimum supported Rust version to 1.36.
- Support dynamically sized types.
-
0.8.222 Feb 2020 -
0.8.122 Feb 2020 withdrawnRelease notes
Open source →- Bump
autocfgdependency 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)
- Bump
-
0.8.006 Nov 2019Release notes
Open source →- Bump the minimum supported Rust version to 1.36.
- Bump
crossbeam-channelto0.5. - Bump
crossbeam-dequeto0.8. - Bump
crossbeam-epochto0.9. - Bump
crossbeam-queueto0.3. - Bump
crossbeam-utilsto0.8.
Release notes
Open source →- 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-utilsto0.7.
-
0.7.224 Jul 2019Release notes
Open source →- Bump
crossbeam-channelto0.3.9. - Bump
crossbeam-epochto0.7.2. - Bump
crossbeam-utilsto0.6.6.
- Bump
-
0.7.128 Jan 2019 -
0.7.016 Dec 2018Release notes
Open source →- Remove
ArcCell,MsQueue, andTreiberStack. - Change the interface of
ShardedLockto matchRwLock. - Add
SegQueue::len(). - Rename
SegQueue::try_pop()toSegQueue::pop(). - Change the return type of
SegQueue::pop()toResult. - Introduce
ArrayQueue. - Update dependencies.
- Remove
-
0.6.109 Nov 2018 -
0.6.011 Sep 2018Release notes
Open source →defernow requiresF: Send + 'static.- Bump the minimum Rust version to 1.26.
- Pinning while TLS is tearing down does not fail anymore.
- Rename
HandletoLocalHandle. - Add
defer_uncheckedanddefer_destroy. - Remove
Cloneimpl forLocalHandle.
-
0.5.202 Aug 2018 -
0.5.120 Jul 2018 -
0.5.012 Jun 2018Release notes
Open source →- Update
crossbeam-channelto 0.3. - Update
crossbeam-utilsto 0.6. - Add
AtomicCell,SharedLock, andWaitGroup.
Release notes
Open source →- Update
crossbeam-utilsto0.4. - Specify the minimum Rust version to
1.25.0.
- Update
-
0.4.312 Jun 2018 -
0.4.212 Jun 2018Release notes
Open source →- Expose the
Pointertrait. - Warn missing docs and missing debug impls.
- Update
crossbeam-utilsto0.4.
- Expose the
-
0.4.120 Mar 2018Release notes
Open source →- Add
Debugimpls forCollector,Handle, andGuard. - Add
load_consumetoAtomic. - Rename
Collector::handletoCollector::register. - Remove the
Sendimplementation forHandle(this was a bug). OnlyCollectors can be shared among multiple threads, whileHandles andGuards must stay within the thread in which they were created.
- Add
-
0.4.010 Feb 2018 -
0.3.123 Mar 2018Nothing published for this version
-
0.3.010 Feb 2018 -
0.2.029 Nov 2017Release notes
Open source →- 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>.
- Add method
-
0.1.026 Nov 2017