diff --git a/Cargo.lock b/Cargo.lock index b3b48d1b..fac5221a 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -57,7 +57,7 @@ checksum = "9330f8b2ff13f34540b44e946ef35111825727b38d33286ef986142615121801" [[package]] name = "cmov" -version = "0.5.0" +version = "0.5.1" dependencies = [ "proptest", ] diff --git a/cmov/CHANGELOG.md b/cmov/CHANGELOG.md index 69997198..878a5057 100644 --- a/cmov/CHANGELOG.md +++ b/cmov/CHANGELOG.md @@ -4,6 +4,16 @@ 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.5.1 (2026-01-18) +### Added +- `riscv32` optimised mask generation ([#1396]) +- `riscv64` optimised mask generation ([#1397]) +- Support for `core::num::NonZero*` and `core::cmp::Ordering` ([#1404]) + +[#1396]: https://github.com/RustCrypto/utils/pull/1396 +[#1397]: https://github.com/RustCrypto/utils/pull/1397 +[#1404]: https://github.com/RustCrypto/utils/pull/1404 + ## 0.5.0 (2026-01-17) ### Added - Optimized `CmovEq` for `[u8]` ([#1356]) diff --git a/cmov/Cargo.toml b/cmov/Cargo.toml index b426252a..6c4e80ab 100644 --- a/cmov/Cargo.toml +++ b/cmov/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "cmov" -version = "0.5.0" +version = "0.5.1" authors = ["RustCrypto Developers"] edition = "2024" rust-version = "1.85" diff --git a/cmov/README.md b/cmov/README.md index e0b43d30..f37990d3 100644 --- a/cmov/README.md +++ b/cmov/README.md @@ -28,6 +28,12 @@ inline `asm!`, which means the implementation is a black box that will not be rewritten by e.g. LLVM's architecture-specific lowerings, such as the [x86-cmov-conversion] pass. +This is a *low level crate* who's API is designed to make it easy to build +portable abstractions across various CPU architectures and is not intended for +general purpose use. + +See the [`ctutils`] crate for a higher-level API build on top of `cmov`. + ## Supported target architectures This crate provides guaranteed constant-time operation using inline `asm!` @@ -111,5 +117,6 @@ dual licensed as above, without any additional terms or conditions. [CSEL]: https://developer.arm.com/documentation/dui0802/b/CSEL [predication]: https://en.wikipedia.org/wiki/Predication_(computer_architecture) [x86-cmov-conversion]: https://dsprenkels.com/cmov-conversion.html +[`ctutils`]: https://docs.rs/ctutils [open an issue]: https://github.com/RustCrypto/utils/issues [RUSTSEC-2026-0003]: https://rustsec.org/advisories/RUSTSEC-2026-0003.html