# Version 0.8.5 - Add `AtomicCell::fetch_update` (#704) - Support targets that do not have atomic CAS on stable Rust (#698) # Version 0.8.4 - Bump `loom` dependency to version 0.5. (#686) # Version 0.8.3 - Make `loom` dependency optional. (#666) # Version 0.8.2 - 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) # Version 0.8.1 - 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) # Version 0.8.0 - 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` for `AtomicCell`. # Version 0.7.2 - Fix bug in release (yanking 0.7.1) # Version 0.7.1 - Bump `autocfg` dependency to version 1.0. (#460) - Make `AtomicCell` lockfree for u8, u16, u32, u64 sized values at 1.34+. (#454) # Version 0.7.0 - 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+. # Version 0.6.6 - 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. # Version 0.6.5 - Rename `Backoff::is_complete()` to `Backoff::is_completed()`. # Version 0.6.4 - Add `WaitGroup`, `ShardedLock`, and `Backoff`. - Add `fetch_*` methods for `AtomicCell` and `AtomicCell`. - Expand documentation. # Version 0.6.3 - Add `AtomicCell`. - Improve documentation. # Version 0.6.2 - Add `Parker`. - Improve documentation. # Version 0.6.1 - Fix a soundness bug in `Scope::spawn()`. - Remove the `T: 'scope` bound on `ScopedJoinHandle`. # Version 0.6.0 - 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()`. # Version 0.5.0 - Reorganize sub-modules and rename functions. # Version 0.4.1 - Fix a documentation link. # Version 0.4.0 - `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. # Version 0.3.2 - Mark `load_consume` with `#[inline]`. # Version 0.3.1 - `load_consume` on ARM and AArch64. # Version 0.3.0 - Add `join` for scoped thread API. - Add `load_consume` for atomic load-consume memory ordering. - Remove `AtomicOption`. # Version 0.2.2 - Support Rust 1.12.1. - Call `T::clone` when cloning a `CachePadded`. # Version 0.2.1 - Add `use_std` feature. # Version 0.2.0 - Add `nightly` feature. - Use `repr(align(64))` on `CachePadded` with the `nightly` feature. - Implement `Drop` for `CachePadded`. - Implement `Clone` for `CachePadded`. - Implement `From` for `CachePadded`. - Implement better `Debug` for `CachePadded`. - Write more tests. - Add this changelog. - Change cache line length to 64 bytes. - Remove `ZerosValid`. # Version 0.1.0 - Old implementation of `CachePadded` from `crossbeam` version 0.3.0