5.0 KiB
5.0 KiB
Changelog
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
0.5.4 (2026-05-28)
Security
- Fix GHSA-3rjw-m598-pq24:
Cmov/CmovEqonaarch64can produce wrong results if high-bits of registers are set (dba6c355)
0.5.3 (2026-04-02)
Added
- Impl
Cmov/CmovEqforNonZeroUsize/NonZeroIsize(#1415)
Changed
- Avoid using
asm!undercfg(miri)(#1436)
0.5.2 (2026-01-20)
Fixed
Cmovimpl forisize/usize(#1412)
0.5.1 (2026-01-18)
Added
riscv32optimised mask generation (#1396)riscv64optimised mask generation (#1397)- Support for
core::num::NonZero*andcore::cmp::Ordering(#1404)
0.5.0 (2026-01-17)
Added
- Optimized
CmovEqfor[u8](#1356) - Optimized
CmovEqfor[u16](#1370) - Impl
Cmov/CmovEqfor slices of unsigned integers (#1370, #1372) - Impl
Cmov/CmovEqfor slices of signed integers (#1373) - Impl
Cmov/CmovEqforisize/usize(#1375)
Changed
- Impls of
Cmov/CmovEqfor[T; N]are now bounded on[T]: Cmov(Eq)(#1372)
Removed
- Generic impl of
CmovEqfor[T]whereT: CmovEqin favor of specialized impls (#1356)
0.4.6 (2026-01-16)
Added
- Optimized
Cmovfor[u8; N](#1350) - Optimized
CmovEqfor[u8; N](#1353) - Optimized
Cmovfor[u8](#1354)
Fixed
- Provided
Cmov::cmovzimpl (#1351)
0.4.5 (2026-01-15)
Changed
- Introduce small ARM32
asm!optimization which also guarantees constant-time operation (#1336, #1346)
0.4.4 (2026-01-14)
Security
- Fix non-constant-time assembly being emitted from portable backend on
thumbv6m-none-eabi(#1332)
0.4.3 (2025-12-27)
Fixed
0.4.2 (2025-12-26)
Added
- Signed integer support (#1280)
0.4.1 (2025-12-19)
Changed
- Use
black_boxin portable impl (#1255)
0.4.0 (2025-09-10)
Changed
- Edition changed to 2024 and MSRV bumped to 1.85 (#1149)
0.3.1 (2023-10-14)
Added
CmovEqimpl for slices (#954)
Changed
- Use
#[inline]instead of#[inline(always)](#924) CmovEqnow invokes XOR within the ASM block (#925)
0.3.0 (2023-04-02)
Added
Changed
- Make
Cmov::cmovza provided method (#871)
Fixed
- Builds on
x86(32-bit) targets (#863)
0.2.0 (2023-02-26)
Added
Conditionalias foru8(#830)
Changed
- Redesigned trait-based API (#830)
- Built around a
Cmovtrait - Trait is impl'd for
u8,u16,u32,u64,u128 - Accepts a
Condition(i.e.u8) as a predicate
- Built around a
- MSRV 1.60 (#839)
0.1.1 (2022-03-02)
Added
cmovz/cmovnz-alike support for AArch64 targets (#744)
0.1.0 (2022-02-27)
- Initial release