- Port to
event-listener
v5.0.0. (#74)
- Add a
forget()
method for semaphore guards. (#73) - Increase MSRV to v1.60. (#75)
- Add missing methods for blocking on locking with types wrapped in
Arc
(#71).
- Bump
event-listener
to version v4.0.0. (#69)
- Add a note to the documentation comparing this crate against
libstd
's locks. (#58)
- Add a
Default
implementation forOnceCell
(#63).
- Breaking: Add an enabled-by-default
std
feature that allows using this crate without the standard library. (#43) - Support blocking and non-blocking operations on the same locks. (#56)
- Switch to a more efficient event notification mechanism. (#43)
- Fix a bug where the
SemaphoreGuard::acquire_arc
future would busy wait under certain conditions (#42). - Add a
Semaphore::add_permits()
function to increase the number of available permits on the semaphore (#44). - Make
RwLockReadGuard
covariant over its lifetime (#45) - Add
RwLockReadGuardArc
,RwLockWriteGuardArc
, and other reference counted guards for theRwLock
type (#47). - Loosen the
Send
/Sync
bounds on certain future types (#48). - Fix UB caused by the
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. - Fix a bug where this crate would not compile properly on
wasm64
(#51).
- Replace some
async
blocks with manual futures (#34) - Remove our dependency on
futures-lite
(#36) - Mark guard types with
#[clippy::has_significant_drop]
(#37)
- Add
OnceCell
. (#27) - Support wasm64.
- Fix an issue where the future returned by
Mutex::lock_arc
/Semaphore::acquire_arc
holds a reference toself
. (#20, #21)
- Add WASM support. (#14)
- Merge all subcrates.
- Add functions to upgrade and downgrade
RwLock
guards. - Make all constructors
const fn
.
- Add
#![forbid(unsafe_code)]
.
- Update dependencies.
- Update crate description.
- Add
Barrier
andSemaphore
.
- Update crate description.
- Only re-export
async-mutex
andasync-rwlock
.
- Replace the implementation with
async-mutex
.
- Replace
usize::MAX
withstd::usize::MAX
.
- Update dependencies.
- Fix a deadlock issue.
- Fix some typos.
- Make locking fair.
- Add
LockGuard::source()
.
- Bump the
event-listener
version. - Add tests.
- Update Cargo categories.
- Initial version