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 commit simply adds a new person's PGP public-key fingerprint to the list of trusted release signers in two documentation files. It does not change any code, fix any bug, or alter any security behavior of the software itself.
This is a tiny internal fix to make a bookkeeping migration produce stable event ordering. It changes the timestamp used when creating historical 'deposit' records during a one-time database migration, so the records sort consistently with…
This commit is a documentation-only cleanup of the JSON-RPC command help files. It corrects which numeric error codes are listed for each command so the published schemas match what the software actually returns. No program logic, validati…
Documentation-only change with no executable code modificationsCorrects RPC schema error-code metadata to match actual handler behaviorNo change to input parsing, authorization, cryptography, or network behavior
This commit fixes a bug where a setting that controls whether unexpected transaction signatures are allowed was not initialized when the channel daemon starts. If a peer sent such signatures before the channel was fully ready, the program …
use of uninitialized variableundefined behavior (invalid bool load)network-triggered code path
This commit fixes the project's internal nightly code-coverage CI workflow. It changes how test coverage files are collected, ensures the same LLVM compiler version is used to generate and merge coverage data, and uploads a Codecov-compati…
This commit is a large cleanup of Core Lightning's API schemas, generated RPC bindings, and related plugin code. The stated goal is to make the documented 'required' fields match what the C code actually always produces or expects. In prac…
Large schema-only change with no accompanying security advisory or CVEOne semantic change to plugin hook response: invoice_payment hook can now reject with only failure_message and no resultMany fields change from optional to required in public RPC/protobuf interfaces
This commit only updates documentation. It adds error code 313 to the documented error lists for several Core Lightning commands (fundpsbt, utxopsbt, txprepare, multiwithdraw, and upgradewallet). The error code already existed in the code …
This commit fixes a release-script check that verifies the cryptographic signature on a file of checksums. Previously, the script only told GPG to verify the signature file itself. If someone replaced that signature file with an inline-sig…
Incorrect cryptographic verification logic in release toolingPotential false-positive signature verification with inline-signed .asc substitutionRelease-integrity hardening
This commit updates Core Lightning's release documentation to tell users and release managers to run gpg --verify with both the signature file and the manifest file named explicitly. The old one-argument form can silently succeed even if t…
Verification bypass risk in release artifact validationgpg --verify single-argument form can exit 0 without reading the intended manifestDocumentation-only hardening of release process
This commit is a routine update to the Rust dependency lock file (Cargo.lock), bumping many third-party libraries to newer patch or minor versions. The commit message gives no security reason for the update, and no verified references link…
Routine dependency refresh with no stated security rationaleUpdates to security-sensitive transitive crates (rustls, hyper, h2, tokio, webpki-roots) but no evidence these versions fix known vulnerabilitiesNo source-code changes or patch-specific fixes visible in the diff
This commit fixes a stack-overflow risk in Core Lightning's JSON parser. Before the fix, an attacker could send a valid JSON-RPC message containing thousands of nested brackets or braces. The parser's own helper functions used recursion fo…
Stack-overflow via deeply nested JSONRecursive JSON traversal without depth boundDenial-of-service vector in JSON-RPC input parsing
This commit only fixes typos and comment style. It changes two C-style comments from // to /* */ and corrects a grammar error in a documentation comment ('element' to 'elements'). There are no code behavior changes, no bug fixes, and no se…
This change fixes a test-infrastructure bug in Core Lightning's Python testing helpers. When running tests against a PostgreSQL database, very long test names could be silently shortened by PostgreSQL, causing different test runs or nodes …
No security-relevant signal: change is in test framework code onlyFixes a test reliability issue, not a runtime vulnerabilityNo input sanitization, authentication, cryptography, or network changes
This fix prevents Core Lightning from trying to use freshly created bitcoins (immature coinbase rewards) as emergency funds for fee-bump transactions. Such a transaction would be invalid under Bitcoin's rules and would be rejected by the n…
This commit fixes a bug in Core Lightning's askrene plugin that could prevent a node from restarting. When a saved routing layer contained a node bias with a description, the plugin accidentally freed the description's memory while using i…
Use-after-free / double-take of a tal-allocated string during plugin startupDenial-of-service-like symptom: lightningd aborts before replying to init, node cannot restartFixes publicly reported issue #9433 by endothermicdev
This commit only fixes a test case so it actually exercises the intended code path. It does not change any production code, so it cannot introduce or fix a real-world security vulnerability by itself. The test change is a reproducer for a …
This commit fixes a bug in Core Lightning's experimental dual-funded channel feature. When another node tried to open a channel, Core Lightning was not checking whether the proposed transaction fees were reasonable. A peer could request a …
Missing input validation on wire-parsed feerate fieldsPeer could induce signing and storage of feerate == 0RBF remote path allowed unbounded upward feerate walks
This commit adds regression tests for three related bugs where wildly wrong Bitcoin transaction feerates could enter Core Lightning. In the worst case, a malicious or broken fee source could make the node think a feerate was zero (due to a…
Integer overflow in feerate conversion (u32 wrap from 0xFFFFFFFF perkb to 0 perkw)Absurd feerate from external fee source bypassing sanity ceilingDatabase-stored out-of-range feerate causing startup abort/crash loop
This update fixes a crash bug in Core Lightning. When the software tried to list details of a channel opening in progress, it could crash if a stored fee rate was extremely large or zero. The crash happened because the code used an interna…
Integer overflow in RBF escalation (u32 * 25 / 24) leading to assertion failureAssertion failure in read-only introspection RPC (listpeerchannels) causing crash-loop at startupDatabase value treated as invariant despite originating from external fee estimator
This commit fixes a bug where Core Lightning nodes could get stuck in a crash loop. If a node had previously stored an extremely high or zero fee rate for an in-progress channel funding operation (a 'splice' or dual-funded channel RBF), a …
Integer overflow in fee-rate calculation (u32 overflow when multiplying by 25/24)Assertion failure leading to daemon crash loop at startupDatabase migration clamps out-of-range stored funding feerates
Expand any commit for its author, full message, clarity score, changed files, triage signals, analysis, and source link.
AI review queuedmsggen: add createproof, xkeysend and graceful generationby daywalker90 · aeab4519 · May 20, 2026 · 20 filesMessage 65 · AdequateInformational 15Details
Commit message · daywalker90
msggen: add createproof, xkeysend and graceful generation
Fixed UnionField added and deprecated propagation New primitive ProofField for createproof
Changelog-None
65/100 · AdequateMessage clarity
✓ Specific, descriptive subject✓ Names a concrete action or component✓ Provides an explanatory body
Why it was queued
second-pass: unusually broad change
AI analysis · Informational 15/100
This commit is a routine code-generation update for Core Lightning's gRPC and RPC bindings. It adds support for three new JSON-RPC commands (createproof, xkeysend, graceful) and a new primitive type (ProofField) used by createproof. The changes are entirely in generated binding code, not in the core daemon logic that actually processes payments, proofs, or shutdowns. There is no indication of a security fix or vulnerability.
AI review queuedschemas: remove old deprecations, add missing deprecations/added fieldsby daywalker90 · 938bdea8 · May 20, 2026 · 30 filesMessage 85 · StrongInformational 19Details
Commit message · daywalker90
schemas: remove old deprecations, add missing deprecations/added fields
Also made fields not go optional if they are deprecated in the case that their parent is also deprecated. This makes more sense imo when you deprecate a whole command.
I added deprecation annotation for the .proto file as well so that later in the convert.rs file it properly annotates everything to allow for deprecated stuff.
Also fixed one propagation bug for the added/deprecated fields, that's why there are some additional changes of some fields.
Changelog-None
85/100 · StrongMessage clarity
✓ Specific, descriptive subject✓ Names a concrete action or component✓ Provides detailed explanatory context✓ Explains rationale or failure mode
Why it was queued
parser or protocol pathsecond-pass: unusually broad changesecond-pass: security-sensitive path
AI analysis · Informational 19/100
This commit is a large, routine cleanup of API metadata in Core Lightning. It marks many old RPC commands and fields as deprecated, removes some long-deprecated fields from generated gRPC/JSON schemas, and fixes version annotations in the code generator. There is no direct evidence of a security vulnerability being patched; the changes are about API lifecycle management and generated bindings.
AI review queuedCargo.lock: weekly dependency updateby daywalker90 · 1a1e11a2 · May 18, 2026 · 1 fileMessage 68 · AdequateInformational 15Details
✓ Descriptive subject✓ Names a concrete action or component✓ Provides detailed explanatory context
Why it was queued
second-pass: broader security terminology
AI analysis · Informational 15/100
This is a routine weekly update to the Rust dependency lock file (Cargo.lock), bumping four small helper libraries to their latest patch versions. There is no indication in the commit or supplied references that any of these updates fix a security issue, and the commit message explicitly says 'Changelog-None'.
AI review queuedgitignore: add bwatchby daywalker90 · 6d98b486 · May 18, 2026 · 1 fileMessage 28 · OpaqueInformational 15Details
Commit message · daywalker90
gitignore: add bwatch
Changelog-None
28/100 · OpaqueMessage clarity
✓ Subject identifies a change! No meaningful explanatory body
Why it was queued
second-pass: opaque commit message
AI analysis · Informational 15/100
This commit adds a single entry named 'bwatch' to the .gitignore file inside the plugins directory. A .gitignore file simply tells Git which files or folders to ignore when tracking changes. There is no code change, no bug fix, and no security relevance visible in this commit.
AI review queuedv26.06rc1by Sangbida Chaudhuri · abb0cdda · May 12, 2026 · 10 filesMessage 0 · OpaqueInformational 15Details
Commit message · Sangbida Chaudhuri
v26.06rc1
0/100 · OpaqueMessage clarity
! Very short subject! Too few words to establish purpose! No meaningful explanatory body
Why it was queued
second-pass: opaque commit message
AI analysis · Informational 15/100
This commit is a routine version bump for a new release candidate (v26.06rc1) of Core Lightning. It updates version strings in packaging files and adds a detailed changelog. No actual source code behavior changes are included in this commit, so it does not introduce or fix any security issue by itself.
AI review queuedcrates: weekly dependency updateby daywalker90 · f3c7aed2 · May 11, 2026 · 1 fileMessage 35 · OpaqueInformational 15Details
Commit message · daywalker90
crates: weekly dependency update
Changelog-None
35/100 · OpaqueMessage clarity
✓ Descriptive subject! No meaningful explanatory body
This is a routine weekly update to the Rust dependency lock file (Cargo.lock). It bumps several third-party library versions by patch or minor increments and removes one unused dependency. There is no indication in the commit of any security fix, vulnerability, or behavior change in Core Lightning itself.
AI review queuedcurrencyrate: added READMEby enaples · fdce4870 · May 11, 2026 · 1 fileMessage 35 · OpaqueInformational 15Details
Commit message · enaples
currencyrate: added README
Changelog-None
35/100 · OpaqueMessage clarity
✓ Descriptive subject! No meaningful explanatory body
This commit only adds a README file for the currencyrate plugin. It contains documentation describing how to configure price sources and warning users that stopping the plugin can interrupt invoice creation. There are no code changes and no security fix or vulnerability introduced.
AI review queuedtests: remove `test_withdraw_stuck_reserved_on_broadcast_failure`by daywalker90 · 4848b291 · May 11, 2026 · 1 fileMessage 73 · AdequateInformational 12Details
fuzzing or regression evidencesigning or wallet pathsecond-pass: security-sensitive path
AI analysis · Informational 12/100
This commit simply deletes an old test that was written to document a known bug. The bug itself was already fixed in an earlier commit, and another test now serves as the regression test. No code behavior changes, and no new security issue is introduced here.
AI review queuedbwatch: notify watchman on block_processedby Sangbida Chaudhuri · e8a16948 · May 11, 2026 · 3 filesMessage 68 · AdequateLow 26Details
Commit message · Sangbida Chaudhuri
bwatch: notify watchman on block_processed
After bwatch persists a new tip, send a block_processed RPC to watchman (lightningd) with the height and hash. bwatch only continues polling for the next block once watchman has acknowledged that it has also processed the new block height on its end.
This matters for crash safety: on restart we treat watchman's height as the floor and re-fetch anything above it, so any block we acted on must be visible to watchman before we move on.
If watchman isn't ready yet (e.g. lightningd still booting) the RPC errors out non-fatally; we just reschedule and retry.
68/100 · AdequateMessage clarity
✓ Descriptive subject✓ Names a concrete action or component✓ Provides detailed explanatory context
Why it was queued
second-pass: broader security terminology
AI analysis · Low 26/100
This commit hardens crash recovery in Core Lightning's new block-watching plugin (bwatch). Previously, bwatch would immediately fetch the next Bitcoin block after saving one. Now it waits for lightningd's 'watchman' component to confirm it has also recorded the same block height before continuing. This prevents a situation where bwatch moves ahead of the main daemon, so if the node crashes and restarts, no block that bwatch acted on is invisible to the rest of the system.
AI review queuedbwatch: detect reorgs and roll back tipby Sangbida Chaudhuri · 65c92ec3 · May 11, 2026 · 3 filesMessage 68 · AdequateLow 46Details
Commit message · Sangbida Chaudhuri
bwatch: detect reorgs and roll back tip
When handle_block fetches the next block, validate its parent hash against our current tip. If they disagree we're seeing a reorg: pop our in-memory + persisted tip via bwatch_remove_tip, walk the history one back, and re-fetch from the new height. Each fetch may itself reorg further, so the loop naturally peels off as many stale tips as needed until the chain rejoins.
After every rollback, tell watchman the new tip via revert_block_processed so its persisted height tracks bwatch's. If we crash before the ack lands, watchman's stale height will be higher than ours on restart, which retriggers the rollback.
If the rollback exhausts our history (we rolled back past the oldest record we still hold) we zero current_height/current_blockhash and let the next poll re-init from bitcoind's tip.
Notifying owners that their watches were reverted lands in a subsequent commit.
68/100 · AdequateMessage clarity
✓ Descriptive subject✓ Names a concrete action or component✓ Provides detailed explanatory context
This commit adds blockchain reorganization (reorg) handling to Core Lightning's 'bwatch' plugin. A reorg happens when the Bitcoin network temporarily replaces a known block with a different one. Previously, bwatch appears to have blindly trusted each new block's parent hash, which could have left the plugin tracking an invalid or forked chain. The patch detects mismatched parent hashes, rolls back its internal tip one block at a time, and tells another component ('watchman') to do the same. It is a defensive correctness fix rather than an active exploit patch; the commit message notes that notifying users whose transactions were affected is deferred to a later commit.
AI review queuedsetconfig: fix crash on dynamic multi-value plugin optionsby wqxoxo · e9fee876 · May 11, 2026 · 14 filesMessage 81 · StrongLow 45Details
Commit message · wqxoxo
setconfig: fix crash on dynamic multi-value plugin options
We had an assert(!(ot->type & OPT_MULTI)) which crashed when using setconfig on a plugin option marked as both dynamic and multi.
The fix changes plugin_set_dynamic_opt to accept an array of values (scalar options pass a 1-element array, multi options pass the complete set). For multi options, setconfig replaces ALL values atomically - an empty array clears them.
Fixes: #8295
Changelog-Fixed: setconfig no longer crashes on dynamic multi-value plugin options
81/100 · StrongMessage clarity
✓ Specific, descriptive subject✓ Names a concrete action or component✓ Provides detailed explanatory context✓ Links an issue, advisory, or supporting reference
Why it was queued
second-pass: broader security terminology
AI analysis · Low 45/100
This commit fixes a crash in Core Lightning's `setconfig` command. Previously, if a user tried to change a plugin option that accepts multiple values and can be changed while running, the node would hit an internal assertion and crash. The fix allows `setconfig` to handle these multi-value options properly by accepting an array of values and replacing all existing values at once.
AI review queuedgraceful: new command to instruct CLN to start shutting down.by Rusty Russell · a87062b2 · May 11, 2026 · 16 filesMessage 81 · StrongInformational 22Details
Commit message · Rusty Russell
graceful: new command to instruct CLN to start shutting down.
Based on "lightningd: add "snub-idle-channels" dynamic config variable" by Matt Whitlock <c-lightning@mattwhitlock.name>.
Fixes: https://github.com/ElementsProject/lightning/issues/4842 Changelog-Added: JSON-RPC: `graceful` command to prepare CLN for shutdown. Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
81/100 · StrongMessage clarity
✓ Specific, descriptive subject✓ Names a concrete action or component✓ Provides detailed explanatory context✓ Links an issue, advisory, or supporting reference
Why it was queued
signing or wallet pathsecond-pass: security-sensitive path
AI analysis · Informational 22/100
This commit adds a new JSON-RPC command called 'graceful' that lets a Core Lightning node operator tell their node to prepare for shutdown. When invoked, the node stops accepting new HTLCs (payment forwarding commitments), declines to reestablish idle channels, disconnects peers that have no active HTLCs, and waits for any remaining in-flight HTLCs to resolve before returning. It is an operational/administrative feature, not a vulnerability fix. The commit does not change authentication or authorization rules; it only adds a new state (LD_STATE_GRACE) and the logic to enter and exit it safely.
AI review queuedpay: deprecate pay and paystatus.by Rusty Russell · eebc6eea · May 11, 2026 · 20 filesMessage 78 · AdequateInformational 20Details
Commit message · Rusty Russell
pay: deprecate pay and paystatus.
Use xpay and listpays.
Some tests which are pay/paystatus specific simply enabled deprecations.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au> Changelog-Deprecated: JSON-RPC: `pay` and `paystatus`: use `xpay`, `listpays` (or `xpay`'s notifications for details of attempts). `pay` will be replaced by `xpay` in v27.03.
78/100 · AdequateMessage clarity
✓ Descriptive subject✓ Names a concrete action or component✓ Provides detailed explanatory context✓ Mentions testing or verification
Why it was queued
parser or protocol pathsecond-pass: unusually broad changesecond-pass: security-sensitive path
AI analysis · Informational 20/100
This commit is a routine API deprecation notice. It marks the old 'pay' and 'paystatus' JSON-RPC commands as deprecated and tells users to switch to the newer 'xpay' and 'listpays' commands. The commands still work if a node operator explicitly allows deprecated APIs. There is no security bug being fixed here.
AI review queuedcommon: implement tal_arr_append and tal_arr_appendn, and use them.by Rusty Russell · 427ee36d · May 11, 2026 · 12 filesMessage 73 · AdequateInformational 19Details
Commit message · Rusty Russell
common: implement tal_arr_append and tal_arr_appendn, and use them.
These are useful for the common pattern of "append these bytes to this tal array".
As a bonus, we do memcheck() on all these callers, for extra checking under valgrind.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
73/100 · AdequateMessage clarity
✓ Specific, descriptive subject✓ Names a concrete action or component✓ Provides detailed explanatory context
Why it was queued
signing or wallet pathsecond-pass: security-sensitive path
AI analysis · Informational 19/100
This commit is a routine code cleanup: it introduces two helper functions, tal_arr_append and tal_arr_appendn, to replace repeated open-coded patterns of resizing a memory array and copying data into it. The change touches many files but does not fix any reported security bug. It adds extra memory-checking under Valgrind and a new unit test. There is no indication this patch is a security fix or that it addresses a known vulnerability.
AI review queuedoffers: add createproof API.by Rusty Russell · 9dda3eec · May 11, 2026 · 13 filesMessage 58 · ThinInformational 22Details
Commit message · Rusty Russell
offers: add createproof API.
Changelog-EXPERIMENTAL: JSON-RPC: `createproof` to create a payment proof for a (successful) BOLT12 payment. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
parser or protocol pathsecond-pass: security-sensitive path
AI analysis · Informational 22/100
This commit adds a new experimental JSON-RPC command called `createproof` to Core Lightning. It lets a user generate a cryptographically signed receipt (a 'payer proof') showing they successfully paid a BOLT12 invoice or offer. The change is a feature addition, not a fix for a known vulnerability. It exposes a new RPC that signs proof data using the node's keys, so the main security consideration is making sure only authorized callers can use it and that the proof data is signed correctly. The commit itself does not claim to fix any security issue, and there is no evidence of malicious intent or a disclosed vulnerability.
AI review queuedcommon/bolt12: use a const char * for fail reason.by Rusty Russell · 1189175c · May 11, 2026 · 28 filesMessage 65 · AdequateInformational 22Details
Commit message · Rusty Russell
common/bolt12: use a const char * for fail reason.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
65/100 · AdequateMessage clarity
✓ Specific, descriptive subject✓ Names a concrete action or component✓ Provides an explanatory body
Why it was queued
parser or protocol pathsecond-pass: unusually broad changesecond-pass: security-sensitive path
AI analysis · Informational 22/100
This commit is a code-quality refactor across many files. It changes the 'failure reason' string returned by BOLT11/BOLT12 decoding functions from a mutable 'char *' to a read-only 'const char *'. It also exposes a previously internal helper function and adds memory ownership fixes so callers don't accidentally use freed error strings. There is no direct evidence in the commit message or diff that this fixes an active security vulnerability, but it removes a class of potential memory-management mistakes and makes the API safer for future callers.
AI review queuedcommon: add bolt12 payer proof support (decode)by Vincenzo Palazzo · d477db45 · May 11, 2026 · 10 filesMessage 68 · AdequateInformational 22Details
Commit message · Vincenzo Palazzo
common: add bolt12 payer proof support (decode)
[Adapted for my decode routines --RR] Changelog-EXPERIMENTAL: JSON-RPC: `decode` now supports the `lnp` payer proof format.
68/100 · AdequateMessage clarity
✓ Descriptive subject✓ Names a concrete action or component✓ Provides detailed explanatory context
Why it was queued
parser or protocol pathsecond-pass: security-sensitive path
AI analysis · Informational 22/100
This commit adds support for decoding a new experimental BOLT12 format called a 'payer proof' in the Core Lightning node's decode command and related API bindings. It is a feature addition that extends existing decoding logic to recognize and return fields for payer proofs, such as the payment preimage, signature, and merkle proof hashes. There is no direct evidence in the commit that this fixes an active security vulnerability; it appears to be a protocol-support enhancement.
AI review queueddecode: fix decode on recurring offers.by Rusty Russell · c23ee375 · May 11, 2026 · 6 filesMessage 78 · AdequateInformational 23Details
Commit message · Rusty Russell
decode: fix decode on recurring offers.
We no longer have offer_recurrence, we have offer_recurrence_compulsory and offer_recurrence_optional. Decode was changed in v25.12, but we never properly tested it (recurrence is experimental, after all).
I opted for simplicity over truth here, and simply modified decode to match the schema, but add a "compulsory" flag.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
78/100 · AdequateMessage clarity
✓ Descriptive subject✓ Names a concrete action or component✓ Provides detailed explanatory context✓ Mentions testing or verification
Why it was queued
parser or protocol pathsecond-pass: security-sensitive path
AI analysis · Informational 23/100
This commit fixes a bug in Core Lightning's `decode` command for recurring payment offers. A previous code change split one offer field into two variants (compulsory and optional), but the `decode` output was not updated to match the new schema. The fix makes `decode` report a single `offer_recurrence` block with a new boolean flag indicating whether recurrence is compulsory. It is a correctness/API bug, not a direct funds-loss vulnerability, because it affects an experimental feature and would mainly cause decoding errors or misleading output rather than unauthorized payments.
AI review queueddecode / bolt12-cli: add missing invreq_recurrence_cancel field.by Rusty Russell · bf55e580 · May 11, 2026 · 11 filesMessage 73 · AdequateInformational 21Details
We missed this. It's experimental, so no changelog needed.
Spotted-by: Claude Sonnet 4.6 <noreply@anthropic.com> Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
73/100 · AdequateMessage clarity
✓ Specific, descriptive subject✓ Names a concrete action or component✓ Provides detailed explanatory context
Why it was queued
parser or protocol pathsecond-pass: security-sensitive path
AI analysis · Informational 21/100
This commit adds a missing data field, invreq_recurrence_cancel, to Core Lightning's decode command and related generated code. The field is part of the experimental BOLT12 recurring invoice request format and lets a payer signal that they want to cancel a recurring invoice. The change is mostly schema, RPC, gRPC, and test updates to expose and validate the new field. It is not a traditional security patch, but missing the field could have caused invoice-request decoding or validation to be incomplete for an experimental feature.
AI review queuedfuzz-tests: Add a seed corpus for the new testby Chandra Pratap · 8a4ffea7 · May 7, 2026 · 538 filesMessage 78 · AdequateInformational 15Details
Commit message · Chandra Pratap
fuzz-tests: Add a seed corpus for the new test
Add a minimal input set as a seed corpus for the newly introduced test. This leads to discovery of interesting code paths faster.
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: unusually broad change
AI analysis · Informational 15/100
This commit only adds test data files (a seed corpus) for a fuzzing test named fuzz-open_channel. Fuzzing corpora are collections of example inputs used to exercise code during automated testing. No production code, protocol logic, or configuration is changed, and the commit message does not describe any security fix or vulnerability.
AI review queuedfuzz-tests: Add a seed corpus for the new testby Chandra Pratap · 45ee23f0 · May 7, 2026 · 67 filesMessage 78 · AdequateInformational 15Details
Commit message · Chandra Pratap
fuzz-tests: Add a seed corpus for the new test
Add a minimal input set as a seed corpus for the newly introduced test. This leads to discovery of interesting code paths faster.
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: unusually broad change
AI analysis · Informational 15/100
This commit only adds test data files (a fuzzing seed corpus) for a new fuzz test called fuzz-amount-arith. It does not change any production code, so it cannot introduce a security vulnerability or fix one. It is purely a testing/development aid.
AI review queuedtests: test funds don't get stuck as reserved after `withdraw` fails due to broadcast rejection (e.g. feerate below mempoolminfee).by enaples · 36f02d32 · May 4, 2026 · 1 fileMessage 72 · AdequateLow 44Details
Commit message · enaples
tests: test funds don't get stuck as reserved after `withdraw` fails due to broadcast rejection (e.g. feerate below mempoolminfee).
72/100 · AdequateMessage clarity
✓ Specific, descriptive subject✓ Names a concrete action or component✓ Explains rationale or failure mode✓ Mentions testing or verification! No meaningful explanatory body
Why it was queued
signing or wallet pathsecond-pass: security-sensitive path
AI analysis · Low 44/100
This commit only adds a new test case that demonstrates a known bug in Core Lightning's wallet handling. When a `withdraw` command fails because the Bitcoin node rejects the transaction broadcast (for example, the fee is too low), some funds can remain marked as 'reserved' even though they were never actually spent. The test documents the bug and includes a manual workaround using `unreserveinputs`. It does not fix the underlying issue, so user funds can appear stuck until manually unreserved.
AI review queuedflake8: fixed trailing whitespaceby MSimeZ · db9ea1a4 · May 4, 2026 · 1 fileMessage 35 · OpaqueInformational 15Details
Commit message · MSimeZ
flake8: fixed trailing whitespace
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 removes a single blank line containing trailing whitespace from a test file. It is a cosmetic lint cleanup with no functional or security relevance.
AI review queuedcrates: weekly dependency updateby daywalker90 · 199ecd27 · May 4, 2026 · 1 fileMessage 35 · OpaqueInformational 11Details
Commit message · daywalker90
crates: weekly dependency update
Changelog-None
35/100 · OpaqueMessage clarity
✓ Descriptive subject! No meaningful explanatory body
This is a routine weekly update to the Rust dependency lock file (Cargo.lock). It bumps several third-party library versions, including the TLS/encryption library rustls, the HTTP client reqwest, and some Java/Windows helper crates. The commit message gives no security reason for the update, and no verified security advisory was supplied. Dependency updates can in principle fix security bugs, but this diff alone does not show any specific vulnerability being patched or any change to Core Lightning's own code.
AI review queuedgossipd: don't forget closed channels until 72 blocks, not 12.by Rusty Russell · 234cc8e5 · Apr 30, 2026 · 10 filesMessage 83 · StrongLow 37Details
Commit message · Rusty Russell
gossipd: don't forget closed channels until 72 blocks, not 12.
Touches a pile of tests, but they're easy to find.
Changelog-Changed: Protocol: We now wait 72 blocks, not 12, before closing channels (BOLT update) Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
83/100 · StrongMessage clarity
✓ Specific, descriptive subject✓ Names a concrete action or component✓ Provides detailed explanatory context✓ Mentions testing or verification
Why it was queued
signing or wallet pathsecond-pass: security-sensitive path
AI analysis · Low 37/100
This commit changes how long Core Lightning nodes remember closed Lightning channels in their network map. The delay is increased from 12 blocks to 72 blocks after the funding output is spent, matching an update to the BOLT protocol specification. This is a protocol-compliance and robustness change, not a fix for an active security vulnerability. The main effect is that nodes keep stale channel information longer, which can slightly delay routing around dead channels but also gives more protection against blockchain reorganizations.