# Changelog

All notable changes to this project will be documented in this file.

The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## 0.12.0 (2026-05-15)
### Changed
- Internal implementation by removing unnecessary buffering ([#849])
- Serialization format used by `SerializableState` trait implementations ([#849])

### Removed
- `Shake`, `Shake128`, and `Shake256` types (moved to the `shake` crate) ([#869])

[#849]: https://github.com/RustCrypto/hashes/pull/849
[#869]: https://github.com/RustCrypto/hashes/pull/869

## 0.11.0 (2026-04-02)
### Added
- `alloc` crate feature ([#678])

### Changed
- Edition changed to 2024 and MSRV bumped to 1.85 ([#652])
- Relax MSRV policy and allow MSRV bumps in patch releases
- Update to `digest` v0.11
- Replace type aliases with newtypes ([#678])
- Implementation of the `SerializableState` trait ([#716])

### Removed
- `std` crate feature ([#678])
- `CShake128/256` and `TurboShake128/256` types by moving them to
  `cshake` and `turboshake` crates respectively ([#815])

[#652]: https://github.com/RustCrypto/hashes/pull/652
[#678]: https://github.com/RustCrypto/hashes/pull/678
[#716]: https://github.com/RustCrypto/hashes/pull/716
[#798]: https://github.com/RustCrypto/hashes/pull/798
[#815]: https://github.com/RustCrypto/hashes/pull/815

## 0.10.9 (2026-04-19)
### Fixed
- Non-compliant initialization of cSHAKE when serialized length of function name and
  customization string is a multiple of the block size ([#836], backport of [#834])

[#834]: https://github.com/RustCrypto/hashes/pull/834
[#836]: https://github.com/RustCrypto/hashes/pull/836

## 0.10.8 (2023-04-08)
### Fixed
- Performance regression: now uses `p1600` fn ([#472])

[#472]: https://github.com/RustCrypto/hashes/pull/472

## 0.10.7 (2023-04-11)
### Added
- `asm` feature ([#437])
- TurboSHAKE ([#458])

[#437]: https://github.com/RustCrypto/hashes/pull/437
[#458]: https://github.com/RustCrypto/hashes/pull/458

## 0.10.6 (2022-10-19)
### Fixed
- XOF reader type aliases ([#427])

[#427]: https://github.com/RustCrypto/hashes/pull/427

## 0.10.5 (2022-09-16)
### Added
- Feature-gated OID support ([#405])

[#405]: https://github.com/RustCrypto/hashes/pull/405

## 0.10.4 (2022-09-02)
### Fixed
- MSRV issue which was not resolved by v0.10.3 ([#401])

[#401]: https://github.com/RustCrypto/hashes/pull/401

## 0.10.3 (2022-09-02)
### Fixed
- MSRV issue caused by publishing v0.10.2 using a buggy Nightly toolchain ([#399])

[#399]: https://github.com/RustCrypto/hashes/pull/399

## 0.10.2 (2022-07-30)
### Added
- cSHAKE128 and cSHAKE256 implementations ([#355])

[#355]: https://github.com/RustCrypto/hashes/pull/355

## 0.10.1 (2022-02-17)
### Fixed
- Minimal versions build ([#363])

[#363]: https://github.com/RustCrypto/hashes/pull/363

## 0.10.0 (2021-12-07)
### Changed
- Update to `digest` v0.10 ([#217])

[#217]: https://github.com/RustCrypto/hashes/pull/217

## 0.9.1 (2020-06-28)
### Changed
- Update to `block-buffer` v0.9 ([#164])
- Update to `opaque-debug` v0.3 ([#168])

[#164]: https://github.com/RustCrypto/hashes/pull/164
[#168]: https://github.com/RustCrypto/hashes/pull/168

## 0.9.0 (2020-06-10)
### Changed
- Update to `digest` v0.9 release; MSRV 1.41+ ([#155])
- Use new `*Dirty` traits from the `digest` crate ([#153])
- Bump `block-buffer` to v0.8 release ([#151])
- Rename `*result*` to `finalize` ([#148])
- Upgrade to Rust 2018 edition ([#134])

[#155]: https://github.com/RustCrypto/hashes/pull/155
[#153]: https://github.com/RustCrypto/hashes/pull/153
[#151]: https://github.com/RustCrypto/hashes/pull/151
[#148]: https://github.com/RustCrypto/hashes/pull/148
[#134]: https://github.com/RustCrypto/hashes/pull/133

## 0.8.2 (2019-04-24)

## 0.8.1 (2018-11-14)

## 0.8.0 (2018-10-02)

## 0.7.3 (2018-03-27)

## 0.7.2 (2017-11-18)

## 0.7.1 (2017-11-17)

## 0.7.0 (2017-11-15)

## 0.6.0 (2017-06-12)

## 0.5.3 (2017-05-31)

## 0.5.2 (2017-05-30)

## 0.5.1 (2017-05-02)

## 0.5.0 (2017-04-06)

## 0.4.1 (2017-01-20)

## 0.4.0 (2016-12-25)

## 0.3.0 (2016-11-17)

## 0.2.0 (2016-10-14)

## 0.1.0 (2016-10-13)
