# Version 0.9.7

- Fix Miri error when `-Zmiri-check-number-validity` is enabled. (#779)

# Version 0.9.6

- Add `Atomic::fetch_update`. (#706)

# 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.
