Skip to content

signature crate: 1.0 stabilization proposal #32

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

Merged
merged 1 commit into from
Oct 11, 2019

Conversation

tarcieri
Copy link
Member

@tarcieri tarcieri commented Oct 10, 2019

The motivation for 1.0 stabilization of the signature crate is the upcoming 1.0 release of ed25519-dalek. In order to promote Ed25519 interoperability, it would be great if ed25519-dalek could use the traits from this crate along with the ed25519::Signature type from the ed25519 crate. See the relevant issue:

dalek-cryptography/ed25519-dalek#80

To get there, I think we need to do a 1.0 release of this crate, as well as the ed25519 crate.

The main impediment towards doing so is the digest crate is presently stuck at v0.8. It would be nice to be able to continue upgrading it, especially to a 1.0 release, but that would otherwise be a SemVer
breaking change.

To allow agility around digest, and signatory_derive which depends on it, this commit places access to both under the digest-preview and derive-preview Cargo features respectively, and calls them out as not covered under SemVer and subject to change, but breaking changes will be done with a minor version bump.

@tarcieri
Copy link
Member Author

@newpavlov on a semi-related issue, I'm wondering if we should move the signature crate over to https://github.com/RustCrypto/traits (especially before a 1.0 release)

@@ -1,7 +1,7 @@
[package]
name = "signature"
description = "Traits for cryptographic signature algorithms (e.g. ECDSA, Ed25519)"
version = "0.3.0" # Also update html_root_url in lib.rs when bumping this
version = "1.0.0-pre" # Also update html_root_url in lib.rs when bumping this
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Note: if we do this, I'd like to do a series of prereleases (e.g. 1.0.0-pre.0, 1.0.0-pre.1) to work through issues encountered with ed25519-dalek, signatory, and potentially rsa as well /cc @roblabla

@tarcieri
Copy link
Member Author

One thing I'd definitely like to do before a 1.0 release is improve the state of the documentation, both for consumers of the trait, and for crates that impl the provided traits. Per #25 there are a number of undocumented design decisions which need to be adequately described.

@tarcieri tarcieri force-pushed the signature-crate/1.0-stabilization-proposal branch from 5332de2 to 26553c1 Compare October 10, 2019 18:46
The motivation for 1.0 stabilization of the `signature` crate is the
upcoming 1.0 release of `ed25519-dalek`. In order to promote Ed25519
interoperability, it would be great if `ed25519-dalek` could use the
traits from this crate along with the `ed25519::Signature` type from the
`ed25519` crate.

To get there, I think we need to do a 1.0 release of this crate, as well
as the `ed25519` crate.

The main impediment towards doing so is the `digest` crate is presently
stuck at v0.8. It would be nice to be able to continue upgrading it,
especially to a 1.0 release, but that would otherwise be a semver
breaking change.

To allow agility around `digest`, and `signatory_derive` which depends
on it, this commit places access to both under the `digest-preview` and
`derive-preview` Cargo features respectively, and calls them out as
not covered under SemVer and subject to change, but breaking changes
will be done with a minor version bump.
@tarcieri tarcieri force-pushed the signature-crate/1.0-stabilization-proposal branch from 26553c1 to b229861 Compare October 11, 2019 16:34
@tarcieri
Copy link
Member Author

Going to move forward with an initial 1.0 prerelease using this plan. If anyone would like to get any changes in prior to a final 1.0, I don't plan on being too hasty in cutting that.

@tarcieri tarcieri merged commit e1c8919 into master Oct 11, 2019
@tarcieri tarcieri deleted the signature-crate/1.0-stabilization-proposal branch October 11, 2019 16:52
@tarcieri tarcieri mentioned this pull request Oct 11, 2019
@newpavlov newpavlov mentioned this pull request Nov 17, 2019
@tarcieri
Copy link
Member Author

tarcieri commented Mar 8, 2020

Note: final comment period for shipping signature 1.0 in ~2 weeks here: RustCrypto/traits#78

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

Successfully merging this pull request may close these issues.

1 participant