# 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.6.2 (2022-03-03) ### Added - add `new_with_init_block` ([#195]) ### Changed - implement Karatsuba multiplication for arm64 ([#181]) [#195]: https://github.com/RustCrypto/universal-hashes/pull/195 [#181]: https://github.com/RustCrypto/universal-hashes/pull/181 ## 0.6.1 (2023-06-16) ### Added - Support for `polyval_armv8` on Rust 1.61+ ([#179]) [#179]: https://github.com/RustCrypto/universal-hashes/pull/179 ## 0.6.0 (2022-07-31) ### Added - Impl `Reset` ([#157]) ### Changed - Remove `sse4.1` from CPU feature requirements for PCLMUL backend ([#143]) - Relax `zeroize` constraints ([#147]) - Upgrade to Rust 2021 edition ([#147]) - Use stable `aarch64_target_feature` ([#154]) - Replace `armv8`/`force-soft` features with `cfg` attributes ([#159]) - Bump `universal-hash` to v0.5 ([#155], [#162]) [#143]: https://github.com/RustCrypto/universal-hashes/pull/143 [#147]: https://github.com/RustCrypto/universal-hashes/pull/147 [#154]: https://github.com/RustCrypto/universal-hashes/pull/154 [#155]: https://github.com/RustCrypto/universal-hashes/pull/155 [#157]: https://github.com/RustCrypto/universal-hashes/pull/157 [#159]: https://github.com/RustCrypto/universal-hashes/pull/159 [#162]: https://github.com/RustCrypto/universal-hashes/pull/162 ## 0.5.3 (2021-08-27) ### Changed - Bump `cpufeatures` dependency to v0.2 ([#136], [#138]) - Remove use of ARMv8 `crypto` feature ([#137]) [#136]: https://github.com/RustCrypto/universal-hashes/pull/136 [#137]: https://github.com/RustCrypto/universal-hashes/pull/137 [#138]: https://github.com/RustCrypto/universal-hashes/pull/138 ## 0.5.2 (2021-07-20) ### Changed - Pin `zeroize` dependency to v1.3 ([#134]) [#134]: https://github.com/RustCrypto/universal-hashes/pull/134 ## 0.5.1 (2021-05-31) ### Added - Nightly-only ARMv8 intrinsics support gated under the `armv8` feature ([#126]) [#126]: https://github.com/RustCrypto/universal-hashes/pull/126 ## 0.5.0 (2021-04-29) ### Changed - Use `ManuallyDrop` unions; MSRV 1.49+ ([#113], [#114]) - Replace `cpuid-bool` with `cpufeatures` ([#116]) ### Removed - `mulx` feature: now always built-in ([#118]) [#113]: https://github.com/RustCrypto/universal-hashes/pull/113 [#114]: https://github.com/RustCrypto/universal-hashes/pull/114 [#116]: https://github.com/RustCrypto/universal-hashes/pull/116 [#118]: https://github.com/RustCrypto/universal-hashes/pull/118 ## 0.4.5 (2020-12-26) ### Changed - Use `u128` to impl `mulx` ([#111]) [#111]: https://github.com/RustCrypto/universal-hashes/pull/111 ## 0.4.4 (2020-12-26) ### Added - `Debug` impl using `opaque-debug` ([#105]) - `mulx` feature ([#107]) [#105]: https://github.com/RustCrypto/universal-hashes/pull/105 [#107]: https://github.com/RustCrypto/universal-hashes/pull/107 ## 0.4.3 (2020-12-08) ### Added - CLMUL detection ([#92]) [#92]: https://github.com/RustCrypto/universal-hashes/pull/92 ## 0.4.2 (2020-11-25) ### Added - `KEY_SIZE` constant ([#82]) ### Changed - Bump `cfg-if` from v0.1 to v1.0.0 ([#86]) [#86]: https://github.com/RustCrypto/universal-hashes/pull/86 [#82]: https://github.com/RustCrypto/universal-hashes/pull/82 ## 0.4.1 (2020-09-26) ### Changed - Performance improvements ([#75]) [#75]: https://github.com/RustCrypto/universal-hashes/pull/75 ## 0.4.0 (2020-06-06) ### Changed - Bump `universal-hash` dependency to v0.4; MSRV 1.41 ([#52], [#57]) - Rename `result` methods to to `finalize` ([#56]) [#57]: https://github.com/RustCrypto/universal-hashes/pull/57 [#56]: https://github.com/RustCrypto/universal-hashes/pull/56 [#52]: https://github.com/RustCrypto/universal-hashes/pull/52 ## 0.3.3 (2019-12-21) ### Changed - Match ideal assembly implementation on x86/x86_64 ([#43], [#44]) [#43]: https://github.com/RustCrypto/universal-hashes/pull/43 [#44]: https://github.com/RustCrypto/universal-hashes/pull/44 ## 0.3.2 (2019-12-05) ### Added - Constant-time 32-bit software implementation ([#39]) ### Changed - Use `cfg-if` crate to reduce duplication ([#40]) [#39]: https://github.com/RustCrypto/universal-hashes/pull/39 [#40]: https://github.com/RustCrypto/universal-hashes/pull/40 ## 0.3.1 (2019-11-14) ### Changed - Upgrade to `zeroize` 1.0 ([#33]) [#33]: https://github.com/RustCrypto/universal-hashes/pull/33 ## 0.3.0 (2019-10-05) ### Removed - Remove `pub` from `field` module ([#28]) [#28]: https://github.com/RustCrypto/universal-hashes/pull/28 ## 0.2.0 (2019-10-04) ### Changed - Upgrade to `universal-hash` crate v0.3 ([#22]) [#22]: https://github.com/RustCrypto/universal-hashes/pull/22 ## 0.1.1 (2019-10-01) ### Changed - Upgrade to `zeroize` v1.0.0-pre ([#19]) [#19]: https://github.com/RustCrypto/universal-hashes/pull/19 ## 0.1.0 (2019-09-19) ### Added - Constant time software implementation ([#7]) ### Changed - Update to Rust 2018 edition ([#3]) - Use `UniversalHash` trait ([#6]) - Removed generics/traits from `field::Element` API ([#12]) ### Removed - `insecure-soft` cargo feature ([#7]) [#3]: https://github.com/RustCrypto/universal-hashes/pull/3 [#6]: https://github.com/RustCrypto/universal-hashes/pull/6 [#7]: https://github.com/RustCrypto/universal-hashes/pull/7 [#12]: https://github.com/RustCrypto/universal-hashes/pull/12 ## 0.0.1 (2019-08-26) - Initial release