NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
crates.io · #394 most downloaded on crates.io
Async synchronization primitives
Last release 9 months ago
21 Dec 2025
Release timing varies
gaps range from 8 days to 1.2 years
Nearly every release is documented
notes for 31 of 32 stable releases
Nothing withdrawn
no release was ever pulled
7 years old
32 releases · first in 2019
Use Waker::noop() to avoid some unsafe code.
Fix typos in docs.
One column per quarter.
Port to event-listener v5.0.0.
event-listener v5.0.0. (#74)Add a forget() method for semaphore guards.
Add missing methods for blocking on locking with types wrapped in Arc ( #71 ).
Arc (#71).Bump event-listener to version v4.0.0.
event-listener to version v4.0.0. (#69)Add a note to the documentation comparing this crate against libstd 's locks.
libstd's locks. (#58)Add a Default implementation for OnceCell ( #63 ).
Default implementation for OnceCell (#63).Breaking: Add an enabled-by-default std feature that allows using this crate without the standard library.
…the one it was acquired in ( #50 ). This is a breaking change, but in the name of soundness. Therefore it doesn't break any valid behavior.
SemaphoreGuard::acquire_arc future would busy wait under certain conditions (#42).Semaphore::add_permits() function to increase the number of available permits on the semaphore (#44).RwLockReadGuard covariant over its lifetime (#45)RwLockReadGuardArc, RwLockWriteGuardArc, and other reference counted guards for the RwLock type (#47).Send/Sync bounds on certain future types (#48).MutexGuardArc::source function allowing the user to drop an object in a different thread than the one it was acquired in (#50). This is a breaking change, but in the name of soundness. Therefore it doesn't break any valid behavior.wasm64 (#51).Replace some async blocks with manual futures
async blocks with manual futures (#34)futures-lite (#36)#[clippy::has_significant_drop] (#37)- Add OnceCell. (#27) - Support wasm64.
OnceCell. (#27)Fix an issue where the future returned by Mutex::lock_arc/Semaphore::acquire_arc holds a reference to self. (#20, #21)
Mutex::lock_arc/Semaphore::acquire_arc holds a reference to self. (#20, #21)- Add WASM support.
- Merge all subcrates.
Add functions to upgrade and downgrade RwLock guards.
RwLock guards.const fn.- Add #![forbid(unsafe_code)].
#![forbid(unsafe_code)].- Update dependencies.
- Update crate description.
- Add Barrier and Semaphore.
Barrier and Semaphore.- Update crate description.
Only re-export async-mutex and async-rwlock.
async-mutex and async-rwlock.Replace the implementation with async-mutex.
async-mutex.Replace usize::MAX with std::MAX.
usize::MAX with std::usize::MAX.- Update dependencies.
- Fix a deadlock issue.
- Fix some typos.
- Make locking fair. - Add LockGuard::source().
LockGuard::source().Bump the event-listener version.
event-listener version.- Update Cargo categories.
- Initial version
Nothing published for this version
Your coding agent can read these notes before it upgrades. Set up the MCP server →