NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
crates.io · #1110 most downloaded on crates.io
Permutation testing for concurrent code
Last release 2 years ago
no release in 18 months
Release timing varies
gaps range from 1 weeks to 1.1 years
Nearly every release is documented
notes for 39 of 40 stable releases
Nothing withdrawn
no release was ever pulled
8 years old
40 releases · first in 2018
This release bumps the MSRV to 1.65.
Add get_mut to Mutex and RwLock
One column per quarter.
explore() , stop_exploring() , skip_branch() enable reducing the concurrent state exploration ( #323 ).
explore(), stop_exploring(), skip_branch() enable reducing theAvoid cancelling generators as it is not a thread-safe operation
Support setting model thread stack size
cell: add UnsafeCell::into_inner for parity with std
sync: Add Arc::from_std without T: Sized bound
Arc::from_std without T: Sized bound (#226)Debug for AtomicPtr for all T (#255)Arc, alloc, and mpsc (#265)tracing configuration for LOOM_LOG (#266)cell: Add ConstPtr and MutPtr RAII guards to UnsafeCell
ConstPtr and MutPtr RAII guards to UnsafeCell (#219)loom::model) (#242)thread: Add mock versions of thread::park and Thread::unpark
thread::park and Thread::unpark (#240)Add a loom::Cell, which provides a basic wrapper of the loom UnsafeCell
Mutex::into_inner and RwLock::into_inner (#215)Release, AcqRel, and SeqCst fences (#220)Arc::as_ptr added (#230)Arc::pin added (#224)Add several methods to atomic integer types
chore: prepare v0.5.0
chore: prepare v0.5.0 (#214)
From implementation to Mutex (#131)From implementation to RwLock (#209)From implementation to atomic types (#210)fetch_update to atomics (#212)futures-util to dev-dependencies (#208)generator to 0.7 (#203)Switch to non-deprecated compare_exchange
loom::hint module containing mocked versions of spin_loop and unreachable_unchecked. (#197)compare_exchange (#201)AtomicI8, AtomicI16, AtomicI32, AtomicI64, and AtomicIsize
AtomicI8, AtomicI16, AtomicI32, AtomicI64, and AtomicIsize (#189)1.45 (#183)thread::Thread and thread::ThreadId
thread::Thread and thread::ThreadId (#175)An example in the README failing to compile
scoped-tls to 1.0.0 (#153)Send and Sync impls for JoinHandle (#145)Default impls for Mutex, RwLock, and Condvar (#138)RwLock bug with activating threads
RwLock bug with activating threads (#140)RwLock bug with two writers (#135).
RwLock bug with two writers (#135).incorrect location tracking for some atomic types (#122).
lazy_static support (#125 + #128)mpsc channel support (#118)UnsafeCell false negative under some scenarios (#119).
UnsafeCell false negative under some scenarios (#119).RwLock support (#88)CausalCell is renamed UnsafeCell
CausalCell is renamed UnsafeCellAtomic*::get_mut() is removed in favor of with and with_mut fns.avoid global happens-before with SeqCst ordering (#108).
SeqCst ordering (#108).internal async/await Waker leak (#102).
async/await Waker leak (#102).Send impl for AtomicWaker, Atomic*AtomicWaker::take_waker (#103).update futures to 0.3.0 final release (#96).
futures to 0.3.0 final release (#96).thread-local bug when using loom with --release (#89).
--release (#89).stubbed Condvar::wait_timeout (#86).
Mutex::try_lock (#83).Condvar::wait_timeout (#86).### Added - alloc_zeroed (#77). - AtomicPtr::get_mut (#80).
alloc_zeroed (#77).AtomicPtr::get_mut (#80).thread_local initialization & dropping with loom primitives (#74).
thread_local initialization & dropping with loom primitives (#74).Arc::get_mut (#74).thread::Builder (#74).Update futures-util dependency version (#70).
CausalCell state was updated even when a deferred check was abandoned (#65).
CausalCell state was updated even when a deferred check was abandoned (#65).yield_now in AtomicWaker when entering a potential spin lock due to
task yielding (#66).futures::block_on polls spuriously (#59).
futures::block_on polls spuriously (#59).std for Send and Sync (#61).fetch_xor for atomic numbers (#54).atomic::fence support (#57).Notify primitive for writing external mocked types (#60).thread_local! macro that works with loom threads (#62).CausalCell causality checks (#62).implement Default for atomic types (#48).
Default for atomic types (#48).only unblock future thread when notified using waker (#44).
CausalCell failed to detect concurrent immutable/mutable access (#42).
CausalCell failed to detect concurrent immutable/mutable access (#42).incorrect causality comparison (#38).
AtomicBool (#39).Condvar::notify_all (#40).Update futures-util dependency version (#35).
sync::Arc implementation (#9).sync::Arc mock implementation (#14).
sync::Arc mock implementation (#14).AtomicU32 (#24).Atomic::unsync_load - load from an atomic without synchronization (#26).std::future (#20).### Added - sync::Arc implementation (#9).
sync::Arc implementation (#9).* Initial release
Nothing published for this version
Your coding agent can read these notes before it upgrades. Set up the MCP server →