# 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
