BC
← All projectsBitcoin Core

Bitcoin Core

The Bitcoin network's reference node and wallet implementation.

BitcoinSupply chainNormal
Repository coverage

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

260security candidates613second-pass queue2893AI analyses
182commits · 30 days
473commits · 60 days
1489commits · 180 days
2855commits · 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
969Strong · 80–100
1189Adequate · 60–79
689Thin · 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 Chow16452162065
MarcoFalke41021406074
Lőrinc18121177081
fanquake22919226057
Hennadii Stepanov21214208063
rkrux57957074
Sjors Provoost89889074
merge-script42819088
Sebastian Falbesoner33733073
David Gumberg55655072
Pieter Wuille95595066
Analysis record

Published AI watches

Last scanned 46 minutes ago

Low 26 AI analysisMessage 96 · Strong
BC Bitcoin CoreBitcoin Core BitcoinSupply chain

Merge bitcoin/bitcoin#32784: wallet: derivehdkey RPC to get xpub at arbitrary path

This commit adds a new Bitcoin Core wallet RPC called derivehdkey that lets a user derive an extended public key (xpub) — or optionally the matching extended private key (xprv) — at a chosen BIP32 path from one of the wallet's own HD keys.…

New RPC exposes xpub/xprv derivation from wallet HD keysRequires at least one hardened derivation stepRejects watch-only wallets and locked/encrypted wallets
a8b582ecby Ava Chow+633−15819 files
No security note in commit
Informational 15 AI analysisMessage 81 · Strong
BC Bitcoin CoreBitcoin Core BitcoinSupply chain

Merge bitcoin/bitcoin#35852: scripted-diff: Use inline const(expr) over static constexpr in headers

This is a large but purely mechanical code cleanup in Bitcoin Core. It changes how constants are declared in header files from older C++ styles (static const, static constexpr) to the modern C++17 inline constexpr/inline const form. The pu…

dec68f99by merge-script+440−440102 files
No security note in commit
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
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 queuedwallet: Determine IsFromMe by checking for TXOs of inputsby Ava Chow · 39a7dbdd · Sep 3, 2025 · 1 fileMessage 73 · AdequateLow 30Details
Commit message · Ava Chow

wallet: Determine IsFromMe by checking for TXOs of inputs

Instead of checking whether the total amount of inputs known by the
wallet is greater than 0, we should be checking for whether the input is
known by the wallet. This enables us to determine whether a transaction
spends an of output with an amount of 0, which is necessary for marking
0-value dust outputs as spent.

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

This commit fixes a wallet accounting bug. Previously, Bitcoin Core's wallet decided whether a transaction came from the user by checking whether the total value of its inputs was greater than zero. That approach missed inputs that are worth exactly zero (so-called 'dust' outputs). After the change, the wallet checks each input individually to see if it is known to the wallet, so even zero-value outputs are correctly recognized as spent. This is mainly a correctness fix for tracking tiny outputs and could affect how transactions are labeled, but it does not appear to be a direct theft-of-funds vulnerability.

AI review queuedtest: Test wallet 'from me' status changeby Ava Chow · e76c2f7a · Sep 3, 2025 · 1 fileMessage 90 · StrongInformational 12Details
Commit message · Ava Chow

test: Test wallet 'from me' status change

If something is imported into the wallet, it can change the 'from me'
status of a transaction. This status is only visible through
gettransaction's "fee" field which is only shown for transactions that
are 'from me'.

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
Why it was queued
signing or wallet pathsecond-pass: security-sensitive path
AI analysis · Informational 12/100

This commit adds a new automated test to Bitcoin Core's test suite. It checks that when a private key or descriptor is imported into a wallet, transactions already known to the wallet can change their 'from me' status, which affects whether the gettransaction RPC shows a 'fee' field and 'send' category. The commit itself is only a test file change and does not modify production wallet code.

Lower-priorityci: cd into BASE_BUILD_DIR for GetCMakeLogFilesby Sjors Provoost · 9b76eef2 · Sep 3, 2025 · 1 fileMessage 57 · ThinInformational 15Details
Commit message · Sjors Provoost

ci: cd into BASE_BUILD_DIR for GetCMakeLogFiles

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 is a minor fix to Bitcoin Core's internal continuous integration (CI) test script. When a CMake build fails, the script prints diagnostic log files. The change ensures the script changes into the build directory first so the helper that lists log files can find them correctly. It does not change the Bitcoin software users run, does not touch networking or cryptography, and has no security relevance for end users.

Lower-prioritymacdeploy: rename macOS output to bitcoin-macos-app.zipby fanquake · 8e434a84 · Sep 3, 2025 · 2 filesMessage 73 · AdequateInformational 15Details
Commit message · fanquake

macdeploy: rename macOS output to bitcoin-macos-app.zip

We were naming this "Bitcoin-Core.zip", just to immediately rename it.
Similar to what we do with Windows, i.e `bitcoin-win64-setup.exe`.

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

This commit simply renames the macOS release ZIP file from 'Bitcoin-Core.zip' to 'bitcoin-macos-app.zip' before it gets its final distribution name. It is a build-system cleanup with no security relevance.

Lower-prioritymacdeploy: combine appname & -zip argumentsby fanquake · 05353d9c · Sep 3, 2025 · 2 filesMessage 45 · ThinInformational 15Details
Commit message · fanquake

macdeploy: combine appname & -zip arguments

appname is only used by -zip.

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

This is a small build-script cleanup for macOS packaging. It merges two command-line arguments into one so the script that creates the Bitcoin Core .zip file for Mac is slightly simpler. There is no security-relevant change.

Security candidatecontrib: update fixed seedsby fanquake · 93967894 · Sep 3, 2025 · 5 filesMessage 35 · OpaqueInformational 19Details
Commit message · fanquake

contrib: update fixed seeds

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

This commit simply refreshes Bitcoin Core's built-in list of 'fixed seeds'—the fallback network addresses new nodes use to find peers when DNS seeders are unavailable. It removes old seed entries and adds new ones. There is no code change, no bug fix, and no security patch in the diff itself. It is a routine network-address list update.

Security candidatecontrib: update makeseeds minblocksby fanquake · 6cdd8ee6 · Sep 3, 2025 · 2 filesMessage 35 · OpaqueInformational 15Details
Commit message · fanquake

contrib: update makeseeds minblocks

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

This commit simply raises the minimum block-height thresholds used by a Bitcoin Core maintenance script that builds the list of hard-coded network seed nodes. It is a routine configuration update, not a code fix for a security vulnerability.

Security candidatecontrib: update makeseeds UA regexby fanquake · b8da9f40 · Sep 3, 2025 · 1 fileMessage 45 · ThinInformational 16Details
Commit message · fanquake

contrib: update makeseeds UA regex

45/100 · ThinMessage clarity
✓ Descriptive subject✓ Names a concrete action or component! No meaningful explanatory body
Why it was queued
seed or entropy path
AI analysis · Informational 16/100

This commit updates a regular expression in a seed-node generation script so it recognizes newer Bitcoin Core version numbers (28.2 and 29.0) when scanning network peers. It is a routine maintenance change to the list of acceptable user-agent strings and does not alter node consensus, wallet, or network security code.

Lower-prioritytest: Remove polling loop from test_runnerby MarcoFalke · fa4885ef · Sep 3, 2025 · 1 fileMessage 67 · AdequateInformational 15Details
Commit message · MarcoFalke

test: Remove polling loop from test_runner

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
AI analysis · Informational 15/100

This commit is a cleanup of Bitcoin Core's internal functional test runner. It replaces a manual polling loop that repeatedly checked whether test subprocesses had finished with a standard Python thread-pool mechanism. There is no change to the Bitcoin network protocol, wallet handling, consensus rules, or any code that runs in production. It only affects how developers run tests locally and in CI.

Lower-prioritydoc: truc packages allow sub min feerate transactionsby Pol Espinasa · 7270839a · Sep 2, 2025 · 1 fileMessage 50 · ThinInformational 15Details
Commit message · Pol Espinasa

doc: truc packages allow sub min feerate transactions

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. It clarifies that a specific new type of Bitcoin transaction (TRUC transactions, defined in BIP-431) is allowed to have a lower fee than normally required, as long as the overall package of transactions meets the fee requirements. No code behavior was changed.

Lower-prioritykernel: add testnet4 assumeutxo param at height 90'000by fanquake · 755152ac · Sep 2, 2025 · 1 fileMessage 50 · ThinInformational 19Details
Commit message · fanquake

kernel: add testnet4 assumeutxo param at height 90'000

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

This commit adds a precomputed snapshot point for Bitcoin's testnet4 network at block height 90,000. This is a routine network configuration update that helps nodes start up faster by skipping historical validation up to that point. There is no indication of a security flaw or fix.

AI review queuedkernel: update headersync paramsby fanquake · 943de66b · Sep 2, 2025 · 2 filesMessage 35 · OpaqueInformational 15Details
Commit message · fanquake

kernel: update headersync params

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

This commit updates the internal tuning numbers used by Bitcoin Core's header synchronization feature. It pushes the expected network date forward by about six months and raises the minimum chain-work header count to reflect blockchain growth. There is no security vulnerability here; it is routine maintenance to keep the DoS-protection parameters aligned with the current and projected state of the network.

Lower-prioritykernel: add mainnet assumeutxo param at height 910'000by fanquake · a6512686 · Sep 2, 2025 · 1 fileMessage 50 · ThinInformational 20Details
Commit message · fanquake

kernel: add mainnet assumeutxo param at height 910'000

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

This commit adds a new precomputed snapshot point for Bitcoin's 'assumeutxo' feature at mainnet block height 910,000. This is a routine network-parameter update that helps new nodes sync faster; it does not change consensus rules, fix a bug, or introduce a security vulnerability.

AI review queuedkernel: update chainTxDataby fanquake · 66fb9624 · Sep 2, 2025 · 1 fileMessage 35 · OpaqueInformational 15Details
Commit message · fanquake

kernel: update chainTxData

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

This commit updates routine network statistics in Bitcoin Core's chain parameters. It refreshes the recorded time, total transaction count, and transaction rate for mainnet, testnet, signet, and regtest networks based on recent blockchain data. There is no security issue here—this is normal maintenance data that helps the software estimate sync progress and blockchain size.

Lower-prioritykernel: update assumevalid and minimumChainWorkby fanquake · c3cb26e0 · Sep 2, 2025 · 1 fileMessage 45 · ThinLow 28Details
Commit message · fanquake

kernel: update assumevalid and minimumChainWork

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

This commit updates two routine Bitcoin network parameters—'minimumChainWork' and 'assumevalid'—to point to newer, well-mined blocks on the main network, testnet, and signet. These values tell a freshly started Bitcoin node how much proof-of-work history it should require before trusting the chain it sees. The change is a standard, scheduled maintenance update and does not fix a software bug or introduce a known vulnerability. However, because these parameters influence which chain a node follows, setting them incorrectly could theoretically affect network behavior, so the commit touches a security-relevant part of the code.

Lower-prioritykernel: update assumed blockchain & chainstate sizesby fanquake · b4adae76 · Sep 2, 2025 · 1 fileMessage 50 · ThinInformational 15Details
Commit message · fanquake

kernel: update assumed blockchain & chainstate sizes

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

This commit simply updates Bitcoin Core's built-in estimates of how much disk space the blockchain and chainstate database take up on mainnet, testnet, testnet4, and signet. These numbers are used to warn users if they don't have enough free space before downloading the chain. There is no security issue here.

AI review queuedp2p: add assertion for BlockTransactionsRequest indexesby frankomosh · 65a10fc3 · Sep 2, 2025 · 1 fileMessage 65 · AdequateLow 27Details
Commit message · frankomosh

p2p: add assertion for BlockTransactionsRequest indexes

Adds Assume() check in net_processing after deserialization and validate DifferenceFormatter Class invariant.

65/100 · AdequateMessage clarity
✓ Specific, descriptive subject✓ Names a concrete action or component✓ Provides an explanatory body
Why it was queued
defensive validationsecond-pass: broader security terminology
AI analysis · Low 27/100

This commit adds a safety check in Bitcoin Core's network message handling for a specific message type (GETBLOCKTXN). After reading the message, it verifies that a list of transaction indexes is strictly increasing. This is a defensive coding change: it does not fix a known exploit, but adds an assertion to catch invariant violations that could theoretically lead to incorrect behavior or crashes in compact block reconstruction. The change is small and uses the non-fatal Assume() macro, meaning a violation in release builds may not necessarily stop execution.

AI review queuedfuzz: add a target for DifferenceFormatter Classby frankomosh · 58be359f · Sep 2, 2025 · 2 filesMessage 78 · AdequateInformational 15Details
Commit message · frankomosh

fuzz: add a target for DifferenceFormatter Class

Add fuzz test to verify that arbitrary input successfully deserialized
by DifferenceFormatter will maintain the sorted-without-duplicates invariant.

78/100 · AdequateMessage clarity
✓ Descriptive subject✓ Names a concrete action or component✓ Provides detailed explanatory context✓ Mentions testing or verification
Why it was queued
fuzzing or regression evidencesecond-pass: broader security terminology
AI analysis · Informational 15/100

This commit adds a new automated fuzz test for a Bitcoin Core data-formatting helper called DifferenceFormatter. It does not change any production code, network behavior, or wallet logic. It only adds a test file and registers it in the build system. There is no security fix or vulnerability present in the diff.

Lower-priorityclang-format: regenerate configsby Lőrinc · 13f36c02 · Sep 1, 2025 · 2 filesMessage 68 · AdequateInformational 15Details
Commit message · Lőrinc

clang-format: regenerate configs

Regenerated `.clang-format` from current configs to replace deprecated keys with up-to-date equivalents.
Also added all current formatter default values to guard against version differences.

The configs were updated with the following command (using v16 for maximal compatibility):
$(brew --prefix llvm@16)/bin/clang-format -dump-config -style=file:src/.clang-format

The new config was tested with:
$(brew --prefix llvm@16)/bin/clang-format -i src/deploymentinfo.h

Co-authored-by: MarcoFalke <*~=`'#}+{/-|&$^_@721217.xyz>
Co-authored-by: Hodlinator <172445034+hodlinator@users.noreply.github.com>

68/100 · AdequateMessage clarity
✓ Descriptive subject✓ Provides detailed explanatory context✓ Mentions testing or verification
AI analysis · Informational 15/100

This commit only updates the project's code-formatting configuration file (.clang-format) and a one-line clarification in the developer style guide. It changes how source code is automatically laid out (indentation, brace placement, line breaks) but does not change any program logic, network behavior, wallet handling, or cryptographic operations. There is no security relevance.

Lower-priorityci: remove un-needed lint_run*.sh filesby willcl-ark · 3c5da69a · Sep 1, 2025 · 2 filesMessage 90 · StrongInformational 15Details
Commit message · willcl-ark

ci: remove un-needed lint_run*.sh files

ci/lint_run.sh: Only used in .cirrus.yml. Refer to test/lint/README.md on how to run locally.
ci/lint_run_all.sh: Only used in .cirrus.yml for stale re-runs of old pull request tasks.

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

This commit simply deletes two helper shell scripts used by the project's continuous integration (CI) system for running code linting checks. There is no change to the Bitcoin software itself, its consensus rules, networking, wallet, or any user-facing functionality. It is a routine cleanup of unused CI files.

Lower-priorityci: fix annoying docker warningby will · 2aa288ef · Sep 1, 2025 · 1 fileMessage 80 · StrongInformational 15Details
Commit message · will

ci: fix annoying docker warning

Docker currently warns that we are missing a default value.

Set this to scratch which will error if an appropriate image tag is not
passed in to silence the warning.

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 is a minor CI (Continuous Integration) configuration change. It adds a default value of 'scratch' to a Docker build argument to silence a harmless warning from Docker. There is no security issue here.

Lower-priorityci: add ccache hit-rate warning when < 75%by will · dd1c5903 · Sep 1, 2025 · 3 filesMessage 72 · AdequateInformational 15Details
Commit message · will

ci: add ccache hit-rate warning when < 75%

Print the ccache hit-rate for the job using a GitHub annotation if it
was below 75%.

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 changes Bitcoin Core's internal continuous integration (CI) scripts. It adds a warning when the build cache (ccache) hit-rate is below 75% and sets a logging variable for macOS CI jobs. There is no change to the Bitcoin software that users run, no wallet or network code is touched, and no security vulnerability is present.

Lower-prioritydoc: Detail configuration of hosted CI runnersby will · f4272844 · Sep 1, 2025 · 1 fileMessage 45 · ThinInformational 15Details
Commit message · will

doc: Detail configuration of hosted CI runners

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 in the CI (continuous integration) README file. It explains how to set up paid Cirrus Runners for faster automated testing and how forks can use free GitHub runners. There are no code changes and no security-relevant behavior changes.

Lower-priorityci: dynamically match makejobs with coresby will · 3f339e99 · Sep 1, 2025 · 2 filesMessage 80 · StrongInformational 15Details
Commit message · will

ci: dynamically match makejobs with cores

Previously jobs were running on a large multi-core server where 10 jobs
as default made sense (or may even have been on the low side).

Using hosted runners with fixed (and lower) numbers of vCPUs we should
adapt compilation to match the number of cpus we have dynamically.

This is cross-platform compatible with macos and linux only.

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 changes how Bitcoin Core's continuous integration (CI) build system decides how many parallel compilation jobs to run. Previously it hard-coded 10 jobs; now it detects the number of CPU cores on the machine. There is no security-relevant change here—it's purely a build-performance tuning adjustment.

Lower-priorityci: remove .cirrus.ymlby will · 4393ffdd · Sep 1, 2025 · 1 fileMessage 40 · ThinInformational 15Details
Commit message · will

ci: remove .cirrus.yml

Removed as unused.

40/100 · ThinMessage clarity
✓ Subject identifies a change✓ Uses a recognizable type or scope! No meaningful explanatory body
AI analysis · Informational 15/100

This commit simply deletes an unused CI configuration file (.cirrus.yml) from the Bitcoin Core repository. It does not change any code that runs the Bitcoin network software, wallets, or consensus rules. There is no security issue here.