- 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)
- Replace lazy_static with once_cell. (#817)
- Make
Atomic::null()
const function at 1.61+. (#797)
- Fix Miri error when
-Zmiri-check-number-validity
is enabled. (#779)
- Add
Atomic::fetch_update
. (#706)
- 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)
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)
Note: This release has been yanked. See #693 for details.
- Make
loom
dependency optional. (#666)
Note: This release has been yanked. See #693 for details.
- Add
Atomic::compare_exchange
andAtomic::compare_exchange_weak
. (#628) - Deprecate
Atomic::compare_and_set
andAtomic::compare_and_set_weak
. UseAtomic::compare_exchange
orAtomic::compare_exchange_weak
instead. (#628) - Make
const_fn
dependency optional. (#611) - Add unstable support for
loom
. (#487)
Note: This release has been yanked. See #693 for details.
- Bump
memoffset
dependency to version 0.6. (#592)
Note: This release has been yanked. See #693 for details.
- Bump the minimum supported Rust version to 1.36.
- Support dynamically sized types.
- Fix bug in release (yanking 0.8.1)
- 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)
- 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
to0.7
.
- Add
Atomic::into_owned()
. - Update
memoffset
dependency.
- Add
Shared::deref_mut()
. - Add a Treiber stack to examples.
- Remove
Guard::clone()
. - Bump dependencies.
- Update
crossbeam-utils
to0.6
.
defer
now requiresF: Send + 'static
.- Bump the minimum Rust version to 1.26.
- Pinning while TLS is tearing down does not fail anymore.
- Rename
Handle
toLocalHandle
. - Add
defer_unchecked
anddefer_destroy
. - Remove
Clone
impl forLocalHandle
.
- Update
crossbeam-utils
to0.5
.
- Fix compatibility with the latest Rust nightly.
- Update
crossbeam-utils
to0.4
. - Specify the minimum Rust version to
1.25.0
.
- Downgrade
crossbeam-utils
to0.3
because it was a breaking change.
- Expose the
Pointer
trait. - Warn missing docs and missing debug impls.
- Update
crossbeam-utils
to0.4
.
- Add
Debug
impls forCollector
,Handle
, andGuard
. - Add
load_consume
toAtomic
. - Rename
Collector::handle
toCollector::register
. - Remove the
Send
implementation forHandle
(this was a bug). OnlyCollector
s can be shared among multiple threads, whileHandle
s andGuard
s must stay within the thread in which they were created.
- Update dependencies.
- Remove support for Rust 1.13.
- Add support for Rust 1.13.
- Improve documentation for CAS.
- 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>
.
- First version of the new epoch-based GC.