changelog: update #1702

pull jonasnick wants to merge 1 commits into bitcoin-core:master from jonasnick:update-changelog changing 1 files +16 −0
  1. jonasnick commented at 9:08 am on July 16, 2025: contributor

    This update includes all PRs that have a needs-changelog tag:

    • 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)

  2. in CHANGELOG.md:18 in 8af2545cea outdated
    13+#### Changed
    14+ - The pointers `secp256k1_context_static` and `secp256k1_context_no_precomp` to the constant context object are now const.
    15+ - Removed `SECP256K1_WARN_UNUSED_RESULT` attribute from several functions that always return 1. Compilers will no longer warn if the return value is unused.
    16+ - The minimum required CMake version was increased to 3.22.
    17+ - Building with CMake is no longer considered experimental.
    18+ - Shared libraries built with CMake on FreeBSD now create the full versioned filename and symlink chain, matching the behavior of autotools builds.
    


    real-or-random commented at 5:11 am on July 17, 2025:
    0 - CMake: Added `secp256k1_objs` interface library to allow parent projects to embed libsecp256k1 object files into their own static libraries.
    1
    2#### Changed
    3 - The pointers `secp256k1_context_static` and `secp256k1_context_no_precomp` to the constant context object are now const.
    4 - 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.
    5 - CMake: Building with CMake is no longer considered experimental.
    6 - CMake: The minimum required CMake version was increased to 3.22.
    7 - CMake: Shared libraries built with CMake on FreeBSD now create the full versioned filename and symlink chain, matching the behavior of autotools builds.
    
  3. real-or-random commented at 5:14 am on July 17, 2025: contributor
  4. real-or-random added the label user-documentation on Jul 17, 2025
  5. real-or-random added the label release on Jul 17, 2025
  6. real-or-random requested review from Copilot on Jul 17, 2025
  7. Copilot commented at 5:15 am on July 17, 2025: none

    Pull Request Overview

    This PR updates the Unreleased section of the CHANGELOG to reflect recent merged PRs with the needs-changelog label, primarily around CMake improvements and context pointer constness.

    • Add a new CMake interface library entry
    • Mark static context pointers as const and remove now-unnecessary WARN_UNUSED_RESULT
    • Bump minimum CMake version, promote CMake builds, and align FreeBSD shared library naming

    CHANGELOG.md:14

    • [nitpick] The wording around pointer constness is a bit confusing. Consider clarifying that these symbols are now defined as const secp256k1_context* (e.g., “secp256k1_context_static and secp256k1_context_no_precomp are now of type const secp256k1_context*.” ).
    0 - The pointers `secp256k1_context_static` and `secp256k1_context_no_precomp` to the constant context object are now const.
    

    CHANGELOG.md:11

    • [nitpick] It may help readers if each changelog entry references the corresponding PR number (e.g., add (#1678) at the end) for easier cross-referencing.
    0 - CMake: Added `secp256k1_objs` interface library to allow parent projects to embed secp256k1 object files into their own static libraries.
    
  8. jonasnick force-pushed on Jul 17, 2025
  9. jonasnick commented at 9:39 am on July 17, 2025: contributor
    Added ABI compatibility section.
  10. theuni commented at 9:34 pm on July 17, 2025: contributor
    Entry for 1678 looks good to me.
  11. in CHANGELOG.md:28 in 7fac6c8c71 outdated
    22   `secp256k1_ec_privkey_tweak_mul`. Use `secp256k1_ec_seckey_negate`, `secp256k1_ec_seckey_tweak_add` and
    23   `secp256k1_ec_seckey_tweak_mul` instead.
    24 
    25+#### ABI Compatibility
    26+The symbols `secp256k1_ec_privkey_negate`, `secp256k1_ec_privkey_tweak_add`, and `secp256k1_ec_privkey_tweak_mul` were removed.
    27+The pointers `secp256k1_context_static` and `secp256k1_context_no_precomp` have been made const.
    


    real-or-random commented at 6:49 am on July 18, 2025:

    if you touch this again, for consistency,

    0The pointers `secp256k1_context_static` and `secp256k1_context_no_precomp` were made const.
    
  12. real-or-random approved
  13. real-or-random commented at 6:49 am on July 18, 2025: contributor
    ACK 7fac6c8c7110fe07294c39d41e0c7e3eeccee03a
  14. hebasto approved
  15. hebasto commented at 11:17 am on July 18, 2025: member
    I have reviewed buildsystem-specific changes and they look OK.
  16. jonasnick added this to the milestone 0.7.0 on Jul 21, 2025
  17. in CHANGELOG.md:11 in 7fac6c8c71 outdated
     6@@ -7,11 +7,26 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
     7 
     8 ## [Unreleased]
     9 
    10+#### Added
    11+ - CMake: Added `secp256k1_objs` interface library to allow parent projects to embed libsecp256k1 object files into their own static libraries.
    


    real-or-random commented at 1:38 pm on July 21, 2025:
    0#### Added
    1 - CMake: Added `secp256k1_objs` interface library to allow parent projects to embed libsecp256k1 object files into their own static libraries.
    2 - 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.
    
  18. changelog: update
    Co-authored-by: Tim Ruffing <dev@real-or-random.org>
    40b4a06520
  19. jonasnick force-pushed on Jul 21, 2025
  20. real-or-random approved
  21. real-or-random commented at 1:44 pm on July 21, 2025: contributor
    ACK 40b4a0652078c797df3ceb66387b8cfe60e6dab8
  22. real-or-random merged this on Jul 21, 2025
  23. real-or-random closed this on Jul 21, 2025


github-metadata-mirror

This is a metadata mirror of the GitHub repository bitcoin-core/secp256k1. This site is not affiliated with GitHub. Content is generated from a GitHub metadata backup.
generated: 2025-07-30 17:15 UTC

This site is hosted by @0xB10C
More mirrored repositories can be found on mirror.b10c.me