NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
crates.io · #2310 most downloaded on crates.io
Zcash-flavored Ed25519 for use in Zebra.
Last release 6 days ago
01 Oct 2026
Release timing varies
gaps range from 3 weeks to 1.9 years
Nearly every release is documented
notes for 23 of 24 stable releases
Nothing withdrawn
no release was ever pulled
7 years old
25 releases · first in 2020
One column per quarter.
This release contains breaking changes, since the types of these dependencies are part of the public API. The MSRV is unchanged (1.85).
This release contains breaking changes, since the types of these
dependencies are part of the public API. The MSRV is unchanged (1.85).
rand_core from 0.6 to 0.10 (and the rand dev-dependency from 0.8 toSigningKey::new() and batch::Verifier::verify() now require an RNGrand_core 0.10 CryptoRng trait, e.g. rand::rng() fromrand 0.10 (which replaces rand::thread_rng()).curve25519-dalek from 4 to 5.ed25519 from 2 to 3 (and thus signature from 2 to 3). The re-exporteded25519 crate no longer has a std feature.sha2 from 0.10 to 0.11.pkcs8 from 0.10 to 0.11 and der from 0.7 to 0.8 (pkcs8/pempkcs8::Error::KeyMalformed errors now carry apkcs8::KeyError::Invalid, and SigningKey implementsTryFrom<pkcs8::PrivateKeyInfoRef> instead of TryFrom<pkcs8::PrivateKeyInfo>.serde encoding of Signature changed (via ed25519 3): it now usesserdect, serializing as bytes in binary formats (bincode adds a lengthBump hashbrown from 0.15 to 0.16.
hashbrown from 0.15 to 0.16.Implement PartialEq and Eq in SigningKey and VerificationKey
Update curve25519-dalek to 4.1.0
curve25519-dalek to 4.1.0Update curve25519-dalek to 4.0.0
curve25519-dalek to 4.0.0Fix no-std build with serde activated
curve25519-dalek to 4.0.0-rc.3upgrade curve25519-dalek to 4.0.0-rc.2
upgrade curve25519-dalek to 4.0.0-rc.2
clippy fixes
activate ed25519/pem only when needed
bump to 4.0.0; bump MSRV to 1.65; fix no_std support; test MSRV and no_std in CI
use rust-toolchain instead of TOML to work with (unmaitained) actions-rs/toolchain
Signature is now an alias for ed25519::Signature
impl From<Signature> for [u8; 64] no longer exists; use to_bytes() instead.signature::{Signer, Verifier} is now implemented for SigningKeyandVerificationKey`.sha2 version to 0.10 and curve25519-dalek version to 4.0.0-rc.2.pem and pkcs8 featuresMSRV increased to 1.65.0.
Add no_std support by @pvdrz in #57
ed25519-zebra 3.0.0 upgrades rand to 0.8 and rand_core to 0.6. Since they are specified in the signing API, this is a backwards-incompatible API chang
ed25519-zebra 3.0.0 upgrades rand to 0.8 and rand_core to 0.6. Since they are specified in the signing API, this is a backwards-incompatible API change, thus the major version bump.
Plus:
Full Changelog: 2.2.0...3.0.0
Add PartialOrd, Ord implementations for VerificationKeyBytes. While the derived ordering is not cryptographically meaningful, deriving these traits is
PartialOrd, Ord implementations for VerificationKeyBytes. While
the derived ordering is not cryptographically meaningful, deriving these
traits is useful because it allows, e.g., using VerificationKeyBytes as the
key to a BTreeMap (contributed by @cloudhead).Updates sha2 version to 0.9 and curve25519-dalek version to 3.
sha2 version to 0.9 and curve25519-dalek version to 3.Add a missing multiplication by the cofactor in batch verification and test that individual and batch verification agree. This corrects an omission th
2.0.0.Implements Clone + Debug for batch::Item and provides batch::Item::verify_single to perform fallback verification in case of batch failure.
Clone + Debug for batch::Item and provides
batch::Item::verify_single to perform fallback verification in case
of batch failure.Implements ZIP 215, so that batched and individual verification agree on whether signatures are valid.
Nothing published for this version
Adds impl TryFrom<&[u8]> for all types.
impl TryFrom<&[u8]> for all types.Add a note about versioning to handle ZIP 215.
Change docs.rs configuration in Cargo.toml to not refer to the removed batch feature so that the docs render correctly on docs.rs.
docs.rs configuration in Cargo.toml to not refer to the removed
batch feature so that the docs render correctly on docs.rs.The sync batch verification api is changed to remove a dependence on the message lifetime that made it difficult to use in async contexts.
Change terminology from secret and public keys to signing and verification keys.
The previous implementation exactly matched the behavior of libsodium 1.0.15 with the ED25519_COMPAT configuration, but this configuration wasn't used
libsodium
1.0.15 with the ED25519_COMPAT configuration, but this configuration
wasn't used by zcashd. This commit changes the validation rules to exactly
match without ED25519_COMPAT, and highlights the remaining inconsistencies
with the Zcash specification that were not addressed in the previous spec
fix.Adds impl AsRef<[u8]> for PublicKey.
impl AsRef<[u8]> for PublicKey.impl AsRef<[u8]> for SecretKey.Adds impl AsRef<[u8]> for PublicKeyBytes.
impl AsRef<[u8]> for PublicKeyBytes.Adds experimental futures-based batch verification API, gated by the batch feature.
batch feature.Initial release, attempting to match the actual zcashd behavior.
Initial release, attempting to match the actual zcashd behavior.
Your coding agent can read these notes before it upgrades. Set up the MCP server →