BC
← All projectsBitcoin Core

Bitcoin Core

The Bitcoin network's reference node and wallet implementation.

BitcoinSupply chainNormal
Repository coverage

2904 commits in the local evidence base

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.

255security candidates607second-pass queue2882AI analyses
192commits · 30 days
482commits · 60 days
1503commits · 180 days
2877commits · 365 days
Backfill bands
Aug 5 → Feb 61351 seen45 candidatesComplete
Feb 6 → Jun 61033 seen63 candidatesComplete
Jun 6 → Jul 6281 seen11 candidatesComplete
Jul 6 → Aug 5207 seen5 candidatesComplete
Commit communication

Does the history explain itself?

Message quality measures whether a commit identifies its scope, purpose, rationale, testing, and supporting references. It does not change the security-severity score.

70/100 average clarity
941Strong · 80–100
1188Adequate · 60–79
687Thin · 40–59
88Opaque · 0–39
6security candidates with opaque commit messaging
Read the scoring rubric →
Developer activity

Who is changing the project?

Public Git author strings; identities are not independently verified.

DeveloperCommitsCandidatesAnalyzedHigh riskMessage avg.
Antoine Poinsot22422170
Ava Chow15750157064
MarcoFalke41021406074
Lőrinc17721177081
fanquake22719226057
Hennadii Stepanov20914208063
rkrux57957074
Sjors Provoost89889074
Sebastian Falbesoner33733073
David Gumberg55655072
Pieter Wuille95595066
Hodlinator66566076
Analysis record

Published AI watches

Last scanned 58 minutes ago

Informational 15 AI analysisMessage 91 · Strong
BC Bitcoin CoreBitcoin Core BitcoinSupply chain

Merge bitcoin/bitcoin#35937: test: Append print_suppressions=0 to LSAN_OPTIONS, and suppress bitcoin-qt

This commit only changes test configuration. It tells the LeakSanitizer tool used during automated testing to stop printing long lists of suppressed memory leaks, and it narrows the list of ignored leaks to the bitcoin-qt GUI test binary. …

5973e075by merge-script+3−42 files
No security note in commit
Informational 15 AI analysisMessage 91 · Strong
BC Bitcoin CoreBitcoin Core BitcoinSupply chain

Merge bitcoin/bitcoin#35928: doc: mention -DWITH_ZMQ=ON in macOS build guide

This is a one-line documentation update to the macOS build guide. It adds a note telling users to pass a specific CMake option if they want ZeroMQ notification support. There is no code change and no security impact.

8397e09eby merge-script+1−11 file
No security note in commit
Informational 15 AI analysisMessage 100 · Strong
BC Bitcoin CoreBitcoin Core BitcoinSupply chain

Merge bitcoin/bitcoin#35482: fuzz: exercise the transaction-handling path in process_message(s)

This commit only changes Bitcoin Core's internal fuzz testing code. It makes the fuzz tests exercise more of the transaction-handling code path by toggling Initial Block Download mode and resetting the mempool between test runs. There is n…

No production code modifiedNo consensus, validation, net_processing, or wallet logic changedOnly fuzz test harnesses and test utilities affected
f11dc617by merge-script+105−798 files
No security note in commit
Informational 15 AI analysisMessage 91 · Strong
BC Bitcoin CoreBitcoin Core BitcoinSupply chain

Merge bitcoin/bitcoin#35914: test, fuzz: Remove unused variables

This commit removes unused variables from Bitcoin Core's test and fuzzing code. It is a cleanup/refactoring change with no effect on the live network software or user funds. It does not fix or introduce any security vulnerability.

d36bf709by merge-script+1−138 files
No security note in commit
Informational 15 AI analysisMessage 93 · Strong
BC Bitcoin CoreBitcoin Core BitcoinSupply chain

Merge bitcoin/bitcoin#35896: refactor: Default uint256::operator==, add operator<=>

This commit is a routine code cleanup in Bitcoin Core. It switches the uint256 equality and comparison operators to use standard C++20 defaults, removes an old custom Compare() helper, and marks an internal assertion-failure function as ne…

ed2c59abby merge-script+99−245 files
No security note in commit
Moderate 62 AI analysisMessage 96 · Strong
BC Bitcoin CoreBitcoin Core BitcoinSupply chain

Merge bitcoin/bitcoin#35872: rpc: avoid descriptor range counter overflow

This update fixes a counting bug in several Bitcoin Core RPC commands that scan descriptors. When a user requested a descriptor range ending at the maximum allowed value (2,147,483,647), the internal counter used a smaller integer type and…

Signed integer overflow in descriptor expansion loopCrash/undefined behavior on maximum-range descriptor scansAuthenticated RPC surface affected (scantxoutset, scanblocks, getdescriptoractivity, utxoupdatepsbt, descriptorprocesspsbt)
b388674aby Ava Chow+3−12 files
Vendor flagged security relevance
Informational 19 AI analysisMessage 91 · Strong
BC Bitcoin CoreBitcoin Core BitcoinSupply chain

Merge bitcoin/bitcoin#35842: rpc: Properly make RPCResult::Type::ANY non-test-only

This is a small cleanup and documentation fix for Bitcoin Core's RPC help system. It removes a comment that incorrectly said a certain output type was 'for testing only' and makes the help text properly display those outputs. There is no d…

No memory safety, cryptography, consensus, or authorization changes observedChange is confined to RPC help/schema metadata generationComment-only/type-label change from 'for testing only' to general use
c36ffd87by merge-script+42−364 files
No security note in commit
Informational 15 AI analysisMessage 93 · Strong
BC Bitcoin CoreBitcoin Core BitcoinSupply chain

Merge bitcoin/bitcoin#35895: refactor: Enable clang-tidy rule to reject anon namespace in header

This is a code cleanup change that turns on a static-analysis rule to prevent a specific C++ coding pattern (anonymous namespaces in header files) and updates two headers to comply. It does not change how Bitcoin Core behaves at runtime an…

No security-relevant code changeNo memory safety, cryptography, consensus, or network changesTooling-only refactor (clang-tidy configuration)
c4fbd3c7by merge-script+9−123 files
No security note in commit
Informational 15 AI analysisMessage 100 · Strong
BC Bitcoin CoreBitcoin Core BitcoinSupply chain

Merge bitcoin/bitcoin#35630: test: Add importdescriptors rpc error test coverage

This commit only adds new test cases to Bitcoin Core's functional test suite. It does not change any production wallet, node, or RPC code. The tests verify that the importdescriptors RPC reports errors in the right order, rejects bad times…

465196d0by merge-script+77−11 file
No security note in commit
Informational 15 AI analysisMessage 81 · Strong
BC Bitcoin CoreBitcoin Core BitcoinSupply chain

Merge bitcoin/bitcoin#35180: coins: group private cache helpers

This change is purely a code cleanup: it moves two internal helper functions of a Bitcoin Core cache class into the private section of the class and removes a duplicate 'private:' label. There is no change to what the code does, no bug fix…

c940fd75by merge-script+13−141 file
No security note in commit
Low 29 AI analysisMessage 81 · Strong
BC Bitcoin CoreBitcoin Core BitcoinSupply chain

Merge bitcoin/bitcoin#35582: rpc: reject null for optional parameters

This Bitcoin Core change tightens how three RPC commands (scantxoutset, scanblocks, deriveaddresses) handle the value null when it is passed for optional parameters. Previously, explicitly passing null could be treated differently from sim…

RPC parameter validation changeNull value handling changeAddition of explicit error checks for missing required contextual parameters
3db96eb5by merge-script+18−75 files
No security note in commit
Informational 15 AI analysisMessage 57 · Thin
BC Bitcoin CoreBitcoin Core BitcoinSupply chain

refactor: Enable misc-definitions-in-headers

This commit is a code cleanup: it turns on a clang-tidy style check called 'misc-definitions-in-headers' and suppresses that check around a large inline implementation block in a benchmark header. There is no change to Bitcoin's runtime be…

fa93132dby MarcoFalke+3−02 files
No security note in commit
Informational 15 AI analysisMessage 85 · Strong
BC Bitcoin CoreBitcoin Core BitcoinSupply chain

refactor: Enable clang-tidy rule to reject anon namespace in header

This commit only changes a linting configuration file for the project's code style checker. It enables a rule that prevents anonymous namespaces from being used in header files, which is a code-quality and build-hygiene practice. There is …

No security-relevant signals in the diff or commit message.Change is purely a static-analysis/linting configuration update.
fa5ca877by MarcoFalke+2−11 file
No security note in commit
Informational 15 AI analysisMessage 62 · Adequate
BC Bitcoin CoreBitcoin Core BitcoinSupply chain

refactor: Use C++20 std::identity over IntIdentity

This commit is a straightforward code cleanup: it replaces a small custom helper named IntIdentity with the standard C++20 std::identity from the <functional> header. The behavior of the ConvertBits function is unchanged; only the implemen…

fafe5042by MarcoFalke+4−111 file
No security note in commit
Informational 15 AI analysisMessage 87 · Strong
BC Bitcoin CoreBitcoin Core BitcoinSupply chain

test: test the result order of a multiple import request is correct

This commit only adds a new automated test to Bitcoin Core. It checks that when a user asks the wallet to import multiple descriptors at once, the list of results comes back in the same order as the original request, including any error me…

3ac8b806by Pol Espinasa+40−01 file
No security note in commit
Informational 15 AI analysisMessage 87 · Strong
BC Bitcoin CoreBitcoin Core BitcoinSupply chain

test: test invalid or missing timestamp throws importdescriptors

This commit only adds new automated tests for the Bitcoin Core wallet's importdescriptors RPC. It checks that the command correctly rejects requests with a missing or invalid timestamp. No production wallet code is changed, so this cannot …

No changes to consensus, networking, wallet logic, or cryptographyOnly functional test code is modifiedAdded assertions are for expected error handling paths
e4732bf0by Pol Espinasa+28−11 file
No security note in commit
Informational 15 AI analysisMessage 80 · Strong
BC Bitcoin CoreBitcoin Core BitcoinSupply chain

refactor: Remove unused #include in common/system

This is a minor code cleanup that removes one unused header file include and swaps another for a more specific one. It does not change any program behavior or fix any security issue.

fa7304f3by MarcoFalke+1−22 files
No security note in commit
Informational 15 AI analysisMessage 50 · Thin
BC Bitcoin CoreBitcoin Core BitcoinSupply chain

iwyu: Fix warnings in `src/consensus` and treat them as errors

This commit is a routine code cleanup: it adjusts which C++ header files are included in several consensus-related source files and turns on a stricter compiler hygiene check (Include What You Use, or IWYU) for the src/consensus directory.…

13b53f8bby Hennadii Stepanov+42−79 files
No security note in commit
Informational 15 AI analysisMessage 55 · Thin
BC Bitcoin CoreBitcoin Core BitcoinSupply chain

fuzz: don't connman.ReceiveMsgFrom oversized msg

This is a small fix to a Bitcoin Core fuzz test (an automated internal testing harness), not to the live network code. The fuzzer was sometimes creating fake P2P messages larger than the real protocol allows and passing them into a test he…

Test-only fuzz harness hardeningOversized message guard added before ReceiveMsgFrom() in fuzz targetNo change to production P2P message acceptance logic
bb19f1daby Greg Sanders+5−01 file
No security note in commit
Informational 15 AI analysisMessage 97 · Strong
BC Bitcoin CoreBitcoin Core BitcoinSupply chain

ci: Temporarily remove riscv32 config from GHA matrix

This commit simply removes one failing test configuration (RISC-V 32-bit bare metal) from the project's GitHub Actions CI matrix because it was failing. It is a routine CI maintenance change with no security implications.

fa06ea42by MarcoFalke+0−61 file
No security note in commit
Repository ledger

Explore captured commits

Expand any commit for its author, full message, clarity score, changed files, triage signals, analysis, and source link.

Lower-prioritydoc: Correct `pkgin` command usage on NetBSDby Hennadii Stepanov · 0698c6b4 · Nov 8, 2025 · 1 fileMessage 45 · ThinInformational 15Details
Commit message · Hennadii Stepanov

doc: Correct `pkgin` command usage on NetBSD

45/100 · ThinMessage clarity
✓ 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 fixes a typo in the NetBSD build documentation. The correct command to install packages with pkgin is 'pkgin install <package>', not 'pkgin <package>'. It does not change any code, build scripts, or runtime behavior.

Lower-priorityscripted-diff: Remove obsolete commentby Hennadii Stepanov · 36724205 · Nov 8, 2025 · 5 filesMessage 86 · StrongInformational 15Details
Commit message · Hennadii Stepanov

scripted-diff: Remove obsolete comment

The removed comment become obsolete after bitcoin/bitcoin#32697 and
bitcoin/bitcoin#32881.

-BEGIN VERIFY SCRIPT-

sed -i "s/ Some tests are disabled if Python 3 is not available.//g" \
$( git grep -l " Some tests are disabled if Python 3 is not available." ./doc/ )

-END VERIFY SCRIPT-

86/100 · StrongMessage clarity
✓ Descriptive subject✓ Names a concrete action or component✓ Provides detailed explanatory context✓ Mentions testing or verification✓ Links an issue, advisory, or supporting reference
Why it was queued
documentation-only discount
AI analysis · Informational 15/100

This commit only removes a now-outdated sentence from five documentation files. The sentence told readers that some tests are skipped if Python 3 is missing, but that is no longer true after other recent changes. No code, build scripts, tests, or configuration were modified.

Lower-priorityrefactor: Add missing include in bitcoinkernel_wrapper.hby MarcoFalke · fa1e8d8b · Nov 8, 2025 · 1 fileMessage 62 · AdequateInformational 15Details
Commit message · MarcoFalke

refactor: Add missing include in bitcoinkernel_wrapper.h

62/100 · AdequateMessage clarity
✓ Specific, descriptive subject✓ Names a concrete action or component✓ Uses a recognizable type or scope! No meaningful explanatory body
AI analysis · Informational 15/100

This is a straightforward code cleanup: a single missing C++ standard library header, <exception>, was added to a wrapper header file. It does not change program behavior, fix a crash, or address any security issue. It simply ensures the header compiles correctly on its own in all build configurations.

Lower-priorityci: [refactor] Extract build_dir constant in ci-test-each-commit-exec.pyby MarcoFalke · fa6db673 · Nov 8, 2025 · 1 fileMessage 72 · AdequateInformational 15Details
Commit message · MarcoFalke

ci: [refactor] Extract build_dir constant in ci-test-each-commit-exec.py

72/100 · AdequateMessage clarity
✓ Specific, descriptive subject✓ Names a concrete action or component✓ Uses a recognizable type or scope✓ Mentions testing or verification! No meaningful explanatory body
Why it was queued
documentation-only discount
AI analysis · Informational 15/100

This is a tiny code cleanup in a CI (Continuous Integration) helper script. It replaces the hardcoded build directory name 'build' with a variable named 'build_dir' set to 'ci_build'. There is no security relevance; it is purely a refactor to make the script easier to maintain.

Lower-priorityci: Use cmake --preset=dev-mode in test-each-commit taskby MarcoFalke · fa95e6cd · Nov 8, 2025 · 1 fileMessage 72 · AdequateInformational 15Details
Commit message · MarcoFalke

ci: Use cmake --preset=dev-mode in test-each-commit task

72/100 · AdequateMessage clarity
✓ Specific, descriptive subject✓ Names a concrete action or component✓ Uses a recognizable type or scope✓ Mentions testing or verification! No meaningful explanatory body
Why it was queued
documentation-only discount
AI analysis · Informational 15/100

This is a routine cleanup of Bitcoin Core's internal continuous integration (CI) script. It replaces a long list of build options with a single shorthand preset ('dev-mode') and adds a compiler warning tolerance flag. There is no user-facing change, no network code change, and no security-relevant behavior change.

Lower-priorityci: Extend tidy job to cover kernel codeby Hennadii Stepanov · 5d0a40d6 · Nov 7, 2025 · 1 fileMessage 57 · ThinInformational 15Details
Commit message · Hennadii Stepanov

ci: Extend tidy job to cover kernel code

57/100 · ThinMessage clarity
✓ Descriptive subject✓ Names a concrete action or component✓ Uses a recognizable type or scope! No meaningful explanatory body
AI analysis · Informational 15/100

This commit changes one line in a Bitcoin Core continuous integration (CI) script. It replaces a manually written list of build options with a pre-defined developer-mode preset so that the automated code-quality (clang-tidy) job also covers the project's new kernel code. There is no change to the software users run, no bug fix, and no security-relevant behavior change.

Lower-priorityrefactor: Use STR_INTERNAL_BUG macro where possibleby MarcoFalke · fad6efd3 · Nov 6, 2025 · 2 filesMessage 77 · AdequateInformational 15Details
Commit message · MarcoFalke

refactor: Use STR_INTERNAL_BUG macro where possible

This ensures a uniform bug template and allows to drop includes and
logic at the call sites.

77/100 · AdequateMessage clarity
✓ Specific, descriptive subject✓ Names a concrete action or component✓ Uses a recognizable type or scope✓ Provides an explanatory body
AI analysis · Informational 15/100

This commit is a code cleanup that replaces several hand-written internal-error messages with a single standard macro. It does not change what the program does, only how error messages are formatted. There is no security issue here.

Lower-prioritydoc: Remove unused bugprone-lambda-function-name suppressionby MarcoFalke · fada3795 · Nov 6, 2025 · 1 fileMessage 73 · AdequateInformational 15Details
Commit message · MarcoFalke

doc: Remove unused bugprone-lambda-function-name suppression

Now that the __func__ is no longer used, the
NOLINTBEGIN(bugprone-lambda-function-name) can be removed.

Also, re-format the NONFATAL_UNREACHABLE macro, while touching the
adjacent line.

73/100 · AdequateMessage clarity
✓ Specific, descriptive subject✓ Names a concrete action or component✓ Provides detailed explanatory context
AI analysis · Informational 15/100

This is a documentation and code-cleanup change only. It removes an outdated compiler-lint suppression comment and slightly reformats a macro that throws an error when unreachable code is reached. There is no functional change to Bitcoin Core's behavior, and no security issue is introduced or fixed.

Lower-priorityguix: build for Linux HOSTS with -static-libgccby fanquake · f06c6e18 · Nov 6, 2025 · 2 filesMessage 45 · ThinInformational 20Details
Commit message · fanquake

guix: build for Linux HOSTS with -static-libgcc

45/100 · ThinMessage clarity
✓ Descriptive subject✓ Names a concrete action or component! No meaningful explanatory body
AI analysis · Informational 20/100

This change adjusts how Bitcoin Core is packaged for Linux so that the libgcc runtime library is bundled directly into the released binaries instead of being expected to come from the user's operating system. It also removes checks that previously ensured the released binaries only relied on specific system versions of libgcc. The goal is to make the official Linux releases work on a wider range of older or differently-configured distributions without requiring a particular libgcc to be installed. It is a build/packaging improvement rather than a fix for an active software bug or exploit.

Lower-priorityguix: patch store paths out of libunwindby fanquake · 1bdf4695 · Nov 6, 2025 · 2 filesMessage 60 · AdequateInformational 18Details
Commit message · fanquake

guix: patch store paths out of libunwind

Apply libgcc patches to Linux as well as Windows cross.

60/100 · AdequateMessage clarity
✓ Descriptive subject✓ Names a concrete action or component✓ Provides an explanatory body
AI analysis · Informational 18/100

This commit changes Bitcoin Core's Guix build setup so that a reproducibility patch for the GCC compiler is also applied when building Linux binaries, not just Windows ones. The patch strips out architecture-specific Guix store paths from debug symbols and now also from libunwind, making the resulting binaries more deterministic across different build machines. It is a build-hygiene/reproducibility fix, not a runtime security patch.

Lower-prioritymerkle: remove unused `mutated` arg from `BlockWitnessMerkleRoot`by Lőrinc · 24ed820d · Nov 6, 2025 · 4 filesMessage 73 · AdequateInformational 15Details
Commit message · Lőrinc

merkle: remove unused `mutated` arg from `BlockWitnessMerkleRoot`

The `mutated` parameter is never used at any call site - all callers pass `nullptr`.
The explicit comment in `validation.cpp` explains the reason:
// The malleation check is ignored; as the transaction tree itself
// already does not permit it, it is impossible to trigger in the
// witness tree.

73/100 · AdequateMessage clarity
✓ Specific, descriptive subject✓ Names a concrete action or component✓ Provides detailed explanatory context
AI analysis · Informational 15/100

This is a small code cleanup change. It removes an unused optional parameter from a helper function that calculates the witness Merkle root for a Bitcoin block. All callers were already passing a special 'not used' value (nullptr), so the behavior of the program does not change. There is no security bug being fixed here.

Lower-prioritymerkle: remove unused `proot` and `pmutated` args from `MerkleComputation`by Lőrinc · 63d640fa · Nov 6, 2025 · 1 fileMessage 65 · AdequateInformational 15Details
Commit message · Lőrinc

merkle: remove unused `proot` and `pmutated` args from `MerkleComputation`

There's a single call to the methods from `ComputeMerklePath` where these were always set to `nullptr`.

65/100 · AdequateMessage clarity
✓ Specific, descriptive subject✓ Names a concrete action or component✓ Provides an explanatory body
AI analysis · Informational 15/100

This is a small code cleanup in Bitcoin Core's merkle tree calculation. It removes two unused parameters (`proot` and `pmutated`) from an internal helper function because the only place that called it always passed `nullptr` for both. There is no security issue here—just simplification of the code.

Lower-prioritymerkle: migrate `path` arg of `MerkleComputation` to a referenceby Lőrinc · be270551 · Nov 6, 2025 · 1 fileMessage 73 · AdequateInformational 15Details
Commit message · Lőrinc

merkle: migrate `path` arg of `MerkleComputation` to a reference

There's a single call to the methods from `ComputeMerklePath` where the last parameter is always provided.
This simplifies the implementation by not having to check for missing parameter.

73/100 · AdequateMessage clarity
✓ Specific, descriptive subject✓ Names a concrete action or component✓ Provides detailed explanatory context
AI analysis · Informational 15/100

This is a small internal code cleanup in Bitcoin Core's merkle tree calculation. It changes one function so that a list of hash values is passed by reference instead of by pointer, removing optional null-pointer checks that were no longer needed. There is no change to network behavior, consensus rules, or user-visible security.

Lower-prioritycmake, test: Improve locality of `bitcoin_ipc_test` library descriptionby Hennadii Stepanov · 866bbb98 · Nov 5, 2025 · 8 filesMessage 60 · AdequateInformational 15Details
Commit message · Hennadii Stepanov

cmake, test: Improve locality of `bitcoin_ipc_test` library description

60/100 · AdequateMessage clarity
✓ Specific, descriptive subject✓ Names a concrete action or component✓ Mentions testing or verification! No meaningful explanatory body
AI analysis · Informational 15/100

This commit is a pure build-system and file relocation cleanup. It moves the bitcoin_ipc_test library definition and its associated test files from src/test/ to src/ipc/test/ so the Cap'n Proto compiler can use simpler relative import paths. No runtime behavior of Bitcoin Core changes, and no security vulnerability is introduced or fixed.

AI review queuedtest: add case where `TOTAL_TRIES` is exceeded yet solution remainsby yancy · b189a345 · Nov 5, 2025 · 1 fileMessage 95 · StrongInformational 15Details
Commit message · yancy

test: add case where `TOTAL_TRIES` is exceeded yet solution remains

Show that `CoinGrider` halts searching when the number of attempts exceeds
`TOTAL_TRIES`. To do so, show that a solution is found, then add one
more entry to the same set of inputs. Since the search orders by
`effective_value`, the solution is constructed such that only values
with the lowest `effective_value` have the least weight. Only the
lowest weight values will not exceed the `max_selection_weight`.
Therefore, `CoinGrinder` will not evaluate all lowest weight solutions
together before exceeding `TOTAL_TRIES` since they are last found.

This test case was inspired by a similar test for `BnB` currently
named `bnb_test`.

95/100 · StrongMessage clarity
✓ Specific, descriptive subject✓ Names a concrete action or component✓ Uses a recognizable type or scope✓ Provides detailed explanatory context✓ Mentions testing or verification
Why it was queued
signing or wallet pathsecond-pass: security-sensitive path
AI analysis · Informational 15/100

This commit only adds a new test case to Bitcoin Core's automated test suite. It demonstrates an existing behavior of the CoinGrinder coin-selection algorithm: if too many combinations must be tried, the algorithm stops before finding a valid solution. The commit does not change any production wallet code, so it cannot by itself introduce a security vulnerability or fix one in live software.

Lower-priorityguix: move static-libc++ into CMAKE_EXE_LINKER_FLAGS flagsby fanquake · 078a72c3 · Nov 5, 2025 · 1 fileMessage 65 · AdequateInformational 15Details
Commit message · fanquake

guix: move static-libc++ into CMAKE_EXE_LINKER_FLAGS flags

Make it clearer that we are only applying this to executables.

65/100 · AdequateMessage clarity
✓ Specific, descriptive subject✓ Names a concrete action or component✓ Provides an explanatory body
AI analysis · Informational 15/100

This commit is a build-system cleanup for Bitcoin Core's Guix reproducible-build scripts. It moves the '-static-libstdc++' linker flag from the general host linker flags into the CMake executable-only linker flags, so the static C++ standard library is linked only for executables and not accidentally applied elsewhere. There is no security-relevant change here.

Lower-prioritytest: move create_malleated_version() to messages.py for reuseby Vasil Dimov · 2bd155e6 · Nov 5, 2025 · 2 filesMessage 72 · AdequateInformational 15Details
Commit message · Vasil Dimov

test: move create_malleated_version() to messages.py for reuse

72/100 · AdequateMessage clarity
✓ Specific, descriptive subject✓ Names a concrete action or component✓ Uses a recognizable type or scope✓ Mentions testing or verification! No meaningful explanatory body
AI analysis · Informational 15/100

This commit is a simple code cleanup in Bitcoin Core's test suite. It moves a helper function that creates a deliberately broken transaction from one test file into a shared test library so other tests can reuse it. No production code, network rules, or wallet behavior are changed.

Lower-prioritykernel: Use enumeration type for flags argumentby TheCharlatan · ed572050 · Nov 5, 2025 · 1 fileMessage 45 · ThinInformational 15Details
Commit message · TheCharlatan

kernel: Use enumeration type for flags argument

45/100 · ThinMessage clarity
✓ Descriptive subject✓ Names a concrete action or component! No meaningful explanatory body
AI analysis · Informational 15/100

This is a tiny, non-functional code cleanup in Bitcoin Core's public C kernel API header. It changes one function parameter from a plain unsigned integer to a named enumeration type, and fixes a grammar typo in a comment. There is no security relevance.

Lower-prioritydoc: Add cmake help option in Windows build instructionsby frankomosh · 9577daa3 · Nov 5, 2025 · 2 filesMessage 73 · AdequateInformational 15Details
Commit message · frankomosh

doc: Add cmake help option in Windows build instructions

Used to display available configuration options, for consistency with recent changes in Unix build docs

Co-authored-by: stickies-v <stickies-v@users.noreply.github.com>

73/100 · AdequateMessage clarity
✓ Specific, descriptive subject✓ Names a concrete action or component✓ Provides detailed explanatory context
Why it was queued
documentation-only discount
AI analysis · Informational 15/100

This commit only updates two Windows build instruction documents to mention a standard CMake help command. It does not change any program code, build scripts, or configuration logic, and has no security relevance.

Lower-priorityrefactor: Use const reference to std::source_locationby MarcoFalke · fae1d996 · Nov 5, 2025 · 3 filesMessage 93 · StrongInformational 14Details
Commit message · MarcoFalke

refactor: Use const reference to std::source_location

Performance likely does not matter here, but from a perspective of
code-readablilty, a const reference should be preferred for read-only
access.

So use it here.

This requires to set -Wno-error=dangling-reference for GCC 13.1
compilations, but this false-positive is fixed in later GCC versions.

See also https://godbolt.org/z/fjc6be65M

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
AI analysis · Informational 14/100

This is a minor code cleanup (refactor) that changes how a diagnostic helper passes a C++ standard library object. It does not fix a security bug, change behavior, or introduce a vulnerability. The accompanying build-script changes only suppress a compiler warning that newer compilers would not emit anyway.

Lower-priorityutil: Allow Assert() in contexts without __func__by MarcoFalke · fa5fbcd6 · Nov 5, 2025 · 2 filesMessage 76 · AdequateInformational 15Details
Commit message · MarcoFalke

util: Allow Assert() in contexts without __func__

Without this, compile warnings could be hit about __func__ being only
valid inside functions.

warning: predefined identifier is only valid inside function [-Wpredefined-identifier-outside-function]
note: expanded from macro Assert
115 | #define Assert(val) inline_assertion_check<true>(val, __FILE__, __LINE__, __func__, #val)
| ^

Ref https://github.com/bitcoin/bitcoin/pull/32740#discussion_r2486258473

76/100 · AdequateMessage clarity
✓ Descriptive subject✓ Names a concrete action or component✓ Provides detailed explanatory context✓ Links an issue, advisory, or supporting reference
AI analysis · Informational 15/100

This is a routine code-quality change that swaps the old way of recording file, line, and function names in assertion helpers for a modern C++ standard feature. It fixes a compiler warning that could appear when assertions are used in certain contexts, but it does not change what the program does or fix any security bug.

Lower-priorityrefactor: remove dead code in `CountWitnessSigOps`by Lőrinc · 24bcad3d · Nov 4, 2025 · 5 filesMessage 100 · StrongInformational 15Details
Commit message · Lőrinc

refactor: remove dead code in `CountWitnessSigOps`

Found while reviewing #32840

The `nullptr` witness path was dead in normal code paths: removing it deletes unreachable logic.

Code coverage proof:
https://maflcko.github.io/b-c-cov/total.coverage/src/script/interpreter.cpp.gcov.html#L2135

100/100 · StrongMessage clarity
✓ Specific, descriptive subject✓ Names a concrete action or component✓ Uses a recognizable type or scope✓ Provides detailed explanatory context✓ Mentions testing or verification✓ Links an issue, advisory, or supporting reference
AI analysis · Informational 15/100

This commit is a code cleanup: it removes an unused 'nullptr witness' code path from a Bitcoin Core function that counts signature operations in SegWit transactions. The change does not alter behavior in normal operation because the nullptr path was never reached. It is not a security fix.

Lower-prioritycmake: Replace recursive globbing with explicit globbing in foldersby Hennadii Stepanov · 76dae5d6 · Nov 4, 2025 · 1 fileMessage 50 · ThinInformational 15Details
Commit message · Hennadii Stepanov

cmake: Replace recursive globbing with explicit globbing in folders

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 commit changes how Bitcoin Core's test files are copied into the build directory during compilation. It replaces a broad 'grab everything recursively' approach with explicit lists of file types per folder. There is no security vulnerability here; it is a build-system cleanup that makes the test setup more predictable and avoids accidentally linking unexpected files.

AI review queuedtest: remove obsolete `get_{key,multisig}` helpers from wallet_util.pyby Sebastian Falbesoner · ec8516ce · Nov 4, 2025 · 1 fileMessage 95 · StrongInformational 15Details
Commit message · Sebastian Falbesoner

test: remove obsolete `get_{key,multisig}` helpers from wallet_util.py

These helpers use a legacy wallet RPC (`dumpprivkey`) and thus don't
work anymore. They were only ever used for testing the `importmulti`
RPC, which also doesn't exist anymore.

95/100 · StrongMessage clarity
✓ Specific, descriptive subject✓ Names a concrete action or component✓ Uses a recognizable type or scope✓ Provides detailed explanatory context✓ Mentions testing or verification
Why it was queued
signing or wallet pathsecond-pass: security-sensitive path
AI analysis · Informational 15/100

This commit simply removes two unused helper functions from Bitcoin Core's test code. The helpers relied on an old wallet command that no longer works and were only used for another removed test feature. There is no security issue here.

Security candidateclang-tidy: Remove no longer needed NOLINTby Hennadii Stepanov · 038849e2 · Nov 4, 2025 · 1 fileMessage 45 · ThinInformational 15Details
Commit message · Hennadii Stepanov

clang-tidy: Remove no longer needed NOLINT

45/100 · ThinMessage clarity
✓ Descriptive subject✓ Names a concrete action or component! No meaningful explanatory body
Why it was queued
seed or entropy path
AI analysis · Informational 15/100

This is a minor code cleanup change. It removes a comment marker used by an automated linting tool (clang-tidy) because the tool no longer needs it. The actual code behavior is unchanged.