|
| 1 | +# 0.23.0 - 2022-06-21 |
| 2 | + |
| 3 | +The major change in this version is the increase of the Minimum Supported Rust Version (MSRV) from 1.29 to 1.41.1, this is a big change because it introduces Rust Edition 2018 to the codebase along with all the benefits that brings. |
| 4 | + |
| 5 | +## Breaking changes |
| 6 | + |
| 7 | +* [MSRV bumped to 1.41.1 and edition changed to 2018](https://github.com/rust-bitcoin/rust-secp256k1/pull/331) |
| 8 | +* serde implements serialize [fixed-width arrays](https://github.com/rust-bitcoin/rust-secp256k1/pull/406) as tuples in binary formats to avoid encoding the length |
| 9 | +* Key tweaking methods renamed and refactored to use a more [functional-style](https://github.com/rust-bitcoin/rust-secp256k1/pull/406), they now accept a [new Scalar](https://github.com/rust-bitcoin/rust-secp256k1/pull/445) type instead of raw slices |
| 10 | +* Update [`rand` dependency to 0.8](https://github.com/rust-bitcoin/rust-secp256k1/pull/331) |
| 11 | +* `KeyPair::from_secret_key` [borrows SecretKey](https://github.com/rust-bitcoin/rust-secp256k1/pull/430) instead of taking ownership |
| 12 | + |
| 13 | +## New features/APIs |
| 14 | + |
| 15 | +* Several convenience/conversion methods between [keys](https://github.com/rust-bitcoin/rust-secp256k1/pull/430) |
| 16 | +* [`sign_ecdsa_with_noncedata` and `sign_ecdsa_recoverable_with_noncedata`](https://github.com/rust-bitcoin/rust-secp256k1/pull/425) can be used to add additional entropy to ECDSA signatures |
| 17 | +* Errors now display their sources if std is unavailable, with std they rely on the consumer to use the source() method |
| 18 | +* [Implemented `TryFrom` for `Parity`](https://github.com/rust-bitcoin/rust-secp256k1/pull/409) |
| 19 | +* The [alloc feature](https://github.com/rust-bitcoin/rust-secp256k1/pull/331) can be used on targets with allocators without a standard library |
| 20 | +* `SharedSecret` can be created from a slice, parsed from a hex string, or [(de)serialized using serde](https://github.com/rust-bitcoin/rust-secp256k1/pull/418) |
| 21 | +* We now [derive `std::hash::Hash` for `Signature`](https://github.com/rust-bitcoin/rust-secp256k1/pull/441) |
| 22 | + |
| 23 | +## Other improvements |
| 24 | + |
| 25 | +* `global-context` feature now activates `global-context-less-secure`. |
| 26 | +* `githooks/` directory added for contributors |
| 27 | +* [Clippy is now used in CI](https://github.com/rust-bitcoin/rust-secp256k1/pull/448) and the code is clippy-compliant |
| 28 | +* Various documentation improvements |
| 29 | +* Various CI/development improvements |
| 30 | +* Various code quality improvements/refactors |
| 31 | + |
| 32 | + |
1 | 33 | # 0.22.1 - 2022-03-10
|
2 | 34 |
|
3 | 35 | * [Reintroduce](https://github.com/rust-bitcoin/rust-secp256k1/pull/417) accidentally removed possibility to create `SharedSecret` from byte serialization
|
|
0 commit comments