Skip to content

chore(deps): bump ed25519-dalek from 2.2.0 to 3.0.0#257

Closed
dependabot[bot] wants to merge 1 commit into
mainfrom
dependabot/cargo/ed25519-dalek-3.0.0
Closed

chore(deps): bump ed25519-dalek from 2.2.0 to 3.0.0#257
dependabot[bot] wants to merge 1 commit into
mainfrom
dependabot/cargo/ed25519-dalek-3.0.0

Conversation

@dependabot

@dependabot dependabot Bot commented on behalf of github Jul 6, 2026

Copy link
Copy Markdown
Contributor

Bumps ed25519-dalek from 2.2.0 to 3.0.0.

Changelog

Sourced from ed25519-dalek's changelog.

3.0.0

  • Update the digest dependency to 0.9. This requires a major version because the digest traits are part of the public API, but there are otherwise no changes to the API.

2.1.0

  • Make Scalar::from_bits a const fn, allowing its use in const contexts.

2.0.0

  • Fix a data modeling error in the serde feature pointed out by Trevor Perrin which caused points and scalars to be serialized with length fields rather than as fixed-size 32-byte arrays. This is a breaking change, but it fixes compatibility with serde-json and ensures that the serde-bincode encoding matches the conventional encoding for X/Ed25519.
  • Update rand_core to 0.5, allowing use with new rand versions.
  • Switch from clear_on_drop to zeroize (by Tony Arcieri).
  • Require subtle = ^2.2.1 and remove the note advising nightly Rust, which is no longer required as of that version of subtle. See the subtle changelog for more details.
  • Update README.md for 2.x series.
  • Remove the build.rs hack which loaded the entire crate into its own build.rs to generate constants, and keep the constants in the source code.

The only significant change is the data model change to the serde feature; besides the rand_core version bump, there are no other user-visible changes.

1.2.4

  • Specify a semver bound for clear_on_drop rather than an exact version, addressing an issue where changes to inline assembly in rustc prevented clear_on_drop from working without an update.

1.2.3

  • Fix an issue identified by a Quarkslab audit (and Jack Grigg), where manually constructing unreduced Scalar values, as needed for X/Ed25519, and then performing scalar/scalar arithmetic could compute incorrect results.
  • Switch to upstream Rust intrinsics for the IFMA backend now that they exist in Rust and don't need to be defined locally.
  • Ensure that the NAF computation works correctly, even for parameters never used elsewhere in the codebase.
  • Minor refactoring to EdwardsPoint decompression.
  • Fix broken links in documentation.
  • Fix compilation on nightly broken due to changes to the #[doc(include)] path root (not quite correctly done in 1.2.2).

1.2.2

... (truncated)

Commits
  • 6d96eb7 Bump version to 3.0.0.
  • c68b30f Merge pull request #330 from isislovecruft/fix/move-coc
  • 2ee6193 Merge pull request #327 from huitseeker/digests-0.9
  • 91a0fae Move CoC section from CONTRIBUTING.md to new file.
  • 5038fcf Merge pull request #308 from isislovecruft/fix/pippenger-typo
  • 6afd8ff Update sha2, digest to 0.9
  • 3cc13a7 Merge branch 'master' into develop
  • c4824e1 Merge branch 'release/2.1.0'
  • 3fc47ef Bump version to 2.1.0
  • f04b830 Merge branch 'master' into develop
  • Additional commits viewable in compare view

@dependabot dependabot Bot added dependencies Pull requests that update a dependency file rust Pull requests that update Rust code labels Jul 6, 2026
@forkwright

Copy link
Copy Markdown
Owner

Reviewed (T0-gated agent review, 2026-07-16): merge-after-code-changes — this diff does not compile as posted.

ed25519-dalek 3.0 requires rand_core ^0.10's CryptoRng; the workspace pins rand_core 0.6 and the one RNG-construction site (crates/kryphos/src/key.rs:35-37) passes 0.6's OsRng — disjoint majors, guaranteed E0277. Worse, OsRng no longer exists in rand_core 0.9+/0.10, so there is no one-line swap.

Migration recipe:

  1. Scope a new rand = { version = "0.10", features = ["sys_rng"] } dep to kryphos only — do NOT bump the workspace rand_core = "0.6" (crypto.rs's chacha nonce path and kerykeion's OsRng.next_u32() still need 0.6).
  2. Replace the keygen RNG with rand::rngs::SysRng wrapped for the infallible bound (likely rand_core::UnwrapErr); check whether 3.0 exposes a fallible try_generate first.
  3. Everything else akroasis uses (from_bytes/to_bytes, Signer/Verifier, Signature) is unchanged; the persisted vault key format round-trips raw 32-byte arrays and is unaffected.
  4. Validate: kryphos test suite (incl. the RFC 8032 KAT) + cargo clippy --workspace.

Also note: the PR body's rendered changelog is curve25519-dalek's (same monorepo), not ed25519-dalek's — don't read it as this crate's history. MSRV 1.85/edition-2024 requirements are already satisfied. No security delta either way; this is a build-correctness blocker only.

Bumps [ed25519-dalek](https://github.com/dalek-cryptography/curve25519-dalek) from 2.2.0 to 3.0.0.
- [Release notes](https://github.com/dalek-cryptography/curve25519-dalek/releases)
- [Changelog](https://github.com/dalek-cryptography/curve25519-dalek/blob/3.0.0/CHANGELOG.md)
- [Commits](dalek-cryptography/curve25519-dalek@ed25519-2.2.0...3.0.0)

---
updated-dependencies:
- dependency-name: ed25519-dalek
  dependency-version: 3.0.0
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
@forkwright

Copy link
Copy Markdown
Owner

ed25519-dalek 3.0 is a breaking API change (rand_core 0.9 / SysRng signing surface) that needs a code migration, not a lockfile bump. Tracked as #277; closing this PR in favor of the migration.

@forkwright forkwright closed this Jul 17, 2026
@dependabot @github

dependabot Bot commented on behalf of github Jul 17, 2026

Copy link
Copy Markdown
Contributor Author

OK, I won't notify you again about this release, but will get in touch when a new version is available. If you'd rather skip all updates until the next major or minor version, let me know by commenting @dependabot ignore this major version or @dependabot ignore this minor version. You can also ignore all major, minor, or patch releases for a dependency by adding an ignore condition with the desired update_types to your config file.

If you change your mind, just re-open this PR and I'll resolve any conflicts on it.

@dependabot
dependabot Bot deleted the dependabot/cargo/ed25519-dalek-3.0.0 branch July 17, 2026 20:53
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file rust Pull requests that update Rust code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant