Changelog

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.

0.13.4 (2022-01-06)

Added

  • Signature::to_vec (#428)

0.13.3 (2021-12-04)

Changed

  • Use revised LinearCombination trait (#419)

0.13.2 (2021-12-04) [YANKED]

Changed

  • Use LinearCombination trait (#417)

0.13.1 (2021-12-03) [YANKED]

Added

  • hazmat::rfc6979_generate_k function (#414)

0.13.0 (2021-11-21) [YANKED]

Added

  • RecoveryId type (#392)
  • Default generic impl of SignPrimitive::try_sign_prehashed (#396)
  • Default generic impl of VerifyPrimitive::verify_prehashed (#397)
  • serde support (#406)

Changed

  • Make Signature::normalize_s non-mutating (#355)
  • Switch from ScalarBytes<C> to ScalarCore<C> (#356)
  • Use PrimeCurve trait (#357)
  • Replace FromDigest trait with Reduce (#372)
  • 2021 edition upgrade; MSRV 1.56 (#384)
  • Allow signature v1.4 as a dependency (#385)
  • Bump der dependency to v0.5 (#408)
  • Bump elliptic-curve dependency to v0.11 (#408)
  • Split out rfc6979 crate (#409)

Removed

  • NormalizeLow trait (#393)
  • RecoverableSignPrimitive (#394)

0.12.4 (2021-08-12)

Added

  • Impl Clone, Debug, *Eq for SigningKey (#345)

0.12.3 (2021-06-17)

Added

  • Impl TryFrom<&[u8]> for Verifying<C> (#329)
  • Impl TryFrom<&[u8]> for SigningKey<C> (#330)

Changed

  • Use signature::Result alias (#331)

0.12.2 (2021-06-18)

Added

  • Zeroization on drop for SigningKey (#321)

0.12.1 (2021-06-09)

Added

  • Explicit Copy bounds on VerifyingKey (#318)

0.12.0 (2021-06-07)

Changed

  • Bump der crate to v0.4 (#302, #315)
  • Bump elliptic-curve crate dependency to v0.10 (#315)
  • MSRV 1.51+ (#302, #315)

Removed

  • Bounds now expressed via *Arithmetic traits (#303, [#312])

0.11.1 (2021-05-24)

Added

  • Ord and PartialOrd impls on VerifyingKey (#298, #299)

Changed

  • Bump elliptic-curve dependency to v0.9.12 (#299)

0.11.0 (2021-04-29)

Added

  • FromDigest trait (#238, #244)
  • Wycheproof test vector support (#260)

Changed

  • Use der crate for decoding/encoding signatures (#226, #267)
  • Support HmacDrbg with variable output size (#243)
  • Bump base64ct and pkcs8; MSRV 1.47+ (#262)
  • Flatten and simplify public API (#268)
  • Use verifying_key name consistently (#273)
  • Bound curve implementations on Order trait (#280)
  • Bump elliptic-curve to v0.9.10+; use ScalarBytes (#284)
  • Bump hmac crate dependency to v0.11 (#287)

Removed

  • FieldBytes bounds (#227)
  • CheckSignatureBytes trait (#281)

0.10.2 (2020-12-22)

Changed

  • Bump elliptic-curve crate to v0.8.3 (#218)
  • Use the dev module from the elliptic-curve crate (#218)

0.10.1 (2020-12-16) [YANKED]

Fixed

0.10.0 (2020-12-16) [YANKED]

Changed

  • Bump elliptic-curve dependency to v0.8 (#215)

0.9.0 (2020-12-06)

Added

  • PKCS#8 support (#203)

Changed

  • Bump elliptic-curve crate dependency to v0.7; MSRV 1.46+ (#204)
  • Rename VerifyKey to VerifyingKey (#200)
  • Rename VerifyingKey::new() to ::from_sec1_bytes() (#198)
  • Rename SigningKey::new() to ::from_bytes() (#205)

Fixed

  • Additional validity checks on ASN.1 DER-encoded signatures (#192)

0.8.5 (2020-10-09)

Fixed

  • Bug in default impl of CheckSignatureBytes (#184)

0.8.4 (2020-10-08)

Fixed

  • Work around nightly-2020-10-06 breakage (#180)

0.8.3 (2020-09-28)

Fixed

  • 32-bit builds for the dev feature (#177)

0.8.2 (2020-09-27)

Added

0.8.1 (2020-09-23)

Added

  • Conditional Copy impl on VerifyKey<C> (#171)

0.8.0 (2020-09-11)

Added

  • CheckSignatureBytes trait (#151)
  • Add Signature::r/::s methods which return NonZeroScalarvalues (#151)
  • alloc feature (#150)
  • Impl From<&VerifyKey<C>> for EncodedPoint<C> (#144)
  • Serialization methods for SigningKey/VerifyKey (#143)
  • RFC6979-based deterministic signatures (#133, #134, #136)

Changed

  • Bump elliptic-curve crate dependency to v0.6 (#165)
  • Use ProjectiveArithmetic trait (#164)
  • Rename ElementBytes to FieldBytes (#160)
  • Use ff and group crates to v0.8 (#156)
  • MSRV 1.44+ (#156)
  • Remove rand feature; make rand_core a hard dependency (#154)
  • Use impl Into<ElementBytes> bounds on Signature::from_scalars (#149)
  • Derive Clone, Debug, Eq, and Ord on VerifyKey (#148)
  • Renamed {Signer, Verifier} => {SigningKey, VerifyKey} (#140)
  • Use newly refactored sec1::EncodedPoint (#131)

Removed

  • Generate trait (#159)
  • RecoverableSignPrimitive (#146)

0.7.2 (2020-08-11)

Added

  • Conditional PrehashSignature impl for asn1::Signature (#128)

0.7.1 (2020-08-10)

Changed

  • Use all-features = true on docs.rs (#126)

0.7.0 (2020-08-10)

Added

  • hazmat traits: SignPrimitive, RecoverableSignPrimitive, VerifyPrimitive, DigestPrimitive (#96, #99, #107, #111)
  • dev module (#103)
  • NormalizeLow trait (#115, #118, #119)
  • Copy impl on Signature (#117)
  • RecoverableSignPrimitive (#120)

Changed

  • Bumped elliptic-curve crate to v0.5 release (#123)
  • Renamed FixedSignature to ecdsa::Signature (#98)
  • Renamed Asn1Signature to ecdsa::asn1::Signature (#98, #102)

Removed

  • Curve-specific types - migrated to k256, p256, p384 crates (#96)

0.6.1 (2020-06-29)

Added

0.6.0 (2020-06-09)

Changed

  • Upgrade to signature ~1.1.0; sha v0.9 (#87)
  • Bump all elliptic curve crates; MSRV 1.41+ (#86)

0.5.0 (2020-04-18)

Changed

  • Upgrade signature crate to v1.0 final release (#80)

0.4.0 (2020-01-07)

Changed

  • Upgrade elliptic-curve crate to v0.3.0; make curves cargo features (#68)

0.3.0 (2019-12-11)

Changed

  • Upgrade elliptic-curve crate to v0.2.0; MSRV 1.37+ (#65)

0.2.1 (2019-12-06)

Added

  • Re-export PublicKey and SecretKey from the elliptic-curve crate (#61)

0.2.0 (2019-12-06)

Changed

  • Use curve types from the elliptic-curve crate (#58)

0.1.0 (2019-10-29)

  • Initial release