x25519-dalek
X25519 elliptic curve Diffie-Hellman key exchange in pure-Rust, using curve25519-dalek.
3.0.0
67M downloads/mo
#1030 most downloaded on crates.io
dalek-cryptography/curve25519-dalek
What this package is like to depend on
Last release 1 months ago
06 Jul 2026
Ships unpredictably
gaps range from 1 weeks to 1.4 years
Some releases are documented
notes for 10 of 18 stable releases
5 versions withdrawn
withdrawn after publishing
9 years old
35 releases · first in 2017
9 releases in the last 12 months
see the full history below
Release timeline
35 releases · Sep 2017 to Jul 2026Releases
latest 35-
3.0.006 Jul 2026Release notes
Open source →Breaking Changes
- Update edition to 2024
- Update the MSRV from 1.60 to 1.85
- Remove
Zeroizeimpl forx25519::{EphemeralSecret, ReusableSecret, SharedSecret, StaticSecret}to prevent misuse. These are now only zeroized on drop. (#782) - Remove
allocfeature flag, which was doing nothing (#857) - Remove deprecated functions
{Ephemeral,Reusable,Static}Secret::new()(#778) - Upgrade
rand_coredependency to v0.10.0
Other Changes
- Re-export
rand_core(#908)
2.x Series
- Note: All
x255919-dalek2.x releases are in sync with the underlyingcurve25519-dalek4.x releases.
-
3.0.0-rc.118 Jun 2026 pre-releaseNothing published for this version
-
3.0.0-rc.028 May 2026 pre-releaseNothing published for this version
-
3.0.0-pre.604 Feb 2026 pre-releaseNothing published for this version
-
3.0.0-pre.525 Jan 2026 pre-releaseNothing published for this version
-
3.0.0-pre.403 Jan 2026 pre-releaseNothing published for this version
-
3.0.0-pre.307 Dec 2025 pre-releaseNothing published for this version
-
3.0.0-pre.222 Nov 2025 pre-releaseNothing published for this version
-
3.0.0-pre.104 Sep 2025 pre-releaseNothing published for this version
-
3.0.0-pre.009 Jul 2025 pre-releaseNothing published for this version
-
2.0.107 Feb 2024 -
2.0.012 Aug 2023Nothing published for this version
-
2.0.0-rc.324 Jun 2023 pre-releaseRelease notes
Open source →StaticSecretserialization andto_bytes()no longer returns clamped integers. Clamping is still always done during scalar-point multiplication.- Update underlying
curve25519_daleklibrary to4.0.0-rc.3. Notable changes:- [curve25519-dalek backend] now by default auto selects
simdbackend overserialwhere supported.
- [curve25519-dalek backend] now by default auto selects
-
2.0.0-rc.231 Mar 2023 pre-release withdrawnRelease notes
Open source →- Update MSRV to 1.60.
- Update edition to 2021
- Add
.as_bytes()andAsRef<[u8]>forShared/StaticSecret - Add
getrandomfeature to providerandom_from_rngconstructors - Make
StaticSecretsoptional via featurestatic_secrets - Update underlying
curve25519_daleklibrary to4.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.
-
2.0.0-pre.123 Sep 2021 pre-releaseRelease notes
Open source →- Loosen restriction on zeroize dependency version from =1.3 to 1.
- Update MSRV to 1.51.
-
2.0.0-pre.015 Sep 2021 pre-release -
1.2.014 Sep 2021Nothing published for this version
-
1.1.114 Apr 2021 -
1.1.031 Aug 2020 -
1.0.118 Aug 2020 -
1.0.018 Aug 2020Release notes
Open source →- Widen generic bound on
EphemeralSecret::newandStaticSecret::newto allow owned as well as borrowed RNGs. - Add
PublicKey::to_bytesandSharedSecret::to_bytes, returning owned byte arrays, complementing the existingas_bytesmethods returning references. - Remove mention of deprecated
rand_oscrate from examples. - Clarify
EphemeralSecret/StaticSecretdistinction in documentation.
Pre-1.0.0
- Widen generic bound on
-
0.6.026 Nov 2019Release notes
Open source →- Updates
rand_coreversion to0.5. - Adds
serdesupport. - Replaces
clear_on_dropwithzeroize. - Use Rust 2018.
- Updates
-
0.5.229 Mar 2019 -
0.5.128 Feb 2019 -
0.5.016 Feb 2019 -
0.4.504 Feb 2019Nothing published for this version
-
0.4.422 Jan 2019Nothing published for this version
-
0.4.320 Jan 2019Nothing published for this version
-
0.4.216 Jan 2019Nothing published for this version
-
0.4.016 Jan 2019Nothing published for this version
-
0.3.027 Jul 2018Nothing published for this version
-
0.2.123 Jul 2018 withdrawnNothing published for this version
-
0.2.015 May 2018 withdrawnNothing published for this version
-
0.1.024 Oct 2017 withdrawnNothing published for this version
-
0.0.014 Sep 2017 withdrawnNothing published for this version