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 25 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-prioritythreading: remove obsolete critsect macrosby Cory Fields · b537a6a6 · Aug 22, 2025 · 1 fileMessage 45 · ThinInformational 15Details
Commit message · Cory Fields

threading: remove obsolete critsect macros

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

This commit simply deletes two unused C++ macros (ENTER_CRITICAL_SECTION and LEAVE_CRITICAL_SECTION) from a header file. These macros were non-RAII manual locking helpers that had been replaced by safer scoped lock wrappers. There is no runtime behavior change, no bug fix, and no security vulnerability being patched.

Lower-prioritydoc: capnproto instruction for Alpine and Archby Sjors Provoost · de65c865 · Aug 21, 2025 · 1 fileMessage 45 · ThinInformational 15Details
Commit message · Sjors Provoost

doc: capnproto instruction for Alpine and Arch

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 updates documentation for building Bitcoin Core on Alpine and Arch Linux. It adds instructions to install the Cap'n Proto library, which is needed for a new optional inter-process communication (IPC) feature, and mentions how to disable that feature if not needed. There are no code changes and no security fix or vulnerability introduced.

Lower-prioritydoc: add capnproto-devel to Fedora build instructionby Sjors Provoost · 49d1a1a3 · Aug 21, 2025 · 1 fileMessage 65 · AdequateInformational 15Details
Commit message · Sjors Provoost

doc: add capnproto-devel to Fedora build instruction

Co-authored-by: maflcko <6399679+maflcko@users.noreply.github.com>

65/100 · AdequateMessage clarity
✓ Specific, 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 is a one-line documentation update for Fedora Linux build instructions. It adds an extra package name (capnproto-devel) so developers can compile Bitcoin Core's optional inter-process communication (IPC) feature. There is no code change, no bug fix, and no security issue in the commit itself.

Lower-prioritytest: index with an unclean restart after a reorgby Martin Zumsande · a602f6fb · Aug 21, 2025 · 1 fileMessage 82 · StrongInformational 12Details
Commit message · Martin Zumsande

test: index with an unclean restart after a reorg

This test fails without the previous commit.

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 adds a new automated test for Bitcoin Core's coin statistics index. It checks that after a blockchain reorganization and an unclean shutdown, the index correctly rewinds to the last safely saved point. The commit itself is only a test file change and does not modify production code.

Lower-priorityindex: don't commit state in BaseIndex::Rewindby Martin Zumsande · 01b95ac6 · Aug 21, 2025 · 1 fileMessage 80 · StrongModerate 64Details
Commit message · Martin Zumsande

index: don't commit state in BaseIndex::Rewind

The committed state of an index should never
be ahead of the flushed chainstate. Otherwise, in the case
of an unclean shutdown, the blocks necessary to revert
from the prematurely committed state would not be
available, which would corrupt the coinstatsindex in particular.
Instead, the index state will be committed with the next
ChainStateFlushed notification.

80/100 · StrongMessage clarity
✓ Descriptive subject✓ Names a concrete action or component✓ Provides detailed explanatory context✓ Explains rationale or failure mode
AI analysis · Moderate 64/100

This change fixes a crash-and-restart bug in Bitcoin Core's index tracking. Previously, during a blockchain reorganization (a 'reorg'), an index could save its new position to disk before the main chain data was fully flushed. If the computer then shut down uncleanly, the index could point to blocks that had already been pruned away, leaving the index corrupted on restart. The fix removes that premature save so the index only commits its position when the main chain state is safely flushed.

Lower-prioritydoc: use new block_to_connect parameter nameby stickies-v · 1c3db0ed · Aug 21, 2025 · 1 fileMessage 68 · AdequateInformational 15Details
Commit message · stickies-v

doc: use new block_to_connect parameter name

This was previously changed in 9ba1fff29e4794615c599e59ef453848a9bdb880,
without updating the documentation.

Co-authored-by: stringintech <stringintech@gmail.com>

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

This is a one-word documentation fix inside a code comment. A function parameter was renamed from 'pblock' to 'block_to_connect' in an earlier commit, and this change simply updates the surrounding comment to match. It does not alter any executable code, behavior, or security property.

Lower-prioritydoc: mark bitcoin-{node,gui} installed in files.mdby Sjors Provoost · eab55189 · Aug 21, 2025 · 1 fileMessage 50 · ThinInformational 15Details
Commit message · Sjors Provoost

doc: mark bitcoin-{node,gui} installed in files.md

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 is a tiny documentation-only change. It removes asterisks from two rows in a markdown table so that the bitcoin-gui and bitcoin-node binaries are no longer marked as 'not installed by default.' There is no code change, no behavior change, and no security relevance.

AI review queueddoc: Remove wrong and redundant doxygen tagby MarcoFalke · 966666de · Aug 21, 2025 · 3 filesMessage 60 · AdequateInformational 15Details
Commit message · MarcoFalke

doc: Remove wrong and redundant doxygen tag

Remove it in feerate.

Fix it in the other places.

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

This commit only fixes documentation comments in three source files. It corrects broken Doxygen tags (e.g., 'param@[in]' to '@param[in]'), removes redundant parameter descriptions, fixes a typo ('an specific' to 'a specific'), and clarifies a phrase. No executable code was changed, so it cannot affect program behavior or security.

AI review queuedtest: repeat block malleability test with relayable block over P2Pby Musa Haruna · d0e1bbad · Aug 21, 2025 · 1 fileMessage 95 · StrongInformational 15Details
Commit message · Musa Haruna

test: repeat block malleability test with relayable block over P2P

Adds a functional test that repeats the existing witness nonce size
malleability check using a block under MAX_BLOCK_WEIGHT so it can be
relayed over the P2P network, addressing the TODO in test_block_malleability.

Includes rejection check for 'bad-witness-nonce-size' and confirmation
that a corrected block is accepted.

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 commit only adds a new functional test to Bitcoin Core. It does not change any production code, consensus rules, or network behavior. The test verifies that an invalid-but-relayable block with a malformed witness nonce is rejected over the peer-to-peer network, and that a corrected version is accepted. There is no security vulnerability being fixed here.

Lower-prioritybuild: set ENABLE_IPC to OFF when fuzzingby fanquake · af4156ab · Aug 21, 2025 · 1 fileMessage 72 · AdequateInformational 15Details
Commit message · fanquake

build: set ENABLE_IPC to OFF when fuzzing

Currently a `BUILD_FOR_FUZZING` build will failure to configure, with
missing `capnp`.

72/100 · AdequateMessage clarity
✓ Descriptive subject✓ Names a concrete action or component✓ Uses a recognizable type or scope✓ Provides an explanatory body
Why it was queued
fuzzing or regression evidencedocumentation-only discount
AI analysis · Informational 15/100

This is a small build-system fix for Bitcoin Core's fuzzing configuration. When developers build the project specifically for fuzz testing, the build previously failed because it required a library called capnp that is not needed for fuzzing. The change simply turns off the optional IPC (inter-process communication) feature during fuzzing builds so configuration succeeds. There is no runtime security issue, no vulnerability, and no change to how Bitcoin nodes or wallets behave.

Lower-prioritydoc: link to capnp version bump PRby Sjors Provoost · 2a815d12 · Aug 21, 2025 · 1 fileMessage 45 · ThinInformational 15Details
Commit message · Sjors Provoost

doc: link to capnp version bump PR

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 updates a documentation link in the project's dependency list. It changes the hyperlink for the minimum required Cap'n Proto version from the upstream project's install page to a Bitcoin Core pull request that bumped the version. No code, build scripts, or dependency versions were changed.

Lower-priorityguix: remove libxcb-xinerama.so.0 from allowed libsby fanquake · decc3671 · Aug 20, 2025 · 1 fileMessage 50 · ThinInformational 18Details
Commit message · fanquake

guix: remove libxcb-xinerama.so.0 from allowed libs

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

This commit removes one library, libxcb-xinerama.so.0, from the list of shared libraries that Bitcoin Core's Guix reproducible-build process is allowed to link against. It is a build-hardening change: the release pipeline will now refuse to produce a binary that depends on that X11-related library. There is no direct evidence in the commit that this fixes an active vulnerability, only that it tightens the supply-chain/build policy.

Lower-prioritydepends: remove xinerama extension from libxcbby fanquake · 3d9314f3 · Aug 20, 2025 · 1 fileMessage 76 · AdequateInformational 15Details
Commit message · fanquake

depends: remove xinerama extension from libxcb

This is listed on https://doc.qt.io/qt-5.15/linux-requirements.html as
"recommended", however doesn't seem to be needed, and the fact that it's
no-longer installed by default on modern linux distros, is
annoying/confusing for users. See:

https://github.com/bitcoin/bitcoin/issues/30061
https://bitcoin.stackexchange.com/questions/122646/libxcb-xinerama0-library-required-by-bitcoin-qt
https://github.com/bitcoin/bitcoin/pull/33197
https://github.com/bitcoin/bitcoin/issues/32097

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

This commit removes an optional X11 screen-extension feature (Xinerama) from the list of components built into Bitcoin Core's bundled copy of the libxcb library. The change is purely a build-system cleanup to avoid requiring a dependency that is no longer installed by default on modern Linux distributions. There is no security-relevant change here.

Lower-prioritydoc: unify `datacarriersize` warning with release notesby Lőrinc · 2885bd0e · Aug 20, 2025 · 2 filesMessage 73 · AdequateInformational 15Details
Commit message · Lőrinc

doc: unify `datacarriersize` warning with release notes

Unified the deprecation warning for the recently deprecated datacarrier[size] options to match the phrasing of release-notes-32406.md.

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

This commit only changes the wording of a user-facing deprecation warning and updates the matching test. It does not alter any behavior, logic, or security-sensitive code. There is no security issue here.

AI review queuedwallet: Remove isminetypeby Ava Chow · be776a14 · Aug 19, 2025 · 21 filesMessage 58 · ThinInformational 15Details
Commit message · Ava Chow

wallet: Remove isminetype

Since the only remaining isminetypes are ISMINE_NO and ISMINE_SPENDABLE,
this enum is now just a bool and can be removed. IsMine is changed to
return a bool and any usage of isminetypes and isminefilters are changed
to be the remaining ISMINE_SPENDABLE case.

58/100 · ThinMessage clarity
✓ Descriptive subject✓ Provides detailed explanatory context
Why it was queued
signing or wallet pathsecond-pass: unusually broad changesecond-pass: security-sensitive path
AI analysis · Informational 15/100

This commit is a routine internal code cleanup in Bitcoin Core's wallet module. It removes an old enum type called isminetype and replaces it with a simple true/false (bool) value, because the wallet no longer distinguishes between different kinds of 'mine' statuses—only 'mine' and 'not mine' remain. The change touches many files but does not alter what the wallet does; it only simplifies how the code expresses the same behavior.

AI review queuedwallet: Remove COutput::spendable and AvailableCoinsListUnspentby Ava Chow · 6a7aa015 · Aug 19, 2025 · 10 filesMessage 73 · AdequateInformational 19Details
Commit message · Ava Chow

wallet: Remove COutput::spendable and AvailableCoinsListUnspent

In descriptor wallets, we consider all outputs to be spendable as we no
longer have mixed mine and watchonly in a wallet. As such,
COutput::spendable is meaningless and can be removed.

Furthermore, CoinFilterParams::only_spendable can be removed as that was
essentially checking for COutput::spendable.

Lastly, AvailableCoinsListUnspent can also be removed as the wrapper is
now only setting the feerate to std::nullopt which is trivial enough that
a dedicated wrapper is not needed.

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

This commit cleans up the Bitcoin Core wallet code by removing an old 'spendable' flag that is no longer meaningful for modern descriptor wallets. For these wallets, every coin the wallet knows about is considered spendable, so the flag was redundant. The change also removes a small wrapper function and updates the listunspent RPC to always report 'spendable' as true. It is a code-simplification refactor, not a fix for an active security bug.

AI review queuedwallet: Remove ISMINE_USEDby Ava Chow · 009a69a6 · Aug 19, 2025 · 6 filesMessage 58 · ThinInformational 18Details
Commit message · Ava Chow

wallet: Remove ISMINE_USED

This isminetype is not a real isminetype as it is never returned by
IsMine. This is only used for isminefilters in one function, which can
be better represented with a bool parameter avoid_reuse.

58/100 · ThinMessage clarity
✓ Descriptive subject✓ Provides detailed explanatory context
Why it was queued
signing or wallet pathsecond-pass: security-sensitive path
AI analysis · Informational 18/100

This is a small internal cleanup in Bitcoin Core's wallet code. It removes a special flag called ISMINE_USED that was only used to decide whether to count already-used addresses when calculating balances. The same behavior is now controlled by a simple true/false parameter called avoid_reuse. There is no direct security bug being fixed here; it is a refactoring change that makes the code easier to understand and maintain.

Lower-priorityminer: clamp options instead of assertingby Pieter Wuille · 7392b8b0 · Aug 19, 2025 · 1 fileMessage 45 · ThinLow 32Details
Commit message · Pieter Wuille

miner: clamp options instead of asserting

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

This change replaces internal sanity checks (assertions) in Bitcoin Core's block-building code with clamping. Instead of crashing the program if a miner passes an out-of-range value, the code now silently adjusts the value to the nearest allowed limit. This is a robustness improvement that prevents a misconfiguration or unusual input from terminating the node, but it also means invalid settings are no longer loudly rejected.

AI review queuedinterfaces, gui: Remove is_mine output parameter from getAddressby Ava Chow · 620abe98 · Aug 19, 2025 · 5 filesMessage 65 · AdequateInformational 15Details
Commit message · Ava Chow

interfaces, gui: Remove is_mine output parameter from getAddress

The is_mine output parameter is never used by any callers.

65/100 · AdequateMessage clarity
✓ Specific, 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 15/100

This commit is a simple code cleanup: it removes an unused 'is_mine' output parameter from a wallet address lookup function and updates all callers. There is no security-relevant change; the removed parameter was never used, and the remaining behavior is unchanged.

Lower-prioritytest: modify logging_filesize_rate_limit paramsby Eugene Siegel · 5dda364c · Aug 19, 2025 · 1 fileMessage 80 · StrongInformational 15Details
Commit message · Eugene Siegel

test: modify logging_filesize_rate_limit params

Change time_window from 20s to 1h so Reset is not accidentally called
if the test takes a while.

Change num_lines from 1024 to 10 since LogRateLimiter is parameterized
and does not require logging 1MiB of data.

Co-Authored-By: stickies-v <stickies-v@protonmail.com>

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

This commit only changes a test file. It makes a unit test for log-rate-limiting run faster and more reliably by reducing the amount of test data and extending the time window. There is no change to the actual Bitcoin Core software that users run, and no security issue is introduced or fixed.

Lower-priorityqt: Update `src/qt/locale/bitcoin_en.xlf` translation source fileby Hennadii Stepanov · 0df2c3c4 · Aug 19, 2025 · 3 filesMessage 65 · AdequateInformational 15Details
Commit message · Hennadii Stepanov

qt: Update `src/qt/locale/bitcoin_en.xlf` translation source file

Steps to reproduce the diff:
```
cmake --preset dev-mode
cmake --build build_dev_mode --target translate
```

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

This commit is a routine regeneration of Bitcoin Core's English translation source files. It updates the list of user-visible text strings (error messages, warnings, labels) that translators can later translate into other languages. No program logic, security checks, or executable behavior was changed.

Lower-priorityqt: Fix compatibility with `-debuglogfile` command-line optionby Hennadii Stepanov · c0d28c8f · Aug 19, 2025 · 1 fileMessage 73 · AdequateInformational 21Details
Commit message · Hennadii Stepanov

qt: Fix compatibility with `-debuglogfile` command-line option

This change avoids hardcoding the "debug.log" filename, ensuring
compatibility with custom filenames provided via the `-debuglogfile`
command-line option.

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

This is a small bug fix in the Bitcoin Core graphical wallet. Previously, the menu option that opens the debug log always looked for a file literally named 'debug.log', even if the user had started Bitcoin with a custom debug log filename. The change makes the menu use the actual configured filename. It is a correctness/usability fix, not a security vulnerability.

AI review queuedcmake: Drop python dependency for translateby Daniel Pfeifer · 3c4a109a · Aug 19, 2025 · 3 filesMessage 53 · ThinInformational 15Details
Commit message · Daniel Pfeifer

cmake: Drop python dependency for translate

Resolves #33146

53/100 · ThinMessage clarity
✓ Descriptive subject✓ Names a concrete action or component✓ Links an issue, advisory, or supporting reference! No meaningful explanatory body
Why it was queued
second-pass: broader security terminology
AI analysis · Informational 15/100

This commit removes a Python helper script used during the build process and replaces it with equivalent logic written directly in CMake. It is a build-system cleanup that drops a Python dependency for generating translation string files. There is no indication this change fixes or introduces a security vulnerability.

AI review queuedfuzz: set mempool options in wallet_feesby brunoerg · 19273d07 · Aug 18, 2025 · 1 fileMessage 55 · ThinInformational 16Details
Commit message · brunoerg

fuzz: set mempool options in wallet_fees

55/100 · ThinMessage clarity
✓ Descriptive subject✓ Names a concrete action or component✓ Mentions testing or verification! No meaningful explanatory body
Why it was queued
fuzzing or regression evidencesigning or wallet pathsecond-pass: security-sensitive path
AI analysis · Informational 16/100

This commit changes a Bitcoin Core fuzz test (an automated test that feeds random data to a piece of code to find crashes or bugs). It removes a 'const' restriction so the test can create a fresh, configurable memory pool (mempool) for each fuzz run, and sets fee-related options from the fuzz input. It is a test-only change and does not alter the behavior of the actual Bitcoin node software that users run.

Security candidatetest: cover invalid codesep positions for signature in taprootby Greg Sanders · 81e5c838 · Aug 18, 2025 · 2 filesMessage 77 · AdequateInformational 17Details
Commit message · Greg Sanders

test: cover invalid codesep positions for signature in taproot

77/100 · AdequateMessage clarity
✓ Specific, descriptive subject✓ Names a concrete action or component✓ Uses a recognizable type or scope✓ Mentions testing or verification✓ Names security-relevant behavior explicitly! No meaningful explanatory body
Why it was queued
signing boundary
AI analysis · Informational 17/100

This commit only changes Bitcoin Core's own test code and test framework. It fixes how the test suite encodes the 'code separator position' used in Taproot signature hashing, switching from a signed 32-bit integer to an unsigned 32-bit integer. It also adds two new test cases that check what happens when an invalid code-separator position is used. There is no change to the actual consensus or networking code that runs on the Bitcoin network, so this does not create or fix a live security vulnerability in Bitcoin Core itself. It is a test-coverage improvement.