BC
← All projectsBitcoin Core

Bitcoin Core

The Bitcoin network's reference node and wallet implementation.

BitcoinSupply chainNormal
Repository coverage

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

258security candidates613second-pass queue2891AI analyses
195commits · 30 days
469commits · 60 days
1488commits · 180 days
2864commits · 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
959Strong · 80–100
1188Adequate · 60–79
688Thin · 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 Chow16351161065
MarcoFalke41021406074
Lőrinc17721177081
fanquake22819226057
Hennadii Stepanov21214208063
rkrux57957074
Sjors Provoost89889074
merge-script36718088
Sebastian Falbesoner33733073
David Gumberg55655072
Pieter Wuille95595066
Analysis record

Published AI watches

Last scanned 36 minutes ago

Low 28 AI analysisMessage 81 · Strong
BC Bitcoin CoreBitcoin Core BitcoinSupply chain

Merge bitcoin/bitcoin#35959: Update secp256k1 subtree to latest master

This commit updates Bitcoin Core's embedded copy of the secp256k1 cryptographic library to a newer version. The update adds a new Silent Payments module, lets advanced users swap in a custom SHA256 compression function, removes some old de…

Dependency update of a core cryptographic library (libsecp256k1)New runtime SHA256 compression callback with self-test/smoke test to catch mis-implementations earlyBehavior change in ellswift_xdh to reject secret keys >= curve order (vendor states not a security issue)
625f951bby Ava Chow+297−11626 files
No security note in commit
Informational 23 AI analysisMessage 91 · Strong
BC Bitcoin CoreBitcoin Core BitcoinSupply chain

Merge bitcoin/bitcoin#35605: wallet: rpc: Deprecate `removeprunedfunds` RPC

This commit deprecates a Bitcoin Core wallet RPC command called removeprunedfunds. The command lets users delete transactions from their own wallet, which can alter displayed balances. The change does not fix a software bug; it is a cleanu…

RPC allows deletion of arbitrary wallet transactions, affecting balancesDeprecation framed by authors as removing a dangerous and maintenance-burden featureNo authentication bypass, memory corruption, or consensus change present in diff
e9ed5e83by Ava Chow+64−695 files
No security note in commit
Informational 18 AI analysisMessage 91 · Strong
BC Bitcoin CoreBitcoin Core BitcoinSupply chain

Merge bitcoin/bitcoin#35930: wallet: post-#35501 cleanups in CWalletTx

This is a follow-up cleanup and hardening patch for the Bitcoin Core wallet's handling of transactions that have multiple possible witness versions (same transaction ID but different witness data). It renames a variable, simplifies a helpe…

Added input-validation during wallet transaction deserializationNew unit test specifically exercises rejection of mismatched variant txidFollow-up to PR #35501 which introduced witness-variant tracking in the wallet
512dc9afby Ava Chow+68−315 files
No security note in commit
Informational 15 AI analysisMessage 91 · Strong
BC Bitcoin CoreBitcoin Core BitcoinSupply chain

Merge bitcoin/bitcoin#35729: refactor: test: Unroll `&&` conditions in macros

This commit only changes Bitcoin Core's internal test code. It splits combined conditions inside test-check macros (like BOOST_CHECK(a && b)) into separate checks so that when a test fails, the test output points to the exact failing condi…

aa0e0f79by merge-script+196−9519 files
No security note in commit
Low 26 AI analysisMessage 100 · Strong
BC Bitcoin CoreBitcoin Core BitcoinSupply chain

Merge bitcoin/bitcoin#35493: wallet, descriptor: Fix MuSig private key completeness checks on `importdescriptors`

This commit fixes a bug in Bitcoin Core's wallet import logic for a new type of multi-signature setup called MuSig. Previously, when a user imported a MuSig descriptor that already contained all needed private keys, the wallet incorrectly …

False-positive warning in wallet import for fully-private MuSig descriptorsIncorrect private-key completeness check on synthetic aggregate public keyDescriptor logic now delegates completeness to `Descriptor::HavePrivateKeys()`
2c01832fby merge-script+76−374 files
No security note in commit
Informational 15 AI analysisMessage 81 · Strong
BC Bitcoin CoreBitcoin Core BitcoinSupply chain

Merge bitcoin/bitcoin#35943: doc: fix dead link in txrequest.h

This commit only fixes a broken web link in a code comment. It replaces an outdated URL to a research paper with a working URL to the same paper. There is no change to program logic, no security fix, and no vulnerability.

5d051c05by 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#33186: wallet, test: Ancient Wallet Migration from v0.14.3 (no-HD and Single Chain)

This commit only adds new automated tests for migrating very old Bitcoin Core wallets (version 0.14.3 from 2017) to the modern descriptor wallet format. It does not change any wallet production code, consensus rules, or network behavior. T…

757aa573by merge-script+246−124 files
No security note in commit
Low 28 AI analysisMessage 91 · Strong
BC Bitcoin CoreBitcoin Core BitcoinSupply chain

Merge bitcoin/bitcoin#35925: wallet, rpc: Exclude non-owned addresses from listreceivedby*

This update fixes a wallet reporting bug. When a user asked their Bitcoin wallet to list every address that had received money, including empty ones, the result incorrectly included foreign addresses that the wallet merely knew about (for …

Information disclosure: wallet RPCs leaked existence/labels of foreign addressesIncorrect access-control boundary: non-owned addresses exposed in 'received' reportFix uses IsMine() rather than address purpose metadata, avoiding inconsistent purpose handling
e8cc21c5by Ava Chow+19−32 files
No security note in commit
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
Repository ledger

Explore captured commits

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

Lower-priorityci: Require rsync to passby MarcoFalke · fa83555d · Nov 25, 2025 · 1 fileMessage 80 · StrongInformational 21Details
Commit message · MarcoFalke

ci: Require rsync to pass

In theory one could run the CI without the rsync package installed, and
with DANGER_RUN_CI_ON_HOST=1. However, this seems to be an edge case.
Simply requiring rsync to be installed is less code and avoids brittle
edge cases around rsync failures.

80/100 · StrongMessage clarity
✓ Descriptive subject✓ Names a concrete action or component✓ Uses a recognizable type or scope✓ Provides detailed explanatory context
AI analysis · Informational 21/100

This is a small change to Bitcoin Core's internal continuous integration (CI) shell script. It removes a fallback message that previously printed if the rsync command failed, so rsync is now treated as a hard requirement. The change does not affect the Bitcoin network, wallets, consensus rules, or production nodes. It only matters if someone runs the CI system directly on their host machine without rsync installed, which the commit message itself calls an edge case.

Lower-priorityci: Untangle CI_EXEC bash functionby MarcoFalke · eeee02ea · Nov 25, 2025 · 2 filesMessage 90 · StrongInformational 15Details
Commit message · MarcoFalke

ci: Untangle CI_EXEC bash function

It contains a large `bash -c` string, which is hard to parse. So pull
out components:

* CI_EXEC is only called with absolute folders as args, so the `cd` is
not needed in CI_EXEC. It is only needed to specify the working dir of
running the tests in 03_test_script.sh, so move it there.

* The PATH modification is only needed after commit
4756114e505cff8848fb6344ef9a48d8822066c1 to check that depends does
work properly, even when the PATH contains a space.

* This allows to also drop the `bash -c` and use the proper and safer
"$@" to forward args without the risk of word splitting.

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 is a routine cleanup of Bitcoin Core's internal continuous integration (CI) shell scripts. It rewrites a helper function so arguments are passed more safely and moves a directory change and a test-only PATH tweak into the script that actually runs tests. There is no change to the Bitcoin node software, wallet handling, network protocol, or any user-facing behavior.

Lower-priorityci: Move macos snippet under DANGER_RUN_CI_ON_HOSTby MarcoFalke · fa21fd1d · Nov 25, 2025 · 1 fileMessage 85 · StrongInformational 15Details
Commit message · MarcoFalke

ci: Move macos snippet under DANGER_RUN_CI_ON_HOST

This move-only refactor clarifies that macos assumes and requires
DANGER_RUN_CI_ON_HOST.

So move the snippet under the condition for self-documenting code.

Can be reviewed with the git options:
--color-moved=dimmed-zebra --color-moved-ws=ignore-all-space

85/100 · StrongMessage clarity
✓ Specific, descriptive subject✓ Names a concrete action or component✓ Uses a recognizable type or scope✓ Provides detailed explanatory context
AI analysis · Informational 15/100

This is a code cleanup change in Bitcoin Core's internal CI (continuous integration) tooling. It moves a macOS-specific setup step so it sits inside the branch that already handles running tests directly on the host machine. There is no change to Bitcoin's network code, wallet, consensus rules, or anything users interact with. It only affects how the project's own automated tests are organized.

Lower-priorityci: Document the retry script in PATHby MarcoFalke · fa37559a · Nov 25, 2025 · 3 filesMessage 80 · StrongInformational 15Details
Commit message · MarcoFalke

ci: Document the retry script in PATH

The `retry` script is required for CI_RETRY_EXE and there are two ways
to put it into PATH:

* When running in a container engine, by copying it into /usr/bin
* When running without a container engine, by prepending its location to PATH

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

This commit is a documentation and code cleanup change for Bitcoin Core's continuous integration (CI) system. It makes sure the 'retry' helper script is available in the system PATH both when running tests inside a container and when running directly on the host. There is no security vulnerability here.

Lower-priorityci: Move folder creation and docker kill to Python scriptby MarcoFalke · 666675e9 · Nov 25, 2025 · 2 filesMessage 77 · AdequateInformational 15Details
Commit message · MarcoFalke

ci: Move folder creation and docker kill to Python script

The container_id is already known in the Python script, as well as the
folders to create, so just do it there.

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 routine cleanup of Bitcoin Core's continuous integration (CI) scripts. It moves some folder-creation and Docker cleanup logic from a shell script into an equivalent Python script. There is no user-facing change, no change to Bitcoin's consensus or networking code, and no security relevance.

AI review queueddepends: latest config.guessby fanquake · 04eb84fe · Nov 25, 2025 · 1 fileMessage 35 · OpaqueInformational 17Details
Commit message · fanquake

depends: latest config.guess

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

This commit updates a single helper script used during Bitcoin Core's build process to the latest upstream version from the GNU project. The changes are routine maintenance: a copyright year bump, a timestamp update, and minor adjustments to how the script identifies one obscure operating system (Ironclad). There is no indication of a security fix, vulnerability, or malicious change.

AI review queueddepends: latest config.subby fanquake · 3e435531 · Nov 25, 2025 · 1 fileMessage 35 · OpaqueInformational 16Details
Commit message · fanquake

depends: latest config.sub

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

This commit updates a single helper script used during Bitcoin Core's build process. The script, called config.sub, comes from the GNU project and is responsible for recognizing different operating systems and CPU types when compiling software. The update adds support for newer or less common platforms (for example, Ironclad, Tock, Banan OS, Apple simulator targets, and the arm64_32 CPU) and fixes a duplicate entry. There is no indication this change fixes a security vulnerability or introduces malicious behavior; it is a routine dependency refresh.

Lower-priorityRemove unused variable (cacheMap) in mempoolby Suhas Daftuar · bc64013e · Nov 25, 2025 · 1 fileMessage 45 · ThinInformational 15Details
Commit message · Suhas Daftuar

Remove unused variable (cacheMap) in mempool

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

This commit simply removes an unused type alias named cacheMap from the transaction mempool header file. It is a routine code cleanup with no functional change and no security relevance.

Lower-prioritytxgraph: drop move assignment operatorby Anthony Towns · ade0397f · Nov 25, 2025 · 3 filesMessage 45 · ThinInformational 24Details
Commit message · Anthony Towns

txgraph: drop move assignment operator

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

This commit removes the ability to reassign a TxGraph::Ref after it is created (move assignment), while keeping the ability to construct a new Ref by moving an existing one (move construction). The change is framed as a cleanup to prevent misuse of a reference-counting-like handle in Bitcoin Core's transaction graph code. There is no direct evidence in the commit that this fixes an active security bug, but removing a complex operator can reduce the risk of lifetime or double-management bugs.

Lower-prioritymusig: Move MUSIG_CHAINCODE to musig.cppby Fabian Jahr · 0f7f0692 · Nov 24, 2025 · 2 filesMessage 60 · AdequateInformational 15Details
Commit message · Fabian Jahr

musig: Move MUSIG_CHAINCODE to musig.cpp

This is the only place where it is used.

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

This commit simply moves a constant value (MUSIG_CHAINCODE) from a header file to the source file where it is actually used. It is a routine code cleanup with no functional change and no security relevance.

AI review queuedsign: Remove duplicate sigversion checkby Fabian Jahr · e755614b · Nov 24, 2025 · 1 fileMessage 60 · AdequateInformational 18Details
Commit message · Fabian Jahr

sign: Remove duplicate sigversion check

Also improves documentation in the SignMuSig2 function.

60/100 · AdequateMessage clarity
✓ Descriptive subject✓ Names a concrete action or component✓ Provides an explanatory body
Why it was queued
signing or wallet pathsecond-pass: security-sensitive path
AI analysis · Informational 18/100

This commit removes an internal safety assertion in Bitcoin Core's transaction signing code and tweaks a comment. The removed assertion checked that Schnorr signatures were only created for the intended Taproot/Tapscript contexts. The change appears to be a minor cleanup because the same check is performed elsewhere, but removing a defensive assertion slightly reduces code safety margin. There is no direct evidence this introduces a real vulnerability.

Security candidatemusig: Check session id reuseby Fabian Jahr · c9519c26 · Nov 24, 2025 · 1 fileMessage 60 · AdequateModerate 60Details
Commit message · Fabian Jahr

musig: Check session id reuse

Prevent saving another secnonce to the same session id since this might make nonce reuse possible.

60/100 · AdequateMessage clarity
✓ Descriptive subject✓ Names a concrete action or component✓ Provides an explanatory body
Why it was queued
nonce handlingsigning or wallet path
AI analysis · Moderate 60/100

This commit hardens Bitcoin Core's MuSig2 multi-signature code by refusing to save a second secret nonce under the same session ID. Before the change, an attacker or buggy caller could potentially overwrite a nonce, which in multi-signature schemes can lead to nonce reuse and theft of funds. The fix uses try_emplace plus an assertion so duplicate session IDs are caught instead of silently replacing the existing nonce.

Lower-priorityci: Add Windows + UCRT jobs for cross-compiling and native testingby Hennadii Stepanov · 2e27bd9c · Nov 24, 2025 · 2 filesMessage 72 · AdequateInformational 15Details
Commit message · Hennadii Stepanov

ci: Add Windows + UCRT jobs for cross-compiling and native testing

Co-authored-by: will <will@256k1.dev>

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 only adds new automated testing jobs for compiling Bitcoin Core for Windows using a different C runtime library (UCRT). It does not change any Bitcoin Core source code that users run, so it has no direct security impact on the software itself.

Lower-prioritytest: add `-alertnotify` test for large work invalid chain warningby Sebastian Falbesoner · 8343a9ff · Nov 24, 2025 · 1 fileMessage 72 · AdequateInformational 15Details
Commit message · Sebastian Falbesoner

test: add `-alertnotify` test for large work invalid chain warning

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 only adds a new automated test to Bitcoin Core. It checks that the -alertnotify feature correctly warns users when the node sees a competing chain with more total work that it considers invalid. There is no change to production code, no bug fix, and no security vulnerability introduced or patched.

Lower-prioritydoc: clarify and cleanup macOS fuzzing notesby dergoegge · c34bc01b · Nov 24, 2025 · 1 fileMessage 45 · ThinInformational 15Details
Commit message · dergoegge

doc: clarify and cleanup macOS fuzzing notes

45/100 · ThinMessage clarity
✓ Descriptive subject✓ Names a concrete action or component! No meaningful explanatory body
Why it was queued
fuzzing or regression evidencedocumentation-only discount
AI analysis · Informational 15/100

This commit only edits documentation. It removes detailed macOS fuzzing setup instructions and replaces them with a note that macOS fuzzing is not officially supported, recommending Linux instead. No code, build scripts, or security behavior changed.

Security candidatecli: modify -addrinfo to use getaddrmaninfo RPC endpointby stratospher · 675be930 · Nov 24, 2025 · 2835 filesMessage 73 · AdequateInformational 15Details
Commit message · stratospher

cli: modify -addrinfo to use getaddrmaninfo RPC endpoint

currently -addrinfo returns addresses known to the node after
filtering for quality and recency. However, the node considers
all known addresses (even the filtered out addresses) when
selecting peers to connect to.

So update -addrinfo to also display the full set of known
addresses for more useful node information.

73/100 · AdequateMessage clarity
✓ Specific, descriptive subject✓ Names a concrete action or component✓ Provides detailed explanatory context
Why it was queued
cryptography-sensitive pathseed or entropy pathsigning or wallet pathboot or update pathauthentication pathparser or protocol path
AI analysis · Informational 15/100

This commit changes the bitcoin-cli -addrinfo command so it reports the full set of addresses known to the node, not just the subset previously filtered for quality and recency. The change is purely informational: it makes the displayed statistics more accurate and useful, but does not alter peer selection, network behavior, or any security-sensitive logic.

Lower-priorityci: Use latest Xcode that the minimum macOS version allowsby MarcoFalke · fa9537cd · Nov 24, 2025 · 1 fileMessage 62 · AdequateInformational 15Details
Commit message · MarcoFalke

ci: Use latest Xcode that the minimum macOS version allows

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

This commit updates the Bitcoin Core continuous integration (CI) configuration to use a newer version of Apple's Xcode development tools (16.2 instead of 16.0) when building and testing on macOS. It is a routine infrastructure/maintenance change with no apparent security relevance.

Lower-priorityAdd check that GetSortedScoreWithTopology() agrees with CompareMiningScoreWithTopology()by Suhas Daftuar · 79f73ad7 · Nov 22, 2025 · 1 fileMessage 73 · AdequateInformational 16Details
Commit message · Suhas Daftuar

Add check that GetSortedScoreWithTopology() agrees with CompareMiningScoreWithTopology()

We use CompareMiningScoreWithTopology() for sorting transaction announcements
during tx relay, and we use GetSortedScoreWithTopology() in
CTxMemPool::check().

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

This commit adds an internal consistency check inside Bitcoin Core's memory pool validation routine. It verifies that two different ways of ranking transactions by mining priority produce the same order. It is a defensive assertion, not a fix for a known bug or vulnerability, and it does not change network behavior.

Lower-priorityUse cluster size limit for -maxmempool bound, and allow -maxmempool=0 in generalby Suhas Daftuar · 17cf9ff7 · Nov 22, 2025 · 2 filesMessage 73 · AdequateInformational 18Details
Commit message · Suhas Daftuar

Use cluster size limit for -maxmempool bound, and allow -maxmempool=0 in general

Previously we would sanity check the -maxmempool configuration based on a
multiple of the descendant size limit, but with cluster mempool the maximum
evicted size is now the cluster size limit, so use that instead.

Also allow -maxmempool=0 in general (and not just if
-limitdescendantsize/-limitclustersize is set to 0).

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

This commit adjusts a startup configuration check for Bitcoin Core's memory pool (mempool) size. It changes the internal sanity check so that the minimum allowed -maxmempool value is based on the newer 'cluster size limit' rather than the older 'descendant size limit', and it explicitly allows users to set -maxmempool=0 to disable the mempool. This is a routine consistency fix for configuration validation logic, not a security patch for an exploitable vulnerability.

Lower-prioritydoc: update policy/packages.md for new package acceptance logicby Suhas Daftuar · 4ef4ddb5 · Nov 22, 2025 · 1 fileMessage 50 · ThinInformational 15Details
Commit message · Suhas Daftuar

doc: update policy/packages.md for new package acceptance logic

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 only updates documentation in a Markdown file describing how Bitcoin Core accepts groups (packages) of transactions. It removes outdated descriptions of ancestor/descendant limit checks and CPFP Carve Out behavior, and updates the package replacement rule wording. No code, logic, or behavior changes are present in the diff.

Lower-prioritytest: extend package rbf functional test to larger clustersby Suhas Daftuar · de2e9a24 · Nov 22, 2025 · 1 fileMessage 87 · StrongInformational 15Details
Commit message · Suhas Daftuar

test: extend package rbf functional test to larger clusters

Co-Authored-By: Gregory Sanders <gsanders87@gmail.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
AI analysis · Informational 15/100

This commit only changes a test file. It makes an existing functional test for package Replace-By-Fee (RBF) use slightly larger transaction clusters (3 transactions per cluster instead of 2). There is no change to production code, so it cannot directly affect live Bitcoin nodes or introduce a security vulnerability.

Lower-prioritySanity check `GetFeerateDiagram()` in CTxMemPool::check()by Suhas Daftuar · 315e43e5 · Nov 22, 2025 · 1 fileMessage 50 · ThinInformational 24Details
Commit message · Suhas Daftuar

Sanity check `GetFeerateDiagram()` in CTxMemPool::check()

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

This commit adds an internal sanity check inside Bitcoin Core's transaction memory pool (mempool) self-check routine. It verifies that a newly introduced feerate diagram data structure stays within expected size bounds. The change is defensive and only affects debug/self-check code, not normal network operation. There is no indication it fixes an active security vulnerability or that it is exploitable by an attacker.

Lower-priorityUpdate comments for CTxMemPool classby Suhas Daftuar · a86ac117 · Nov 22, 2025 · 1 fileMessage 45 · ThinInformational 15Details
Commit message · Suhas Daftuar

Update comments for CTxMemPool class

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

This commit only updates the explanatory comments at the top of the mempool header file. No code, logic, or data structures were changed. It is a documentation-only edit and has no security relevance.

Lower-priorityInvoke TxGraph::DoWork() at appropriate timesby Suhas Daftuar · 9567eaa6 · Nov 22, 2025 · 2 filesMessage 45 · ThinLow 25Details
Commit message · Suhas Daftuar

Invoke TxGraph::DoWork() at appropriate times

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

This commit adds calls to a background graph-maintenance routine (TxGraph::DoWork) after three kinds of mempool changes: applying a batch of new transactions, handling a blockchain reorganization, and processing a newly found block. It also defines a constant telling the graph how much cleanup work to do each time. The change looks like a performance or consistency fix: without these calls, the in-memory transaction graph might not be updated promptly, possibly leading to stale data, incorrect fee estimates, or degraded mempool behavior. There is no direct evidence in the commit that this fixes an exploitable security vulnerability.

Lower-priorityci: Rename items specific to Windows + MSVCRTby Hennadii Stepanov · bd130db9 · Nov 21, 2025 · 2 filesMessage 72 · AdequateInformational 15Details
Commit message · Hennadii Stepanov

ci: Rename items specific to Windows + MSVCRT

This is necessary to prepare for introducing the new Windows + UCRT
script and jobs.

72/100 · AdequateMessage clarity
✓ 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 only renames CI (Continuous Integration) job names and a configuration script filename to clarify that they are for Windows builds using the older MSVCRT runtime. It does not change any actual build commands, compiler flags, source code, or runtime behavior. There is no security issue here.