Every captured commit receives deterministic security triage and a separate communication-quality score. Security candidates and broader second-pass signals receive full-patch Ollama analysis.
Message quality measures whether a commit identifies its scope, purpose, rationale, testing, and supporting references. It does not change the security-severity score.
This change only edits the project's automated continuous-integration (CI) configuration file. It turns on all optional cryptographic modules by default in CI and adds test runs that disable each module one at a time. There is no change to…
No source-code changesNo build-system logic changesCI-only workflow refactor
This commit is a code cleanup (refactor) that splits one internal public-key parsing helper into three clearly named versions. It does not change what keys the public API accepts or rejects, and it adds more tests. There is no security vul…
Refactor only: no change to accepted public-key formats or validation rulesPublic API behavior preserved: 33-byte compressed and 65-byte uncompressed/hybrid still acceptedInternal fixed-size callers now use size-specific parser, reducing risk of accidental hybrid acceptance in future code
This commit only adds new test code to check that a specific Schnorr signing function behaves in a constant-time manner under Valgrind. It does not change any production cryptographic code, so it cannot introduce or fix a security vulnerab…
Only test file src/ctime_tests.c changedNo production cryptographic code modifiedAdds constant-time (CHECKMEM/Valgrind) coverage for schnorrsig_sign_custom
This commit is a code-quality and defensive-programming change. It restructures internal elliptic-curve helper functions so that runtime consistency checks (VERIFY macros) wrap the real implementation and cannot be skipped by an early 'ret…
Defensive restructuring of assertion wrappersAdds missing VERIFY post-conditions on group element outputsNo functional cryptographic change
This commit only adds new test code to check that a specific function behaves correctly when given a buffer of exactly the right size. It does not change any production code, fix a bug, or introduce a vulnerability. It is a routine improve…
This commit only adds a new test case. It checks that a DER signature can be written into a buffer that is exactly the right size, and that writing into a buffer one byte too small fails correctly. There is no change to the actual library …
This commit only adds new test cases to the libsecp256k1 test suite. It does not change any production cryptographic code. The new tests check that the DER signature parser correctly handles an unusual but valid length-encoding format (the…
Adds test coverage for DER long-form length encoding acceptance and rejectionTargets secp256k1_der_read_len boundary conditionsNo changes to src/ecdsa_impl.h or any production parsing logic
This commit only adds new test cases to the project's test suite. It does not change any production parsing code. The tests verify that the existing DER signature parser correctly accepts valid long-form length encodings and rejects invali…
This commit is a straightforward code cleanup: it removes a small internal helper function named secp256k1_get_hash_context() and replaces every call with direct access to the context's hash_ctx field. The behavior is identical; no securit…
This is a routine internal code cleanup: it moves helper functions that convert between group elements and byte strings from one internal file to another, and renames a couple of private-key tweak helpers from 'privkey' to 'seckey'. The pu…
This commit is a simple renaming of internal function names from 'privkey' to 'seckey' to match current project terminology. No behavior of the code changes, and there is no security fix or vulnerability introduced.
This is a small internal cleanup in Bitcoin Core's secp256k1 cryptography library. It replaces a manual secret-key validity check (overflow plus zero) with an existing helper function that does the same thing. The behavior is intended to b…
No security-relevant behavioral change is described or evidentRefactoring only: equivalent overflow-and-zero check via existing helperReturn value logic preserved with added parentheses for warning avoidance
This is a pure code cleanup change: it renames a function parameter from 'ctx' to 'ecmult_gen_ctx' in several internal files and moves the asterisk in pointer declarations for style consistency. No behavior, logic, or security properties o…
This commit fixes an integer overflow bug in the library's internal scratch-space memory allocator. If a caller requested a scratch space with a size near the maximum possible value, adding the allocator's own bookkeeping header could wrap…
This commit is a pure code cleanup: it renames a function parameter from 'ctx' to 'ecmult_gen_ctx' in several related files and moves the asterisk in pointer declarations from the left side to the right side (e.g., 'type* arg' to 'type *ar…
This commit fixes a low-level arithmetic overflow check in a special internal memory-pool helper called 'scratch space'. Because the scratch API is no longer exposed to users, the bug cannot be triggered by normal callers today. The change…
Integer overflow in size calculationPotential heap buffer under-allocationDefensive hardening of internal allocator helper
This commit fixes test-suite bugs, not the cryptographic library itself. Several test cases were using outputs from functions without first checking whether those functions succeeded. In rare cases a failed setup step could leave a value t…
Test-only hardeningMissing return-value checks in test codePotential false-positive test passes on setup failure
This commit is a straightforward code cleanup: it removes a tiny internal helper function called secp256k1_get_hash_context() and replaces every call with direct access to the context's hash_ctx field. The behavior is identical; no securit…
This commit is a routine post-release bookkeeping change. It bumps the project's version number from 0.8.0 to 0.8.1, marks the current code as an unreleased development snapshot, and updates the changelog accordingly. There are no code, cr…
This commit is a routine post-release bookkeeping change. It bumps the project's version number from 0.8.0 to 0.8.1, marks the current code as an unreleased development snapshot, and updates the changelog accordingly. There are no code, cr…
Expand any commit for its author, full message, clarity score, changed files, triage signals, analysis, and source link.
Security candidateMerge bitcoin-core/secp256k1#1910: scratch: reject sizes that overflow when added to headerby merge-script · 439278a6 · Aug 16, 2026 · 2 filesMessage 86 · StrongLow 27Details
Commit message · merge-script
Merge bitcoin-core/secp256k1#1910: scratch: reject sizes that overflow when added to header
3d4340d17325a6732108423f9d3e54de99539a60 scratch: reject sizes that overflow when added to header (Sebastian Falbesoner)
Pull request description:
We only use scratch space internally, so this is not an issue for the user (scratch API functions have been removed since 0.6.0, see #1620), but fixing this might still make sense to prepare for the unlikely case that we expose the scratch API again in the future. An alternative could be to simply delete the scratch space functionality already, as e.g. done in PR #1789.
Reported by [Project Loupe](https://github.com/project-loupe)
ACKs for top commit: apoelstra: utACK 3d4340d17325a6732108423f9d3e54de99539a60 real-or-random: utACK 3d4340d17325a6732108423f9d3e54de99539a60
✓ Specific, descriptive subject✓ Names a concrete action or component✓ Provides detailed explanatory context✓ Links an issue, advisory, or supporting reference✓ Names security-relevant behavior explicitly
Why it was queued
memory safetymerge-commit duplicate discount
AI analysis · Low 27/100
This commit fixes an integer overflow bug in the library's internal scratch-space memory allocator. If a caller requested a scratch space with a size near the maximum possible value, adding the allocator's own bookkeeping header could wrap around to a tiny total size. That tiny allocation would then be used as if it were huge, potentially causing memory corruption. However, the scratch-space API is no longer exposed to users, so normal applications cannot trigger this.
Security candidaterefactor: rename `ctx` param to `ecmult_gen_ctx` where applicableby Sebastian Falbesoner · 81a5a756 · Aug 7, 2026 · 4 filesMessage 93 · StrongInformational 15Details
Commit message · Sebastian Falbesoner
refactor: rename `ctx` param to `ecmult_gen_ctx` where applicable
To be more consistent and avoid confusion with regular `_context` instances, rename the `ctx` parameter to `ecmult_gen_ctx` in all functions that take `_ecmult_gen_context` pointers.
While at it, move the * in pointer declarations of the touched functions to the right side for consistency across the code base, see PR #1252.
93/100 · StrongMessage clarity
✓ Specific, descriptive subject✓ Names a concrete action or component✓ Uses a recognizable type or scope✓ Provides detailed explanatory context✓ Links an issue, advisory, or supporting reference
Why it was queued
cryptography-sensitive path
AI analysis · Informational 15/100
This commit is a pure code cleanup: it renames a function parameter from 'ctx' to 'ecmult_gen_ctx' in several related files and moves the asterisk in pointer declarations from the left side to the right side (e.g., 'type* arg' to 'type *arg'). No behavior changes, no bug fixes, and no security fixes are present.
Security candidatescratch: reject sizes that overflow when added to headerby Sebastian Falbesoner · 3d4340d1 · Aug 5, 2026 · 2 filesMessage 86 · StrongInformational 23Details
Commit message · Sebastian Falbesoner
scratch: reject sizes that overflow when added to header
We only use scratch space internally, so this is not an issue for the user (scratch API functions have been removed since 0.6.0), but fixing this might still make sense to prepare for the unlikely case that we expose the scratch API again in the future. An alternative could be to simply delete the scratch space functionality already, as e.g. done in PR #1789.
86/100 · StrongMessage clarity
✓ Specific, descriptive subject✓ Names a concrete action or component✓ Provides detailed explanatory context✓ Links an issue, advisory, or supporting reference✓ Names security-relevant behavior explicitly
Why it was queued
memory safety
AI analysis · Informational 23/100
This commit fixes a low-level arithmetic overflow check in a special internal memory-pool helper called 'scratch space'. Because the scratch API is no longer exposed to users, the bug cannot be triggered by normal callers today. The change adds a guard so that an impossibly large requested size does not silently wrap around and produce a smaller memory allocation than intended.
Security candidateMerge bitcoin-core/secp256k1#1897: tests: check results before using outputsby merge-script · 687155df · Aug 4, 2026 · 8 filesMessage 96 · StrongInformational 20Details
Commit message · merge-script
Merge bitcoin-core/secp256k1#1897: tests: check results before using outputs
a2ad68cd81787ba70b2caff0a57998ae8a5b4834 ec: check pubkey sort test results (Lőrinc) 93280c22917c018f4e99d76e4398e66405c887bd silentpayments: check test serialization (Lőrinc) b8de1bc30f917c0ab9f05aeaeb494834e81513e2 musig: check infinity test setup (Lőrinc) 0618af81317307466e9968592880a54229885edc extrakeys: check test pubkey loads (Lőrinc) 1d3f72d3fa8e476cdc3344dbb5aebeaf7a6efe89 recovery: check exhaustive API results (Lőrinc) 564afb0b06e6124092fd6fa1239b1b397f742e41 ellswift: check test operation results (Lőrinc) 658c7edc24832592969ccbd1bdbc5c59e1ccc5d5 tests: check exhaustive ecmult success (Lőrinc)
Pull request description:
**Problem:** Several tests inspect outputs from deterministic operations without checking the result. The later output comparisons usually still exercise behavior, but a failed setup call can leave an output that accidentally satisfies a later assertion. In `pubnonce_summing_to_inf`, `secp256k1_musig_sum_pubnonces` initializes both sums to infinity before a pubnonce load can fail, so the test could pass without constructing a valid opposing-nonce pair.
**Fix:** Check the result of each deterministic operation before reading its output in the affected exhaustive, EllSwift, recovery, extrakeys, MuSig, silent-payments, and public-key sort tests. Leave deliberately ignored results alone when the test permits either result or validates a mutated value rather than an auxiliary carry, overflow, or sign flag.
ACKs for top commit: 151henry151: Tested ACK a2ad68cd81787ba70b2caff0a57998ae8a5b4834 real-or-random: utACK a2ad68cd81787ba70b2caff0a57998ae8a5b4834 theStack: ACK a2ad68cd81787ba70b2caff0a57998ae8a5b4834
This commit fixes test-suite bugs, not the cryptographic library itself. Several test cases were using outputs from functions without first checking whether those functions succeeded. In rare cases a failed setup step could leave a value that accidentally passed a later check, making the test look successful when it shouldn't. The patch adds result checks so tests fail loudly if a setup step fails. There is no direct security risk to users of the library.
Security candidaterefactor: replace `_get_hash_context` with direct `->hash_ctx` accessby Sebastian Falbesoner · c8745f6b · Aug 4, 2026 · 16 filesMessage 85 · StrongInformational 15Details
Commit message · Sebastian Falbesoner
refactor: replace `_get_hash_context` with direct `->hash_ctx` access
See issue #1835 ("Follow-ups to #1777").
85/100 · StrongMessage clarity
✓ Specific, descriptive subject✓ Names a concrete action or component✓ Uses a recognizable type or scope✓ Provides an explanatory body✓ Links an issue, advisory, or supporting reference
Why it was queued
cryptography-sensitive path
AI analysis · Informational 15/100
This commit is a straightforward code cleanup: it removes a tiny internal helper function called secp256k1_get_hash_context() and replaces every call with direct access to the context's hash_ctx field. The behavior is identical; no security bug is fixed or introduced.
Lower-priorityMerge bitcoin-core/secp256k1#1907: release cleanup: bump version after 0.8.0by merge-script · 8a700a35 · Aug 3, 2026 · 3 filesMessage 86 · StrongInformational 15Details
Commit message · merge-script
Merge bitcoin-core/secp256k1#1907: release cleanup: bump version after 0.8.0
78657bf28b59f7069d06e140a584d0b4ee34a3af release cleanup: bump version after 0.8.0 (Sebastian Falbesoner)
Pull request description:
ACKs for top commit: real-or-random: utACK 78657bf28b59f7069d06e140a584d0b4ee34a3af
✓ Specific, descriptive subject✓ Names a concrete action or component✓ Provides detailed explanatory context✓ Links an issue, advisory, or supporting reference✓ Names security-relevant behavior explicitly
Why it was queued
merge-commit duplicate discount
AI analysis · Informational 15/100
This commit is a routine post-release bookkeeping change. It bumps the project's version number from 0.8.0 to 0.8.1, marks the current code as an unreleased development snapshot, and updates the changelog accordingly. There are no code, cryptographic, or build-logic changes that affect security.
Lower-priorityrelease cleanup: bump version after 0.8.0by Sebastian Falbesoner · 78657bf2 · Aug 3, 2026 · 3 filesMessage 45 · ThinInformational 15Details
Commit message · Sebastian Falbesoner
release cleanup: bump version after 0.8.0
45/100 · ThinMessage clarity
✓ Descriptive subject✓ Names a concrete action or component! No meaningful explanatory body
AI analysis · Informational 15/100
This commit is a routine post-release bookkeeping change. It bumps the project's version number from 0.8.0 to 0.8.1, marks the current code as an unreleased development snapshot, and updates the changelog accordingly. There are no code, cryptographic, or build-logic changes that could affect security.
Lower-priorityrelease: prepare for 0.8.0by Sebastian Falbesoner · 5840c19b · Aug 3, 2026 · 3 filesMessage 45 · ThinInformational 15Details
Commit message · Sebastian Falbesoner
release: prepare for 0.8.0
45/100 · ThinMessage clarity
✓ Descriptive subject✓ Names a concrete action or component! No meaningful explanatory body
AI analysis · Informational 15/100
This commit is a routine release preparation for libsecp256k1 version 0.8.0. It only updates version numbers in build files (CMake and autotools) and finalizes the changelog. There are no code changes, no bug fixes, and no security-related modifications in the diff itself.
sha256: cross-check caller supplied compression function
The existing selftest hashes one 63 byte string against a known digest. Which catches a compression function that is wrong everywhere, but not one that is wrong on multi-block calls, unaligned input, or a state that is not the IV.
This introduces secp256k1_sha256_smoke_test, which hashes messages of various lengths and starting offsets with both the supplied function and the built-in one, and fails if the digest differs.
The check runs once during startup, so a faulty compression function is caught early rather than silently producing incorrect output later.
Measured locally, this takes 1.5ms, which should be negligible for any application.
See the introduced test for a clear view of the bugs this catches.
83/100 · StrongMessage clarity
✓ Specific, descriptive subject✓ Names a concrete action or component✓ Provides detailed explanatory context✓ Mentions testing or verification
Why it was queued
cryptography-sensitive path
AI analysis · Low 26/100
This commit strengthens the library's startup self-test for SHA-256 compression functions that users can plug in. It adds a more thorough 'smoke test' that compares the user-supplied function against the built-in one across many message lengths and memory alignments. The goal is to catch buggy or incompatible custom SHA-256 code early, before it silently produces wrong hashes. It is a defensive hardening change, not a fix for an active security hole.
Lower-prioritychangelog: add entry for #1821by Sebastian Falbesoner · 2076b06a · Aug 1, 2026 · 1 fileMessage 73 · AdequateInformational 19Details
Commit message · Sebastian Falbesoner
changelog: add entry for #1821
Co-authored-by: Tim Ruffing <me@real-or-random.org>
73/100 · AdequateMessage clarity
✓ Descriptive subject✓ Names a concrete action or component✓ Provides an explanatory body✓ Links an issue, advisory, or supporting reference✓ Names security-relevant behavior explicitly
Why it was queued
documentation-only discount
AI analysis · Informational 19/100
This is a documentation-only commit that adds a changelog entry describing a previous code fix. The fix corrected a function in the ellswift module so it now rejects secret keys that are greater than or equal to the curve order, matching its documented behavior. The changelog explicitly states the old behavior is not considered a security issue because such keys are practically impossible to generate by chance.
✓ Descriptive subject✓ Names a concrete action or component✓ Links an issue, advisory, or supporting reference! No meaningful explanatory body
Why it was queued
signing boundarydocumentation-only discount
AI analysis · Informational 15/100
This commit updates the project's release instructions to add a new step: creating a GPG-signed source-code tarball when making a release. It is a documentation-only change that improves release integrity and does not modify any code or fix a security bug.
AI review queuedrelease-process: Refactorby Tim Ruffing · 34f00ca9 · Jul 31, 2026 · 1 fileMessage 35 · OpaqueInformational 15Details
Commit message · Tim Ruffing
release-process: Refactor
35/100 · OpaqueMessage clarity
✓ Descriptive subject! No meaningful explanatory body
This commit is a simple reorganization of the project's release-process documentation. It renames some sections, splits steps into clearer subsections, and adds minor wording clarifications (for example, reminding maintainers to manually review commits since the last release when writing changelog entries). No code, build scripts, cryptographic logic, or configuration defaults were changed.
AI review queuedrelease-process: Fix nitsby Tim Ruffing · 4a73b1ae · Jul 31, 2026 · 1 fileMessage 35 · OpaqueInformational 15Details
Commit message · Tim Ruffing
release-process: Fix nits
35/100 · OpaqueMessage clarity
✓ Descriptive subject! No meaningful explanatory body
This commit only makes minor wording edits to the project's release-process documentation. It changes a few phrases from 'PR is merged' to 'PR has been merged', adds 'a' before 'PR', and adds a new step reminding maintainers to merge release notes before announcing a release. There is no code change and no security relevance.
✓ Descriptive subject✓ Names a concrete action or component! No meaningful explanatory body
Why it was queued
documentation-only discount
AI analysis · Informational 15/100
This commit simply adds a short 'Cleaning up' section to the project's release-process documentation. It describes administrative tasks like closing a GitHub milestone and removing a label after a release. There is no code change and no security relevance.
Lower-priorityrelease-process: Add attaching output of check-abi.sh to PRby Tim Ruffing · 12d9cfd8 · Jul 31, 2026 · 1 fileMessage 50 · ThinInformational 15Details
Commit message · Tim Ruffing
release-process: Add attaching output of check-abi.sh to PR
50/100 · ThinMessage clarity
✓ Specific, descriptive subject✓ Names a concrete action or component! No meaningful explanatory body
Why it was queued
documentation-only discount
AI analysis · Informational 15/100
This is a documentation-only change to the project's release checklist. It adds a step telling release maintainers to attach the output of an ABI compatibility checking tool to release pull requests. There is no code change, no cryptographic change, and no security vulnerability.
Lower-prioritychangelog: add entry for #1859by Sebastian Falbesoner · 51fc633e · Jul 30, 2026 · 1 fileMessage 53 · ThinInformational 15Details
Commit message · Sebastian Falbesoner
changelog: add entry for #1859
53/100 · ThinMessage clarity
✓ Descriptive subject✓ Names a concrete action or component✓ Links an issue, advisory, or supporting reference! No meaningful explanatory body
Why it was queued
documentation-only discount
AI analysis · Informational 15/100
This commit only adds a changelog entry describing a prior performance improvement (force-inlining field multiplication routines). It changes no source code, build scripts, or executable behavior. There is no security-relevant content in the diff.
Lower-priorityellswift: don't declassify or leave sk in sha256 bufferby furszy · 0ae17e30 · Jul 30, 2026 · 1 fileMessage 73 · AdequateLow 47Details
Commit message · furszy
ellswift: don't declassify or leave sk in sha256 buffer
secp256k1_ellswift_create assumes sha256 clears the data in its buffer after hashing it, which is not the case. So we shouldn't declassify the whole struct, only the hash result. We should also clear it at the end, so the sk doesn't linger on the stack when no aux rnd is given.
73/100 · AdequateMessage clarity
✓ Specific, descriptive subject✓ Names a concrete action or component✓ Provides detailed explanatory context
AI analysis · Low 47/100
This commit fixes a small but real privacy bug in the ElligatorSwift key-encoding helper. The code had wrongly assumed that the SHA-256 hashing routine wipes its internal buffer after feeding data in, so it marked the whole hash state as safe-to-leak and did not clear it. Because the buffer still held a copy of the secret key, that secret key could remain in stack memory longer than intended, especially when no extra random data (auxrnd) was provided. The patch narrows the 'declassify' to only the actual hash output/state and explicitly clears the SHA-256 buffer at the end, removing the leftover secret key from the stack.
Lower-prioritychangelog: Add entry for #1869by Tim Ruffing · 44ba8cd7 · Jul 29, 2026 · 1 fileMessage 53 · ThinInformational 15Details
Commit message · Tim Ruffing
changelog: Add entry for #1869
53/100 · ThinMessage clarity
✓ Descriptive subject✓ Names a concrete action or component✓ Links an issue, advisory, or supporting reference! No meaningful explanatory body
Why it was queued
documentation-only discount
AI analysis · Informational 15/100
This commit only updates the project's CHANGELOG.md file to document that a previously removed internal macro (SECP256K1_GNUC_PREREQ) was not part of the public API. It is a documentation-only change with no code modifications and no security relevance.
Security candidateheader: Add note on SHA256 override and aux functionsby Tim Ruffing · 4147f8bd · Jul 29, 2026 · 1 fileMessage 58 · ThinInformational 15Details
Commit message · Tim Ruffing
header: Add note on SHA256 override and aux functions
Resolves one item in #1835.
58/100 · ThinMessage clarity
✓ Specific, descriptive subject✓ Names a concrete action or component✓ Links an issue, advisory, or supporting reference! No meaningful explanatory body
Why it was queued
cryptography-sensitive path
AI analysis · Informational 15/100
This commit only adds a documentation note to a public header file. It explains that certain auxiliary functions, when called directly by user code, will not use a user-installed SHA256 override callback because they do not receive a library context object. There is no code change, no behavior change, and no security fix.
Security candidateecdsa/ecdh: Use SHA256 override if known noncefp/hashfp is passedby Tim Ruffing · ed091bc4 · Jul 29, 2026 · 2 filesMessage 50 · ThinLow 32Details
Commit message · Tim Ruffing
ecdsa/ecdh: Use SHA256 override if known noncefp/hashfp is passed
50/100 · ThinMessage clarity
✓ Specific, descriptive subject✓ Names a concrete action or component! No meaningful explanatory body
Why it was queued
cryptography-sensitive path
AI analysis · Low 32/100
This small change makes Bitcoin's cryptographic library treat two built-in functions (the default ECDSA nonce generator and the default ECDH hash function) as 'default' choices even when a caller explicitly passes them. The practical effect is that these built-in functions now receive the library context's hash function, which matters when the library is compiled with a custom hash implementation. Without this fix, a caller passing the same built-in function by name could accidentally bypass the context's hash function and use a different code path. There is no direct evidence in the commit of an exploitable vulnerability; it looks like a consistency/correctness fix.
This context pointer has been deprecated since the rename to `_context_static` more than three and a half years ago (see PR #1126, commit 53796d2b24e813750feae73e85c0a6eee40dc391), for the first official release 0.2.0. Removing it should be fine by now.
71/100 · AdequateMessage clarity
✓ Specific, descriptive subject✓ Provides detailed explanatory context✓ Links an issue, advisory, or supporting reference
Why it was queued
cryptography-sensitive path
AI analysis · Informational 21/100
This commit removes an old, renamed pointer called secp256k1_context_no_precomp from the secp256k1 cryptographic library. It had been marked as deprecated for over three years and was only an alias for the newer secp256k1_context_static. The change is a routine API cleanup, not a security fix, but any external code still using the old name will fail to compile or link after updating.
Remove deprecated `secp256k1_schnorrsig_sign` alias
This function has been deprecated since the rename to `_schnorrsig_sign32` more than three and a half years ago (see PR #1089, commit 99e6568fc6), before the first official release 0.2.0. Removing it should be fine by now.
71/100 · AdequateMessage clarity
✓ Specific, descriptive subject✓ Provides detailed explanatory context✓ Links an issue, advisory, or supporting reference
Why it was queued
cryptography-sensitive path
AI analysis · Informational 19/100
This commit removes an old, renamed function called secp256k1_schnorrsig_sign from the libsecp256k1 cryptographic library. It had been marked as deprecated for over three years and was simply an alias pointing to the newer secp256k1_schnorrsig_sign32. Any software still using the old name will fail to compile or link after this change, but the actual signing behavior is unchanged. There is no security vulnerability introduced by this cleanup.
Lower-prioritychangelog: add missing entries for #1777 and #1860by Sebastian Falbesoner · f52eb393 · Jul 28, 2026 · 1 fileMessage 81 · StrongInformational 15Details
Commit message · Sebastian Falbesoner
changelog: add missing entries for #1777 and #1860
Adds changelog entries for merged PRs that still have the "needs-changelog" label, preparing for the upcoming release: - #1777: "Make SHA256 compression runtime pluggable" - #1860: "cmake: Emulate Libtool's behavior on NetBSD and OpenBSD"
Also adjusts the release notes for 0.7.0 regarding PR #1685 to be consistent.
81/100 · StrongMessage clarity
✓ Specific, descriptive subject✓ Names a concrete action or component✓ Provides detailed explanatory context✓ Links an issue, advisory, or supporting reference
Why it was queued
documentation-only discount
AI analysis · Informational 15/100
This commit only updates the project's changelog file. It adds release-note entries for two previously merged changes and tweaks an existing entry for consistency. No program code was modified, so it cannot introduce or fix a security vulnerability on its own.
Two successful sort paths validated only the reordered arrays and discarded the API result. Check success before inspecting the sorted output.
78/100 · AdequateMessage clarity
✓ Descriptive subject✓ Names a concrete action or component✓ Provides detailed explanatory context✓ Mentions testing or verification
Why it was queued
defensive validation
AI analysis · Informational 16/100
This commit fixes two test cases in the secp256k1 cryptographic library so they now verify that a public-key sorting function actually succeeds before checking its output. Previously the tests only inspected the sorted result and ignored whether the function returned an error. This is a test-hardening change, not a fix to the sorting function itself, and it does not create or fix a vulnerability in production code.
The sender vector test compared serialized x-only public keys without requiring serialization to succeed. Check success before comparing the output bytes.
This is a small fix inside a test file for the silent payments module. It makes sure a function that converts a public key into bytes actually succeeds before comparing those bytes against expected test values. Previously, the test could compare stale or uninitialized bytes if the conversion failed, which could hide test failures but does not affect real wallet or network code.