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.

AI review queuedcmake: Drop dependency on sed for translate targetby Daniel Pfeifer · 05255d5d · Aug 18, 2025 · 2 filesMessage 50 · ThinInformational 15Details
Commit message · Daniel Pfeifer

cmake: Drop dependency on sed for translate target

50/100 · ThinMessage clarity
✓ Specific, descriptive subject✓ Names a concrete action or component! No meaningful explanatory body
Why it was queued
second-pass: broader security terminology
AI analysis · Informational 15/100

This commit is a build-system cleanup. It replaces the use of the external 'sed' tool with built-in CMake commands when processing a translation file. There is no security-relevant change to Bitcoin's runtime behavior, networking, wallet handling, or consensus logic.

AI review queuedcmake: Introduce translate.cmake script for translate targetby Daniel Pfeifer · d5054bec · Aug 18, 2025 · 2 filesMessage 85 · StrongInformational 14Details
Commit message · Daniel Pfeifer

cmake: Introduce translate.cmake script for translate target

Using `file(GLOB)` in the generates step is discouraged because the
globbing result may be out of date when the target is built.
Performing the globbing in a script that is executed as the build
target means the result is always reproducable and the overhead
of globbing is only paid when used.

As a follow up, the dependency on `sed` may be removed by performing
the replacement with cmake. Also, the logic from extract_strings_qt.py
can be migrated to cmake.

85/100 · StrongMessage clarity
✓ Specific, descriptive subject✓ Names a concrete action or component✓ Provides detailed explanatory context✓ Explains rationale or failure mode
Why it was queued
second-pass: broader security terminology
AI analysis · Informational 14/100

This commit is a routine build-system cleanup for Bitcoin Core's Qt GUI translation tooling. It moves the logic for finding translatable source files out of the CMake configuration step and into a separate script that runs only when developers explicitly build the 'translate' target. There is no change to how Bitcoin handles money, network messages, wallets, or private keys, and no security issue is evident.

Lower-priority[rpc] expose blockmintxfee via getmininginfoby glozow · 9169a50d · Aug 15, 2025 · 2 filesMessage 45 · ThinInformational 15Details
Commit message · glozow

[rpc] expose blockmintxfee via getmininginfo

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 a new read-only field called 'blockmintxfee' to the output of the getmininginfo RPC command. It exposes an existing configuration setting through the API so users can query it remotely. There is no security issue here.

AI review queueddoc fixups for 33106by glozow · daa40a3f · Aug 15, 2025 · 3 filesMessage 28 · OpaqueInformational 15Details
Commit message · glozow

doc fixups for 33106

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

This commit only updates documentation and code comments to match a previously merged change (PR 33106). It does not modify any executable network, consensus, wallet, or mempool code, so it has no security impact on its own.

Lower-prioritytest fixup for incremental feerateby glozow · c568511e · Aug 15, 2025 · 1 fileMessage 90 · StrongInformational 14Details
Commit message · glozow

test fixup for incremental feerate

Clarify that the purpose of some parameters are to ensure identical
transactions are not created. Also, strengthen the test to catch these cases.

90/100 · StrongMessage clarity
✓ Descriptive subject✓ Names a concrete action or component✓ Provides detailed explanatory context✓ Explains rationale or failure mode✓ Mentions testing or verification
AI analysis · Informational 14/100

This is a test-only change in Bitcoin Core. It clarifies comments and strengthens a functional test for Replace-By-Fee (RBF) behavior when the incremental relay feerate is set to zero. No production code, consensus rules, or network behavior were modified.

AI review queuedtest fixupsby glozow · 636fa219 · Aug 15, 2025 · 5 filesMessage 0 · OpaqueInformational 15Details
Commit message · glozow

test fixups

0/100 · OpaqueMessage clarity
✓ Mentions testing or verification! Very short subject! Too few words to establish purpose! No meaningful explanatory body
Why it was queued
signing or wallet pathsecond-pass: opaque commit messagesecond-pass: security-sensitive path
AI analysis · Informational 15/100

This commit only changes Bitcoin Core's internal functional test scripts. It fixes log-message formatting, adjusts test thresholds and comments to match current fee-relay behavior, and adds one extra test case for a v3 transaction package. None of these changes affect the live Bitcoin node software, network protocol, consensus rules, or wallet code that users run.

AI review queuedtest: extract `bulk_vout` from `bulk_tx` so it can be used by wallet testsby ishaanam · 5d932e14 · Aug 15, 2025 · 2 filesMessage 72 · AdequateInformational 15Details
Commit message · ishaanam

test: extract `bulk_vout` from `bulk_tx` so it can be used by wallet tests

72/100 · AdequateMessage clarity
✓ Specific, descriptive subject✓ Names a concrete action or component✓ Uses a recognizable type or scope✓ Mentions testing or verification! No meaningful explanatory body
Why it was queued
signing or wallet pathsecond-pass: security-sensitive path
AI analysis · Informational 15/100

This commit is a simple code cleanup in Bitcoin Core's test framework. It moves a helper function called bulk_vout from one test-only file to another so it can be reused by wallet tests. There is no change to the actual Bitcoin network code, consensus rules, or wallet logic that real users run.

AI review queuedtest: add truc wallet testsby ishaanam · 4ef8065a · Aug 15, 2025 · 3 filesMessage 67 · AdequateInformational 15Details
Commit message · ishaanam

test: add truc wallet tests

67/100 · AdequateMessage clarity
✓ Descriptive subject✓ Names a concrete action or component✓ Uses a recognizable type or scope✓ Mentions testing or verification! No meaningful explanatory body
Why it was queued
signing or wallet pathsecond-pass: security-sensitive path
AI analysis · Informational 15/100

This commit only adds new automated tests for Bitcoin Core wallet behavior with version-3 (TRUC) transactions. It does not change any production wallet, node, or consensus code. The tests verify that the wallet correctly handles TRUC size limits, version mixing rules, and mempool conflict tracking. There is no security fix or vulnerability introduced here.

Lower-prioritydoc: add release notes for version 3 transactionsby ishaanam · 5c8bf7b3 · Aug 15, 2025 · 1 fileMessage 45 · ThinInformational 15Details
Commit message · ishaanam

doc: add release notes for version 3 transactions

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: a new release-notes file describing upcoming support for version 3 (TRUC) Bitcoin transactions in several RPCs and the wallet. No code behavior changes are present in the diff.

Security candidaterpc: Support version 3 transaction creationby Bue-von-hon · 2cb473d9 · Aug 15, 2025 · 10 filesMessage 68 · AdequateInformational 20Details
Commit message · Bue-von-hon

rpc: Support version 3 transaction creation

Adds v3 support to the following RPCs:
- createrawtransaction
- createpsbt
- send
- sendall
- walletcreatefundedpsbt

Co-authored-by: chungeun-choi <cucuridas@gmail.com>
Co-authored-by: dongwook-chan <dongwook.chan@gmail.com>
Co-authored-by: sean-k1 <uhs2000@naver.com>
Co-authored-by: ishaanam <ishaana.misra@gmail.com>

68/100 · AdequateMessage clarity
✓ Descriptive subject✓ Names a concrete action or component✓ Provides detailed explanatory context
Why it was queued
signing boundarysigning or wallet path
AI analysis · Informational 20/100

This commit adds a new 'version' parameter to several Bitcoin Core RPCs so users can create version 3 transactions. It is a feature addition, not a bug fix. The code validates that the requested version is within the allowed standard range and applies sensible defaults, so it does not appear to introduce a security vulnerability.

Lower-priorityrpc: Add transaction min standard version parameterby Bue-von-hon · 4c20343b · Aug 15, 2025 · 2 filesMessage 50 · ThinInformational 19Details
Commit message · Bue-von-hon

rpc: Add transaction min standard version parameter

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

This commit is a small code cleanup in Bitcoin Core's transaction acceptance rules. It replaces a hard-coded minimum transaction version check (the number 1) with a named constant TX_MIN_STANDARD_VERSION, which is also set to 1. By itself, this change does not alter network behavior or fix a known security bug; it only makes the code easier to read and maintain.

AI review queuedwallet: don't return utxos from multiple truc txs in AvailableCoinsby ishaanam · c5a2d080 · Aug 15, 2025 · 1 fileMessage 50 · ThinLow 46Details
Commit message · ishaanam

wallet: don't return utxos from multiple truc txs in AvailableCoins

50/100 · ThinMessage clarity
✓ Specific, descriptive subject✓ Names a concrete action or component! No meaningful explanatory body
Why it was queued
signing or wallet pathsecond-pass: security-sensitive path
AI analysis · Low 46/100

This change adjusts how Bitcoin Core's wallet picks which unconfirmed coins it can spend. Specifically, when a new type of transaction called 'TRUC' (a v3 transaction) is involved, the wallet now only returns coins from one TRUC transaction at a time—the one with the highest total value—rather than returning coins from multiple unconfirmed TRUC transactions together. This is a defensive fix to avoid creating new transactions that would violate TRUC rules, which could otherwise cause the wallet's own follow-up transactions to be rejected by the network. It is more of a correctness/safety improvement than a direct theft or remote-exploitation bug.

AI review queuedwallet: set m_version in coin control to default valueby ishaanam · cc155226 · Aug 15, 2025 · 2 filesMessage 73 · AdequateLow 32Details
Commit message · ishaanam

wallet: set m_version in coin control to default value

In future commits we assume that coin_control.m_version has a
value when making sure that we follow truc rules, so we should
give it a default value of CTransaction::CURRENT_VERSION.

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

This Bitcoin Core commit changes how transaction version numbers are handled when a user creates a transaction through the wallet. Previously, the version was optional and only set if the user explicitly provided one. Now it always defaults to the current standard transaction version. The commit message says this is needed so future code can rely on the version field when enforcing new 'TRUC' transaction rules. On its own, this is a small defensive cleanup, not a fix for an active exploit, but it prevents a class of future bugs where an unset version could lead to incorrect rule checks.

AI review queuedwallet: unconfirmed ancestors and descendants are always trucby ishaanam · ec2676be · Aug 15, 2025 · 2 filesMessage 50 · ThinLow 27Details
Commit message · ishaanam

wallet: unconfirmed ancestors and descendants are always truc

50/100 · ThinMessage clarity
✓ Specific, descriptive subject✓ Names a concrete action or component! No meaningful explanatory body
Why it was queued
signing or wallet pathsecond-pass: security-sensitive path
AI analysis · Low 27/100

This Bitcoin Core wallet patch changes how the wallet selects unconfirmed coins to spend. It adds a filter so that when a user is building a transaction, unconfirmed ancestor or descendant coins are only used if their transaction version matches the version chosen for the new transaction. The commit title says these unconfirmed relatives are 'always TRUC' (a new v3 transaction version type). The change prevents mixing v3 (TRUC) and non-v3 unconfirmed coins in the same spend, which could otherwise cause the resulting transaction to violate network relay rules and get rejected.

AI review queued wallet: don't include unconfirmed v3 txs with children in available coinsby ishaanam · 2e961766 · Aug 15, 2025 · 3 filesMessage 50 · ThinLow 44Details
Commit message · ishaanam

wallet: don't include unconfirmed v3 txs with children in available coins

50/100 · ThinMessage clarity
✓ Specific, descriptive subject✓ Names a concrete action or component! No meaningful explanatory body
Why it was queued
signing or wallet pathsecond-pass: security-sensitive path
AI analysis · Low 44/100

This Bitcoin Core wallet patch prevents the wallet from trying to spend coins from an unconfirmed v3 (TRUC) transaction that already has a child transaction in the mempool. Because v3 transactions are only allowed a strict one-parent-one-child chain in the mempool, attempting to create a second child would be rejected by network policy. Without this fix, the wallet could waste time and fees building transactions that the network will never accept, and in some cases might temporarily lock up funds or produce confusing behavior. It is a correctness and usability fix rather than a theft or remote-code-execution vulnerability.

AI review queuedwallet: mark unconfirmed v3 siblings as mempool conflictsby ishaanam · 85c54106 · Aug 15, 2025 · 2 filesMessage 50 · ThinLow 33Details
Commit message · ishaanam

wallet: mark unconfirmed v3 siblings as mempool conflicts

50/100 · ThinMessage clarity
✓ Specific, descriptive subject✓ Names a concrete action or component! No meaningful explanatory body
Why it was queued
signing or wallet pathsecond-pass: security-sensitive path
AI analysis · Low 33/100

This Bitcoin Core wallet patch fixes how the wallet tracks conflicting transactions for a new type of transaction called TRUC (v3). TRUC rules allow only one unconfirmed child of a parent in the mempool at a time. The wallet now correctly marks other wallet transactions that spend from the same parent as 'mempool conflicts' when one TRUC child enters or leaves the mempool. Without this, the wallet could misreport whether these sibling transactions are spendable or likely to confirm, potentially leading users to make decisions based on stale or incorrect transaction state.

AI review queuedwallet: limit v3 tx weight in coin selectionby ishaanam · da8748ad · Aug 15, 2025 · 4 filesMessage 45 · ThinLow 33Details
Commit message · ishaanam

wallet: limit v3 tx weight in coin selection

45/100 · ThinMessage clarity
✓ Descriptive subject✓ Names a concrete action or component! No meaningful explanatory body
Why it was queued
signing or wallet pathsecond-pass: security-sensitive path
AI analysis · Low 33/100

This Bitcoin Core commit tightens the wallet's coin-selection rules for a new type of transaction called 'v3' or 'TRUC' transactions. It makes sure the wallet does not accidentally build a transaction that is too heavy to be accepted by the network's memory pool. Without this change, a user could create a v3 transaction that the local node would reject, wasting fees or causing the wallet to produce an invalid transaction. It is a defensive correctness fix rather than an active exploit.

AI review queuedwallet: throw error at conflicting tx versions in pre-selected inputsby ishaanam · 0804fc3c · Aug 15, 2025 · 1 fileMessage 50 · ThinLow 41Details
Commit message · ishaanam

wallet: throw error at conflicting tx versions in pre-selected inputs

50/100 · ThinMessage clarity
✓ Specific, descriptive subject✓ Names a concrete action or component! No meaningful explanatory body
Why it was queued
signing or wallet pathsecond-pass: security-sensitive path
AI analysis · Low 41/100

This Bitcoin Core wallet patch adds a safety check that stops users from accidentally mixing two different transaction formats (version 2 and the newer version 3, also called TRUC) in the same unconfirmed spend. Before this change, the wallet could let a user pre-select an unconfirmed input whose transaction version didn't match the version of the new transaction being built. That mismatch could produce an invalid or non-standard transaction, potentially causing the spend to be rejected by the network or by mempool rules. The fix makes the wallet detect the conflict early and return a clear error instead of silently building a problematic transaction.

AI review queueddoc: add release noteby Sjors Provoost · ce7d94a4 · Aug 14, 2025 · 1 fileMessage 28 · OpaqueInformational 15Details
Commit message · Sjors Provoost

doc: add release note

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 a release note describing a new experimental mining interface and IPC-related build options. It contains no code changes, no bug fixes, and no security-related claims.

Lower-prioritydoc: update build and dependencies docs for IPCby Sjors Provoost · 71f29d4f · Aug 14, 2025 · 6 filesMessage 60 · AdequateInformational 15Details
Commit message · Sjors Provoost

doc: update build and dependencies docs for IPC

OpenBSD does not have this package, so recommend building from
source for now.

60/100 · AdequateMessage clarity
✓ Descriptive subject✓ Names a concrete action or component✓ Provides an explanatory body
Why it was queued
documentation-only discount
AI analysis · Informational 15/100

This commit only updates documentation files that explain how to build Bitcoin Core. It adds instructions for installing the Cap'n Proto library, which is needed for a new optional IPC (inter-process communication) feature, and notes that IPC can be disabled if the dependency is unavailable. There are no code changes, no bug fixes, and no security-related changes.

Lower-priorityci: use bitcoin-node for one depends jobby Sjors Provoost · 32a90e1b · Aug 14, 2025 · 1 fileMessage 90 · StrongInformational 15Details
Commit message · Sjors Provoost

ci: use bitcoin-node for one depends job

The bitcoin-node binary is built on all platforms which have
multiprocess enabled, but for functional tests it's only used in
CentOS native (depends) job. The next commit will also add a
non-depends job.

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 changes a single CI (continuous integration) test configuration file for CentOS. It tells the test runner to use the 'bitcoin-node' binary with multiprocess mode enabled when running functional tests. This is a testing infrastructure change, not a change to the Bitcoin Core software that users run.

Lower-prioritybuild: depends makes libmultiprocess by defaultby Sjors Provoost · 16bce9ac · Aug 14, 2025 · 7 filesMessage 90 · StrongInformational 18Details
Commit message · Sjors Provoost

build: depends makes libmultiprocess by default

This causes IPC binaries (bitcoin-node, bitcoin-gui) to be included
in releases.

The effect on CI is that this causes more depends builds to build IPC
binaries, but still the only build running functional tests with them
is the i686_multiprocess one.

Except for Windows.

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

This commit changes Bitcoin Core's build system so that multiprocess/IPC support is built by default in the depends system, rather than requiring an explicit option. It renames the option from MULTIPROCESS=1 to NO_IPC=1 (to opt out), adds IPC binaries to maintenance targets, and disables IPC only on Windows. There is no direct security fix or vulnerability being patched in the code itself; it is a build configuration change that increases the default attack surface by including more binaries and dependencies in releases.

Lower-priorityci: build one depends job without multiprocessby Sjors Provoost · b333cc14 · Aug 14, 2025 · 2 filesMessage 57 · ThinInformational 15Details
Commit message · Sjors Provoost

ci: build one depends job without multiprocess

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

This commit only changes Bitcoin Core's continuous integration (CI) testing setup. It renames one test job from 'multiprocess, i686, DEBUG' to 'no IPC, i686, DEBUG' and switches the build to disable inter-process communication (IPC) multiprocess support. There is no change to the actual Bitcoin node code that users run, so this cannot directly affect network security or user funds.

Lower-prioritycmake: set ENABLE_IPC by defaultby Sjors Provoost · 3cbf747c · Aug 14, 2025 · 9 filesMessage 60 · AdequateInformational 18Details
Commit message · Sjors Provoost

cmake: set ENABLE_IPC by default

Install capnp on non-depends CI jobs.

Use the bitcoin-node binary in the macOS native non-depends job.

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

This change turns on a build option called ENABLE_IPC by default on Unix-like systems and installs the required capnp library in CI environments. It only affects how Bitcoin Core is compiled and tested; it does not change how ordinary users run the software. The change is a build-system/CI configuration update, not a fix for a known security bug.

Lower-priorityAdd release note for #33050 and #33183 error string changesby Antoine Poinsot · c0d91fc6 · Aug 14, 2025 · 1 fileMessage 58 · ThinInformational 15Details
Commit message · Antoine Poinsot

Add release note for #33050 and #33183 error string changes

58/100 · ThinMessage clarity
✓ Specific, descriptive subject✓ Names a concrete action or component✓ Links an issue, advisory, or supporting reference! No meaningful explanatory body
Why it was queued
documentation-only discount
AI analysis · Informational 15/100

This commit only adds a release note describing a previous change to error message wording in Bitcoin Core. It does not change any code, behavior, or security properties. The error strings were renamed from 'mandatory/non-mandatory-script-verify-flag' to 'block-script-verify-flag-failed' and 'mempool-script-verify-flag-failed' to make their meaning clearer. There is no security issue in this commit itself.