Skip to content

Latest commit

 

History

History
556 lines (437 loc) · 20 KB

CHANGELOG.md

File metadata and controls

556 lines (437 loc) · 20 KB

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.3 (2024-01-08)

Added

  • More inlines for better efficiency (#999)

0.13.2 (2023-11-15)

Added

  • #[inline] annotations on conditional_select (#942)
  • BatchInvert and BatchNormalize impls (#971)
  • Optimized implementation of LinearCombinationExt trait (#974)

Changed

  • Use generic signing implementation from ecdsa crate (#911)
  • Simplify internal helper functions in the scalar arithmetic (#917)
  • Bump elliptic-curve to v0.13.7 (#979)

Fixed

  • Reject signatures which aren't low-S normalized (#914)
  • Check for R being the identity point on Schnorr verification (#916)

0.13.1 (2023-04-09)

Fixed

  • Correct product definition for empty iterators (#802)

0.13.0 (2023-03-02)

Added

  • FieldBytesEncoding trait impls (#732)
  • Fast invert_vartime using Stein's algorithm (#743)
  • serde support for schnorr types (#748)

Changed

  • AffineCoordinates trait (#734)
  • Bump elliptic-curve dependency to v0.13 (#770)
  • Bump ecdsa to v0.16 (#770)

0.12.0 (2023-01-16)

Added

  • alloc feature (#670)
  • Impl FromOkm for Scalar (#673)
  • Impl Prehash* and KeypairRef for Schnorr keys (#689)
  • schnorr::SigningKey::as_nonzero_scalar (#690)
  • Impl From<NonZeroScalar> for schnorr::SigningKey (#703)
  • Impl From<SecretKey> for schnorr::SigningKey (#704)
  • precomputed-tables feature (#697, #705, #707)
  • Constructors for Scalar from u128 (#709)

Changed

  • Use weak feature activation; MSRV 1.60 (#701)
  • Bump ecdsa dependency to v0.15 (#713)

Removed

  • ecdsa::recoverable module; see documentation for replacements (#675)

0.11.6 (2022-09-27)

Added

  • ecdsa::recoverable::Signature::from_digest_bytes_trial_recovery (#660)

Changed

  • Make ProjectivePoint equality and is_identity faster (#650)

0.11.5 (2022-09-14)

Added

  • Impl PrehashSigner and PrehashVerifier traits for ECDSA keys (#653)
  • Impl Keypair for SigningKey (#654)

0.11.4 (2022-08-13)

Added

  • Impl ZeroizeOnDrop for ecdsa::SigningKey and schnorr::SigningKey (#630)

Changed

  • Get rid of eager computation in mul_shift_vartime() (#638)
  • Bump the precision of precomputed division for the scalar decomposition (#639)

0.11.3 (2022-07-02)

Changed

  • Relax DigestSigner trait bounds (#613)
  • Bump elliptic-curve to v0.12.2 (#616)

0.11.2 (2022-05-24)

Changed

  • Enable schnorr feature by default (#561)

0.11.1 (2022-05-24)

Added

  • Taproot Schnorr as defined in BIP 340 (#554, #557, #558)
  • Re-export low-level diffie_hellman function (#556)

Changed

  • Use SHA-256 for computing RFC6979 for recoverable::Signature (#552)

0.11.0 (2022-05-09)

Changed

  • Bump digest to v0.10 (#515)
  • Make AffinePoint to VerifyingKey conversion fallible (#535)
  • Rename recover_verify_key => recover_verifying_key (#537)
  • Rename recover_verify_key_from_digest => recover_verifying_key_from_digest (#537)
  • Have pkcs8 feature activate ecdsa/pkcs8 (#538)
  • Bump elliptic-curve to v0.12 (#544)
  • Bump ecdsa to v0.14 (#544)

Fixed

  • hash2curve crate feature (#519)

0.10.4 (2022-03-15)

Fixed

  • Normalize before calling is_odd() in sng0() (#533)

0.10.3 (2022-03-14)

Fixed

  • Do not normalize the argument in FieldElementImpl::is_odd() (#530)

0.10.2 (2022-01-17)

Added

  • hash2curve support: impl GroupDigest for Secp256k1 (#503)
  • IDENTITY and GENERATOR point constants (#511)

0.10.1 (2022-01-04)

Added

  • Impl ff::Field trait for FieldElement (#498)
  • Impl ReduceNonZero<U256> for Scalar (#501)

0.10.0 (2021-12-14)

Added

  • Implement Scalar::sqrt (#400)
  • Impl PrimeCurveArithmetic (#415)
  • Impl Reduce<U256> for Scalar (#436)
  • Impl Drop for ecdsa::SigningKey (#449)
  • serde feature (#463, #464)
  • Impl Reduce<U512> for Scalar (#472)
  • Impl ReduceNonZero<U512> for Scalar (#474)
  • Impl LinearCombination trait (#476)

Changed

  • Make ecdsa::Signature::normalize_s non-mutating (#405)
  • Use PrimeCurve trait (#413)
  • Use sec1 crate for EncodedPoint type (#435)
  • Replace ecdsa::hazmat::FromDigest with Reduce (#438)
  • Make FromEncodedPoint return a CtOption (#445)
  • Rust 2021 edition upgrade; MSRV 1.56+ (#453)
  • Bump elliptic-curve crate dependency to v0.11 (#466)
  • Bump ecdsa crate dependency to v0.13 (#467)

Fixed

  • Handle identity point in GroupEncoding (#446)

Removed

  • force-32-bit feature (#399)
  • field-montgomery feature (#404)
  • Scalar::conditional_add_bit (#431)
  • Deprecated SigningKey::verify_key method (#461)

0.9.6 (2021-07-22)

Added

  • Wycheproof test vectors (#384)

Fixed

  • Edge case in Scalar::is_high (#385)
  • Bug in overflow check during 32-bit multiplication (#388)

0.9.5 (2021-07-18)

Changed

  • Optimize ECDSA using linear combination of points (#380)

0.9.4 (2021-06-23)

Added

  • Derive Clone for ecdsa::SigningKey (#374)

0.9.3 (2021-06-21)

Added

  • ecdsa::SigningKey::verifying_key() method (#363)

Changed

  • Deprecate SigningKey::verify_key() - use verifying_key instead (#363)
  • Bump elliptic-curve dependency to v0.10.3 (#371)

0.9.2 (2021-06-14) [YANKED]

Added

  • Debug impl for ecdsa::SigningKey (#358)
  • ConstantTimeEq/Eq/PartialEq impls for ecdsa::SigningKey (#359)

0.9.1 (2021-06-09) [YANKED]

Added

  • Copy impl for ecdsa::VerifyingKey (#355)

0.9.0 (2021-06-08) [YANKED]

Added

  • Derive Ord on ecdsa::VerifyingKey (#343)
  • AffineArithmetic trait impl (#347)
  • PrimeCurve trait impls (#350)

Changed

  • Bump elliptic-curve to v0.10; MSRV 1.51+ (#349)
  • Bump ecdsa to v0.12 (#349)

0.8.1 (2021-05-10)

Fixed

  • Mixed coordinate addition with the point at infinity (#337)

0.8.0 (2021-04-29)

Added

  • jwk feature (#295)
  • Order constant (#328)

Changed

  • Rename ecdsa::Asn1Signature to ::DerSignature (#288)
  • Migrate to FromDigest trait from ecdsa crate (#292)
  • Bump elliptic-curve to v0.9.2 (#296)
  • Bump pkcs8 to v0.6 (#319)
  • Bump ecdsa crate dependency to v0.11 (#330)

Fixed

  • DigestPrimitive feature gating (#324)

0.7.3 (2021-04-16)

Changed

  • Make ecdsa a default feature (#325)

0.7.2 (2021-01-13)

Changed

  • Have std feature activate ecdsa-core/std (#273)

0.7.1 (2020-12-16)

Fixed

0.7.0 (2020-12-16)

Changed

  • Bump elliptic-curve dependency to v0.8 (#260)
  • Bump ecdsa to v0.10 (#260)

0.6.0 (2020-12-06)

Added

Changed

  • Bump elliptic-curve crate dependency to v0.7; MSRV 1.46+ (#247)
  • Bump ecdsa crate dependency to v0.9 (#247)
  • Make SigningKey a newtype of elliptic_curve::SecretKey (#242)

0.5.10 (2020-10-25)

Changed

  • Expand README.md (#233)

0.5.9 (2020-10-08)

Changed

  • Bump cfg-if from 0.1.10 to 1.0.0 (#220)

0.5.8 (2020-10-08)

Fixed

0.5.7 (2020-10-08)

Added

  • SecretValue impl when arithmetic feature is disabled (#222)

0.5.6 (2020-09-28)

Added

  • Enable endomorphism-mul optimizations by default (#213)

0.5.5 (2020-09-27)

Added

  • Impl FromEncodedPoint for ProjectivePoint (#210)
  • Impl ToEncodedPoint for ecdsa::VerifyKey (#209)

0.5.4 (2020-09-27)

Added

  • Impl RecoverableSignPrimtive on Scalar (#206)
  • recoverable::Signature::recover_verify_key_from_digest_bytes (#205)

0.5.3 (2020-09-23)

Added

  • Derive Copy on VerifyKey (#202)

0.5.2 (2020-09-22)

Fixed

  • Corrected imports when using ecdsa + keccak256 features (#199)

0.5.1 (2020-09-21)

Added

  • Documentation for sha256 feature (#197)
  • sec1::EncodedPoint::decompress test (#194)
  • Impl RandomizedSigner on SigningKey (#193)

Changed

  • Gate ecdsa::{Signer, Verifier} impls on sha256 feature (#192)

0.5.0 (2020-09-17)

Added

  • ecdsa::Asn1Signature type alias (#186)
  • ff and group crate dependencies; MSRV 1.44+ (#164, #174)
  • AffinePoint::identity() and ::is_identity() (#165)
  • expose-field feature (#161)
  • keccak256 feature (#142)

Changed

  • Bump elliptic-curve crate to v0.6; ecdsa to v0.8 (#180)
  • Refactor ProjectiveArithmetic trait (#179)
  • Support generic inner type for elliptic_curve::SecretKey<C> (#177)
  • Rename ElementBytes => FieldBytes (#176)
  • Factor out a from_digest_trial_recovery method (#168)
  • Rename ecdsa::{Signer, Verifier} => ::{SigningKey, VerifyKey} (#153)
  • Rename Curve::ElementSize => FieldSize (#150)
  • Implement RFC6979 deterministic ECDSA (#146)
  • Use NonZeroScalar for ECDSA signature components (#144)
  • Eagerly verify ECDSA scalars are in range (#143)
  • Rename PublicKey to EncodedPoint (#141)

Removed

  • rand feature (#162)

0.4.2 (2020-08-11)

Fixed

  • Builds with either ecdsa-core or sha256 in isolation (#133)

0.4.1 (2020-08-10)

Fixed

  • secp256k1 rustdoc link (#131)

0.4.0 (2020-08-10)

Added

  • ECDSA support (#73, #101, #104, #105)
  • ECDSA public key recovery support (#110)
  • OID support (#103, #113)
  • Elliptic Curve Diffie-Hellman (#120)
  • Zeroize impl for AffinePoint and FieldElement types (#124)

Changed

  • Optimized field arithmetic with 32-bit and 64-bit backends (#59, #82)
  • Bump elliptic-curve crate dependency to v0.5 (#126)

0.3.0 (2020-06-08)

Changed

  • Bump elliptic-curve crate dependency to v0.4 (#39)

0.2.0 (2020-04-30)

Added

  • Field arithmetic, point addition/doubling, and scalar multiplication (#19)

0.1.1 (2020-04-20)

Fixed

  • README.md: fix typo in crate name (#16)

0.1.0 (2020-01-15)

  • Initial release