| # Version 0.9.5 |
| |
| - 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) |
| |
| # Version 0.9.4 |
| |
| - Fix UB in `<[MaybeUninit<T>] as Pointable>::init` when global allocator failed allocation (#690) |
| - Bump `loom` dependency to version 0.5. (#686) |
| |
| # Version 0.9.3 |
| |
| - Make `loom` dependency optional. (#666) |
| |
| # Version 0.9.2 |
| |
| - 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) |
| |
| # Version 0.9.1 |
| |
| - Bump `memoffset` dependency to version 0.6. (#592) |
| |
| # Version 0.9.0 |
| |
| - Bump the minimum supported Rust version to 1.36. |
| - Support dynamically sized types. |
| |
| # Version 0.8.2 |
| |
| - Fix bug in release (yanking 0.8.1) |
| |
| # Version 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) |
| |
| # Version 0.8.0 |
| |
| - 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`. |
| |
| # Version 0.7.2 |
| |
| - Add `Atomic::into_owned()`. |
| - Update `memoffset` dependency. |
| |
| # Version 0.7.1 |
| |
| - Add `Shared::deref_mut()`. |
| - Add a Treiber stack to examples. |
| |
| # Version 0.7.0 |
| |
| - Remove `Guard::clone()`. |
| - Bump dependencies. |
| |
| # Version 0.6.1 |
| |
| - Update `crossbeam-utils` to `0.6`. |
| |
| # Version 0.6.0 |
| |
| - `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`. |
| |
| # Version 0.5.2 |
| |
| - Update `crossbeam-utils` to `0.5`. |
| |
| # Version 0.5.1 |
| |
| - Fix compatibility with the latest Rust nightly. |
| |
| # Version 0.5.0 |
| |
| - Update `crossbeam-utils` to `0.4`. |
| - Specify the minimum Rust version to `1.25.0`. |
| |
| # Version 0.4.3 |
| |
| - Downgrade `crossbeam-utils` to `0.3` because it was a breaking change. |
| |
| # Version 0.4.2 |
| |
| - Expose the `Pointer` trait. |
| - Warn missing docs and missing debug impls. |
| - Update `crossbeam-utils` to `0.4`. |
| |
| # Version 0.4.1 |
| |
| - 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 |
| `Collector`s can be shared among multiple threads, while `Handle`s and |
| `Guard`s must stay within the thread in which they were created. |
| |
| # Version 0.4.0 |
| |
| - Update dependencies. |
| - Remove support for Rust 1.13. |
| |
| # Version 0.3.0 |
| |
| - Add support for Rust 1.13. |
| - Improve documentation for CAS. |
| |
| # Version 0.2.0 |
| |
| - 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>`. |
| |
| # Version 0.1.0 |
| |
| - First version of the new epoch-based GC. |