NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
crates.io · #994 most downloaded on crates.io
FFI for Pieter Wuille's `libsecp256k1` library.
Last release 1 months ago
29 Aug 2026
Ships fairly regularly
a new release about every 3 months
Some releases are documented
notes for 14 of 25 stable releases
2 versions withdrawn
withdrawn after publishing
7 years old
27 releases · first in 2019
Metadata-only release; no code changes.
Metadata-only release; no code changes.
repository/homepage metadata at
https://git.rust-bitcoin.org/rust-bitcoin/rust-secp256k1 instead of GitHub.LICENSE badge link in README.md to point at git.rust-bitcoin.org.Feature-gate endormorphism optimization because of a lack of clarity with respect to patents
One column per quarter.
Update minimum supported rust compiler 1.22.
serialize_der function with SerializedSignature struct.no_std). std feature is on by default.Signatures and SecretKeys.Signature is less than 72 bytes.recovery is set (non-default).rand dependency from 0.4 to 0.6 and add rand_core 0.4 dependency.cc dependency requirements.Overhaul API to remove context object when no precomputation is needed
ThirtyTwoByteHash trait which allows infallible conversions to MessagesMessage objects since signatures on them are forgeable for all keysops::Index implementations for SignatureZERO_KEY constantrust-secp256k1-sys 0.11.0
rust-secp256k1-sys 0.11.0
rand to 0.4 and gcc 0.3 to cc 1.0. (rand 0.5 exists but has a lot of breaking changes and no longer compiles with 1.14.0.)PublicKey::combine from API since it cannot be used with anything else in the APINothing published for this version
A complete API overhaul to move many runtime errors into compiletime errors
1e6f1f5ad5e7f1e3ef79313ec02023902bf8. Should be no visible changes.PublicKey::new() and PublicKey::is_valid() since new was unsafe and it should now be impossible to create invalid PublicKey objects through the APIFix incorrect FFI binding for secp256k1_pubkey_combine
secp256k1_pubkey_combinePatch out any instances of printf in upstream #663
Add bindings to the ElligatorSwift implementation #627
Nothing published for this version
* Implement `insecure-erase`.
* Update libsecp25k1 to v0.2.0
Make comparison functions stable across library versions
cmp_fast_unstable and eq_fast_unstable for types that contain an inner array (see PR linked above).Nothing published for this version
Re-implement `Ord` on `PublicKey` using upstream ordering function
Nothing published for this version
* Fix WASM build
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
* Update MSRV to 1.29.0
Update upstream to 670cdd3f8be25f81472b2d16dcd228b0d24a5c45
670cdd3f8be25f81472b2d16dcd228b0d24a5c45c_int to NonceFncc restriction, rustc 1.22 support now requires some downstream effortMessage to be constructedsecp256k1_ec_pubkey_negate from upstreamNothing published for this version
Nothing published for this version
Nothing published for this version
Your coding agent can read these notes before it upgrades. Set up the MCP server →