Skip to content

Commit 6037833

Browse files
Merge #1702: changelog: update
40b4a06 changelog: update (Jonas Nick) Pull request description: This update includes all PRs that have a [`needs-changelog` tag](https://github.com/bitcoin-core/secp256k1/pulls?q=is%3Apr+is%3Aclosed+label%3Aneeds-changelog): - Make static context const #1639 - include: remove WARN_UNUSED_RESULT for functions always returning 1 #1659 - cmake: Bump minimum required CMake version to 3.22 #1675 #1675 - added: cmake: add a helper for linking into static libs #1678 - doc: Promote "Building with CMake" to standard procedure #1680 - also added cmake: Emulate Libtool's behavior on FreeBSD #1685 I had added the `needs-changelog` tag to #1685 because it seems noteworthy, but otherwise have not found any additional merged PR that would require a changelog entry. I'm not sure if the changelog entry for #1678 makes sense (CC theuni) ACKs for top commit: real-or-random: ACK 40b4a06 Tree-SHA512: 678c409aea13ea9e9adaddd92f3d8da4fc98aeb9d661df9ff0f5093ad788c5ca0f194831c134675474cf9540679f3314086ee894f781afa3ea327d8001f53cd9
2 parents 5e74086 + 40b4a06 commit 6037833

File tree

1 file changed

+16
-0
lines changed

1 file changed

+16
-0
lines changed

CHANGELOG.md

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,11 +7,27 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
77

88
## [Unreleased]
99

10+
#### Added
11+
- CMake: Added `secp256k1_objs` interface library to allow parent projects to embed libsecp256k1 object files into their own static libraries.
12+
- build: Added `SECP256K1_NO_API_VISIBILITY_ATTRIBUTES` preprocessor flag (CMake option: `SECP256K1_ENABLE_API_VISIBILITY_ATTRIBUTES`) that disables explicit "visibility" attributes for API symbols. Defining this macro enables the user to control the visibility of the API symbols via `-fvisibility=<value>` when building libsecp256k1. (All non-API declarations will always have hidden visibility, even with `SECP256K1_ENABLE_API_VISIBILITY_ATTRIBUTES` defined.) For instance, `-fvisibility=hidden` can be useful even for the API symbols, e.g., when building a static libsecp256k1 which is linked into a shared library, and the latter should not re-export the libsecp256k1 API.
13+
14+
#### Changed
15+
- The pointers `secp256k1_context_static` and `secp256k1_context_no_precomp` to the constant context object are now const.
16+
- Removed `SECP256K1_WARN_UNUSED_RESULT` attribute (defined as `__attribute__ ((__warn_unused_result__))`) from several API functions that always return 1. Compilers will no longer warn if the return value is unused.
17+
- CMake: Building with CMake is no longer considered experimental.
18+
- CMake: The minimum required CMake version was increased to 3.22.
19+
- CMake: Shared libraries built with CMake on FreeBSD now create the full versioned filename and symlink chain, matching the behavior of autotools builds.
20+
1021
#### Removed
1122
- Removed previously deprecated function aliases `secp256k1_ec_privkey_negate`, `secp256k1_ec_privkey_tweak_add` and
1223
`secp256k1_ec_privkey_tweak_mul`. Use `secp256k1_ec_seckey_negate`, `secp256k1_ec_seckey_tweak_add` and
1324
`secp256k1_ec_seckey_tweak_mul` instead.
1425

26+
#### ABI Compatibility
27+
The symbols `secp256k1_ec_privkey_negate`, `secp256k1_ec_privkey_tweak_add`, and `secp256k1_ec_privkey_tweak_mul` were removed.
28+
The pointers `secp256k1_context_static` and `secp256k1_context_no_precomp` have been made const.
29+
Otherwise, the library maintains backward compatibility with version 0.6.0.
30+
1531
## [0.6.0] - 2024-11-04
1632

1733
#### Added

0 commit comments

Comments
 (0)