async-lock/CHANGELOG.md

2.8 KiB

Version 3.3.0

  • Add a forget() method for semaphore guards. (#73)
  • Increase MSRV to v1.60. (#75)

Version 3.2.0

  • Add missing methods for blocking on locking with types wrapped in Arc (#71).

Version 3.1.2

  • Bump event-listener to version v4.0.0. (#69)

Version 3.1.1

  • Add a note to the documentation comparing this crate against libstd's locks. (#58)

Version 3.1.0

  • Add a Default implementation for OnceCell (#63).

Version 3.0.0

  • 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)

Version 2.8.0

  • 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 the RwLock 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).

Version 2.7.0

  • Replace some async blocks with manual futures (#34)
  • Remove our dependency on futures-lite (#36)
  • Mark guard types with #[clippy::has_significant_drop] (#37)

Version 2.6.0

  • Add OnceCell. (#27)
  • Support wasm64.

Version 2.5.0

  • Fix an issue where the future returned by Mutex::lock_arc/Semaphore::acquire_arc holds a reference to self. (#20, #21)

Version 2.4.0

  • Add WASM support. (#14)

Version 2.3.0

  • Merge all subcrates.

Version 2.2.0

  • Add functions to upgrade and downgrade RwLock guards.
  • Make all constructors const fn.

Version 2.1.3

  • Add #![forbid(unsafe_code)].

Version 2.1.2

  • Update dependencies.

Version 2.1.1

  • Update crate description.

Version 2.1.0

  • Add Barrier and Semaphore.

Version 2.0.1

  • Update crate description.

Version 2.0.0

  • Only re-export async-mutex and async-rwlock.

Version 1.1.5

  • Replace the implementation with async-mutex.

Version 1.1.4

  • Replace usize::MAX with std::usize::MAX.

Version 1.1.3

  • Update dependencies.

Version 1.1.2

  • Fix a deadlock issue.

Version 1.1.1

  • Fix some typos.

Version 1.1.0

  • Make locking fair.
  • Add LockGuard::source().

Version 1.0.2

  • Bump the event-listener version.
  • Add tests.

Version 1.0.1

  • Update Cargo categories.

Version 1.0.0

  • Initial version