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.
Message quality measures whether a commit identifies its scope, purpose, rationale, testing, and supporting references. It does not change the security-severity score.
This update fixes a way that people with limited access to a Bitcoin node could make fake log entries appear real. Normally, the node cleans up special characters in log messages but was leaving newlines alone. A clever user could slip a n…
Log injection / log forgery via embedded newlines in untrusted inputInput from restricted RPC users reaching log output without newline escapingControl-character escaping bypass due to explicit newline exception
This commit fixes a one-word typo in a comment inside a test file. The comment incorrectly referred to 'walletcreatepsbt' when the surrounding test code actually calls 'walletcreatefundedpsbt'. No code behavior changes, and there is no sec…
This commit fixes a typo in a comment within a test file. The comment incorrectly referred to 'walletcreatepsbt' when the surrounding test code actually exercises 'walletcreatefundedpsbt'. No code behavior changes, and there is no security…
This commit is a documentation-only update. It adds a single line to Bitcoin Core's list of implemented BIPs, noting that BIP 461 (a technique for making ECDSA signatures smaller and deterministic) has been implemented since version 0.17.0…
This patch fixes a bug in Bitcoin Core's `sendall` wallet command. If a user typed a bech32 address in uppercase letters, the command would fail with a confusing 'below dust threshold' error instead of sending the funds. The fix compares d…
Functional bug in RPC command causing unexpected transaction failureCase-sensitivity mismatch between user input and canonical address encodingNo memory safety, cryptographic, or authorization issue evident
This commit fixes a flaky automated test in Bitcoin Core. The test was checking the maximum transaction fee rate by creating a transaction at the exact boundary, which sometimes failed because the real transaction size could be slightly sm…
No production code changedTest-only changeNo memory safety, cryptography, consensus, or authorization changes
This is a build-system maintenance update for Bitcoin Core's reproducible build environment (Guix). It updates the Guix time-machine commit and several dependency versions, and temporarily disables some test suites that fail when building …
No direct security-relevant code change in Bitcoin Core consensus, wallet, or P2P layers.Dependency version bumps (git-minimal, linux-headers, python-lief, python-minimal) are routine build-environment updates.Disabling third-party package test suites reduces build-time test coverage but does not alter Bitcoin Core's own test or release binaries.
This change makes three Bitcoin command-line tools (bitcoin-tx, bitcoin-util, and bitcoin-wallet) automatically pick the fastest SHA-256 hashing implementation available on the computer, such as hardware-accelerated versions on modern CPUs…
This is a one-line fix in Bitcoin Core's network code. It changes how the size of a list of block headers is converted to a signed integer inside a loop. Previously, if the list was empty, the conversion could trigger undefined-behavior wa…
UndefinedBehaviorSanitizer integer sanitizer warning addressedImplicit signed/unsigned conversion in loop counterUnsigned integer wraparound on empty vector size
This change fixes a Bitcoin Core wallet bug where the `importprunedfunds` RPC command could only re-import transactions that sent money to the wallet, not transactions that spent money from it. After this fix, both incoming and outgoing tr…
Logic bug in wallet transaction import scopeIncorrect balance possible after removing and re-importing spending transactionFix routes import through existing involvement check (IsMine + IsFromMe)
This commit adds a new Bitcoin Core wallet startup option called -maxfeerate. It lets users set a maximum fee rate (fee per unit of transaction size) that the wallet will allow when creating or broadcasting transactions. Previously, the wa…
New wallet startup option -maxfeerate to cap transaction fee rateNew transaction error type MAX_FEE_RATE_EXCEEDEDBroadcastTransaction now checks both max absolute fee and max fee rate
This Bitcoin Core update fixes a wallet-signing quirk. When a user chose the SIGHASH_SINGLE signature mode, an input that had no matching output index would sign essentially nothing meaningful. That signature could then stay valid even if …
Funds-redirection footgun from SIGHASH_SINGLE signatures with no committed outputInconsistent guard between SignTransaction and SignPSBTInput pathsFix centralizes the guard in the low-level signature creator to cover future signing paths
This change updates Bitcoin Core's I2P (Invisible Internet Project) privacy network settings to use newer, stronger encryption for the published 'leaseset' that describes how other peers can contact a node. The old setting included ElGamal…
Cryptographic algorithm update (ElGamal to MLKEM-768)Use of I2P 'legacy' encryption type removedConfiguration-only change in network privacy layer
This change fixes a labeling bug in Bitcoin Core's first-run disk-space warning. The estimate was stored in GiB (binary gigabytes, 1024-based) but displayed as GB (decimal gigabytes, 1000-based), and for pruned nodes it showed the full-cha…
This is a wallet bug, not a theft or remote-code bug. When a Bitcoin Core user turns on the optional 'avoidpartialspends' or 'avoid_reuse' setting, an output group rejected during coin selection could be counted twice as 'discarded.' That …
Logic error causing double-counting of discarded UTXO groupsCan trigger false 'insufficient funds' failure in coin selectionAffects avoidpartialspends / avoid_reuse wallets only
This is a documentation-only fix in a tutorial file. It changes two shell examples from using '>>' (append to file) to '>' (overwrite file). If a user followed the old instructions and ran the same command twice, the file would contain two…
No security signal: change is limited to documentationNo code changes to Bitcoin Core binaries, RPC, wallet, or consensus logicNo cryptographic, network, or privilege-boundary implications
This is a large internal code reorganization (refactor) in Bitcoin Core. It creates a new BlockTemplateManager class that takes over block-template creation, block submission, and tip-waiting helpers that were previously spread across seve…
Large refactor touching mining, RPC, interfaces, and test shutdown pathsNew object lifetime dependency: BlockTemplateManager holds references to mempool, chainman, and notifications; explicit reset ordering added in Shutdown/InitAndLoadChainstate/test setupsRemoval of early-init node.mining interface; BlockTemplateManager is now created after chainstate load, with a comment that it must exist before setChainstateLoaded(true) unblocks IPC waiters
This commit adds the first implementation of BIP352 (Silent Payments) to Bitcoin Core. Silent Payments are a new type of privacy-preserving Bitcoin address that lets someone receive payments without publicly revealing a fixed address. The …
New cryptographic feature implementation (BIP352 Silent Payments)Extensive use of secp256k1 silentpayments moduleInput public key extraction from P2PKH, P2WPKH, P2SH-P2WPKH, and P2TR inputs
This update fixes a wallet database loading bug where a damaged or tampered Bitcoin wallet file could cause the program to read past the end of a stored extended public key (xpub). The patch makes the loader check the stored xpub length be…
Out-of-bounds read in wallet descriptor cache deserializationASan container-overflow triggered by malformed on-disk recordMissing length validation between record size prefix and fixed-size decoder
This commit adds a new wallet RPC called listrawtransactions to Bitcoin Core. It is a feature addition that lets users list every transaction their wallet knows about, including internal transfers and consolidations that the existing listt…
No security-relevant bug fix or vulnerability patch is present in the diff.New RPC exposes additional wallet transaction metadata, but only to callers already authorized for wallet RPCs.Code is a refactor of existing gettransaction logic into shared helpers; no new cryptographic, network, or consensus code.
Expand any commit for its author, full message, clarity score, changed files, triage signals, analysis, and source link.
AI review queuedfuzz: Use NodeClockContextby MarcoFalke · fa8fe094 · Mar 20, 2026 · 1 fileMessage 68 · AdequateInformational 15Details
Commit message · MarcoFalke
fuzz: Use NodeClockContext
This refactor is a follow-up to commit eeeeb2a0b902ed69b5cd5523833d3ab5d963c81f and does not change any behavior.
However, it is nice to know that no global mocktime leaks from the fuzz init step to the first fuzz input, or from one fuzz input execution to the next. With the clock context, the global is re-set at the end of the context.
fuzzing or regression evidencesigning or wallet pathsecond-pass: security-sensitive path
AI analysis · Informational 15/100
This is a tiny internal test-only code cleanup in Bitcoin Core's fuzzing harness. It replaces a direct call that sets a fake global clock with a helper object that automatically resets the fake clock when it goes out of scope. The commit message explicitly says it does not change behavior. There is no indication this affects real Bitcoin node software, wallets, or the live network.
Lower-prioritytest: Allow time_point in boost checksby MarcoFalke · fa9f434d · Mar 20, 2026 · 1 fileMessage 67 · AdequateInformational 15Details
Commit message · MarcoFalke
test: Allow time_point in boost checks
This is required in the next commit.
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 is a tiny test-only code change that lets Boost unit tests print std::chrono::time_point values when a check fails. It only touches a test helper header, adds a standard library include, and defines a stream output operator. There is no production code change and no security relevance.
Lower-priorityrefactor: Use current_time over redundant call to Now()by MarcoFalke · faaea789 · Mar 20, 2026 · 1 fileMessage 77 · AdequateInformational 15Details
Commit message · MarcoFalke
refactor: Use current_time over redundant call to Now()
This also better reflects the meaning and use.
77/100 · AdequateMessage clarity
✓ Specific, descriptive subject✓ Names a concrete action or component✓ Uses a recognizable type or scope✓ Provides an explanatory body
AI analysis · Informational 15/100
This is a minor code cleanup in Bitcoin Core's network address handling. It replaces two separate calls that both retrieved the current time with a single shared call. There is no security-relevant change; the behavior is functionally identical.
Lower-priorityrefactor: Use NodeClock::time_point for m_addr_token_timestampby MarcoFalke · 3333c502 · Mar 20, 2026 · 1 fileMessage 77 · AdequateInformational 15Details
Commit message · MarcoFalke
refactor: Use NodeClock::time_point for m_addr_token_timestamp
This refactor makes the field a bit more type-safe.
77/100 · AdequateMessage clarity
✓ Specific, descriptive subject✓ Names a concrete action or component✓ Uses a recognizable type or scope✓ Provides an explanatory body
AI analysis · Informational 15/100
This is a minor code cleanup that swaps one internal clock type for another equivalent one. It does not change what the program actually does, so it has no security relevance for users.
Lower-prioritytests: applied PYTHON_GIL to the env for every testby kevkevinpal · b14f2c76 · Mar 19, 2026 · 1 fileMessage 60 · AdequateInformational 15Details
Commit message · kevkevinpal
tests: applied PYTHON_GIL to the env for every test
60/100 · AdequateMessage clarity
✓ Specific, descriptive subject✓ Names a concrete action or component✓ Mentions testing or verification! No meaningful explanatory body
AI analysis · Informational 15/100
This commit changes only the internal test runner for Bitcoin Core. It forces Python's Global Interpreter Lock (GIL) to be enabled when running functional tests, because some optional Python libraries used during testing can misbehave or print warnings on newer 'free-threaded' Python builds where the GIL is disabled by default. There is no change to Bitcoin Core's production code, network behavior, wallet handling, or consensus logic.
Including the missing `<span>` header in `serialize.h` allows IWYU to correctly evaluate its redundancy elsewhere.
60/100 · AdequateMessage clarity
✓ Descriptive subject✓ Names a concrete action or component✓ Provides an explanatory body
AI analysis · Informational 15/100
This is a routine code cleanup: a missing standard library header is added to one central file, allowing nine other files to stop including it directly. It does not change program behavior or fix any security issue.
Security candidatewallet: feebumper, fix crash when combined bump fee is unavailableby furszy · 6072a2a6 · Mar 19, 2026 · 1 fileMessage 73 · AdequateLow 45Details
Commit message · furszy
wallet: feebumper, fix crash when combined bump fee is unavailable
When a large cluster of unconfirmed transactions exceeds the limit, calculateCombinedBumpFee() returns std::nullopt.
Previously, we continued executing and the optional value was accessed unconditionally, leading to a std::bad_optional_access exception.
Fix this by returning early when the returned bumped fee is null.
Note: This is a crash for the GUI, and an uncaught exception for the RPC bumpfee and psbtbumpfee.
73/100 · AdequateMessage clarity
✓ Specific, descriptive subject✓ Names a concrete action or component✓ Provides detailed explanatory context
Why it was queued
signing boundarysigning or wallet path
AI analysis · Low 45/100
This commit fixes a bug in Bitcoin Core's transaction fee-bumping feature. When a user tried to increase the fee on a transaction that was tied to a very large cluster of unconfirmed transactions, the software could not calculate the required fee and returned an empty value. The old code then tried to use that empty value anyway, causing the program to crash (in the GUI) or throw an unhandled exception (in command-line tools). The fix simply checks for the empty value and returns a proper error message instead of crashing.
AI review queuedscripted-diff: Rename `WAIT_TIMEOUT` to `TEST_WAIT_TIMEOUT`by Hennadii Stepanov · 658e68f9 · Mar 19, 2026 · 1 fileMessage 83 · StrongInformational 15Details
Commit message · Hennadii Stepanov
scripted-diff: Rename `WAIT_TIMEOUT` to `TEST_WAIT_TIMEOUT`
On Windows, the `winerror.h` header defines `WAIT_TIMEOUT` as a macro.
This introduces a fragile dependency on header inclusion order: if Windows headers happen to be included before using `WAIT_TIMEOUT`, the preprocessor expands it into a numeric literal, causing syntax errors.
Rename the variable to `TEST_WAIT_TIMEOUT` to remove this fragility and avoid the collision entirely.
✓ Specific, descriptive subject✓ Names a concrete action or component✓ Provides detailed explanatory context✓ Mentions testing or verification
Why it was queued
second-pass: broader security terminology
AI analysis · Informational 15/100
This commit renames a test-only constant from WAIT_TIMEOUT to TEST_WAIT_TIMEOUT because the old name conflicts with a Windows system macro. It is a build hygiene fix inside the test suite and does not change any production code or affect live Bitcoin network behavior.
Replace the elided "JSONRPC error" placeholder in the importdescriptors RPC help with explicit "code" and "message" fields.
This makes the documented result schema match the structured error object returned in practice.
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 15/100
This commit is a documentation-only change. It updates the help text for the importdescriptors command to show that error responses include a numeric 'code' and a text 'message', instead of a vague placeholder. No code behavior changed, and there is no security issue here.
ci: Avoid intermittent Windows generate download failures
62/100 · AdequateMessage clarity
✓ Specific, descriptive subject✓ Names a concrete action or component✓ Uses a recognizable type or scope! No meaningful explanatory body
Why it was queued
documentation-only discount
AI analysis · Informational 15/100
This is a routine reliability improvement for Bitcoin Core's automated Windows build scripts. It adds a single retry with a short pause when a build-generation step fails, likely due to temporary network hiccups during CI runs. There is no security relevance.
AI review queuedtest: Remove confusing assert_debug_log in wallet_reindex.pyby MarcoFalke · fa30951a · Mar 19, 2026 · 1 fileMessage 72 · AdequateInformational 15Details
Commit message · MarcoFalke
test: Remove confusing assert_debug_log in wallet_reindex.py
72/100 · AdequateMessage clarity
✓ Specific, descriptive subject✓ Names a concrete action or component✓ Uses a recognizable type or scope✓ Mentions testing or verification! No meaningful explanatory body
Why it was queued
signing or wallet pathsecond-pass: security-sensitive path
AI analysis · Informational 15/100
This commit only changes a single test file. It removes a debug-log assertion and slightly simplifies how a test node is restarted during a reindex test. There is no change to production Bitcoin Core code, no security fix, and no vulnerability.
Lower-prioritytest: [refactor] Use verbosity=0 named argby MarcoFalke · faf71d6c · Mar 18, 2026 · 1 fileMessage 82 · StrongInformational 15Details
Commit message · MarcoFalke
test: [refactor] Use verbosity=0 named arg
This is less confusing than the verbose=0 alias.
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 15/100
This is a tiny test-only code cleanup. It changes one argument name from verbose=0 to verbosity=0 inside a test helper function. It does not touch live Bitcoin network code, wallets, consensus rules, or any user-facing behavior. There is no security relevance.
Lower-prioritytest: Fix intermittent issue in feature_assumeutxo.pyby MarcoFalke · 99996f6c · Mar 18, 2026 · 1 fileMessage 72 · AdequateInformational 15Details
Commit message · MarcoFalke
test: Fix intermittent issue in feature_assumeutxo.py
72/100 · AdequateMessage clarity
✓ Specific, descriptive subject✓ Names a concrete action or component✓ Uses a recognizable type or scope✓ Mentions testing or verification! No meaningful explanatory body
AI analysis · Informational 15/100
This commit fixes a flaky test in Bitcoin Core's own test suite. It replaces a method that restarted a test node and relied on timing-sensitive behavior with a simpler helper that directly syncs blocks to a specific height. There is no change to production code, no security vulnerability, and no risk to real users.
✓ Descriptive subject✓ Names a concrete action or component! No meaningful explanatory body
AI analysis · Informational 18/100
This commit removes the `dsymutil` tool from Bitcoin Core's dependency build system. `dsymutil` is a macOS developer tool used to bundle debug symbols into a separate file. The change is a cleanup: the build system no longer looks for or configures this tool because it is reportedly no longer needed. There is no indication this fixes or introduces a security vulnerability.
Lower-priorityvalidation: Move block into BlockDisconnected signalby sedited · d6f680b4 · Mar 18, 2026 · 3 filesMessage 73 · AdequateInformational 16Details
Commit message · sedited
validation: Move block into BlockDisconnected signal
This makes existing behaviour of the block's destructor triggering on the scheduler thread more explicit by moving it to the thread. The scheduler thread doing so is useful, since it does not block the thread doing validation while releasing a block's memory.
DisconnectTip already creates and destroys the block itself, so moving it into the validation signals is well scoped.
73/100 · AdequateMessage clarity
✓ Specific, descriptive subject✓ Names a concrete action or component✓ Provides detailed explanatory context
AI analysis · Informational 16/100
This commit is a small internal cleanup in how Bitcoin Core notifies other parts of the program when a block is disconnected from the chain. It changes the notification so that ownership of the block data is transferred into the background scheduler thread, making the existing behavior more explicit. There is no indication this fixes a security vulnerability or introduces a new attack.
Lower-priorityvalidation: Move block into BlockConnected signalby sedited · 4d02d2b3 · Mar 18, 2026 · 3 filesMessage 80 · StrongInformational 17Details
Commit message · sedited
validation: Move block into BlockConnected signal
This makes existing behaviour of the block's destructor triggering on the scheduler thread more explicit by moving it to the thread. The scheduler thread doing so is useful, since it does not block the thread doing validation while releasing a block's memory.
Previously, both the caller and the queued event lambda held copies of the shared_ptr. The block would typically be freed on the scheduler thread - but only because it went out of scope before the queued event on the scheduler thread ran. If the scheduler ran first, the block would instead be freed on the validation thread.
Now, ownership is transferred at each step when invoking the BlockConnected signal: connected_blocks yields via std::move, BlockConnected takes by value, and the event lambda move-captures the shared_ptr. Though it is possible that this only decrements the block's reference count, blocks are also read from disk in `ConnectTip`, which now explicitly results in their memory being released on the scheduler thread.
80/100 · StrongMessage clarity
✓ Descriptive subject✓ Names a concrete action or component✓ Provides detailed explanatory context✓ Explains rationale or failure mode
AI analysis · Informational 17/100
This commit is a small internal cleanup in how Bitcoin Core hands off newly connected blocks to background notification threads. It moves a block's shared ownership explicitly onto the scheduler thread so the heavy validation thread is not delayed by memory cleanup. There is no user-facing bug fix or security vulnerability being patched; it is a performance and clarity improvement.
Lower-priorityvalidation: Move validation signal events to task runnerby sedited · 8b0fb64c · Mar 18, 2026 · 1 fileMessage 73 · AdequateInformational 18Details
Commit message · sedited
validation: Move validation signal events to task runner
Currently arguments passed through the validation interface are copied three times. Once on capture in the event, again when the event itself is copied into the task runner lambda, and when the various arguments used by the logging statement are copied into the lambda.
This change avoids the variables captured by the event being copied again. Next to avoiding needless copies, this is done in preparation of the following two commits, which seek to clarify the ownership semantics of the blocks passed through the validation interface.
✓ Specific, descriptive subject✓ Names a concrete action or component✓ Provides detailed explanatory context
AI analysis · Informational 18/100
This commit is a code cleanup in Bitcoin Core's validation notification system. It reduces unnecessary copying of data when block and transaction events are passed between internal components, and it changes how debug log messages are formatted. There is no direct security vulnerability being fixed here; it is preparation for later commits that clarify object ownership.
AI review queuedcmake: Migrate away from deprecated SQLite3 targetby Daniel Pfeifer · 498b6eb6 · Mar 18, 2026 · 2 filesMessage 73 · AdequateInformational 15Details
Commit message · Daniel Pfeifer
cmake: Migrate away from deprecated SQLite3 target
CMake version 4.3 deprecated the imported target `Sqlite::Sqlite3`. Use the preferred name `Sqlite3::Sqlite3` instead and provide an alias for older versions of CMake. Also define the same alias when using vcpkg.
73/100 · AdequateMessage clarity
✓ Specific, descriptive subject✓ Names a concrete action or component✓ Provides detailed explanatory context
Why it was queued
signing or wallet pathdocumentation-only discountsecond-pass: security-sensitive path
AI analysis · Informational 15/100
This is a routine build-system cleanup. The developers renamed how their CMake scripts refer to the SQLite database library so they use the current, non-deprecated target name. It does not change Bitcoin Core's behavior, fix a bug, or alter how wallets store data. There is no security relevance in the commit itself.
Lower-priorityci: Temporarily use clang in valgrind tasksby MarcoFalke · fa70b9eb · Mar 18, 2026 · 3 filesMessage 100 · StrongInformational 15Details
Commit message · MarcoFalke
ci: Temporarily use clang in valgrind tasks
valgrind currently does not work on GCC -O2 compiled executables, which contain std::optional use, due to an upstream bug. See https://bugs.kde.org/show_bug.cgi?id=472329
One workaround could be to use -O1. However, that seems brittle, as variantions of the bug were seen with -O1 as well.
So temporarily use clang in the valgrind CI tasks, because this also allows to drop a false-positive suppression for: -DCMAKE_CXX_FLAGS='-Wno-error=array-bounds'
Also, update the comment in contrib/valgrind.supp to mention the background:
* GCC -O2 wasn't tested with the suppressions file, due to the mentioned bug. * Clang-17 (or later) on aarch64 wasn't tested due to bug https://github.com/bitcoin/bitcoin/issues/29635 and the minimum supported clang version is clang-17 right now. * GUI isn't tested, because it requires a debug build, see the prior commit.
This means the only tested config right now is the one mentioned in the suppression file.
100/100 · StrongMessage clarity
✓ Descriptive subject✓ Names a concrete action or component✓ Uses a recognizable type or scope✓ Provides detailed explanatory context✓ Explains rationale or failure mode✓ Mentions testing or verification✓ Links an issue, advisory, or supporting reference
AI analysis · Informational 15/100
This commit only changes Bitcoin Core's continuous-integration (CI) test setup. It switches the compiler used during Valgrind memory-checking jobs from GCC to Clang, because a known bug in Valgrind makes it report false problems on GCC-optimized executables that use std::optional. No user-facing code, consensus rules, wallet, networking, or node behavior is changed. There is no security vulnerability being fixed or introduced here.
A build with system libs (or with a normal depends build) will fail with:
```sh $ valgrind --exit-on-first-error=yes --error-exitcode=1 --quiet ./bld-cmake/bin/test_bitcoin-qt Detected locale "C" with character encoding "ANSI_X3.4-1968", which is not UTF-8. Qt depends on a UTF-8 locale, and has switched to "C.UTF-8" instead. If this causes problems, reconfigure your locale. See the locale(1) manual for more information. ********* Start testing of AppTests ********* Config: Using QtTest library 6.10.2, Qt 6.10.2 (x86_64-little_endian-lp64 shared (dynamic) release build; by GCC 15.2.0), ubuntu 26.04 PASS : AppTests::initTestCase() QINFO : AppTests::appTests() Backing up GUI settings to "/tmp/test_common bitcoin/60d474ffae390f81657d/regtest/guisettings.ini.bak" ==18007== Conditional jump or move depends on uninitialised value(s) ==18007== at 0x12655E26: ??? ==18007== by 0xCB28E7F: ??? ==18007== ==18007== ==18007== Exit program on first error (--exit-on-first-error=yes) ```
A DEBUG=1 depends build would work, but that seems tedious for questionable benefit.
100/100 · StrongMessage clarity
✓ Descriptive subject✓ Names a concrete action or component✓ Uses a recognizable type or scope✓ Provides detailed explanatory context✓ Explains rationale or failure mode✓ Mentions testing or verification
AI analysis · Informational 15/100
This is a documentation-only change to a continuous integration script. A developer replaced a vague 'TODO enable GUI' comment with a clearer explanation that the GUI is disabled in the valgrind CI task because it only passes with a special debug build. No code behavior changed, and there is no security fix or vulnerability here.
Lower-prioritykernel: Add API function for getting a tx input's nSequenceby Sebastian Falbesoner · 9f28120a · Mar 18, 2026 · 4 filesMessage 50 · ThinInformational 15Details
Commit message · Sebastian Falbesoner
kernel: Add API function for getting a tx input's nSequence
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 adds a new read-only function to the Bitcoin Core kernel library that lets callers retrieve a transaction input's nSequence value. It is a straightforward API addition with no security implications.
Lower-prioritykernel: Add API function for getting a tx's nLockTimeby Sebastian Falbesoner · 6b64b181 · Mar 18, 2026 · 4 filesMessage 50 · ThinInformational 20Details
Commit message · Sebastian Falbesoner
kernel: Add API function for getting a tx's nLockTime
50/100 · ThinMessage clarity
✓ Specific, descriptive subject✓ Names a concrete action or component! No meaningful explanatory body
AI analysis · Informational 20/100
This commit simply adds a new read-only function to the Bitcoin Core kernel library that lets callers retrieve a transaction's nLockTime value. nLockTime is a standard, public field in every Bitcoin transaction. The change does not alter how transactions are validated, stored, or relayed, and it introduces no security fix or vulnerability.
AI review queuedfuzz: Add tests for CCoinControl methodsby Chandra Pratap · 2104282d · Mar 17, 2026 · 1 fileMessage 70 · AdequateInformational 15Details
Commit message · Chandra Pratap
fuzz: Add tests for CCoinControl methods
The `ccoincontrol` fuzzer misses tests for a number of CCoinControl operations. Add them.
70/100 · AdequateMessage clarity
✓ Descriptive subject✓ Names a concrete action or component✓ Provides an explanatory body✓ Mentions testing or verification
Why it was queued
fuzzing or regression evidencesigning or wallet pathsecond-pass: security-sensitive path
AI analysis · Informational 15/100
This commit only adds new test code for an existing Bitcoin Core wallet component. It expands a fuzzing harness to exercise more methods of the CCoinControl class, which is used to choose which coins are spent in transactions. There is no change to production wallet logic, no bug fix, and no security patch.
AI review queuedfuzz: Improve oracle for existing CCoinControl testsby Chandra Pratap · 43b09b99 · Mar 17, 2026 · 1 fileMessage 60 · AdequateInformational 15Details
Commit message · Chandra Pratap
fuzz: Improve oracle for existing CCoinControl tests
60/100 · AdequateMessage clarity
✓ Specific, 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 15/100
This commit only improves a fuzz test for the Bitcoin Core wallet's coin selection helper. It adds extra checks (assertions) inside the test to make sure the coin control object behaves as expected. It does not change any production wallet code, network code, or consensus rules, so it cannot introduce a security vulnerability in the running software.
Lower-priorityguix: combine gcc-libgcc-patches with base-gccby fanquake · ab9a98b1 · Mar 17, 2026 · 1 fileMessage 45 · ThinTriage 0Details
Commit message · fanquake
guix: combine gcc-libgcc-patches with base-gcc
45/100 · ThinMessage clarity
✓ Descriptive subject✓ Names a concrete action or component! No meaningful explanatory body