BC
← All projectsBitcoin Core

Bitcoin Core

The Bitcoin network's reference node and wallet implementation.

BitcoinSupply chainNormal
Repository coverage

2900 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.

254security candidates607second-pass queue2881AI analyses
206commits · 30 days
502commits · 60 days
1535commits · 180 days
2884commits · 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
937Strong · 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 38 minutes ago

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
Low 47 AI analysisMessage 90 · Strong
BC Bitcoin CoreBitcoin Core BitcoinSupply chain

ci: verify cross-build SDK archives

This change adds checksum verification to the build system's downloads of Apple, FreeBSD, NetBSD, and OpenBSD software development kits (SDKs). Before this patch, those SDK archives were downloaded at build time and extracted without confi…

Adds cryptographic digest verification for downloaded SDK archivesRemoves unchecked extraction of remote SDK archives in CIHardens CI supply chain for macOS/BSD cross-builds
873550beby Lőrinc+25−126 files
Vendor flagged security relevance
Repository ledger

Explore captured commits

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

Lower-prioritydepends: Prefix include path for headers-only `boost` packageby Hennadii Stepanov · b5375c44 · Feb 5, 2026 · 1 fileMessage 50 · ThinLow 28Details
Commit message · Hennadii Stepanov

depends: Prefix include path for headers-only `boost` package

50/100 · ThinMessage clarity
✓ Specific, descriptive subject✓ Names a concrete action or component! No meaningful explanatory body
AI analysis · Low 28/100

This change adjusts how Bitcoin Core's build system installs the Boost C++ library headers. It places Boost headers in a unique subdirectory so that other software components included in the build don't accidentally pick up Boost headers when they shouldn't. This is a defensive build-hygiene fix, not a direct patch for a known exploit.

Lower-prioritydepends: Prefix include path for headers-only `systemtap` packageby Hennadii Stepanov · 65134c7e · Feb 5, 2026 · 2 filesMessage 50 · ThinLow 35Details
Commit message · Hennadii Stepanov

depends: Prefix include path for headers-only `systemtap` package

50/100 · ThinMessage clarity
✓ Specific, descriptive subject✓ Names a concrete action or component! No meaningful explanatory body
AI analysis · Low 35/100

This commit changes how a tracing header file (systemtap's sdt.h) is installed during Bitcoin Core's dependency build. Previously the header was placed directly in a shared include folder, which could cause other unrelated dependencies to accidentally pick it up. The patch moves it to a package-specific subfolder and explicitly tells the build system where to find it. This is a defensive hardening change rather than a fix for a known active exploit.

Lower-prioritycmake: Add missed `Boost::headers`by Hennadii Stepanov · d73378ff · Feb 5, 2026 · 1 fileMessage 45 · ThinInformational 15Details
Commit message · Hennadii Stepanov

cmake: Add missed `Boost::headers`

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 is a one-line build-system fix that adds a missing dependency on Boost header files for an internal inter-process communication library. It does not change any runtime code, network behavior, or wallet logic, and there is no indication it fixes a security vulnerability.

AI review queuedwallet: remove `DBErrors::NEED_REWRITE` enum valueby rkrux · c6a6435c · Feb 5, 2026 · 3 filesMessage 73 · AdequateInformational 19Details
Commit message · rkrux

wallet: remove `DBErrors::NEED_REWRITE` enum value

As highlighted in the PR review comment, this enum seems no longer
required as the specific issue it solves for involves BDB based wallets
that can't be loaded anymore outside the context of wallet migration,
which rewrites the database anyway.

73/100 · AdequateMessage clarity
✓ Specific, descriptive subject✓ Names a concrete action or component✓ Provides detailed explanatory context
Why it was queued
signing or wallet pathsecond-pass: security-sensitive path
AI analysis · Informational 19/100

This commit removes an old wallet-loading code path called NEED_REWRITE that was used to automatically rewrite certain very old Berkeley DB (BDB) wallets from Bitcoin versions 0.4.0 and 0.5.0. The change is described as cleanup because those wallets can no longer be loaded outside of migration, and migration already rewrites the database. There is no direct evidence in the commit of a security vulnerability being fixed.

AI review queuedwallet: remove unimplemented `RewriteDB` calls from SPKMby rkrux · 61039d72 · Feb 5, 2026 · 2 filesMessage 73 · AdequateInformational 15Details
Commit message · rkrux

wallet: remove unimplemented `RewriteDB` calls from SPKM

ISTM that there is no implementation left of the `RewriteDB` method
in any of the SPKMs, and thus, its call sites can be removed safely.

73/100 · AdequateMessage clarity
✓ Specific, descriptive subject✓ Names a concrete action or component✓ Provides detailed explanatory context
Why it was queued
signing or wallet pathsecond-pass: security-sensitive path
AI analysis · Informational 15/100

This commit removes leftover calls to a wallet method called RewriteDB that no longer had any real implementation. It is a small code cleanup with no security impact.

Lower-prioritytest(miniscript): Make tested script validby Hodlinator · 5af5e876 · Feb 5, 2026 · 1 fileMessage 82 · StrongInformational 15Details
Commit message · Hodlinator

test(miniscript): Make tested script valid

Also give more appropriate name to test.

Co-authored-by: Antoine Poinsot <darosior@protonmail.com>

82/100 · StrongMessage clarity
✓ Descriptive subject✓ Names a concrete action or component✓ Uses a recognizable type or scope✓ Provides an explanatory body✓ Mentions testing or verification
AI analysis · Informational 15/100

This is a Bitcoin Core test-only change. It fixes a unit test so that the miniscript it builds is actually valid, and renames the test to better reflect that it stresses stack usage during node construction/destruction/cloning. No production code is changed, and there is no security fix or vulnerability being patched.

Lower-prioritydoc(miniscript): Explain why we operate on vectorsby Hodlinator · fd7c494c · Feb 5, 2026 · 1 fileMessage 85 · StrongInformational 15Details
Commit message · Hodlinator

doc(miniscript): Explain why we operate on vectors

Explains the reason behind 198bbaee4959119a63b4038cd0dbb519f4daf6f0 where we had earlier switched from operating on unique_ptr<Node> to plain Node.

85/100 · StrongMessage clarity
✓ Specific, descriptive subject✓ Names a concrete action or component✓ Provides detailed explanatory context✓ Explains rationale or failure mode
AI analysis · Informational 15/100

This commit only adds a two-line comment explaining why the code manipulates vectors of objects rather than individual objects. It changes no program logic, no data structures, and no behavior. There is no security issue here.

AI review queueddoc: add release notesby ismaelsadeeq · 8966352d · Feb 5, 2026 · 1 fileMessage 28 · OpaqueInformational 15Details
Commit message · ismaelsadeeq

doc: add release notes

28/100 · OpaqueMessage clarity
✓ Subject identifies a change! No meaningful explanatory body
Why it was queued
documentation-only discountsecond-pass: opaque commit message
AI analysis · Informational 15/100

This commit only adds documentation: a release note explaining that the Bitcoin Core fee estimator now tracks lower fee rates (down to 0.1 sat/vB instead of 1 sat/vB). There is no code change, no bug fix, and no security issue in the diff itself.

Lower-prioritytest: ensure fee estimator provide fee rate estimate < 1 s/vbby ismaelsadeeq · 704a09fe · Feb 5, 2026 · 1 fileMessage 87 · StrongInformational 15Details
Commit message · ismaelsadeeq

test: ensure fee estimator provide fee rate estimate < 1 s/vb

- This commit also refactors the test the better track confirmed
utxos.

87/100 · StrongMessage clarity
✓ Specific, descriptive subject✓ Names a concrete action or component✓ Uses a recognizable type or scope✓ Provides an explanatory body✓ Mentions testing or verification
AI analysis · Informational 15/100

This commit only changes a Bitcoin Core functional test file. It adds a new test to verify that the fee estimator can return estimates below 1 satoshi per virtual byte, and refactors how the test tracks confirmed and unspent transaction outputs. There are no changes to production code, consensus rules, networking, or wallet behavior, so it does not introduce or fix a live security issue.

Lower-priorityfees: delete unused dummy fieldby ismaelsadeeq · 243e48cf · Feb 5, 2026 · 1 fileMessage 60 · AdequateInformational 15Details
Commit message · ismaelsadeeq

fees: delete unused dummy field

- This commit deletes a dummy field that is
"dummy" and unused.

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

This commit removes an unused placeholder value from the fee estimator's saved data file format. It is a cleanup change with no apparent security relevance.

Lower-priorityfees: bump fees file versionby ismaelsadeeq · fc4fbda4 · Feb 5, 2026 · 1 fileMessage 45 · ThinInformational 15Details
Commit message · ismaelsadeeq

fees: bump fees file version

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

This commit simply updates a version number used when Bitcoin Core saves its fee-estimation data to disk. It is a routine compatibility marker, not a security fix. There is no vulnerability here.

Lower-priorityfees: reduce `MIN_BUCKET_FEERATE` to 100by ismaelsadeeq · b54dedcc · Feb 5, 2026 · 1 fileMessage 68 · AdequateInformational 21Details
Commit message · ismaelsadeeq

fees: reduce `MIN_BUCKET_FEERATE` to 100

- The DEFAULT_MIN_RELAY_TX_FEE has been reduced to
100 in v30. This change updates block policy fee estimator
to reflect that change.

68/100 · AdequateMessage clarity
✓ Descriptive subject✓ Names a concrete action or component✓ Provides detailed explanatory context
AI analysis · Informational 21/100

This commit lowers the lowest fee-rate bucket used by Bitcoin Core's built-in transaction fee estimator from 1000 to 100. It is a follow-up to an earlier policy change that reduced the default minimum relay fee. The change keeps the estimator in sync with the new lower bound so users can still get reasonable fee estimates when the network is quiet. It is not a vulnerability fix and does not introduce a clear security flaw, though any change to fee-estimator constants can affect user-facing fee recommendations.

Lower-prioritytest: also reset CConnman::m_private_broadcast in testsby Vasil Dimov · 2cb7e99d · Feb 5, 2026 · 2 filesMessage 100 · StrongInformational 17Details
Commit message · Vasil Dimov

test: also reset CConnman::m_private_broadcast in tests

Member variables of `CConnman::m_private_broadcast` (introduced in
https://github.com/bitcoin/bitcoin/pull/29415) could influence the tests
which creates non-determinism if the same instance of `CConnman` is used
for repeated test iterations.

So, reset the state of `CConnman::m_private_broadcast` from
`ConnmanTestMsg::Reset()`. Currently this affects the fuzz tests
`process_message` and `process_messages`.

Reported in
https://github.com/bitcoin/bitcoin/issues/34476#issuecomment-3849088794

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
Why it was queued
fuzzing or regression evidence
AI analysis · Informational 17/100

This is a Bitcoin Core test-only fix. It resets a small piece of connection-manager state between repeated fuzz-test runs so that earlier iterations do not influence later ones. It does not change production network code and is not an exploitable security bug in live Bitcoin software.

Lower-prioritytest: add ConnmanTestMsg convenience method Reset()by Vasil Dimov · 91b7c874 · Feb 5, 2026 · 4 filesMessage 72 · AdequateInformational 15Details
Commit message · Vasil Dimov

test: add ConnmanTestMsg convenience method Reset()

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 minor test-only code cleanup. It adds a single convenience method called Reset() to a test helper class, so that fuzz tests can call one method instead of two. It does not change any production Bitcoin networking code and has no security relevance for live nodes.

Lower-prioritydoc: fix broken bpftrace installation linkby jayvaliya · 42ee31e8 · Feb 5, 2026 · 1 fileMessage 68 · AdequateInformational 15Details
Commit message · jayvaliya

doc: fix broken bpftrace installation link

The bpftrace project moved from iovisor/bpftrace to bpftrace/bpftraceand
removed the separate INSTALL.md file. Installation instructionsare now
in the README.md Quick Start section.

68/100 · AdequateMessage clarity
✓ 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 is a simple documentation fix. It updates a single hyperlink in a README file because the bpftrace project moved its installation instructions to a different web address. There is no code change and no security relevance.

AI review queuedFUZZ: Test that BnB finds best solutionby Murch · 54d03930 · Feb 4, 2026 · 1 fileMessage 78 · AdequateInformational 14Details
Commit message · Murch

FUZZ: Test that BnB finds best solution

BnB’s solution is the input set with the lowest waste score, excluding
any supersets of other solution candidates.
This fuzz test compares a brute force search with the BnB result to
ensure that BnB succeeds.

78/100 · AdequateMessage clarity
✓ Descriptive subject✓ Names a concrete action or component✓ Provides detailed explanatory context✓ Mentions testing or verification
Why it was queued
fuzzing or regression evidencesigning or wallet pathsecond-pass: security-sensitive path
AI analysis · Informational 14/100

This commit adds a new automated fuzz test for Bitcoin Core's coin selection algorithm. It does not change any production wallet code, network behavior, or consensus rules. The test brute-forces small coin-selection problems and checks that the Branch-and-Bound (BnB) solver finds a minimum-waste solution. It is purely a testing/quality-assurance addition.

Lower-priorityci: fail fast in test-each-commit scriptby Lőrinc · eb510f86 · Feb 4, 2026 · 1 fileMessage 100 · StrongInformational 15Details
Commit message · Lőrinc

ci: fail fast in test-each-commit script

Pass `--failfast` to the functional test runner in `.github/ci-test-each-commit-exec.py`.
Stop after the first failure to surface the root cause sooner and keep logs readable when testing ancestor commits.

Co-authored-by: MarcoFalke <*~=`'#}+{/-|&$^_@721217.xyz>

100/100 · StrongMessage clarity
✓ Descriptive subject✓ Names a concrete action or component✓ Uses a recognizable type or scope✓ Provides detailed explanatory context✓ Explains rationale or failure mode✓ Mentions testing or verification
Why it was queued
documentation-only discount
AI analysis · Informational 15/100

This change only adds a '--failfast' flag to Bitcoin Core's internal continuous integration script. It tells the test runner to stop after the first test failure instead of continuing. There is no security relevance: it does not change production code, network behavior, wallet handling, or any user-facing functionality.

Lower-priorityci: remove commit count limit from `test-each-commit`by Lőrinc · 04c4d710 · Feb 4, 2026 · 1 fileMessage 100 · StrongInformational 15Details
Commit message · Lőrinc

ci: remove commit count limit from `test-each-commit`

Extend `test-each-commit` to run on every non-head pull request commit.
The PR tip is excluded because it is already covered by other CI jobs.
Runner was changed to a performant cirrus runner.

Co-authored-by: MarcoFalke <*~=`'#}+{/-|&$^_@721217.xyz>

100/100 · StrongMessage clarity
✓ Specific, descriptive subject✓ Names a concrete action or component✓ Uses a recognizable type or scope✓ Provides detailed explanatory context✓ Explains rationale or failure mode✓ Mentions testing or verification
Why it was queued
documentation-only discount
AI analysis · Informational 15/100

This commit changes Bitcoin Core's GitHub Actions CI workflow. It removes a hard cap that previously tested only the 6 most recent ancestor commits in a pull request, and instead tests every non-head commit. It also switches the CI runner to a faster Cirrus-hosted runner. There is no change to Bitcoin's runtime code, consensus rules, wallet handling, or network behavior, and no security vulnerability is introduced or fixed.

Lower-priorityiwyu: Fix patch to prefer `<cstdint>`by Hennadii Stepanov · b65a3d80 · Feb 4, 2026 · 1 fileMessage 68 · AdequateInformational 15Details
Commit message · Hennadii Stepanov

iwyu: Fix patch to prefer `<cstdint>`

The goal of the patch is to suggest C++ headers rather than their C
counterparts. However, for fixed width integer types, the patched IWYU
currently suggests `<cinttypes>` where `<cstdint>` is sufficient.

This change fixes this behavior.

68/100 · AdequateMessage clarity
✓ Descriptive subject✓ Names a concrete action or component✓ Provides detailed explanatory context
AI analysis · Informational 15/100

This commit updates a patch file used in Bitcoin Core's continuous integration (CI) tooling. The patch guides an automated code-style checker (include-what-you-use) to recommend modern C++ headers like <cstdint> instead of older C-style headers. It does not change any Bitcoin Core runtime code, consensus logic, or network behavior, and has no direct security impact on users.

AI review queuedbuild: don't pass on boost dependency to kernel consumersby Cory Fields · a50d0b67 · Feb 3, 2026 · 1 fileMessage 77 · AdequateInformational 15Details
Commit message · Cory Fields

build: don't pass on boost dependency to kernel consumers

This is unnecessary now that the kernel now exports a (boost-less) API.

77/100 · AdequateMessage clarity
✓ Specific, descriptive subject✓ Names a concrete action or component✓ Uses a recognizable type or scope✓ Provides an explanatory body
Why it was queued
documentation-only discountsecond-pass: broader security terminology
AI analysis · Informational 15/100

This is a routine build-system cleanup. Bitcoin Core's internal 'kernel' library no longer needs to force programs that use it to also depend on the Boost C++ library, because the kernel's public interface has been rewritten to avoid BOOST. The change simply removes one line from a CMake build file so BOOST is kept as a private dependency of the kernel itself rather than being propagated to downstream consumers. There is no security-relevant code change.

Lower-prioritytest: kernel test fixupsby MarcoFalke · fad9dd1a · Feb 3, 2026 · 1 fileMessage 93 · StrongInformational 15Details
Commit message · MarcoFalke

test: kernel test fixups

* Allow byte arrays; Adjust size check, which would otherwise fail,
because two byte arrays of a type are always of the same size:
https://github.com/bitcoin/bitcoin/pull/30595#discussion_r2642930435

* Require empty range:
https://github.com/bitcoin/bitcoin/pull/30595#discussion_r2653846374

93/100 · StrongMessage clarity
✓ Subject identifies a change✓ Uses a recognizable type or scope✓ Provides detailed explanatory context✓ Explains rationale or failure mode✓ Mentions testing or verification✓ Links an issue, advisory, or supporting reference
AI analysis · Informational 15/100

This commit only changes test code in Bitcoin Core. It loosens a C++ concept check so more byte-returning types can be tested, switches a test comparison from 'different sizes' to 'different contents', and tightens a range helper to require non-empty ranges. There is no change to production code, consensus logic, networking, or wallet handling, so it does not introduce a security vulnerability.

Lower-prioritytest: Use clang-tidy named args for create_chainmanby MarcoFalke · fabb58d4 · Feb 3, 2026 · 1 fileMessage 95 · StrongInformational 15Details
Commit message · MarcoFalke

test: Use clang-tidy named args for create_chainman

https://github.com/bitcoin/bitcoin/pull/30595#discussion_r2653846863

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

This commit only changes test code comments. It adds named labels (like /*reindex=*/true) to function arguments in Bitcoin Core's kernel tests so the code is easier to read and can be checked by a style tool called clang-tidy. It does not change any real Bitcoin node behavior or fix a security issue.

Lower-priorityrefactor: Small style fixups in src/kernel/bitcoinkernel.cppby MarcoFalke · fa51594c · Feb 3, 2026 · 2 filesMessage 93 · StrongInformational 15Details
Commit message · MarcoFalke

refactor: Small style fixups in src/kernel/bitcoinkernel.cpp

* Use type alias TranslateFn:
https://github.com/bitcoin/bitcoin/pull/30595#discussion_r2653828562
* Use std::span::data:
https://github.com/bitcoin/bitcoin/pull/30595#discussion_r2653829743
* Use the ref helper:
https://github.com/bitcoin/bitcoin/pull/30595#discussion_r2653829991
* Reword error handling section:
https://github.com/bitcoin/bitcoin/pull/30595#discussion_r2653843805

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 15/100

This is a pure code cleanup (refactoring) change in Bitcoin Core's libbitcoinkernel. It replaces a few verbose type names and function calls with shorter equivalents, removes an unused header include, and rewords a documentation comment. There is no change to program behavior, no bug fix, and no security relevance.

Lower-priorityRevert "valgrind: add suppression for bug 472219"by MarcoFalke · fa33acec · Feb 3, 2026 · 1 fileMessage 60 · AdequateInformational 12Details
Commit message · MarcoFalke

Revert "valgrind: add suppression for bug 472219"

This reverts commit 50f7214e0915a88dd81c1ac1d292e049a398cda2.

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

This commit removes a Valgrind suppression rule. Valgrind is a debugging tool used to detect memory errors; a suppression rule simply tells Valgrind to ignore a known, harmless false-positive warning. Removing it does not change Bitcoin Core's actual code, behavior, or security. It only affects internal testing diagnostics, and only on a specific platform (musl libc on 64-bit ARM) when running Valgrind. The suppression was originally added because of a bug in Valgrind itself, which the commit message says is fixed in Valgrind 3.22.

Lower-prioritydoc: Add initial asmap data documentationby Fabian Jahr · 24699fec · Feb 3, 2026 · 2 filesMessage 45 · ThinInformational 15Details
Commit message · Fabian Jahr

doc: Add initial asmap data documentation

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 only adds documentation. It explains what ASMap data is, how it is sourced and verified, and adds a checklist item to the release process reminding developers to update the embedded ASMap file before a release. No code, configuration, or data files were changed.