Skip to content

Latest commit

 

History

History
196 lines (131 loc) · 4.14 KB

CHANGELOG.md

File metadata and controls

196 lines (131 loc) · 4.14 KB

0.4.0 (December 3, 2020)

Added

  • AtomicI8, AtomicI16, AtomicI32, AtomicI64, and AtomicIsize (#189)

Breaking

  • Bump MSRV to 1.45 (#183)

0.3.6 (October 8, 2020)

Added

  • thread::Thread and thread::ThreadId (#175)

0.3.5 (July 26, 2020)

Fixed

  • An example in the README failing to compile (#132)

Changed

  • Updated scoped-tls to 1.0.0 (#153)

Added

  • Send and Sync impls for JoinHandle (#145)
  • Default impls for Mutex, RwLock, and Condvar (#138)

0.3.4 (May 2, 2020)

Fixed

  • RwLock bug with activating threads (#140)

0.3.3 (April 28, 2020)

Fixes

  • RwLock bug with two writers (#135).

0.3.2 (April 13, 2020)

Fixed

  • incorrect location tracking for some atomic types (#122).

Added

  • lazy_static support (#125 + #128)
  • mpsc channel support (#118)

0.3.1 (April 8, 2020)

Fixed

  • UnsafeCell false negative under some scenarios (#119).

Added

  • RwLock support (#88)
  • location tracking to atomic types (#114).

0.3.0 (March 24, 2020)

Breaking

  • CausalCell is renamed UnsafeCell
  • Atomic*::get_mut() is removed in favor of with and with_mut fns.
  • The max threads setting is removed.

Fixed

  • Atomic coherence checking better matches the spec.

Added

  • Models execute much faster
  • Loom types are able to perform location tracking for improved error output.

0.2.15 (February 25, 2020)

Fixed

  • avoid global happens-before with SeqCst ordering (#108).

0.2.14 (November 19, 2019)

Fixed

  • internal async/await Waker leak (#102).

Changed

  • speed up model runs (#98, #94)

Added

  • Send impl for AtomicWaker, Atomic*
  • AtomicWaker::take_waker (#103).

0.2.13 (November 6, 2019)

Changed

  • update futures to 0.3.0 final release (#96).

0.2.12 (October 29, 2019)

Fixed

  • thread-local bug when using loom with --release (#89).
  • omitted state explorations when using SeqCst atomic values (#90).

0.2.11 (October 24, 2019)

Added

  • Mutex::try_lock (#83).
  • stubbed Condvar::wait_timeout (#86).

0.2.10 (October 15, 2019)

Added

  • alloc_zeroed (#77).
  • AtomicPtr::get_mut (#80).

0.2.9 (October 9, 2019)

Fixed

  • thread_local initialization & dropping with loom primitives (#74).

Added

  • Basic leak checking (#73).
  • Arc::get_mut (#74).
  • mocked thread::Builder (#74).

0.2.8 (September 30, 2019)

Chore

  • Update futures-util dependency version (#70).

0.2.7 (September 26, 2019)

Fixed

  • CausalCell state was updated even when a deferred check was abandoned (#65).
  • Add yield_now in AtomicWaker when entering a potential spin lock due to task yielding (#66).

0.2.6 (September 25, 2019)

Changed

  • futures::block_on polls spuriously (#59).
  • mocked types match std for Send and Sync (#61).

Added

  • fetch_xor for atomic numbers (#54).
  • initial atomic::fence support (#57).
  • Notify primitive for writing external mocked types (#60).
  • thread_local! macro that works with loom threads (#62).
  • API for deferring CausalCell causality checks (#62).

0.2.5 (September 4, 2019)

Added

  • implement Default for atomic types (#48).

0.2.4 (August 20, 2019)

Fixed

  • only unblock future thread when notified using waker (#44).

0.2.3 (August 17, 2019)

Fixed

  • CausalCell failed to detect concurrent immutable/mutable access (#42).

0.2.2 (August 14, 2019)

Fixed

  • incorrect causality comparison (#38).
  • detect race with CausalCell accessed immediately post spawn (#38).

Added

  • implementation of all atomic numeric types (#30).
  • AtomicBool (#39).
  • Condvar::notify_all (#40).

0.2.1 (August 10, 2019)

Chore

  • Update futures-util dependency version (#35).

Added

  • sync::Arc implementation (#9).

0.2.0 (August 7, 2019)

Added

  • sync::Arc mock implementation (#14).
  • AtomicU32 (#24).
  • Atomic::unsync_load - load from an atomic without synchronization (#26).
  • thread preemption bounding.

Changed

  • remove scheduler implementation choices -- generator only (#23).
  • use std::future (#20).

0.1.1 (February 19, 2019)

Added

  • sync::Arc implementation (#9).

0.1.0 (January 8, 2019)

  • Initial release