libsecp256k1 v0.6.0 is out! Featuring the highly anticipated musig module and other improvements.
In particular, the API functions now use a significantly more robust method to clear secrets from the stack before returning.
Full change log:
https://github.com/bitcoin-core/secp256k1/blob/master/CHANGELOG.md#060---2024-11-04
0.6.0 - 2024-11-04
Added
New module musig implements the MuSig2 multisignature scheme according to the BIP 327 specification.
See:
Header file include/secp256k1_musig.h which defines the new API.
Document doc/musig.md for further notes on API usage.
Usage example examples/musig.c.
New CMake variable SECP256K1_APPEND_LDFLAGS for appending linker flags to the build command.
Changed
API functions now use a significantly more robust method to clear secrets from the stack before returning. However, secret clearing remains a best-effort security measure and cannot guarantee complete removal.
Any type secp256k1_foo can now be forward-declared using typedef struct secp256k1_foo secp256k1_foo; (or also struct secp256k1_foo; in C++).
Organized CMake build artifacts into dedicated directories (bin/ for executables, lib/ for libraries) to improve build output structure and Windows shared library compatibility.
Removed
Removed the secp256k1_scratch_space struct and its associated functions secp256k1_scratch_space_create and secp256k1_scratch_space_destroy because the scratch space was unused in the API.