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:
     - CMake: Added `secp256k1_objs` interface library to allow parent projects to embed libsecp256k1 object files into their own static libraries.
    
    #### Changed
     - The pointers `secp256k1_context_static` and `secp256k1_context_no_precomp` to the constant context object are now const.
     - 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.
     - CMake: Building with CMake is no longer considered experimental.
     - CMake: The minimum required CMake version was increased to 3.22.
     - 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

    <details> <summary>Comments suppressed due to low confidence (2)</summary>

    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*." ).
     - 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.
     - CMake: Added `secp256k1_objs` interface library to allow parent projects to embed secp256k1 object files into their own static libraries.
    

    </details>

  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,

    The 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:
    #### Added
     - CMake: Added `secp256k1_objs` interface library to allow parent projects to embed libsecp256k1 object files into their own static libraries.
     - 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

  24. fanquake referenced this in commit 5600e6fc4b on Jul 22, 2025
  25. fjahr referenced this in commit b6fc8c52d5 on Jul 24, 2025
  26. saikiran57 referenced this in commit abe11bd67c on Jul 28, 2025
  27. macgyver13 referenced this in commit ef5eeb6c13 on Aug 13, 2025
  28. janus referenced this in commit e0ffd31e87 on Sep 14, 2025
  29. vmta referenced this in commit 2b25f561a0 on Sep 21, 2025
  30. real-or-random referenced this in commit a3733f33c1 on Feb 25, 2026
  31. github-actions[bot] referenced this in commit 758d4e90b4 on Mar 1, 2026
  32. github-actions[bot] referenced this in commit 68a2178f22 on Mar 1, 2026
  33. github-actions[bot] referenced this in commit a8bc1a0b2b on Mar 1, 2026
  34. 0x000000000019d6689c085ae165831e934ff76 referenced this in commit 3b9450150d on Mar 2, 2026
  35. csjones referenced this in commit a4d92824ae on Mar 2, 2026

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: 2026-05-19 06:52 UTC