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
signing or wallet pathsecond-pass: security-sensitive path
AI analysis · Informational 15/100
This commit adds a new optional flag called `force_paths` to the `createonion` and offer-related APIs in Core Lightning. The flag is stored in the database and returned when listing offers, but the commit does not implement any enforcement logic. It is purely a data-model and API plumbing change with no security-relevant behavior visible in the diff.
AI review queueddecode: print htlc_minimum_msat / htlc_maximum_msat in blinded paths.by Rusty Russell · f4b85859 · Apr 2, 2026 · 7 filesMessage 81 · StrongInformational 20Details
Commit message · Rusty Russell
decode: print htlc_minimum_msat / htlc_maximum_msat in blinded paths.
Weird we didn't print this before!
Reported-by: https://github.com/Lagrang3 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
parser or protocol pathsecond-pass: security-sensitive path
AI analysis · Informational 20/100
This commit adds two missing fields, htlc_minimum_msat and htlc_maximum_msat, to the output of the 'decode' command when it shows blinded payment paths. Previously these values were decoded internally but not printed in JSON or CLI output. It is a display/information fix, not a code-execution vulnerability.
Lower-priorityoffers: use amount hints in find_best_peer for blinded paths.by Rusty Russell · abd9cd77 · Apr 2, 2026 · 4 filesMessage 73 · AdequateLow 27Details
Commit message · Rusty Russell
offers: use amount hints in find_best_peer for blinded paths.
This lets us reliably eliminate peers which can't give us anything when seeking blinded paths for invoices.
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
AI analysis · Low 27/100
This change improves how Core Lightning selects peers when building private 'blinded' payment paths for invoices. Before, the code could pick a peer whose channel couldn't actually receive the invoice amount, leading to failed or unreliable payments. Now it checks the required amount against each peer's receiving capacity and skips unsuitable peers. It is a robustness fix, not a direct exploit patch, and the commit message does not frame it as a security issue.
Lower-priorityoffers: set `force_paths` on offer if fronting nodes are used.by Rusty Russell · cc263429 · Apr 2, 2026 · 1 fileMessage 73 · AdequateLow 34Details
Commit message · Rusty Russell
offers: set `force_paths` on offer if fronting nodes are used.
When an invoice request comes in, this will let us know that we need to limit ourselves to the blinded paths, as they have been forced by the user.
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
AI analysis · Low 34/100
This commit adds a flag called `force_paths` to an offer when the user has chosen to use 'fronting nodes' (intermediate nodes that hide the recipient's identity). This tells the system later, when an invoice request arrives, that it must stick to the privacy-preserving blinded paths rather than potentially leaking the real node. The change itself is one line and appears to be a correctness/privacy fix rather than an active vulnerability patch, but it prevents a privacy-relevant misbehavior.
pytest: demonstrate the weird 0 htlc_maximum_msat problem.
It depends on gossip_store order, so it's not reliable.
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
AI analysis · Low 34/100
This commit adds a test case that demonstrates a bug in Core Lightning where a blinded payment path can be created with a zero htlc_maximum_msat value. This means the software sometimes generates payment invoices with a maximum payment size of zero, which could prevent payments from working. The test is marked as expected to fail because it only triggers under certain conditions related to gossip store ordering.
Lower-prioritytests: add an xpay test to reproduce a regression where we pay fees in a direct routeby daywalker90 · 6a8012b0 · Apr 2, 2026 · 1 fileMessage 60 · AdequateInformational 17Details
Commit message · daywalker90
tests: add an xpay test to reproduce a regression where we pay fees in a direct route
Changelog-None
60/100 · AdequateMessage clarity
✓ Specific, descriptive subject✓ Names a concrete action or component✓ Mentions testing or verification! No meaningful explanatory body
AI analysis · Informational 17/100
This commit only adds a new test case to reproduce a bug where Core Lightning's experimental xpay plugin might incorrectly charge fees when paying a directly connected peer over a BOLT 12 invoice. It is a test-only change and does not modify any production code, so it cannot by itself introduce a security vulnerability. The underlying regression is a fee-calculation/economic issue, not a code-execution or funds-theft flaw.
Lower-priorityoffers: when creating an invoice for an offer, only reuse fronting paths.by Rusty Russell · d70b227f · Apr 2, 2026 · 3 filesMessage 85 · StrongLow 35Details
Commit message · Rusty Russell
offers: when creating an invoice for an offer, only reuse fronting paths.
Now we know whether blinded paths in the offer were added explicitly (by the fronting_nodes option to the `offer command, or via the `payment-fronting-node` config option) we know whether we need to use them when minting an invoice.
Previously when I introduced fronting nodes in this release, we *always* reused them. But that's not quite right: the blinded path for the offer can use any peer, but for the invoice we need to use a peer with sufficient capacity to pay us. For some offers we won't even know the amount at the time the offer is made.
So now we only force reuse of the offer's paths when they were set by the user in the first place: otherwise, we can be more flexible in path selection when minting the invoice. This is consistent with what we did before introducing fronting.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
85/100 · StrongMessage clarity
✓ Specific, descriptive subject✓ Names a concrete action or component✓ Provides detailed explanatory context✓ Explains rationale or failure mode
AI analysis · Low 35/100
This change fixes a bug in how Core Lightning creates invoices from offers. Previously, the software always reused the hidden routing paths (blinded paths) from the original offer when making the invoice. That could force payments through nodes that lacked enough capacity, or through paths chosen before the final amount was known. Now it only forces reuse of those paths when the user explicitly configured them as 'fronting nodes.' Otherwise it picks a better path when the invoice is created. Two previously failing tests are re-enabled, suggesting the bug caused real payment failures.
Lower-priorityplugins/sql: use td->last_created_index directly, don't stash it in dbq.by Rusty Russell · e262b729 · Mar 31, 2026 · 1 fileMessage 73 · AdequateInformational 15Details
Commit message · Rusty Russell
plugins/sql: use td->last_created_index directly, don't stash it in dbq.
We can actually just make struct table_desc non-const where required, and hand its var directly.
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
AI analysis · Informational 15/100
This is a small internal code cleanup in the SQL plugin. It removes an unnecessary pointer stored inside a query-tracking structure and instead reads a counter directly from the table description. There is no visible change in behavior, no user-facing bug fix, and no security-relevant change.
Lower-prioritypytest: add sql change test.by Rusty Russell · 093c82fe · Mar 31, 2026 · 1 fileMessage 78 · AdequateInformational 12Details
Commit message · Rusty Russell
pytest: add sql change test.
This is trivial now, as the invoice table gets reloaded every time, but is an important check as we improve the implementation.
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
AI analysis · Informational 12/100
This commit only adds a new automated test to the project's test suite. It checks that the experimental SQL query feature correctly notices when invoices are added, deleted, or expire. There is no change to production code, no bug fix, and no security-relevant behavior in the diff itself.
Lower-priorityplugins/sql: remove unneeded TODO entries.by Rusty Russell · cbeaf452 · Mar 31, 2026 · 1 fileMessage 48 · ThinInformational 15Details
Commit message · Rusty Russell
plugins/sql: remove unneeded TODO entries.
1. Refresh time would say "dont refresh if it's only this old" but better is to simply make refresh more efficient, which we've done and continue to do. 2. time_msec could be used in two places, but floating point suffices.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
48/100 · ThinMessage clarity
✓ Descriptive subject✓ Names a concrete action or component✓ Provides detailed explanatory context! Contains work-in-progress language
AI analysis · Informational 15/100
This commit simply removes two outdated TODO comments from the SQL plugin source code. No code behavior changed, no bugs were fixed, and no security issue is present.
Lower-priorityplugins/sql: rename `update_stmt` to `insert_stmt`.by Rusty Russell · 219a833d · Mar 31, 2026 · 1 fileMessage 73 · AdequateInformational 15Details
Commit message · Rusty Russell
plugins/sql: rename `update_stmt` to `insert_stmt`.
The current variable name is confusing, since it's an INSERT!
This becomes more noticible in the next patch, where we add a delete statement.
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
AI analysis · Informational 15/100
This commit is a simple variable rename in the SQL plugin code. It changes the name `update_stmt` to `insert_stmt` throughout the code because the statement is actually an INSERT, not an UPDATE. No behavior changes, no security implications.
Lower-priorityplugins/sql: keep track of last `updated_index` value in tables.by Rusty Russell · 2716b21f · Mar 31, 2026 · 1 fileMessage 73 · AdequateInformational 15Details
Commit message · Rusty Russell
plugins/sql: keep track of last `updated_index` value in tables.
We're going to need this once we start using `wait updated` to track these.
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
AI analysis · Informational 15/100
This commit is a straightforward internal bookkeeping change in the SQL plugin of Core Lightning. It adds tracking of the highest 'updated_index' value seen, mirroring existing tracking for 'created_index'. There is no security issue visible in the diff.
Lower-prioritysql: keep persistent watches on tables.by Rusty Russell · 8b537feb · Mar 31, 2026 · 1 fileMessage 68 · AdequateInformational 11Details
Commit message · Rusty Russell
sql: keep persistent watches on tables.
We now always watch for deleted/created/updated, and keep multiple flags and indices (though we don't use them yet!).
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
68/100 · AdequateMessage clarity
✓ Descriptive subject✓ Names a concrete action or component✓ Provides detailed explanatory context
AI analysis · Informational 11/100
This commit changes how an internal SQL plugin keeps track of Lightning node data updates. It switches from a simple 'needs refresh' flag to a more detailed system that separately tracks created, updated, and deleted entries. There is no direct evidence in the commit that this fixes a security vulnerability; it appears to be a structural improvement to refresh logic.
Lower-prioritysql: rename indices_created var to populated.by Rusty Russell · dc392931 · Mar 31, 2026 · 1 fileMessage 68 · AdequateInformational 15Details
Commit message · Rusty Russell
sql: rename indices_created var to populated.
It's a "have we initialized the table" flag, and we're going to use it for more than setting up the indices, so rename it.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
68/100 · AdequateMessage clarity
✓ Descriptive subject✓ Names a concrete action or component✓ Provides detailed explanatory context
AI analysis · Informational 15/100
This commit is a simple internal code cleanup: a variable named `indices_created` is renamed to `populated` because it will be used more broadly as a 'has this table been initialized' flag. No behavior changes, no security fixes, and no bug fixes are visible in the diff.
Lower-priorityplugins/sql: support updates for tables with `created_index` values.by Rusty Russell · e3963e44 · Mar 31, 2026 · 2 filesMessage 73 · AdequateInformational 17Details
Commit message · Rusty Russell
plugins/sql: support updates for tables with `created_index` values.
For these, when things change, we simply delete amd recreate the changed entries.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au> Changelog-Changed: Plugins: `sql` plugin tables "htlcs", "forwards", "invoices", "sendpays" and "networkevents" are now updated more efficiently.
73/100 · AdequateMessage clarity
✓ Specific, descriptive subject✓ Names a concrete action or component✓ Provides detailed explanatory context
AI analysis · Informational 17/100
This commit improves the SQL plugin in Core Lightning so that certain tables (htlcs, forwards, invoices, sendpays, networkevents) are refreshed more efficiently when data changes. Instead of reloading the whole table, it now deletes and re-inserts only changed entries. The change is described as a performance improvement, not a security fix, and there is no evidence in the commit of a vulnerability being patched.
Lower-priorityplugins/sql: add a delete_statement to toplevel tables with created_index values.by Rusty Russell · 2e21715b · Mar 31, 2026 · 1 fileMessage 73 · AdequateInformational 17Details
Commit message · Rusty Russell
plugins/sql: add a delete_statement to toplevel tables with created_index values.
This will let us (efficiently) delete a single entry, so we can wean tables with created_index off the default "delete all and reload" behavior.
Change insert_stmt to a const, too (and use a temporary when we're building it).
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
AI analysis · Informational 17/100
This is a small internal cleanup in Core Lightning's SQL plugin. It adds a prepared 'DELETE' statement for tables that have a created_index column, and makes the existing insert statement constant. The change is meant to enable future efficient single-row deletion instead of deleting and reloading whole tables. There is no direct security bug visible in the diff, and no exploit path is shown.
Uniform padding (sending all messages as 1460-byte chunks) breaks peers running LND-based nodes: LND disconnects on receiving a ping(num_pong_bytes=65535) with "pong bytes exceeded" instead of ignoring it as required by BOLT #1. Gate the feature behind --dev-uniform-padding so it is opt-in rather than forced on all connections. Nodes that only peer with CLN can enable it for the traffic analysis defence. Changelog-Changed: uniform message padding is now opt-in via the --dev-uniform-padding flag.
81/100 · StrongMessage clarity
✓ Specific, descriptive subject✓ Names a concrete action or component✓ Provides detailed explanatory context✓ Links an issue, advisory, or supporting reference
AI analysis · Low 40/100
This change makes a message-padding privacy feature optional rather than always-on, because the always-on version was accidentally breaking connections to LND (another popular Lightning implementation). It is a compatibility/bug-fix commit, not a direct security patch, though it touches a feature that was intended to improve privacy against traffic analysis.
Lower-priorityconnectd: add dev_uniform_padding to connectd_wire.csvby Sangbida Chaudhuri · 9761c3b2 · Mar 30, 2026 · 1 fileMessage 73 · AdequateInformational 15Details
Commit message · Sangbida Chaudhuri
connectd: add dev_uniform_padding to connectd_wire.csv
This boolean allows lightningd and connectd to be on the same page on whether the uniform padding experimental flag is enabled.
73/100 · AdequateMessage clarity
✓ Specific, descriptive subject✓ Names a concrete action or component✓ Provides detailed explanatory context
AI analysis · Informational 15/100
This commit adds a single boolean flag called dev_uniform_padding to an internal message definition file. The flag lets two parts of the Core Lightning software agree whether an experimental traffic-padding feature is turned on. It is a wiring-only change: no actual padding logic is added or changed here, and there is no indication it fixes a security bug.
Lower-prioritytest: add flag to test_constant_packet_sizeby Sangbida Chaudhuri · b7c05f60 · Mar 30, 2026 · 1 fileMessage 67 · AdequateInformational 15Details
Commit message · Sangbida Chaudhuri
test: add flag to test_constant_packet_size
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 one-line change to a test file. It adds a developer-only flag to an existing test so the test can verify that network packets are padded to a constant size. There is no change to production code, no user-facing behavior change, and no security fix or vulnerability indicated.
Lower-prioritylightningd: add dev-uniform-padding flag to lightningdby Sangbida Chaudhuri · f844eb08 · Mar 30, 2026 · 6 filesMessage 50 · ThinInformational 15Details
Commit message · Sangbida Chaudhuri
lightningd: add dev-uniform-padding flag to lightningd
50/100 · ThinMessage clarity
✓ Specific, descriptive subject✓ Names a concrete action or component! No meaningful explanatory body
AI analysis · Informational 15/100
This commit adds a new developer-only command-line flag called --dev-uniform-padding. When enabled, it tells the daemon to pad outgoing peer messages to fixed 1460-byte chunks as a defense against traffic analysis. The change only wires a new boolean option through the daemon; it does not implement the actual padding logic, nor does it fix any existing bug. It is a feature addition, not a security patch.
Lower-prioritysplice: Fix typo in test and xfailby Dusty Daemon · 3467f8b2 · Mar 30, 2026 · 1 fileMessage 82 · StrongInformational 15Details
Commit message · Dusty Daemon
splice: Fix typo in test and xfail
This test should be enabled and it was failing because of a typo — this fixes both issues.
Changelog-None
82/100 · StrongMessage clarity
✓ Descriptive subject✓ Names a concrete action or component✓ Provides an explanatory body✓ Explains rationale or failure mode✓ Mentions testing or verification
AI analysis · Informational 15/100
This commit fixes a typo in a test file and removes a marker that was causing the test to be expected to fail. The change only affects internal testing code, not the actual Core Lightning software that users run. There is no security issue here.
Lower-prioritycln-grpc-plugin: bump version to v0.6.0by daywalker90 · 272aef5c · Mar 29, 2026 · 2 filesMessage 72 · AdequateInformational 15Details
Commit message · daywalker90
cln-grpc-plugin: bump version to v0.6.0
otherwise our CI action complains about inconsistency
Changelog-None
72/100 · AdequateMessage clarity
✓ Descriptive subject✓ Names a concrete action or component✓ Provides an explanatory body✓ Explains rationale or failure mode
AI analysis · Informational 15/100
This commit is a routine version bump for the cln-grpc-plugin from 0.5.0 to 0.6.0, plus a minor whitespace fix in a dependency line. It only changes two metadata files (Cargo.lock and Cargo.toml) and contains no functional code changes. There is no security relevance visible in the commit.
Security candidatecommon: add tal_free_if_taken() helper for common case.by Rusty Russell · 9b85a247 · Mar 29, 2026 · 29 filesMessage 65 · AdequateInformational 15Details
Commit message · Rusty Russell
common: add tal_free_if_taken() helper for common case.
Uses found and changed by Claude.
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
cryptography-sensitive pathsigning or wallet path
AI analysis · Informational 15/100
This commit is a straightforward code cleanup: it introduces a small helper function called tal_free_if_taken() and replaces many repeated two-line patterns across the codebase with calls to that helper. The behavior of the program is unchanged; no security vulnerability is introduced or fixed.
Lower-prioritycommon: add (and use) status_unusual_once and status_broken_once helpers.by Rusty Russell · 686bf872 · Mar 29, 2026 · 4 filesMessage 65 · AdequateInformational 15Details
Commit message · Rusty Russell
common: add (and use) status_unusual_once and status_broken_once helpers.
Clarify the case where we only want to log once.
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
AI analysis · Informational 15/100
This commit is a simple code cleanup: it introduces two new helper macros that log a warning or error message only once, and replaces three existing hand-written 'log once' patterns with those helpers. There is no change to program logic, no security fix, and no behavior change beyond making the code easier to read and maintain.
Lower-priorityconnectd: limit incoming traffic to 1MB per second.by Rusty Russell · 01aaa69f · Mar 29, 2026 · 7 filesMessage 83 · StrongModerate 54Details
Commit message · Rusty Russell
connectd: limit incoming traffic to 1MB per second.
Decryption is pretty efficient, but incoming traffic can bog down connectd, especially on smaller nodes, so simply limit it to 1MB per second.
This triggers in various tests, which is good: shows that it's working, and that we continue to (slowly!) process traffic.
Changelog-Fixed: connectd: throttle incoming peers to give fairer peer handling under stress. 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
AI analysis · Moderate 54/100
This change adds a traffic speed limit to the part of Core Lightning that handles incoming peer connections. It caps each peer at 1 megabyte of incoming data per second, with the goal of preventing a fast or aggressive peer from overwhelming the node. The commit describes this as a fairness and stress-handling improvement, not as a security fix, and no external security incident is referenced.