async-lock
Async synchronization primitives
3.4.2
272M downloads/mo
#391 most downloaded on crates.io
smol-rs/async-lock
What this package is like to depend on
Last release 8 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
1 release in the last 12 months
see the full history below
Release timeline
32 releases · May 2019 to Dec 2025
2020
2021
2022
2023
2024
2025
2026
Releases
latest 32-
3.4.221 Dec 2025Release notes
Open source →Release notes
Open source →- Bump MSRV to 1.85. (#103)
- Use Waker::noop() to avoid some unsafe code. (#103)
-
3.4.103 Aug 2025 -
3.4.001 Jun 2024 -
3.3.010 Jan 2024Release notes
Open source →Release notes
Open source →- Add a
forget()method for semaphore guards. (#73) - Increase MSRV to v1.60. (#75)
- Add a
-
3.2.002 Dec 2023Release notes
Open source →- Add missing methods for blocking on locking with types wrapped in
Arc(#71).
Release notes
Open source →- Add missing methods for blocking on locking with types wrapped in
Arc(#71).
- Add missing methods for blocking on locking with types wrapped in
-
3.1.224 Nov 2023 -
3.1.119 Nov 2023Release notes
Open source →- Add a note to the documentation comparing this crate against
libstd's locks. (#58)
Release notes
Open source →- Add a note to the documentation comparing this crate against
libstd's locks. (#58)
- Add a note to the documentation comparing this crate against
-
3.1.013 Nov 2023 -
3.0.024 Oct 2023Release notes
Open source →- Breaking: Add an enabled-by-default
stdfeature 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)
- Breaking: Add an enabled-by-default
-
2.8.010 Aug 2023Release notes
Open source →- Fix a bug where the
SemaphoreGuard::acquire_arcfuture 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
RwLockReadGuardcovariant over its lifetime (#45) - Add
RwLockReadGuardArc,RwLockWriteGuardArc, and other reference counted guards for theRwLocktype (#47). - Loosen the
Send/Syncbounds on certain future types (#48). - Fix UB caused by the
MutexGuardArc::sourcefunction 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).
Release notes
Open source →- Fix a bug where the
SemaphoreGuard::acquire_arcfuture 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
RwLockReadGuardcovariant over its lifetime (#45) - Add
RwLockReadGuardArc,RwLockWriteGuardArc, and other reference counted guards for theRwLocktype (#47). - Loosen the
Send/Syncbounds on certain future types (#48). - Fix UB caused by the
MutexGuardArc::sourcefunction 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).
- Fix a bug where the
-
2.7.002 Mar 2023Release notes
Open source →- Replace some
asyncblocks with manual futures (#34) - Remove our dependency on
futures-lite(#36) - Mark guard types with
#[clippy::has_significant_drop](#37)
- Replace some
-
2.6.025 Oct 2022 -
2.5.019 Feb 2022Release notes
Open source →- Fix an issue where the future returned by
Mutex::lock_arc/Semaphore::acquire_archolds a reference toself. (#20, #21)
- Fix an issue where the future returned by
-
2.4.016 Apr 2021 -
2.3.009 Oct 2020 -
2.2.022 Sep 2020Release notes
Open source →- Add functions to upgrade and downgrade
RwLockguards. - Make all constructors
const fn.
- Add functions to upgrade and downgrade
-
2.1.315 Sep 2020 -
2.1.207 Sep 2020 -
2.1.129 Aug 2020 -
2.1.029 Aug 2020 -
2.0.126 Aug 2020 -
2.0.026 Aug 2020 -
1.1.520 Aug 2020 -
1.1.424 Jun 2020 -
1.1.323 Jun 2020 -
1.1.226 May 2020 -
1.1.125 May 2020 -
1.1.025 May 2020 -
1.0.220 May 2020 -
1.0.117 May 2020 -
1.0.017 May 2020 -
0.1.022 May 2019Nothing published for this version