@@ -4,6 +4,55 @@ All notable changes to this project will be documented in this file.
4
4
The format is based on [ Keep a Changelog] ( https://keepachangelog.com/en/1.0.0/ ) ,
5
5
and this project adheres to [ Semantic Versioning] ( https://semver.org/spec/v2.0.0.html ) .
6
6
7
+ ## 0.5.3 (2023-09-04)
8
+ ### Added
9
+ - ` BoxedUint ` : heap-allocated fixed-precision integers ([ #221 ] )
10
+ - ` extra-sizes ` feature ([ #229 ] )
11
+ - ` U4224 ` and ` U4352 ` ([ #233 ] )
12
+ - Zeroizing support for ` DynResidue ` ([ #235 ] )
13
+ - ` cmp_vartime ` , ` ct_cmp ` ([ #238 ] )
14
+ - Expose Montgomery form in ` Residue ` /` DynResidue ` ([ #239 ] )
15
+ - Make ` Uint::pow ` work with different sized exponents ([ #251 ] )
16
+ - Expose ` wrapping_neg ` ([ #252 ] )
17
+ - Make ` concat ` , ` split ` , and multiply work with different sized operands ([ #253 ] )
18
+ - ` U16384 ` and ` U32768 ` ([ #255 ] )
19
+ - ` Uint::{inv_mod, inv_mod2k_vartime} ` ([ #263 ] )
20
+ - ` const fn ` constructors for ` NonZero<Uint> ` and ` NonZero<Limb> ` ([ #266 ] )
21
+ - Constant-time ` Uint::shr() ` and ` Uint::shl() ` ([ #267 ] )
22
+ - Subtle trait impls for ` DynResidue ` and ` DynResidueParams ` ([ #269 ] )
23
+
24
+ ### Changed
25
+ - Modular inversion improvements ([ #263 ] )
26
+
27
+ ### Fixed
28
+ - ` serdect ` usage ([ #222 ] )
29
+ - Enforce valid modulus for ` DynResidueParams ` ([ #240 ] )
30
+ - Enforce valid modulus for ` Residue ` and associated macros ([ #243 ] )
31
+ - Make ` Uint::{from_be_hex, from_le_hex} ` constant-time ([ #254 ] )
32
+ - Remove conditionals in ` Uint::saturating_add() ` and ` saturating_mul() ` ([ #256 ] )
33
+ - More logical checks in the ` Uint::random_mod() ` test ([ #256 ] )
34
+ - Mark ` sqrt ` for renaming, to explicitly describe it as vartime ([ #256 ] )
35
+
36
+ [ #221 ] : https://github.com/RustCrypto/crypto-bigint/pull/221
37
+ [ #222 ] : https://github.com/RustCrypto/crypto-bigint/pull/222
38
+ [ #229 ] : https://github.com/RustCrypto/crypto-bigint/pull/229
39
+ [ #233 ] : https://github.com/RustCrypto/crypto-bigint/pull/233
40
+ [ #235 ] : https://github.com/RustCrypto/crypto-bigint/pull/235
41
+ [ #238 ] : https://github.com/RustCrypto/crypto-bigint/pull/238
42
+ [ #239 ] : https://github.com/RustCrypto/crypto-bigint/pull/239
43
+ [ #240 ] : https://github.com/RustCrypto/crypto-bigint/pull/240
44
+ [ #243 ] : https://github.com/RustCrypto/crypto-bigint/pull/243
45
+ [ #251 ] : https://github.com/RustCrypto/crypto-bigint/pull/251
46
+ [ #252 ] : https://github.com/RustCrypto/crypto-bigint/pull/252
47
+ [ #253 ] : https://github.com/RustCrypto/crypto-bigint/pull/253
48
+ [ #254 ] : https://github.com/RustCrypto/crypto-bigint/pull/254
49
+ [ #255 ] : https://github.com/RustCrypto/crypto-bigint/pull/255
50
+ [ #256 ] : https://github.com/RustCrypto/crypto-bigint/pull/256
51
+ [ #263 ] : https://github.com/RustCrypto/crypto-bigint/pull/263
52
+ [ #266 ] : https://github.com/RustCrypto/crypto-bigint/pull/266
53
+ [ #267 ] : https://github.com/RustCrypto/crypto-bigint/pull/267
54
+ [ #269 ] : https://github.com/RustCrypto/crypto-bigint/pull/269
55
+
7
56
## 0.5.2 (2023-04-26)
8
57
### Added
9
58
- Expose residue params and modulus in ` DynResidue ` ([ #197 ] )
0 commit comments