You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Squashed 'src/secp256k1/' changes from 2f2ccc4695..9827fbfd41
9827fbfd41 Setup batch experimental module on cmake
89a54e23de Clear warnings
fb52de16b9 WIP: Silent merge conflicts
f1a167edff batch: Generate graphs for batch verification speed up
63823d9423 batch, extrakeys: Add benchmark for batch verify and `tweak_add_check`
b2f217c0ec batch: Add tests for `batch_add_*` APIs
ac564e9a23 batch,ecmult: Add tests for core batch APIs and `strauss_batch` refactor
f0c9b8801d batch: Add API usage example
3ab4a4c81e batch: Add `batch_add_*` APIs
ee9c242a80 batch, ecmult: Add `batch_verify` API and refactor `strauss_batch`
a00fbe43aa batch: Add `create` and `destroy` APIs
e7e627fa52 batch: Initialize an experimental batch module
0cdc758a56 Merge bitcoin-core/secp256k1#1631: release: prepare for 0.6.0
39d5dfd542 release: prepare for 0.6.0
df2eceb279 build: add ellswift.md and musig.md to release tarball
a306bb7e90 tools: fix check-abi.sh after cmake out locations were changed
145868a84d Do not export `secp256k1_musig_nonce_gen_internal`
b161bffb8b Merge bitcoin-core/secp256k1#1579: Clear sensitive memory without getting optimized out (revival of bitcoin#636)
a38d879a1a Merge bitcoin-core/secp256k1#1628: Name public API structs
7d48f5ed02 Merge bitcoin-core/secp256k1#1581: test, ci: Lower default iteration count to 16
694342fdb7 Name public API structs
0f73caf7c6 test, ci: Lower default iteration count to 16
9a8db52f4e Merge bitcoin-core/secp256k1#1582: cmake, test: Add `secp256k1_` prefix to test names
765ef53335 Clear _gej instances after point multiplication to avoid potential leaks
349e6ab916 Introduce separate _clear functions for hash module
99cc9fd6d0 Don't rely on memset to set signed integers to 0
97c57f42ba Implement various _clear() functions with secp256k1_memclear()
9bb368d146 Use secp256k1_memclear() to clear stack memory instead of memset()
e3497bbf00 Separate between clearing memory and setting to zero in tests
d79a6ccd43 Separate secp256k1_fe_set_int( . , 0 ) from secp256k1_fe_clear()
1c08126222 Add secp256k1_memclear() for clearing secret data
1464f15c81 Merge bitcoin-core/secp256k1#1625: util: Remove unused (u)int64_t formatting macros
980c08df80 util: Remove unused (u)int64_t formatting macros
9b7c59cbb9 Merge bitcoin-core/secp256k1#1624: ci: Update macOS image
096e3e23f6 ci: Update macOS image
e7d384488e Don't clear secrets in pippenger implementation
68b55209f1 Merge bitcoin-core/secp256k1#1619: musig: ctimetests: fix _declassify range for generated nonce points
f0868a9b3d Merge bitcoin-core/secp256k1#1595: build: 45839th attempt to fix symbol visibility on Windows
1fae76f50c Merge bitcoin-core/secp256k1#1620: Remove unused scratch space from API
8be3839fb2 Remove unused scratch space from API
57eda3ba30 musig: ctimetests: fix _declassify range for generated nonce points
87384f5c0f cmake, test: Add `secp256k1_` prefix to test names
e59158b6eb Merge bitcoin-core/secp256k1#1553: cmake: Set top-level target output locations
18f9b967c2 Merge bitcoin-core/secp256k1#1616: examples: do not retry generating seckey randomness in musig
5bab8f6d3c examples: make key generation doc consistent
e8908221a4 examples: do not retry generating seckey randomness in musig
70b6be1834 extrakeys: improve doc of keypair_create (don't suggest retry)
01b5893389 Merge bitcoin-core/secp256k1#1599: bitcoin#1570 improve examples: remove key generation loop
cd4f84f3ba Improve examples/documentation: remove key generation loops
a88aa93506 Merge bitcoin-core/secp256k1#1603: f can never equal -m
3660fe5e2a Merge bitcoin-core/secp256k1#1479: Add module "musig" that implements MuSig2 multi-signatures (BIP 327)
168c92011f build: allow enabling the musig module in cmake
f411841a46 Add module "musig" that implements MuSig2 multi-signatures (BIP 327)
0be79660f3 util: add constant-time is_zero_array function
c8fbdb1b97 group: add ge_to_bytes_ext and ge_from_bytes_ext
ef7ff03407 f can never equal -m
c232486d84 Revert "cmake: Set `ENVIRONMENT` property for examples on Windows"
26e4a7c214 cmake: Set top-level target output locations
4c57c7a5a9 Merge bitcoin-core/secp256k1#1554: cmake: Clean up testing code
447334cb06 include: Avoid visibility("default") on Windows
472faaa8ee Merge bitcoin-core/secp256k1#1604: doc: fix typos in `secp256k1_ecdsa_{recoverable_,}signature` API description
292310fbb2 doc: fix typos in `secp256k1_ecdsa_{recoverable_,}signature` API description
85e224dd97 group: add ge_to_bytes and ge_from_bytes
7c987ec89e cmake: Call `enable_testing()` unconditionally
6aa576515e cmake: Delete `CTest` module
git-subtree-dir: src/secp256k1
git-subtree-split: 9827fbfd4164080b3de5e1238bc75fb4f07dd5e1
Copy file name to clipboardexpand all lines: CHANGELOG.md
+21-2
Original file line number
Diff line number
Diff line change
@@ -5,7 +5,26 @@ All notable changes to this project will be documented in this file.
5
5
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
6
6
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
7
8
-
## [Unreleased]
8
+
## [0.6.0] - 2024-11-04
9
+
10
+
#### Added
11
+
- New module `musig` implements the MuSig2 multisignature scheme according to the [BIP 327 specification](https://github.com/bitcoin/bips/blob/master/bip-0327.mediawiki). See:
12
+
- Header file `include/secp256k1_musig.h` which defines the new API.
13
+
- Document `doc/musig.md` for further notes on API usage.
14
+
- Usage example `examples/musig.c`.
15
+
- New CMake variable `SECP256K1_APPEND_LDFLAGS` for appending linker flags to the build command.
16
+
17
+
#### Changed
18
+
- 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.
19
+
- Any type `secp256k1_foo` can now be forward-declared using `typedef struct secp256k1_foo secp256k1_foo;` (or also `struct secp256k1_foo;` in C++).
20
+
- Organized CMake build artifacts into dedicated directories (`bin/` for executables, `lib/` for libraries) to improve build output structure and Windows shared library compatibility.
21
+
22
+
#### Removed
23
+
- 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.
24
+
25
+
#### ABI Compatibility
26
+
The symbols `secp256k1_scratch_space_create` and `secp256k1_scratch_space_destroy` were removed.
27
+
Otherwise, the library maintains backward compatibility with versions 0.3.x through 0.5.x.
9
28
10
29
## [0.5.1] - 2024-08-01
11
30
@@ -143,7 +162,7 @@ This version was in fact never released.
143
162
The number was given by the build system since the introduction of autotools in Jan 2014 (ea0fe5a5bf0c04f9cc955b2966b614f5f378c6f6).
144
163
Therefore, this version number does not uniquely identify a set of source files.
# We do not use CTest's BUILD_TESTING because a single toggle for all tests is too coarse for our needs.
267
-
mark_as_advanced(BUILD_TESTING)
268
-
if(SECP256K1_BUILD_BENCHMARK OR SECP256K1_BUILD_TESTS OR SECP256K1_BUILD_EXHAUSTIVE_TESTS OR SECP256K1_BUILD_CTIME_TESTS OR SECP256K1_BUILD_EXAMPLES)
269
-
enable_testing()
270
-
endif()
271
-
272
292
set(SECP256K1_APPEND_CFLAGS ""CACHESTRING"Compiler flags that are appended to the command line after all other flags added by the build system. This variable is intended for debugging and special builds.")
273
293
if(SECP256K1_APPEND_CFLAGS)
274
294
# Appending to this low-level rule variable is the only way to
0 commit comments