Skip to content

Commit ec98fce

Browse files
committed
Merge #1266: release: Prepare for 0.3.1
898e1c6 release: Prepare for 0.3.1 (Tim Ruffing) 1d9a13f changelog: Remove inconsistent newlines (Tim Ruffing) 0e09166 changelog: Catch up in preparation of 0.3.1 (Tim Ruffing) Pull request description: ACKs for top commit: sipa: ACK 898e1c6 jonasnick: ACK 898e1c6 Tree-SHA512: 941b1524f8b34ca803a2ede55a7baf54d2faa69a4c5e47254297e96cc4ac2121094ed90e7cd64a708f3e9af830b0de0ef3c755dfee1b01ce958cc998fc1a1311
2 parents 7b7503d + 898e1c6 commit ec98fce

File tree

2 files changed

+15
-4
lines changed

2 files changed

+15
-4
lines changed

CHANGELOG.md

+14-3
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,20 @@ All notable changes to this project will be documented in this file.
55
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
66
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
77

8-
## [Unreleased]
8+
## [0.3.1] - 2023-04-10
9+
We strongly recommend updating to 0.3.1 if you use or plan to use Clang >=14 to compile libsecp256k1, e.g., Xcode >=14 on macOS has Clang >=14. When in doubt, check the Clang version using `clang -v`.
10+
11+
#### Security
12+
- Fix "constant-timeness" issue with Clang >=14 that could leave applications using libsecp256k1 vulnerable to a timing side-channel attack. The fix avoids secret-dependent control flow and secret-dependent memory accesses in conditional moves of memory objects when libsecp256k1 is compiled with Clang >=14.
13+
14+
#### Added
15+
- Added tests against [Project Wycheproof's](https://github.com/google/wycheproof/) set of ECDSA test vectors (Bitcoin "low-S" variant), a fixed set of test cases designed to trigger various edge cases.
16+
17+
#### Changed
18+
- Increased minimum required CMake version to 3.13. CMake builds remain experimental.
19+
20+
#### ABI Compatibility
21+
The ABI is compatible with version 0.3.0.
922

1023
## [0.3.0] - 2023-03-08
1124

@@ -25,7 +38,6 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
2538
- Removed the configuration header `src/libsecp256k1-config.h`. We recommend passing flags to `./configure` or `cmake` to set configuration options (see `./configure --help` or `cmake -LH`). If you cannot or do not want to use one of the supported build systems, pass configuration flags such as `-DSECP256K1_ENABLE_MODULE_SCHNORRSIG` manually to the compiler (see the file `configure.ac` for supported flags).
2639

2740
#### ABI Compatibility
28-
2941
Due to changes in the API regarding `secp256k1_context_static` described above, the ABI is *not* compatible with previous versions.
3042

3143
## [0.2.0] - 2022-12-12
@@ -45,7 +57,6 @@ Due to changes in the API regarding `secp256k1_context_static` described above,
4557
- Module `schnorrsig`: renamed `secp256k1_schnorrsig_sign` to `secp256k1_schnorrsig_sign32`.
4658

4759
#### ABI Compatibility
48-
4960
Since this is the first release, we do not compare application binary interfaces.
5061
However, there are earlier unreleased versions of libsecp256k1 that are *not* ABI compatible with this version.
5162

configure.ac

+1-1
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ AC_PREREQ([2.60])
66
define(_PKG_VERSION_MAJOR, 0)
77
define(_PKG_VERSION_MINOR, 3)
88
define(_PKG_VERSION_PATCH, 1)
9-
define(_PKG_VERSION_IS_RELEASE, false)
9+
define(_PKG_VERSION_IS_RELEASE, true)
1010

1111
# The library version is based on libtool versioning of the ABI. The set of
1212
# rules for updating the version can be found here:

0 commit comments

Comments
 (0)