Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ed25519 v1.4.0 has an MSRV of 1.56 #194

Closed
tarcieri opened this issue Feb 25, 2022 · 2 comments
Closed

ed25519 v1.4.0 has an MSRV of 1.56 #194

tarcieri opened this issue Feb 25, 2022 · 2 comments

Comments

@tarcieri
Copy link
Contributor

tarcieri commented Feb 25, 2022

This issue is mostly a heads up that the latest ed25519 crate release, v1.4.0, has bumped its minimum supported Rust version to 1.56, as part of a Rust 2021 edition upgrade:

RustCrypto/signatures#450

This may manifest in a Cargo resolution failure that looks like the following when building ed25519-dalek on earlier versions of Rust:

error: failed to parse manifest at `.cargo/registry/src/github.com-1ecc629/ed25519-1.4.0/Cargo.toml`

Caused by:
  failed to parse the `edition` key

Caused by:
  this version of Cargo is older than the `2021` edition, and only supports `2015` and `2018` editions.

If you are using ed25519-dalek with versions of Rust prior to 1.56, you will need to add a constraint to your Cargo.toml such as the following:

[dependencies]
ed25519 = ">=1, <1.4" # ed25519 1.4 requires MSRV 1.56

It might be worth adding such a constraint to ed25519-dalek itself, although this does have the downside of rejecting compatible versions of crates on newer MSRVs.

@assafmo
Copy link

assafmo commented Mar 31, 2022

Thank you @tonychain, I can confirm that this solved this issue for me too.

@str4d
Copy link

str4d commented Jun 20, 2022

It might be worth adding such a constraint to ed25519-dalek itself, although this does have the downside of rejecting compatible versions of crates on newer MSRVs.

I generally prefer avoiding these, precisely because of the downstream incompatibilities they cause. See also dalek-cryptography/x25519-dalek#74 (comment) where a zeroize = "=1.3" prevented me from upgrading x25519-dalek to access a security-relevant API (which fortunately I could just reproduce outside the crate, but that's not generally going to be the case, and having upgrades blocked by having a too-new MSRV seems like a particularly troublesome way to block forward progress).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants