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 31 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-prioritytest: cleanup, use HasReason in threadpool_tests.cppby l0rinc · ce2a984e · Feb 26, 2026 · 1 fileMessage 72 · AdequateInformational 15Details
Commit message · l0rinc

test: cleanup, use HasReason in threadpool_tests.cpp

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 is a minor cleanup of a test file. It changes how one unit test checks that error messages from background tasks are correctly passed back to the caller. There is no change to the actual Bitcoin Core program that users run, only to the test code, and no security relevance.

Security candidatetest: move and simplify BOOST_CHECK ostream helpersby Hodlinator · dbbb780a · Feb 26, 2026 · 53 filesMessage 95 · StrongInformational 15Details
Commit message · Hodlinator

test: move and simplify BOOST_CHECK ostream helpers

Move the operator<< overloads used by BOOST_CHECK_* out of the
unit test machinery test/setup_common, into test/util/common.h.

And replace the individual per-type ToString() overloads with
a single concept-constrained template that covers any type
exposing a ToString() method. This is important to not add
uint256.h and transaction_identifier.h dependencies to the
shared test/util/common.h file.

Co-authored-by: furszy <matiasfurszyfer@protonmail.com>

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
cryptography-sensitive pathsigning or wallet path
AI analysis · Informational 15/100

This commit is a pure test-code refactoring. It moves helper functions that let Boost test macros print custom Bitcoin types (like transaction IDs and 256-bit numbers) into a shared test header, and replaces several specific helpers with one generic template. It does not change any production code, network behavior, or wallet logic, and it introduces no security fix or vulnerability.

AI review queuedtest: refactor, decouple HasReason from test framework machineryby furszy · d9c6769d · Feb 26, 2026 · 12 filesMessage 95 · StrongInformational 15Details
Commit message · furszy

test: refactor, decouple HasReason from test framework machinery

Avoid providing the entire unit test framework dependency to tests that only
require access to the HasReason utility class.

E.g. reverselock_tests.cpp, sync_tests.cpp, util_check_tests.cpp, util_string_tests.cpp,
and script_parse_tests.cpp only require access to HasReason and nothing else.

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
second-pass: broader security terminology
AI analysis · Informational 15/100

This is a harmless code cleanup in Bitcoin Core's test suite. It moves a small helper class called HasReason from a large test-framework header into a smaller, more focused header so that simple unit tests don't need to pull in the entire testing framework. There is no change to how the software behaves in production, no bug fix, and no security issue.

Security candidatetest: include response body in non-JSON HTTP error msgby Matthew Zipkin · 408d5b12 · Feb 26, 2026 · 1 fileMessage 87 · StrongInformational 15Details
Commit message · Matthew Zipkin

test: include response body in non-JSON HTTP error msg

Useful for debugging issues.

Co-authored-by: Matias Furszyfer <matiasfurszyfer@protonmail.com>

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
Why it was queued
authentication path
AI analysis · Informational 15/100

This is a tiny test-only change that adds the server's response text to an error message shown when a Bitcoin Core functional test receives an unexpected non-JSON HTTP response. It only affects the test framework's debugging output and does not change production Bitcoin Core code, network behavior, or security boundaries.

Lower-prioritytest: ensure Stop() thread helps drain the queueby seduless · 3b7cbcaf · Feb 26, 2026 · 1 fileMessage 90 · StrongInformational 12Details
Commit message · seduless

test: ensure Stop() thread helps drain the queue

Exercise the case where tasks remain pending and verify that the
thread calling Stop() participates in draining the queue

90/100 · StrongMessage clarity
✓ Descriptive subject✓ Names a concrete action or component✓ Uses a recognizable type or scope✓ Provides detailed explanatory context✓ Mentions testing or verification
AI analysis · Informational 12/100

This commit adds a new automated test for Bitcoin Core's internal thread pool. It checks that when the thread pool is stopped while tasks are still waiting, the thread that calls Stop() helps finish those remaining tasks. There is no change to production code and no security fix or vulnerability is described.

Lower-prioritytest: add threadpool Start-Stop race coverageby furszy · e88d2744 · Feb 26, 2026 · 1 fileMessage 82 · StrongInformational 12Details
Commit message · furszy

test: add threadpool Start-Stop race coverage

Co-authored-by: Hodlinator <172445034+hodlinator@users.noreply.github.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 12/100

This commit only adds a new automated test to Bitcoin Core. It does not change any production code. The test checks that the thread pool can safely handle a Start() call happening while Stop() is still running, without getting stuck in a deadlock. It is a defensive test, not a fix for a known live bug.

Lower-prioritytest: coverage for queued tasks completion after interruptby furszy · ca101a23 · Feb 26, 2026 · 1 fileMessage 72 · AdequateInformational 12Details
Commit message · furszy

test: coverage for queued tasks completion after interrupt

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

This commit only adds a new automated test to Bitcoin Core. It checks that a worker thread pool still finishes tasks that were already waiting in line after the pool is told to stop accepting new work (Interrupt). There is no change to production code and no security fix or vulnerability patch.

Lower-prioritythreadpool: active-wait during shutdownby furszy · bf2c607a · Feb 26, 2026 · 1 fileMessage 68 · AdequateInformational 18Details
Commit message · furszy

threadpool: active-wait during shutdown

Instead of waiting for the workers to finish processing tasks, help
them actively inside Stop().

This speeds up the JSON-RPC and REST server shutdown procedure,
and results in a faster node shutdown when many requests remain unhandled

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

This commit changes how Bitcoin Core's internal thread pool shuts down. Instead of the shutdown thread passively waiting for worker threads to finish leftover tasks, it now pitches in and processes tasks itself while workers finish up. The goal is a faster node shutdown when many RPC/REST requests are still queued. The change itself is a performance/cleanup improvement, not a security fix.

Lower-prioritytest: [doc] Remove outdated commentby MarcoFalke · fa0cc1c5 · Feb 26, 2026 · 1 fileMessage 90 · StrongInformational 15Details
Commit message · MarcoFalke

test: [doc] Remove outdated comment

The curl requirement has long been removed, when windows support was
added to the script. Also, the build support has long been dropped,
since the project switched from autotools to cmake.

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

This commit simply deletes an outdated explanatory comment from a test helper script. No code behavior changes, no security fix or vulnerability is introduced.

Lower-prioritykernel: Add recent assumeutxo snapshot infoby Ava Chow · 44538f8a · Feb 26, 2026 · 1 fileMessage 45 · ThinInformational 15Details
Commit message · Ava Chow

kernel: Add recent assumeutxo snapshot info

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

This commit simply adds new pre-calculated snapshot data for a Bitcoin Core feature called 'assumeutxo.' It does not change any security logic, fix a bug, or introduce a vulnerability. It is a routine data update.

AI review queuedkernel: Update headerssync paramsby Ava Chow · 58c2e23f · Feb 25, 2026 · 2 filesMessage 35 · OpaqueInformational 15Details
Commit message · Ava Chow

kernel: Update headerssync params

35/100 · OpaqueMessage clarity
✓ Descriptive subject! No meaningful explanatory body
Why it was queued
second-pass: opaque commit message
AI analysis · Informational 15/100

This commit updates the internal tuning numbers used by Bitcoin Core when a new node downloads block headers from the network. It pushes the target date forward by six months and refreshes the generated parameters for mainnet, testnet, testnet4, and signet. There is no bug fix, behavior change, or security patch visible in the diff—it is routine parameter maintenance.

AI review queuedkernel: update chainTxDataby Ava Chow · cf261b07 · Feb 25, 2026 · 1 fileMessage 35 · OpaqueInformational 15Details
Commit message · Ava Chow

kernel: update chainTxData

35/100 · OpaqueMessage clarity
✓ Descriptive subject! No meaningful explanatory body
Why it was queued
second-pass: opaque commit message
AI analysis · Informational 15/100

This commit updates routine network statistics in Bitcoin Core's chain parameters. It refreshes the recorded number of transactions, timestamps, and transaction rates for mainnet, testnet, signet, and regtest networks based on recent blockchain data. There is no security issue here—this is normal maintenance data.

Lower-prioritykernel: update defaultAssumeValid and minimumChainWorkby Ava Chow · 8eaf1d26 · Feb 25, 2026 · 1 fileMessage 50 · ThinInformational 15Details
Commit message · Ava Chow

kernel: update defaultAssumeValid and minimumChainWork

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

This commit updates two routine Bitcoin network parameters—minimumChainWork and defaultAssumeValid—to newer block heights for mainnet, testnet, signet, and regtest. These values are checkpoints that help nodes sync faster by skipping validation of very old blocks. The change is a standard, scheduled maintenance update with no security vulnerability.

Lower-prioritykernel: update assumed blockchain and chainstate sizesby Ava Chow · 5ca0c555 · Feb 25, 2026 · 1 fileMessage 50 · ThinInformational 15Details
Commit message · Ava Chow

kernel: update assumed blockchain and chainstate sizes

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

This commit simply updates Bitcoin Core's built-in estimates of how large the blockchain and chainstate data are on disk. These numbers are used to warn users about required disk space before downloading the chain. The values are being increased to reflect real-world blockchain growth. There is no security bug or vulnerability here.

Security candidatecontrib: Update fixed feedsby Ava Chow · fec58229 · Feb 25, 2026 · 5 filesMessage 35 · OpaqueInformational 21Details
Commit message · Ava Chow

contrib: Update fixed feeds

35/100 · OpaqueMessage clarity
✓ Descriptive subject! No meaningful explanatory body! Opaque security-relevant change
Why it was queued
seed or entropy pathsigning or wallet path
AI analysis · Informational 21/100

This commit updates Bitcoin Core's built-in list of network seed nodes—the addresses new wallets use to find peers for the first time. It replaces old, stale addresses with a fresh set of IPv4, IPv6, I2P, and Tor onion-service entries. There is no code change and no indication of a security vulnerability; it is routine network-maintenance data.

Security candidatemakeseeds: Choose node info with most recent success when deduplicatingby Ava Chow · 27fbdb00 · Feb 25, 2026 · 1 fileMessage 50 · ThinInformational 18Details
Commit message · Ava Chow

makeseeds: Choose node info with most recent success when deduplicating

50/100 · ThinMessage clarity
✓ Specific, descriptive subject✓ Names a concrete action or component! No meaningful explanatory body
Why it was queued
seed or entropy path
AI analysis · Informational 18/100

This commit fixes a small bug in an internal Bitcoin Core seed-list generator script. When the script saw the same IP address and port more than once, it used to keep whichever entry it encountered last. Now it keeps the one with the most recent successful contact. This makes the generated list of network peers slightly more accurate and reliable, but it is not a security fix for the Bitcoin software itself.

Security candidatemakeseeds: Update known user agentsby Ava Chow · 982883a1 · Feb 25, 2026 · 1 fileMessage 45 · ThinInformational 16Details
Commit message · Ava Chow

makeseeds: Update known user agents

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

This commit simply updates the list of recognized Bitcoin Core version numbers in a helper script used to generate the network seed list. It is a routine maintenance change with no security relevance.

Lower-prioritydoc: Update Guix install for Debian/Ubuntuby MarcoFalke · faa70ca7 · Feb 25, 2026 · 1 fileMessage 76 · AdequateInformational 16Details
Commit message · MarcoFalke

doc: Update Guix install for Debian/Ubuntu

Fixes https://github.com/bitcoin/bitcoin/issues/33982

Co-authored-by: Purple Ninja <129023353+ToRyVand@users.noreply.github.com>

76/100 · AdequateMessage clarity
✓ 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 16/100

This is a documentation-only update. It changes the Guix installation instructions for Debian and Ubuntu users because the `guix` package is no longer available in recent distribution repositories. There is no code change and no security issue.

Lower-prioritytest: Updates needed after bitcoin-core/libmultiprocess#240by Ryan Ofsky · 8fe91f37 · Feb 25, 2026 · 2 filesMessage 100 · StrongLow 26Details
Commit message · Ryan Ofsky

test: Updates needed after bitcoin-core/libmultiprocess#240

Upstream PR bitcoin-core/libmultiprocess#240 fixed various issues which require
updates to python IPC tests. Those changes are made in this commit.

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 · Low 26/100

This commit updates Bitcoin Core's automated multiprocess (IPC) tests to match fixes made in an upstream library. The test changes describe that two previously crash-causing IPC scenarios—disconnecting during a call and overloading a server thread—now behave gracefully. A third change documents a macOS-specific exception-handling quirk. The commit itself only changes test code, not the production Bitcoin Core code that handles IPC, so it does not introduce or fix a direct vulnerability in the shipped software. It is evidence that related crash bugs were fixed elsewhere.

AI review queuedSquashed 'src/ipc/libmultiprocess/' changes from 1fc65008f7d..1868a84451fby Ryan Ofsky · b7ca3bf0 · Feb 25, 2026 · 12 filesMessage 100 · StrongModerate 57Details
Commit message · Ryan Ofsky

Squashed 'src/ipc/libmultiprocess/' changes from 1fc65008f7d..1868a84451f

1868a84451f Merge bitcoin-core/libmultiprocess#245: type-context.h: Extent cancel_mutex lock to prevent theoretical race
fd4a90d3103 Merge bitcoin-core/libmultiprocess#244: ci: suppress two tidy lint issues
16dfc368640 ci: avoid bugprone-unused-return-value lint in test
dacd5eda464 ci: suppress nontrivial-threadlocal lint in proxy.cpp
ef96a5b2be2 doc: Comment cleanups after #240
e0f1cd76219 type-context.h: Extent cancel_mutex lock to prevent theoretical race
290702c74ce Merge bitcoin-core/libmultiprocess#240: Avoid errors from asynchronous (non-c++) clients
3a69d4755af Merge bitcoin-core/libmultiprocess#241: doc: Bump version number v7 -> v8
0174450ca2e Prevent crash on unclean disconnect if abandoned IPC call returns interface pointer
ddb5f74196f Allow simultaneous calls on same Context.thread
c4762c7b513 refactor: Add ProxyServer<Thread>::post() method
0ade1b40ac5 doc: Bump version number

git-subtree-dir: src/ipc/libmultiprocess
git-subtree-split: 1868a84451fe1b6a00116375a5f717230bb2533e

100/100 · StrongMessage clarity
✓ Specific, descriptive subject✓ Names a concrete action or component✓ Provides detailed explanatory context✓ Explains rationale or failure mode✓ Mentions testing or verification✓ Links an issue, advisory, or supporting reference
Why it was queued
second-pass: broader security terminology
AI analysis · Moderate 57/100

This commit updates Bitcoin Core's internal IPC helper library (libmultiprocess) to fix crash and race-condition bugs that can happen when an IPC client disconnects while a server call is still running. It also removes an earlier 'thread busy' limitation so multiple calls can now be queued on the same worker thread. The changes are defensive hardening of inter-process communication, not a new user-facing feature.

Lower-prioritypolicy: don't CheckEphemeralSpends on reorgby Greg Sanders · 33fbaed3 · Feb 25, 2026 · 3 filesMessage 45 · ThinLow 37Details
Commit message · Greg Sanders

policy: don't CheckEphemeralSpends on reorg

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

This Bitcoin Core change adjusts how the network's memory pool (mempool) handles tiny-value 'dust' transactions when a blockchain reorganization occurs. Previously, during a reorg, transactions that had been mined in a block were re-checked under normal mempool rules, which could wrongly reject related transactions that spend dust outputs. The fix skips that specific dust-spending check during reorgs, allowing legitimate reorged transactions to re-enter the mempool. It is a policy/standardness fix, not a consensus bug, so it cannot change which blocks are valid or steal funds.

Lower-prioritynet: Don't log own ips during discoverby sedited · a49f97ff · Feb 25, 2026 · 1 fileMessage 68 · AdequateLow 29Details
Commit message · sedited

net: Don't log own ips during discover

The -logips option seems to imply that ip addresses are only logged when
it is set. This seems like an obvious case for not logging these by
default.

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

This change stops Bitcoin Core from writing the computer's own internet addresses to log files unless the user has turned on the -logips option. Previously, the software logged these addresses even when -logips was off, which could leak private network information in shared logs or backups. The fix is a straightforward privacy improvement, not a fix for an active attack.

Lower-prioritytest: cleanup, block threads via semaphore instead of shared_futureby l0rinc · 9ff1e82e · Feb 24, 2026 · 1 fileMessage 72 · AdequateInformational 15Details
Commit message · l0rinc

test: cleanup, block threads via semaphore instead of shared_future

No-behavior change.

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 is a test-only code cleanup. It swaps one internal synchronization mechanism for another inside Bitcoin Core's thread pool unit tests. There is no change to the actual Bitcoin node software that users run, and the commit message explicitly says 'No-behavior change.' It cannot affect live funds, network consensus, or security.

AI review queuedthreadpool: guard against Start-Stop raceby furszy · 8cd4a436 · Feb 24, 2026 · 1 fileMessage 68 · AdequateLow 42Details
Commit message · furszy

threadpool: guard against Start-Stop race

Stop() has two windows where Start() could cause troubles:

1) m_workers is temporarily empty while workers are being joined,
this creates a window where Start() could slip through and reset
m_interrupt to false, preventing the old workers from exiting and
causing a deadlock.

2) Start() could be called after workers are joined but before the
empty() sanity check on m_work_queue, causing a crash.

Fix both races by keeping m_interrupt set for the entire duration
of Stop(), so any concurrent Start() call is rejected until all
workers have exited.

Co-authored-by: Hodlinator <172445034+hodlinator@users.noreply.github.com>

68/100 · AdequateMessage clarity
✓ Descriptive subject✓ Names a concrete action or component✓ Provides detailed explanatory context
Why it was queued
second-pass: broader security terminology
AI analysis · Low 42/100

This patch fixes a timing bug in Bitcoin Core's internal worker-thread pool. If someone started the thread pool while it was still stopping, the program could freeze (deadlock) or crash. The fix keeps the pool marked as 'stopping' until every worker thread has fully exited, so a new start request is rejected during that window.

Lower-priorityclusterlin: adopt trained cost model (feature)by Pieter Wuille · 744d47fc · Feb 24, 2026 · 3 filesMessage 60 · AdequateInformational 15Details
Commit message · Pieter Wuille

clusterlin: adopt trained cost model (feature)

See the comments for the SFLDefaultCostModel class for details on how
the numbers were obtained.

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

This commit updates Bitcoin Core's internal transaction-cluster linearization code with a new set of performance-cost estimates derived from benchmark data. It also tweaks a fuzz test to skip single-transaction cases. There is no change to network protocol, consensus rules, wallet behavior, or any externally observable security property. It is a routine algorithm-tuning change.