2019-02-16 21:46:06 +00:00
# Changelog
Entries are listed in reverse chronological order.
2025-07-09 01:46:55 +00:00
# 3.x Series
2025-07-08 19:06:07 +00:00
2025-07-09 01:46:55 +00:00
## 3.0.0-pre
* Update edition to 2024
* Update the MSRV from 1.60 to 1.85
* Update `rand_core` dep
2025-07-08 19:06:07 +00:00
* Remove `Zeroize` impl for `x25519::{EphemeralSecret, ReusableSecret, SharedSecret, StaticSecret}` to prevent misuse. These are now only zeroized on drop.
2025-07-09 01:46:55 +00:00
* Remove deprecated functions `{Ephemeral,Reusable,Static}Secret::new()`
2025-07-08 19:06:07 +00:00
2021-09-15 00:13:09 +00:00
# 2.x Series
2023-06-24 03:54:38 +00:00
* Note: All `x255919-dalek` 2.x releases are in sync with the underlying `curve25519-dalek` 4.x releases.
2023-03-31 20:58:35 +00:00
2024-02-07 01:09:18 +00:00
## 2.0.1
* Fix nightly SIMD build
2023-03-31 20:58:35 +00:00
## 2.0.0-rc.3
2023-06-24 03:54:38 +00:00
* `StaticSecret` serialization and `to_bytes()` no longer returns clamped integers. Clamping is still always done during scalar-point multiplication.
* Update underlying `curve25519_dalek` library to `4.0.0-rc.3` . Notable changes:
* [curve25519-dalek backend] now by default auto selects `simd` backend over `serial` where supported.
2023-03-31 20:58:35 +00:00
2023-03-31 17:53:51 +00:00
## 2.0.0-rc.2
2022-12-09 14:35:49 +00:00
* Update MSRV to 1.60.
2023-03-31 17:53:51 +00:00
* Update edition to 2021
* Add `.as_bytes()` and `AsRef<[u8]>` for `Shared/StaticSecret`
* Add `getrandom` feature to provide `random_from_rng` constructors
* Make `StaticSecrets` optional via feature `static_secrets`
2023-06-24 03:54:38 +00:00
* Update underlying `curve25519_dalek` library to `4.0.0-rc.2` . Notable changes:
* [curve25519-dalek backend] additive features have been removed in favor of cfg based selection.
* [curve25519-dalek backend] now by default auto selects the appropriate word size over the previous default `32` .
2022-12-09 14:35:49 +00:00
2021-09-23 19:53:53 +00:00
## 2.0.0-pre.1
* Loosen restriction on zeroize dependency version from =1.3 to 1.
* Update MSRV to 1.51.
2021-09-15 00:13:09 +00:00
## 2.0.0-pre.0
* Update `rand_core` dependency to `0.6` .
2021-09-14 23:08:22 +00:00
# 1.x Series
## 1.2
* Add module documentation for using the bytes-oriented `x25519()` API.
* Add implementation of `zeroize::Zeroize` for `PublicKey` .
* Move unittests to a separate directory.
* Add cargo feature flags `"fiat_u32_backend"` and `"fiat_u64_backend"` for
activating the Fiat crypto field element implementations.
* Fix issue with removed `feature(external_doc)` on nightly compilers.
* Pin `zeroize` to version 1.3 to support a wider range of MSRVs.
* Add CI via Github actions.
* Fix breakage in the serde unittests.
* MSRV is now 1.41 for production and 1.48 for development.
* Add an optional check to `SharedSecret` for contibutory behaviour.
* Add implementation of `ReusableSecret` keys which are non-ephemeral, but which
cannot be serialised to discourage long-term use.
2021-04-14 04:38:37 +00:00
## 1.1.1
* Fix a typo in the README.
2020-08-31 19:56:34 +00:00
## 1.1.0
* Add impls of `PartialEq` , `Eq` , and `Hash` for `PublicKey` (by @jack -michaud)
2020-08-18 03:37:20 +00:00
## 1.0.1
* Update underlying `curve25519_dalek` library to `3.0` .
2020-08-18 02:43:22 +00:00
## 1.0.0
* Widen generic bound on `EphemeralSecret::new` and `StaticSecret::new` to
allow owned as well as borrowed RNGs.
* Add `PublicKey::to_bytes` and `SharedSecret::to_bytes` , returning owned byte
arrays, complementing the existing `as_bytes` methods returning references.
* Remove mention of deprecated `rand_os` crate from examples.
* Clarify `EphemeralSecret` /`StaticSecret` distinction in documentation.
2021-09-14 23:08:22 +00:00
# Pre-1.0.0
2019-11-26 22:03:08 +00:00
## 0.6.0
* Updates `rand_core` version to `0.5` .
* Adds `serde` support.
* Replaces `clear_on_drop` with `zeroize` .
* Use Rust 2018.
2019-03-29 19:53:43 +00:00
## 0.5.2
* Implement `Clone` for `StaticSecret` .
## 0.5.1
* Implement `Copy, Clone, Debug` for `PublicKey` .
* Remove doctests.
2019-02-16 21:46:06 +00:00
## 0.5.0
* Adds support for static and ephemeral keys.
2023-06-24 03:54:38 +00:00
[curve25519-dalek backend]: https://github.com/dalek-cryptography/curve25519-dalek/#backends