6.8 KiB
6.8 KiB
0.5.6 (May 19, 2022)
Added
- cell: add
UnsafeCell::into_innerfor parity withstd(#272) - sync: re-enable
Arc::strong_count(#172) - sync: implement
Arc::try_unwrap(#262) - sync: add
mpsc::Receiver::try_recv(#262)
Documented
- show feature flags in docs (#151)
- fix broken RustDoc links (#273)
0.5.5 (May 10, 2022)
Added
- sync: Add
Arc::from_stdwithoutT: Sizedbound (#226) - sync: Implement
DebugforAtomicPtrfor allT(#255) - logs: Add location tracking for threads and atomic operations (#258)
- logs: Add additional location tracking to
Arc,alloc, andmpsc(#265) - logs: Improve
tracingconfiguration forLOOM_LOG(#266) - logs: Add a span for the current model's iteration (#267)
Documented
- Add note about in-memory representation of atomic types (#253)
- Document
LOOM_LOGsyntax (#257)
Fixed
- Fix double panic when exceeding the branch limit in
Drop(#245) - cell: Allow using
{Mut,Const}Ptr::{deref,with}when the pointee is!Sized(#247) - thread: Fix semantics of
thread::parkafterThread::unpark(#250)
0.5.4 (December 3, 2021)
Added
- cell: Add
ConstPtrandMutPtrRAII guards toUnsafeCell(#219)
Changed
- Improve error message when execution state is unavailable (such as when
running outside of
loom::model) (#242)
0.5.3 (November 23, 2021)
Added
- thread: Add mock versions of
thread::parkandThread::unpark(#240)
Changed
- Don't attempt to clean up Mutex when threads are deadlocked (#236)
- Update tracing-subscriber to 0.3 (#238)
0.5.2 (October 7, 2021)
Added
- Add a loom::cell::Cell, which provides a basic wrapper of the loom UnsafeCell (#196)
- Arc counter manipulations (#225)
- Implement
Mutex::into_innerandRwLock::into_inner(#215) - Implement
Release,AcqRel, andSeqCstfences (#220) Arc::as_ptradded (#230)Arc::pinadded (#224)
Changed
- Remove implicit
T: Sizedrequirement fromUnsafeCell(#222) - Update tracing (#227)
0.5.1 (July 2, 2021)
Added
- Add several methods to atomic integer types (#217)
0.5.0 (April 12, 2021)
Breaking
- Bump MSRV to 1.51 (#205)
Added
- Add
Fromimplementation toMutex(#131) - Add
Fromimplementation toRwLock(#209) - Add
Fromimplementation to atomic types (#210) - Add
fetch_updateto atomics (#212)
Changed
- Move
futures-utiltodev-dependencies(#208) - Update
generatorto 0.7 (#203)
0.4.1 (April 1, 2021)
Added
- Add a
loom::hintmodule containing mocked versions ofspin_loopandunreachable_unchecked. (#197)
Changed
- Switch to non-deprecated
compare_exchange(#201)
0.4.0 (December 3, 2020)
Added
AtomicI8,AtomicI16,AtomicI32,AtomicI64, andAtomicIsize(#189)
Breaking
- Bump MSRV to
1.45(#183)
0.3.6 (October 8, 2020)
Added
thread::Threadandthread::ThreadId(#175)
0.3.5 (July 26, 2020)
Fixed
- An example in the README failing to compile (#132)
Changed
- Updated
scoped-tlsto 1.0.0 (#153)
Added
SendandSyncimpls forJoinHandle(#145)Defaultimpls forMutex,RwLock, andCondvar(#138)
0.3.4 (May 2, 2020)
Fixed
RwLockbug with activating threads (#140)
0.3.3 (April 28, 2020)
Fixes
RwLockbug with two writers (#135).
0.3.2 (April 13, 2020)
Fixed
- incorrect location tracking for some atomic types (#122).
Added
lazy_staticsupport (#125 + #128)mpscchannel support (#118)
0.3.1 (April 8, 2020)
Fixed
UnsafeCellfalse negative under some scenarios (#119).
Added
RwLocksupport (#88)- location tracking to atomic types (#114).
0.3.0 (March 24, 2020)
Breaking
CausalCellis renamedUnsafeCellAtomic*::get_mut()is removed in favor ofwithandwith_mutfns.- 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
SeqCstordering (#108).
0.2.14 (November 19, 2019)
Fixed
- internal
async/awaitWaker leak (#102).
Changed
- speed up model runs (#98, #94)
Added
Sendimpl forAtomicWaker,Atomic*AtomicWaker::take_waker(#103).
0.2.13 (November 6, 2019)
Changed
- update
futuresto 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_localinitialization & 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
CausalCellstate was updated even when a deferred check was abandoned (#65).- Add
yield_nowinAtomicWakerwhen entering a potential spin lock due to task yielding (#66).
0.2.6 (September 25, 2019)
Changed
futures::block_onpolls spuriously (#59).- mocked types match
stdforSendandSync(#61).
Added
fetch_xorfor atomic numbers (#54).- initial
atomic::fencesupport (#57). Notifyprimitive for writing external mocked types (#60).thread_local!macro that works with loom threads (#62).- API for deferring
CausalCellcausality checks (#62).
0.2.5 (September 4, 2019)
Added
- implement
Defaultfor 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
CausalCellfailed 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::Arcimplementation (#9).
0.2.0 (August 7, 2019)
Added
sync::Arcmock 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::Arcimplementation (#9).
0.1.0 (January 8, 2019)
- Initial release