Skip to content

Latest commit

 

History

History
163 lines (101 loc) · 4.32 KB

CHANGELOG.md

File metadata and controls

163 lines (101 loc) · 4.32 KB

Version 0.9.10

  • 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)

Version 0.9.9

  • Replace lazy_static with once_cell. (#817)

Version 0.9.8

  • Make Atomic::null() const function at 1.61+. (#797)

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

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)

Version 0.9.3

Note: This release has been yanked. See #693 for details.

  • Make loom dependency optional. (#666)

Version 0.9.2

Note: This release has been yanked. See #693 for details.

  • 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

Note: This release has been yanked. See #693 for details.

  • Bump memoffset dependency to version 0.6. (#592)

Version 0.9.0

Note: This release has been yanked. See #693 for details.

  • 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 Collectors can be shared among multiple threads, while Handles and Guards 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.