BC
← All projectsBitcoin Core

Bitcoin Core

The Bitcoin network's reference node and wallet implementation.

BitcoinSupply chainNormal
Repository coverage

2902 commits in the local evidence base

Every captured commit receives deterministic security triage and a separate communication-quality score. Security candidates and broader second-pass signals receive full-patch Ollama analysis.

254security candidates607second-pass queue2881AI analyses
192commits · 30 days
486commits · 60 days
1502commits · 180 days
2875commits · 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
939Strong · 80–100
1188Adequate · 60–79
687Thin · 40–59
88Opaque · 0–39
6security candidates with opaque commit messaging
Read the scoring rubric →
Developer activity

Who is changing the project?

Public Git author strings; identities are not independently verified.

DeveloperCommitsCandidatesAnalyzedHigh riskMessage avg.
Antoine Poinsot22422170
Ava Chow15750157064
MarcoFalke41021406074
Lőrinc17721177081
fanquake22719226057
Hennadii Stepanov20914208063
rkrux57957074
Sjors Provoost89889074
Sebastian Falbesoner33733073
David Gumberg55655072
Pieter Wuille95595066
Hodlinator66566076
Analysis record

Published AI watches

Last scanned 52 minutes ago

Informational 15 AI analysisMessage 91 · Strong
BC Bitcoin CoreBitcoin Core BitcoinSupply chain

Merge bitcoin/bitcoin#35928: doc: mention -DWITH_ZMQ=ON in macOS build guide

This is a one-line documentation update to the macOS build guide. It adds a note telling users to pass a specific CMake option if they want ZeroMQ notification support. There is no code change and no security impact.

8397e09eby merge-script+1−11 file
No security note in commit
Informational 15 AI analysisMessage 100 · Strong
BC Bitcoin CoreBitcoin Core BitcoinSupply chain

Merge bitcoin/bitcoin#35482: fuzz: exercise the transaction-handling path in process_message(s)

This commit only changes Bitcoin Core's internal fuzz testing code. It makes the fuzz tests exercise more of the transaction-handling code path by toggling Initial Block Download mode and resetting the mempool between test runs. There is n…

No production code modifiedNo consensus, validation, net_processing, or wallet logic changedOnly fuzz test harnesses and test utilities affected
f11dc617by merge-script+105−798 files
No security note in commit
Informational 15 AI analysisMessage 91 · Strong
BC Bitcoin CoreBitcoin Core BitcoinSupply chain

Merge bitcoin/bitcoin#35914: test, fuzz: Remove unused variables

This commit removes unused variables from Bitcoin Core's test and fuzzing code. It is a cleanup/refactoring change with no effect on the live network software or user funds. It does not fix or introduce any security vulnerability.

d36bf709by merge-script+1−138 files
No security note in commit
Informational 15 AI analysisMessage 93 · Strong
BC Bitcoin CoreBitcoin Core BitcoinSupply chain

Merge bitcoin/bitcoin#35896: refactor: Default uint256::operator==, add operator<=>

This commit is a routine code cleanup in Bitcoin Core. It switches the uint256 equality and comparison operators to use standard C++20 defaults, removes an old custom Compare() helper, and marks an internal assertion-failure function as ne…

ed2c59abby merge-script+99−245 files
No security note in commit
Moderate 62 AI analysisMessage 96 · Strong
BC Bitcoin CoreBitcoin Core BitcoinSupply chain

Merge bitcoin/bitcoin#35872: rpc: avoid descriptor range counter overflow

This update fixes a counting bug in several Bitcoin Core RPC commands that scan descriptors. When a user requested a descriptor range ending at the maximum allowed value (2,147,483,647), the internal counter used a smaller integer type and…

Signed integer overflow in descriptor expansion loopCrash/undefined behavior on maximum-range descriptor scansAuthenticated RPC surface affected (scantxoutset, scanblocks, getdescriptoractivity, utxoupdatepsbt, descriptorprocesspsbt)
b388674aby Ava Chow+3−12 files
Vendor flagged security relevance
Informational 19 AI analysisMessage 91 · Strong
BC Bitcoin CoreBitcoin Core BitcoinSupply chain

Merge bitcoin/bitcoin#35842: rpc: Properly make RPCResult::Type::ANY non-test-only

This is a small cleanup and documentation fix for Bitcoin Core's RPC help system. It removes a comment that incorrectly said a certain output type was 'for testing only' and makes the help text properly display those outputs. There is no d…

No memory safety, cryptography, consensus, or authorization changes observedChange is confined to RPC help/schema metadata generationComment-only/type-label change from 'for testing only' to general use
c36ffd87by merge-script+42−364 files
No security note in commit
Informational 15 AI analysisMessage 93 · Strong
BC Bitcoin CoreBitcoin Core BitcoinSupply chain

Merge bitcoin/bitcoin#35895: refactor: Enable clang-tidy rule to reject anon namespace in header

This is a code cleanup change that turns on a static-analysis rule to prevent a specific C++ coding pattern (anonymous namespaces in header files) and updates two headers to comply. It does not change how Bitcoin Core behaves at runtime an…

No security-relevant code changeNo memory safety, cryptography, consensus, or network changesTooling-only refactor (clang-tidy configuration)
c4fbd3c7by merge-script+9−123 files
No security note in commit
Informational 15 AI analysisMessage 100 · Strong
BC Bitcoin CoreBitcoin Core BitcoinSupply chain

Merge bitcoin/bitcoin#35630: test: Add importdescriptors rpc error test coverage

This commit only adds new test cases to Bitcoin Core's functional test suite. It does not change any production wallet, node, or RPC code. The tests verify that the importdescriptors RPC reports errors in the right order, rejects bad times…

465196d0by merge-script+77−11 file
No security note in commit
Informational 15 AI analysisMessage 81 · Strong
BC Bitcoin CoreBitcoin Core BitcoinSupply chain

Merge bitcoin/bitcoin#35180: coins: group private cache helpers

This change is purely a code cleanup: it moves two internal helper functions of a Bitcoin Core cache class into the private section of the class and removes a duplicate 'private:' label. There is no change to what the code does, no bug fix…

c940fd75by merge-script+13−141 file
No security note in commit
Low 29 AI analysisMessage 81 · Strong
BC Bitcoin CoreBitcoin Core BitcoinSupply chain

Merge bitcoin/bitcoin#35582: rpc: reject null for optional parameters

This Bitcoin Core change tightens how three RPC commands (scantxoutset, scanblocks, deriveaddresses) handle the value null when it is passed for optional parameters. Previously, explicitly passing null could be treated differently from sim…

RPC parameter validation changeNull value handling changeAddition of explicit error checks for missing required contextual parameters
3db96eb5by merge-script+18−75 files
No security note in commit
Informational 15 AI analysisMessage 57 · Thin
BC Bitcoin CoreBitcoin Core BitcoinSupply chain

refactor: Enable misc-definitions-in-headers

This commit is a code cleanup: it turns on a clang-tidy style check called 'misc-definitions-in-headers' and suppresses that check around a large inline implementation block in a benchmark header. There is no change to Bitcoin's runtime be…

fa93132dby MarcoFalke+3−02 files
No security note in commit
Informational 15 AI analysisMessage 85 · Strong
BC Bitcoin CoreBitcoin Core BitcoinSupply chain

refactor: Enable clang-tidy rule to reject anon namespace in header

This commit only changes a linting configuration file for the project's code style checker. It enables a rule that prevents anonymous namespaces from being used in header files, which is a code-quality and build-hygiene practice. There is …

No security-relevant signals in the diff or commit message.Change is purely a static-analysis/linting configuration update.
fa5ca877by MarcoFalke+2−11 file
No security note in commit
Informational 15 AI analysisMessage 62 · Adequate
BC Bitcoin CoreBitcoin Core BitcoinSupply chain

refactor: Use C++20 std::identity over IntIdentity

This commit is a straightforward code cleanup: it replaces a small custom helper named IntIdentity with the standard C++20 std::identity from the <functional> header. The behavior of the ConvertBits function is unchanged; only the implemen…

fafe5042by MarcoFalke+4−111 file
No security note in commit
Informational 15 AI analysisMessage 87 · Strong
BC Bitcoin CoreBitcoin Core BitcoinSupply chain

test: test the result order of a multiple import request is correct

This commit only adds a new automated test to Bitcoin Core. It checks that when a user asks the wallet to import multiple descriptors at once, the list of results comes back in the same order as the original request, including any error me…

3ac8b806by Pol Espinasa+40−01 file
No security note in commit
Informational 15 AI analysisMessage 87 · Strong
BC Bitcoin CoreBitcoin Core BitcoinSupply chain

test: test invalid or missing timestamp throws importdescriptors

This commit only adds new automated tests for the Bitcoin Core wallet's importdescriptors RPC. It checks that the command correctly rejects requests with a missing or invalid timestamp. No production wallet code is changed, so this cannot …

No changes to consensus, networking, wallet logic, or cryptographyOnly functional test code is modifiedAdded assertions are for expected error handling paths
e4732bf0by Pol Espinasa+28−11 file
No security note in commit
Informational 15 AI analysisMessage 80 · Strong
BC Bitcoin CoreBitcoin Core BitcoinSupply chain

refactor: Remove unused #include in common/system

This is a minor code cleanup that removes one unused header file include and swaps another for a more specific one. It does not change any program behavior or fix any security issue.

fa7304f3by MarcoFalke+1−22 files
No security note in commit
Informational 15 AI analysisMessage 50 · Thin
BC Bitcoin CoreBitcoin Core BitcoinSupply chain

iwyu: Fix warnings in `src/consensus` and treat them as errors

This commit is a routine code cleanup: it adjusts which C++ header files are included in several consensus-related source files and turns on a stricter compiler hygiene check (Include What You Use, or IWYU) for the src/consensus directory.…

13b53f8bby Hennadii Stepanov+42−79 files
No security note in commit
Informational 15 AI analysisMessage 55 · Thin
BC Bitcoin CoreBitcoin Core BitcoinSupply chain

fuzz: don't connman.ReceiveMsgFrom oversized msg

This is a small fix to a Bitcoin Core fuzz test (an automated internal testing harness), not to the live network code. The fuzzer was sometimes creating fake P2P messages larger than the real protocol allows and passing them into a test he…

Test-only fuzz harness hardeningOversized message guard added before ReceiveMsgFrom() in fuzz targetNo change to production P2P message acceptance logic
bb19f1daby Greg Sanders+5−01 file
No security note in commit
Informational 15 AI analysisMessage 97 · Strong
BC Bitcoin CoreBitcoin Core BitcoinSupply chain

ci: Temporarily remove riscv32 config from GHA matrix

This commit simply removes one failing test configuration (RISC-V 32-bit bare metal) from the project's GitHub Actions CI matrix because it was failing. It is a routine CI maintenance change with no security implications.

fa06ea42by MarcoFalke+0−61 file
No security note in commit
Low 47 AI analysisMessage 90 · Strong
BC Bitcoin CoreBitcoin Core BitcoinSupply chain

ci: verify cross-build SDK archives

This change adds checksum verification to the build system's downloads of Apple, FreeBSD, NetBSD, and OpenBSD software development kits (SDKs). Before this patch, those SDK archives were downloaded at build time and extracted without confi…

Adds cryptographic digest verification for downloaded SDK archivesRemoves unchecked extraction of remote SDK archives in CIHardens CI supply chain for macOS/BSD cross-builds
873550beby Lőrinc+25−126 files
Vendor flagged security relevance
Repository ledger

Explore captured commits

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

Lower-prioritydepends: libxcb-util-wm 0.4.2by fanquake · d129384c · Nov 20, 2025 · 1 fileMessage 45 · ThinInformational 11Details
Commit message · fanquake

depends: libxcb-util-wm 0.4.2

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

This commit updates a build dependency called libxcb-util-wm from version 0.4.1 to 0.4.2 inside Bitcoin Core's 'depends' packaging system. It only changes the version number and the expected file hash (SHA-256) used to verify the downloaded source. There is no statement in the commit or supplied references saying this fixes a security problem, and no details about what changed in libxcb-util-wm 0.4.2 are provided. On its own, this looks like a routine dependency refresh rather than a confirmed security patch.

Lower-prioritydepends: libxcb-util-cursor 0.1.6by fanquake · 42d0692f · Nov 20, 2025 · 1 fileMessage 45 · ThinInformational 15Details
Commit message · fanquake

depends: libxcb-util-cursor 0.1.6

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

This commit simply updates a third-party graphics library used by Bitcoin Core's build system from version 0.1.5 to 0.1.6, along with its corresponding checksum. There is no indication in the commit itself that this fixes a security problem, and no security-relevant information is provided.

AI review queueddepends: libxcb 1.15by fanquake · 25b85919 · Nov 20, 2025 · 1 fileMessage 28 · OpaqueInformational 13Details
Commit message · fanquake

depends: libxcb 1.15

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

This commit updates the libxcb dependency used when building Bitcoin Core from source. It bumps the version from 1.14 to 1.15, switches the download archive format from .tar.xz to .tar.gz, updates the SHA-256 checksum, and refreshes a documentation link. There is no direct evidence in the commit that this fixes a specific security vulnerability, but dependency updates can include upstream security fixes.

Lower-prioritydepends: libxcb-util-image 0.4.1by fanquake · 74b68ad2 · Nov 20, 2025 · 1 fileMessage 45 · ThinInformational 15Details
Commit message · fanquake

depends: libxcb-util-image 0.4.1

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

This commit simply updates a dependency package version for libxcb-util-image from 0.4.0 to 0.4.1 in Bitcoin Core's build system, along with its corresponding SHA-256 hash. There is no indication in the commit itself of any security issue. It is a routine dependency bump.

Lower-prioritydepends: libxcb-util-keysyms 0.4.1by fanquake · 35e50488 · Nov 20, 2025 · 1 fileMessage 45 · ThinInformational 14Details
Commit message · fanquake

depends: libxcb-util-keysyms 0.4.1

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

This commit updates a dependency used by Bitcoin Core's build system from version 0.4.0 to 0.4.1 of libxcb-util-keysyms, a small helper library for X11 keyboard handling. The change itself is a routine version bump with a new checksum. There is no direct evidence in the commit that this fixes a security vulnerability, but updating dependencies can sometimes address bugs or security issues in the upstream library.

Lower-prioritydepends: libxcb-util 0.4.1by fanquake · 5bc0dde8 · Nov 20, 2025 · 1 fileMessage 45 · ThinInformational 11Details
Commit message · fanquake

depends: libxcb-util 0.4.1

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

This commit updates a build dependency, libxcb-util, from version 0.4.0 to 0.4.1 in Bitcoin Core's packaging system. It only changes the version number and the expected file hash (SHA-256) used to verify the downloaded source. There is no direct evidence in the commit that this fixes a security vulnerability, but dependency updates can sometimes include upstream bug or security fixes. Without external references, the security relevance is unclear.

Lower-prioritydepends: libxcb-util-renderutil 0.3.10by fanquake · 0b857ae9 · Nov 20, 2025 · 1 fileMessage 45 · ThinInformational 11Details
Commit message · fanquake

depends: libxcb-util-renderutil 0.3.10

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

This commit simply bumps the version of a third-party graphics-related library (libxcb-util-renderutil) used when building Bitcoin Core's dependencies. The change updates the version number and its corresponding cryptographic hash so the build system downloads the newer release. There is no direct evidence in the commit that this fixes a security vulnerability, and the library is only used in build tooling for graphical wallet support, not in Bitcoin's core networking or consensus code.

AI review queueddepends: libXau 1.0.12by fanquake · 8d07292c · Nov 20, 2025 · 1 fileMessage 38 · OpaqueInformational 15Details
Commit message · fanquake

depends: libXau 1.0.12

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

This commit simply bumps the version of a third-party graphics-related library (libXau) used in Bitcoin Core's build dependencies from 1.0.9 to 1.0.12, updating the corresponding download hash. There is no indication in the commit itself that this fixes a security issue, and no security references were provided.

Lower-priorityrefactor: Use reference for chain_start in HeadersSyncStateby Daniela Brozzoni · de4242f4 · Nov 20, 2025 · 5 filesMessage 85 · StrongInformational 15Details
Commit message · Daniela Brozzoni

refactor: Use reference for chain_start in HeadersSyncState

chain_start can never be null, so it's better to pass it as a reference
rather than a raw pointer

Also slightly reformat HeaderSyncState constructor to make clang-format
happy

Lastly, remove `const` from `chain_start` declaration in
headers_sync_chainwork_tests, to work aroud a false-positive
dangling-reference warning in gcc 13.0

Co-Authored-By: maflcko <6399679+maflcko@users.noreply.github.com>

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

This is a code cleanup (refactor) that changes how one internal data structure receives a known-valid block index. It replaces a raw pointer with a C++ reference because the value is never null. There is no functional change to how Bitcoin validates blocks, syncs headers, or handles network data, and no security vulnerability is fixed or introduced.

AI review queuedtest: Fix race condition in IPC interface block propagation testby Fabian Jahr · 2578e6fc · Nov 19, 2025 · 1 fileMessage 72 · AdequateInformational 15Details
Commit message · Fabian Jahr

test: Fix race condition in IPC interface block propagation test

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

This commit fixes a test-only race condition in a Bitcoin Core functional test. It changes which node is checked first when verifying that a newly submitted block has propagated, so the test waits for the local node to update its own chain before checking that all nodes agree. There is no change to production code, no user-facing behavior change, and no security vulnerability in the Bitcoin Core software itself.

Lower-prioritydoc: Drop (default: none) from -i2psam descriptionby Ryan Ofsky · 288b8c30 · Nov 19, 2025 · 1 fileMessage 73 · AdequateInformational 15Details
Commit message · Ryan Ofsky

doc: Drop (default: none) from -i2psam description

Suggested by Vojtěch Strnad (vostrnad)
https://github.com/bitcoin/bitcoin/pull/33770#discussion_r2529117675

73/100 · AdequateMessage clarity
✓ Specific, descriptive subject✓ Names a concrete action or component✓ Provides an explanatory body✓ Links an issue, advisory, or supporting reference
AI analysis · Informational 15/100

This commit is a one-word documentation cleanup. It removes the phrase '(default: none)' from the help text describing the -i2psam command-line option in Bitcoin Core. The actual behavior of the software does not change; only the user-visible description is slightly simplified for consistency with other options.

Lower-prioritydepends: Add patch for Windows11Style pluginby Hennadii Stepanov · 8558902e · Nov 18, 2025 · 2 filesMessage 45 · ThinInformational 18Details
Commit message · Hennadii Stepanov

depends: Add patch for Windows11Style plugin

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

This commit adds a build-time patch for the Qt GUI toolkit used by Bitcoin Core's Windows builds. The patch fixes a visual/layout bug in the Windows 11 visual style where spinbox controls (number/date input fields with up/down buttons) could be sized incorrectly or have their user-set widths overridden. It is a cosmetic/user-experience fix, not a security patch.

Security candidateMerge bitcoin/bitcoin#31734: miniscript: account for all `StringType` variants in `Miniscriptdescriptor::ToString()`by Ava Chow · 53b72372 · Nov 18, 2025 · 2866 filesMessage 91 · StrongLow 26Details
Commit message · Ava Chow

Merge bitcoin/bitcoin#31734: miniscript: account for all `StringType` variants in `Miniscriptdescriptor::ToString()`

28a4fcb03c0fb1cd5112eca1eb36dcb13e0b4ff2 test: check listdescriptors do not return a mix of hardened derivation marker (pythcoiner)
975783cb79e929260873c1055d4b415cd33bb6b9 descriptor: account for all StringType in MiniscriptDescriptor::ToStringHelper() (pythcoiner)

Pull request description:

In `MiniscriptDescriptor::ToStringHelper()` only the `StringType::Private` variant of the `type` argument was handled. This PR implements serializing w/ all variants of `StringType` & add a functional test for the descriptor triggering the related issue.

Closes #31694: previously when calling `listdescriptors` RPC on a wallet containing a taproot descriptor w/ a (miniscript) taptree, origins of internal key & taptree were serialized w/ differents hardened derivation markers:
- origin of the internal key were serialized w/ `StringType::Normalized` type (using `h` as marker)
- origins of taptree keys were serialized w/ `StringType::Private` type (using `'` as marker)

Note: Origins in segwit (`wsh()`) miniscript descriptors were also serialized w/ `StringType::Private` type (`'` marker) and are now serialized w/ `StringType::Normalized` type (`h` marker).

ACKs for top commit:
sipa:
Code review ACK 28a4fcb03c0fb1cd5112eca1eb36dcb13e0b4ff2
achow101:
ACK 28a4fcb03c0fb1cd5112eca1eb36dcb13e0b4ff2
rkrux:
Concept ACK 28a4fcb03c0fb1cd5112eca1eb36dcb13e0b4ff2

Tree-SHA512: 15d14000b5951ca69a64a05b9a0b138c48a07b81eaf2fa86b91ac20cc8735533355a787363c64ba88403dd8a56ef5232cba57d34bea80835a0f40774d62fbc2b

91/100 · StrongMessage clarity
✓ Specific, descriptive subject✓ Names a concrete action or component✓ Provides detailed explanatory context✓ Mentions testing or verification✓ Links an issue, advisory, or supporting reference
Why it was queued
defensive validationcryptography-sensitive pathseed or entropy pathsigning or wallet pathboot or update pathauthentication pathparser or protocol pathmerge-commit duplicate discount
AI analysis · Low 26/100

This commit fixes a formatting inconsistency in how Bitcoin Core's wallet describes certain advanced 'miniscript' descriptors. When a user called the listdescriptors RPC, the same descriptor could contain a mix of 'h' and ''' markers for hardened derivation paths, depending on whether the key was inside a Taproot taptree or not. The patch makes the output uniform. It is a correctness/usability bug rather than a direct loss-of-funds vulnerability, but inconsistent descriptors can confuse downstream tools or users who compare or re-import descriptor strings.

Lower-prioritydoc: Add missing --platform=linux to docker build commandby MarcoFalke · 55555db0 · Nov 18, 2025 · 1 fileMessage 65 · AdequateInformational 16Details
Commit message · MarcoFalke

doc: Add missing --platform=linux to docker build command

This is required to pick the native arch, similar to how the
CI_IMAGE_PLATFORM is set to linux.

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

This is a one-line documentation fix in a README file. It adds a missing '--platform=linux' flag to a Docker build command example used by developers running linting tools locally. There is no code change, no security vulnerability, and no risk to users.

Lower-priorityci: Re-enable LINT_CI_SANITY_CHECK_COMMIT_SIGby MarcoFalke · fa0ce4c1 · Nov 18, 2025 · 2 filesMessage 70 · AdequateInformational 18Details
Commit message · MarcoFalke

ci: Re-enable LINT_CI_SANITY_CHECK_COMMIT_SIG

With the move from cirrus-ci to GHA, the CIRRUS_REPO_FULL_NAME env var
was always unset, never triggering the sanity check.

Fix this by introducing a new vendor-agnostic env var and setting it
properly.

70/100 · AdequateMessage clarity
✓ Descriptive subject✓ Uses a recognizable type or scope✓ Provides detailed explanatory context
AI analysis · Informational 18/100

This commit fixes a broken CI safety check. When Bitcoin Core moved from Cirrus CI to GitHub Actions, an automated check that verifies commit signatures on the official repository stopped running because it looked for an old environment variable that no longer existed. The patch introduces a new environment variable so the signature check runs again on non-pull-request pushes to the official bitcoin/bitcoin repository. It is a CI hardening fix, not a vulnerability in the Bitcoin software itself.

Lower-priorityci: [refactor] Rename CIRRUS_PR env var to LINT_CI_IS_PRby MarcoFalke · faa0973d · Nov 18, 2025 · 2 filesMessage 85 · StrongInformational 15Details
Commit message · MarcoFalke

ci: [refactor] Rename CIRRUS_PR env var to LINT_CI_IS_PR

The CIRRUS_PR env var was cirrus-specific and using a provider-agnostic
name makes more sense.

Also, enable pipefail, while touching this file.

This refactor is needed for the next commit.

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

This is a routine internal cleanup of the Bitcoin Core continuous integration (CI) lint scripts. It renames an environment variable from a Cirrus-specific name to a provider-agnostic one and enables a stricter shell option for catching pipeline failures. There is no user-facing change and no security-relevant behavior change.

Lower-priorityci: Consistenly only cache on the default branchby MarcoFalke · fa411f93 · Nov 18, 2025 · 1 fileMessage 57 · ThinInformational 19Details
Commit message · MarcoFalke

ci: Consistenly only cache on the default branch

57/100 · ThinMessage clarity
✓ Descriptive subject✓ Names a concrete action or component✓ Uses a recognizable type or scope! No meaningful explanatory body
Why it was queued
documentation-only discount
AI analysis · Informational 19/100

This change adjusts Bitcoin Core's GitHub Actions CI workflow so that build caches are only saved when running on the repository's default branch (e.g., 'master'). Previously, caches could be saved from non-default branches too. The patch is a hardening measure: it reduces the risk that a malicious or compromised branch could poison shared CI caches used by later builds. It is not a fix for an active exploit in Bitcoin Core's shipped software, but rather a defensive tightening of the project's own build infrastructure.

Security candidatetest: add functional test for new cluster mempool RPCsby Suhas Daftuar · 6c5c44f7 · Nov 18, 2025 · 5 filesMessage 87 · StrongInformational 15Details
Commit message · Suhas Daftuar

test: add functional test for new cluster mempool RPCs

Co-authored-by: glozow <gloriajzhao@gmail.com>

87/100 · StrongMessage clarity
✓ Specific, descriptive subject✓ Names a concrete action or component✓ Uses a recognizable type or scope✓ Provides an explanatory body✓ Mentions testing or verification
Why it was queued
boot or update path
AI analysis · Informational 15/100

This commit only adds new automated tests for Bitcoin Core's mempool cluster features. It does not change any production code that runs on real Bitcoin nodes, so it cannot introduce a security vulnerability or directly fix one in the live software.

AI review queuedExpose cluster information via rpcby Suhas Daftuar · 21693f03 · Nov 18, 2025 · 6 filesMessage 60 · AdequateInformational 20Details
Commit message · Suhas Daftuar

Expose cluster information via rpc

Co-authored-by: glozow <gloriajzhao@gmail.com>

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

This commit adds new read-only ways to inspect Bitcoin's mempool through RPC: it exposes 'cluster' information for transactions, adds chunk-based fee/weight fields to existing mempool entries, and introduces a hidden diagnostic command that prints the mempool's feerate diagram. It is a feature/informational change, not a fix for a known vulnerability. There is no evidence in the commit or supplied references that it addresses a security bug or was triggered by a security report.

Lower-prioritydoc: Update mempool_replacements.md to reflect feerate diagram checksby Suhas Daftuar · 72f60c87 · Nov 18, 2025 · 1 fileMessage 50 · ThinInformational 15Details
Commit message · Suhas Daftuar

doc: Update mempool_replacements.md to reflect feerate diagram checks

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 a documentation file describing Bitcoin Core's mempool replacement policy. It removes outdated rules and adds notes about newer 'feerate diagram' checks and cluster mempool behavior. There are no code changes, no executable changes, and no security fix or vulnerability introduced.

Lower-priorityFix miniminer_tests to work with cluster limitsby Suhas Daftuar · 1ca4f010 · Nov 18, 2025 · 1 fileMessage 45 · ThinInformational 15Details
Commit message · Suhas Daftuar

Fix miniminer_tests to work with cluster limits

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

This commit only changes a test file (miniminer_tests.cpp) so that existing unit tests still pass after a new mempool 'cluster limit' rule was introduced. It does not change any production code that runs on real Bitcoin nodes, so it cannot directly affect live network security or be exploited by attackers.

Lower-priorityfuzz: try to add more code coverage for mempool fuzzingby Suhas Daftuar · 72e74e0d · Nov 18, 2025 · 2 filesMessage 75 · AdequateInformational 12Details
Commit message · Suhas Daftuar

fuzz: try to add more code coverage for mempool fuzzing

Including test coverage for mempool eviction and expiry

75/100 · AdequateMessage clarity
✓ Specific, descriptive subject✓ Names a concrete action or component✓ Provides an explanatory body✓ Mentions testing or verification
Why it was queued
fuzzing or regression evidence
AI analysis · Informational 12/100

This commit is a test-only change. It expands Bitcoin Core's fuzz testing for the transaction memory pool (mempool) to cover more behaviors like eviction, expiry, reorg handling, and block template creation. It also adds a sanity check inside the mempool's own consistency verification code. There is no indication this fixes a security vulnerability or changes production network behavior.

Lower-priorityAvoid violating mempool policy limits in testsby Suhas Daftuar · 7976eb1a · Nov 18, 2025 · 3 filesMessage 78 · AdequateInformational 16Details
Commit message · Suhas Daftuar

Avoid violating mempool policy limits in tests

Changes AddToMempool() helper to only apply changes if the mempool limits are
respected.

Fix package_rbf fuzz target to handle mempool policy violations

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

This commit fixes Bitcoin Core's own internal test and fuzzing helpers so they stop trying to add fake transactions to the test mempool in ways that break the real mempool policy rules. It does not change production network code, wallet behavior, or consensus rules. The change only affects test utilities and one fuzz target, making the tests more realistic and preventing false fuzz failures.

Lower-priorityStop tracking parents/children outside of txgraphby Suhas Daftuar · 84de685c · Nov 18, 2025 · 3 filesMessage 45 · ThinInformational 12Details
Commit message · Suhas Daftuar

Stop tracking parents/children outside of txgraph

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

This commit is a code cleanup in Bitcoin Core's memory pool (mempool). It removes duplicate bookkeeping: parent/child relationships between transactions used to be tracked both inside each mempool entry object and inside a newer 'txgraph' module. The change makes txgraph the single source of truth for those relationships. There is no direct evidence in the commit or supplied references that this fixes a security vulnerability; it appears to be a refactoring to simplify data structures and reduce maintenance risk.

Lower-priorityRewrite GatherClusters to use the txgraph implementationby Suhas Daftuar · 88672e20 · Nov 18, 2025 · 1 fileMessage 50 · ThinLow 28Details
Commit message · Suhas Daftuar

Rewrite GatherClusters to use the txgraph implementation

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

This commit rewrites an internal Bitcoin Core function called GatherClusters so it uses a newer transaction graph (txgraph) implementation instead of manually walking parent/child relationships. The change is a refactor that preserves the same 500-entry DoS limit but moves where and how that limit is enforced. There is no direct evidence in the commit that this fixes a security bug, but refactors of mempool cluster logic can affect denial-of-service protections.