From 1b3b8a36dfa75456f09cfb34a14580b9acef5e6c Mon Sep 17 00:00:00 2001 From: Tony Arcieri Date: Mon, 19 Jan 2026 19:48:44 -0700 Subject: [PATCH] ctutils v0.4.0 --- Cargo.lock | 2 +- ctutils/CHANGELOG.md | 27 +++++++++++++++++++++++++++ ctutils/Cargo.toml | 2 +- 3 files changed, 29 insertions(+), 2 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index e13e73a1..eec3f4ad 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -79,7 +79,7 @@ dependencies = [ [[package]] name = "ctutils" -version = "0.4.0-pre.5" +version = "0.4.0" dependencies = [ "cmov", "proptest", diff --git a/ctutils/CHANGELOG.md b/ctutils/CHANGELOG.md index 46e31181..1a86ae05 100644 --- a/ctutils/CHANGELOG.md +++ b/ctutils/CHANGELOG.md @@ -4,6 +4,33 @@ 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.4.0 (2026-01-19) +### Added +- `core::num::NonZero` support ([#1368]) +- Pluggable trait impls for `[T]` and `[T; N]` using helper traits: ([#1388]) + - `CtAssign`: `CtAssignSlice` + - `CtEq`: `CtEqSlice` + - `CtSelect`: `CtSelectArray` +- `CtSelectUsingCtAssign` marker trait ([#1391]) + +### Changed +- Split `CtAssign` out of `CtSelect` ([#1363]) +- Bump `cmov` to v0.5 ([#1386]) + +### Removed +- `BytesCtEq`/`BytesCtSelect` no longer needed because default `[u8]` impls are fast ([#1376]) +- `target_pointer_width` gating ([#1389]) +- `unsafe` code ([#1405]) + +[#1363]: https://github.com/RustCrypto/utils/pull/1363 +[#1368]: https://github.com/RustCrypto/utils/pull/1368 +[#1376]: https://github.com/RustCrypto/utils/pull/1376 +[#1386]: https://github.com/RustCrypto/utils/pull/1386 +[#1388]: https://github.com/RustCrypto/utils/pull/1388 +[#1389]: https://github.com/RustCrypto/utils/pull/1389 +[#1391]: https://github.com/RustCrypto/utils/pull/1391 +[#1405]: https://github.com/RustCrypto/utils/pull/1405 + ## 0.3.2 (2026-01-16) ### Added - `BytesCtEq` and `BytesCtSelect` traits ([#1359]) diff --git a/ctutils/Cargo.toml b/ctutils/Cargo.toml index fa089993..86d5d5bd 100644 --- a/ctutils/Cargo.toml +++ b/ctutils/Cargo.toml @@ -5,7 +5,7 @@ Constant-time utility library with selection and equality testing support target applications. Supports `const fn` where appropriate. Built on the `cmov` crate which provides architecture-specific predication intrinsics. Heavily inspired by the `subtle` crate. """ -version = "0.4.0-pre.5" +version = "0.4.0" authors = ["RustCrypto Developers"] license = "Apache-2.0 OR MIT" homepage = "https://github.com/RustCrypto/utils/tree/master/ctselect"