This makes use of a global `patch.crates-io` instead of local `path =`
attributes in the dependencies.
When pulling dependencies through git to try unreleased crates, the
dependency in `path` will get duplicated. Which makes for twice the
definition of types incompatible with each other.
This bump the following dependencies:
- pkcs8 0.11.0-rc.0 -> 0.11.0-rc.1
- elliptic-curve 0.14.0-pre.6 -> 0.14.0-rc.0
This is a followup on breaking changes made on pkcs8
(https://github.com/RustCrypto/formats/pull/1483).
This tweaks the `repository` fields in Cargo metadata in order to use the correct (i.e. git clonable) URL.
The existing GitHub webUI URLs for each package have been retained and moved to `homepage` fields.
For `ecdsa` crate: MSRV is 1.73 due to a bump of `elliptic-curve` to
v0.14.0-pre.0.
This commit begins the next round of breaking changes and bumps all
crates to prerelease versions.
The main change in `signature` is an upgrade of the `digest` crate to
v0.11.0-pre.3, which is what brings the new MSRV 1.71 requirement.
`signature` v2.1.0 is out and only adds features. It does not change the
`digest` or `rand_core` dependencies (there are SemVer exceptions for
these crates, hence the non-SemVer requirement)
Because those deps are unchanged in v2.1.0, we can relax the requirement
to support v2.0 and v2.1 releases.
Since workspaces have to be bumped to MSRV 1.60 at the same time, this
also bumps the MSRV of other crates in this repo along with bumping
their version numbers to `-pre`.
As discussed in RustCrypto/traits#1148, this uses
`&mut impl CryptoRngCore` as the API for passing CSRNGs.
This removes the need for a generic parameter in the type signature
while also keeping syntax to a minimum.
The traits in `signature` v2.0.0-pre.2 switched to these APIs. See
RustCrypto/traits#1147.
All of the `Debug` impls in this crate benefit from displaying
something, including `SigningKey` which can display its associated
`VerifyingKey`.
This commit switches to derived `Debug` for all types except
`SigningKey`, where it displays the `verifying_key` field then uses
`finish_non_exhaustive` to prevent displaying the secret component `x`.
They could probably benefit from some better formatting than what the
derived implementation provides.
Implements the proposed breaking changes to the `signature` crate from
https://github.com/RustCrypto/traits/pull/1141
Most notably the `Signature` trait has been replaced with a
`SignatureEncoding` trait which permits an internally structured
signature representation.