NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
crates.io · #970 most downloaded on crates.io
secp256k1 elliptic curve library written in pure Rust with support for ECDSA signing/verification/public-key recovery, Taproot Schnorr signatures (BIP340), Elliptic Curve Diffie-Hellman (ECDH), and general-purpose secp256k1 elliptic curve group operations which can be used to implement arbitrary protocols
Last release 3 months ago
08 Jul 2026
Ships fairly regularly
a new release about every 2 weeks
Nearly every release is documented
notes for 47 of 48 stable releases
6 versions withdrawn
withdrawn after publishing
7 years old
87 releases · first in 2019
k256 v0.14.0
k256 v0.14.0 (#1900)
From<NonZeroScalar> for Scalar (#1188)From<NonIdentity> for Projective/AffinePoint (#1190)MultipartSigner/Verifier (#1221)hash2curve crate (#[1286])FromUniformBytes<64> for Scalar (#1379)CofactorGroup for ProjectivePoint (#1394)AffineCoordinates::from_coordinates (#1405)getrandom feature (#1521)U256 for field elements (#1552)crypto_common::Generate trait (#1586)AffineCoordinates::y (#1230)Reduce trait (#1359)Curve::ORDER to be Odd (#1416)from_bytes/from_slice methods (#1429)crypto-bigint to implement inversions (#1554, #1573)sha2 dependency to v0.11 (#1712)signature dependency to v3 (#1756)elliptic-curve dependency to v0.14 (#1849)ecdsa to v0.17 (#1883)One column per quarter.
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
More inlines for better efficiency ([#999])
BatchInvert and BatchNormalize impls ([#971])
#[inline] annotations on conditional_select (#942)BatchInvert and BatchNormalize impls (#971)LinearCombinationExt trait (#974)ecdsa crate (#911)elliptic-curve to v0.13.7 (#979)Correct product definition for empty iterators ([#802])
FieldBytesEncoding trait impls ([#732])
Impl FromOkm for Scalar ([#673])
alloc feature (#670)FromOkm for Scalar (#673)Prehash* and KeypairRef for Schnorr keys (#689)schnorr::SigningKey::as_nonzero_scalar (#690)From<NonZeroScalar> for schnorr::SigningKey (#703)From<SecretKey> for schnorr::SigningKey (#704)precomputed-tables feature (#697, #705, #707)Scalar from u128 (#709)ecdsa::recoverable module; see documentation for replacements (#675)Nothing published for this version
ecdsa::Signature::from_digest_bytes_trial_recovery ([#660])
Impl PrehashSigner and PrehashVerifier traits for ECDSA keys ([#653])
Impl ZeroizeOnDrop for ecdsa::SigningKey and schnorr::SigningKey ([#630])
Relax DigestSigner trait bounds ([#613])
Enable schnorr feature by default ([#561])
schnorr feature by default (#561)Make AffinePoint to VerifyingKey conversion fallible ([#535])
digest to v0.10 (#515)AffinePoint to VerifyingKey conversion fallible (#535)recover_verify_key => recover_verifying_key (#537)recover_verify_key_from_digest => recover_verifying_key_from_digest (#537)pkcs8 feature activate ecdsa/pkcs8 (#538)elliptic-curve to v0.12 (#544)ecdsa to v0.14 (#544)hash2curve crate feature (#519)Nothing published for this version
Normalize before calling is_odd() in sng0() ([#533])
is_odd() in sng0() (#533)Do not normalize the argument in FieldElementImpl::is_odd() ([#530])
FieldElementImpl::is_odd() (#530)hash2curve support: impl GroupDigest for Secp256k1 ([#503])
Impl ff::Field trait for FieldElement ([#498])
Deprecated SigningKey::verify_key method ([#461])
Scalar::sqrt (#400)PrimeCurveArithmetic (#415)Reduce<U256> for Scalar (#436)Drop for ecdsa::SigningKey (#449)serde feature (#463, #464)Reduce<U512> for Scalar (#472)ReduceNonZero<U512> for Scalar (#474)LinearCombination trait (#476)ecdsa::Signature::normalize_s non-mutating (#405)PrimeCurve trait (#413)sec1 crate for EncodedPoint type (#435)ecdsa::hazmat::FromDigest with Reduce (#438)FromEncodedPoint return a CtOption (#445)elliptic-curve crate dependency to v0.11 (#466)ecdsa crate dependency to v0.13 (#467)GroupEncoding (#446)Nothing published for this version
Wycheproof test vectors ([#384])
Optimize ECDSA using linear combination of points ([#380])
Derive Clone for ecdsa::SigningKey ([#374])
Clone for ecdsa::SigningKey (#374)Deprecate SigningKey::verify_key() - use verifying_key instead ([#363])
Debug impl for ecdsa::SigningKey ([#358])
Copy impl for ecdsa::VerifyingKey ([#355])
Copy impl for ecdsa::VerifyingKey (#355)Mixed coordinate addition with the point at infinity ([#337])
Rename ecdsa::Asn1Signature to ::DerSignature ([#288])
Nothing published for this version
Your coding agent can read these notes before it upgrades. Set up the MCP server →