EP
← All projectsElements Project

Core Lightning

Modular C implementation of the Lightning Network protocol and node stack.

BitcoinLightning NetworkNormal
Repository coverage

1856 commits in the local evidence base

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

158security candidates263second-pass queue1853AI analyses
140commits · 30 days
227commits · 60 days
803commits · 180 days
1839commits · 365 days
Backfill bands
Aug 5 → Feb 61049 seen37 candidatesComplete
Feb 6 → Jun 6579 seen10 candidatesComplete
Jun 6 → Jul 678 seen1 candidatesComplete
Jul 6 → Aug 5147 seen16 candidatesComplete
Commit communication

Does the history explain itself?

Message quality measures whether a commit identifies its scope, purpose, rationale, testing, and supporting references. It does not change the security-severity score.

70/100 average clarity
432Strong · 80–100
1164Adequate · 60–79
231Thin · 40–59
29Opaque · 0–39
Read the scoring rubric →
Developer activity

Who is changing the project?

Public Git author strings; identities are not independently verified.

DeveloperCommitsCandidatesAnalyzedHigh riskMessage avg.
dovgopoly15015164
Rusty Russell95873958072
Sangbida Chaudhuri14731146066
Dusty Daemon771377066
ShahanaFarooqui931093063
daywalker9090589062
Níckolas Goline40540076
Lagrang376476069
Christian Decker36436072
Vincenzo Palazzo838080
Chandra Pratap56256082
ekzyis222063
Analysis record

Published AI watches

Last scanned 25 minutes ago

Informational 15 AI analysisMessage 65 · Adequate
EP Elements ProjectCore Lightning BitcoinLightning Network

Revert "doc: require Homebrew GNU make and gpatch on macOS"

This commit is a simple documentation revert. It undoes a previous change that told macOS users to install GNU make and GNU patch from Homebrew and to put those tools first in their command path. The reverted instructions now omit gpatch a…

0cfa949fby Sangbida Chaudhuri+4−81 file
No security note in commit
Informational 15 AI analysisMessage 75 · Adequate
EP Elements ProjectCore Lightning BitcoinLightning Network

Revert "tests: drop obsolete x-prefix in compacter-slow.sh"

This commit re-adds an old-style 'x' prefix to a string comparison in a test helper script. It is a test-only change with no effect on the actual Core Lightning node software, user funds, network behavior, or security. The change simply re…

116fd7cdby Sangbida Chaudhuri+1−11 file
No security note in commit
Informational 15 AI analysisMessage 73 · Adequate
EP Elements ProjectCore Lightning BitcoinLightning Network

doc: require Homebrew GNU make and gpatch on macOS

This commit only updates macOS installation instructions in the documentation. It tells macOS users to install newer GNU versions of 'make' and 'patch' from Homebrew because Apple's built-in tools are too old for building and running sourc…

d3ff1474by Sangbida Chaudhuri+8−41 file
No security note in commit
Informational 15 AI analysisMessage 83 · Strong
EP Elements ProjectCore Lightning BitcoinLightning Network

tests: drop obsolete x-prefix in compacter-slow.sh

This commit is a trivial shell script cleanup. It removes an old-fashioned 'x' prefix from a string comparison in a test helper script so that a newer version of the Shellcheck linter stops warning about it. The change does not alter progr…

474c272aby Sangbida Chaudhuri+1−11 file
No security note in commit
Informational 18 AI analysisMessage 65 · Adequate
EP Elements ProjectCore Lightning BitcoinLightning Network

common: hoist amount+currency parsing into common code.

This commit moves existing code that parses payment amounts (Bitcoin millisatoshis, 'any' amount, or fiat currency amounts) from one plugin file into a shared library so it can be reused by a future feature. It is a code refactoring with n…

Refactoring of amount-parsing code into a shared helperAddition of explicit u64 overflow guards (mul_overflows_u64, add_overflows_u64) in the new common codeNo change to wire protocol or RPC interface semantics
e0f86c17by Rusty Russell+112−723 files
No security note in commit
Informational 17 AI analysisMessage 73 · Adequate
EP Elements ProjectCore Lightning BitcoinLightning Network

lightningd: internal cleanups since all non-command JSON IDs are strings.

This is a routine internal cleanup commit in Core Lightning. It removes an unused helper function and simplifies how JSON-RPC request IDs are stored and formatted, since the project now always uses string IDs for non-command JSON traffic. …

No security-relevant keywords in commit title or messageNo CVE, advisory, or bug reference presentChanges are refactor/cleanup in nature
a70ae963by Rusty Russell+25−378 files
No security note in commit
Informational 15 AI analysisMessage 65 · Adequate
EP Elements ProjectCore Lightning BitcoinLightning Network

common: hoist hash_str helper into its own header.

This commit is a routine code cleanup: it moves a small string-hashing helper function into a shared header file so it can be reused without being copied and pasted. There is no change to behavior, no bug fix, and no security relevance.

581bbb1fby Rusty Russell+16−176 files
No security note in commit
Informational 23 AI analysisMessage 65 · Adequate
EP Elements ProjectCore Lightning BitcoinLightning Network

downgrade: we need to remove "impressions" from askrene datastore when downgrading to v26.06.

This is a database downgrade helper fix, not a live network vulnerability. Core Lightning's downgrade tool previously failed to strip out new 'channel impression' records when rolling a database back to version v26.06. The patch teaches th…

Database downgrade path could leave incompatible records in older schemaOffline tool only; no remote or on-chain triggerFix prevents potential node startup failure after version rollback
4d926285by Rusty Russell+43−111 file
No security note in commit
Low 31 AI analysisMessage 68 · Adequate
EP Elements ProjectCore Lightning BitcoinLightning Network

downgrade tool: fix invalid memory bug

This commit fixes a typo in a database downgrade helper tool. The bug caused the tool to pass a negative number (turned into a huge positive size) when copying data, which led to an out-of-memory (OOM) error. The fix swaps two variable nam…

Integer underflow / negative-to-size_t wrap leading to excessive allocationOut-of-memory crash in maintenance toolMemory corruption potential if allocation somehow succeeded
42995326by Lagrang3+8−81 file
No security note in commit
Informational 24 AI analysisMessage 65 · Adequate
EP Elements ProjectCore Lightning BitcoinLightning Network

xpay: actually tell askrene when a payment succeeded.

This commit fixes a bookkeeping bug in Core Lightning's xpay plugin. Previously, when a payment succeeded, xpay did not tell the askrene routing-helper that the route worked. As a result, askrene kept stale or overly pessimistic ideas abou…

Missing success feedback to routing layer can degrade payment reliabilityStale negative impressions may bias future path selection toward worse or failing routesNo direct funds-loss primitive is introduced or fixed
a66fabd4by Rusty Russell+40−02 files
No security note in commit
Low 49 AI analysisMessage 58 · Thin
EP Elements ProjectCore Lightning BitcoinLightning Network

askrene: correctly order constraints.

This commit fixes a bug in Core Lightning's routing helper (askrene) where two kinds of channel information—hard limits called 'constraints' and usage estimates called 'impressions'—were being applied in the wrong order. Because impression…

Routing decision bug caused by incorrect ordering of time-relative channel statePotential payment failure or acceptance of an over-capacity routeRegression test added demonstrating incorrect route acceptance before fix
4b6fe4a1by Rusty Russell+211−1182 files
No security note in commit
Low 35 AI analysisMessage 68 · Adequate
EP Elements ProjectCore Lightning BitcoinLightning Network

askrene: don't leak channel intel entries

This commit fixes a memory leak in the askrene plugin of Core Lightning. When individual channel intelligence entries were deleted, the code removed the entry from its array but forgot to free two internal pointers (impression and constrai…

Memory leak in plugin data structure cleanupMissing deallocation of nested pointers before array removalFix located in routing/intelligence plugin (askrene)
8891f414by Lagrang3+5−01 file
No security note in commit
Informational 15 AI analysisMessage 70 · Adequate
EP Elements ProjectCore Lightning BitcoinLightning Network

xpay: tests should expect the new error messages

This commit only updates test files so that automated checks expect slightly different error wording from the xpay payment command. It does not change any production code, so it cannot introduce a security vulnerability or fix one on its o…

0b67601fby Lagrang3+24−32 files
No security note in commit
Low 43 AI analysisMessage 65 · Adequate
EP Elements ProjectCore Lightning BitcoinLightning Network

offers: limit invoices to 10 minutes for recurring offers in other currencies.

This change tightens the lifetime of recurring invoices priced in foreign currencies (like USD) to 10 minutes by default, and refreshes them with current exchange rates when they expire. Previously, such invoices could remain valid for the…

Fixes stale exchange-rate exposure for currency-denominated recurring invoicesAdds configurable expiry cap for recurring currency invoicesDistinguishes user-cancellation (0s expiry) from natural expiry to avoid misleading errors
446312cfby Rusty Russell+134−148 files
No security note in commit
Low 45 AI analysisMessage 73 · Adequate
EP Elements ProjectCore Lightning BitcoinLightning Network

offers: limit expiry to offer limit, or 10 minutes with currency conversion.

This commit tightens the expiration time on invoices created from BOLT12 offers. Previously, all such invoices defaulted to a 2-hour payment window. Now, if the offer has an absolute expiry, the invoice expires when the offer expires; and …

BOLT12 invoice expiry now bounded by offer absolute expiryCurrency-converted invoices use short expiry to limit exchange-rate exposureNew regression test added for expiry behavior
a6cf4915by Rusty Russell+55−22 files
No security note in commit
Low 29 AI analysisMessage 73 · Adequate
EP Elements ProjectCore Lightning BitcoinLightning Network

fetchinvoice: don't bother with checking recurrence timing.

This commit removes local timing checks in Core Lightning's fetchinvoice plugin for recurring payments. Instead of the plugin refusing too-early or too-late invoice requests, it now lets the remote node decide and report back. The change i…

Removal of local input-validation checks for recurring invoice requestsReliance on remote-party enforcement for recurrence period limits and pay windowsTest expectations changed from local rejection to remote failure messages
3e49d908by Rusty Russell+2−682 files
No security note in commit
Low 32 AI analysisMessage 73 · Adequate
EP Elements ProjectCore Lightning BitcoinLightning Network

lightningd: don't do previous invoice checking in createinvoicerequest.

This commit removes a local sanity check in Core Lightning's experimental 'createinvoicerequest' command. Previously, when creating a recurring invoice request, the code looked up past payments by label to verify the previous recurrence wa…

Removal of local payment-state validation for recurring invoice requestsParameter rename from recurrence_label to label in internal RPC callsTest expectations changed from local 'previous invoice has not been paid' errors to remote failure messages
4348d8acby Rusty Russell+5−1224 files
No security note in commit
Low 35 AI analysisMessage 65 · Adequate
EP Elements ProjectCore Lightning BitcoinLightning Network

fetchinvoice: handle weird labels in recurrence_label parameter.

This commit fixes how the fetchinvoice plugin handles user-supplied labels that contain special characters such as backslashes, quotes, tabs, and newlines. Previously these labels were passed as raw strings, which could cause JSON encoding…

JSON injection / improper escaping of user-controlled input passed between RPC componentsPotential mismatch between label parsing and label serialization leading to functional failures or unexpected behaviorFix is narrowly scoped to a single plugin and parameter
d7f87f2dby Rusty Russell+37−102 files
No security note in commit
Informational 15 AI analysisMessage 70 · Adequate
EP Elements ProjectCore Lightning BitcoinLightning Network

Add unit tests for str_to_u64

This commit only adds a new automated test file that checks how a helper function (str_to_u64) converts text strings to unsigned 64-bit integers. It does not change any production code, so it cannot by itself introduce a security vulnerabi…

dddb455dby Lagrang3+203−01 file
No security note in commit
Informational 15 AI analysisMessage 78 · Adequate
EP Elements ProjectCore Lightning BitcoinLightning Network

pytest: add tests for what we want askrene to do.

This commit only adds a new pytest test file. It does not change any production code. The test describes desired future behavior for the askrene routing module's error messages when a payment source or destination lacks enough channel capa…

518620aeby Rusty Russell+67−01 file
No security note in commit
Repository ledger

Explore captured commits

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

Security candidatecommon: add randbytes() wrapper to override cryptographic entropy: $CLN_DEV_ENTROPY_SEEDby Rusty Russell · 2086699b · Nov 13, 2025 · 19 filesMessage 90 · StrongInformational 21Details
Commit message · Rusty Russell

common: add randbytes() wrapper to override cryptographic entropy: $CLN_DEV_ENTROPY_SEED

Only in developer mode, ofc.

Notes:
1. We have to move the initialization before the lightningd main trace_start,
since that uses pseudorand().
2. To make the results stable, we need to use per-caller values to randbytes().
Otherwise external timing changes the call order.

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>

90/100 · StrongMessage clarity
✓ Specific, descriptive subject✓ Names a concrete action or component✓ Provides detailed explanatory context✓ Explains rationale or failure mode✓ Names security-relevant behavior explicitly
Why it was queued
entropy or randomnessboot or update path
AI analysis · Informational 21/100

This commit adds a developer-only feature that lets Core Lightning use predictable fake random numbers instead of real cryptographic randomness when a special environment variable is set. It is intended only for testing and reproducible debugging, not for production use. The code is gated behind developer mode and is not itself a vulnerability, but any accidental use in production would severely weaken security that depends on randomness.

Lower-prioritycommon/clock_time: wrapper for time_now() so we can override it.by Rusty Russell · dc9b4250 · Nov 13, 2025 · 4 filesMessage 65 · AdequateInformational 20Details
Commit message · Rusty Russell

common/clock_time: wrapper for time_now() so we can override it.

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

This commit adds a developer-only feature that lets Core Lightning's internal clock be overridden via an environment variable (CLN_DEV_SET_TIME). It is intended for reproducible testing, not normal operation. The change itself is not a vulnerability, but it creates a new mechanism that could be misused if an attacker can set environment variables before launching the node.

Lower-prioritygossipd: remove --dev-gossip-time setting, we'll use CLN_DEV_SET_TIME.by Rusty Russell · 806dc89c · Nov 13, 2025 · 8 filesMessage 65 · AdequateInformational 15Details
Commit message · Rusty Russell

gossipd: remove --dev-gossip-time setting, we'll use CLN_DEV_SET_TIME.

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 removes a developer-only testing option that let operators override the clock used by the gossip subsystem. It is a cleanup/refactoring change, not a security fix. The removed option was only available in developer builds and was being replaced by a more general time-override mechanism (CLN_DEV_SET_TIME).

AI review queuedpytest: add test that we fixup "pending" payments which don't actually have HTLCs.by Rusty Russell · e68e9bd2 · Nov 13, 2025 · 2 filesMessage 75 · AdequateInformational 11Details
Commit message · Rusty Russell

pytest: add test that we fixup "pending" payments which don't actually have HTLCs.

And don't fix up a genuine pending one!

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>

75/100 · AdequateMessage clarity
✓ Specific, descriptive subject✓ Names a concrete action or component✓ Provides an explanatory body✓ Mentions testing or verification
Why it was queued
signing or wallet pathsecond-pass: security-sensitive path
AI analysis · Informational 11/100

This commit only adds a new test case (and a small SQLite database snapshot used by the test). It does not change any production code. The test is currently marked as expected to fail (xfail), meaning it documents a known bug where Core Lightning may incorrectly report some payments as 'pending' when they actually have no active HTLCs. Because no fix is included, this commit by itself does not improve or worsen security.

AI review queuedlightningd: db migration to clean up any pending payments where theres no htlc.by Rusty Russell · 7ff0239f · Nov 13, 2025 · 2 filesMessage 73 · AdequateLow 30Details
Commit message · Rusty Russell

lightningd: db migration to clean up any pending payments where theres no htlc.

Changelog-Fixed: JSON-RPC: `listpays`/`listsendpays` erroneously left `pending` in xpay are cleaned up.
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 · Low 30/100

This commit adds a database cleanup routine that marks old pending payments as failed if no corresponding payment route (HTLC) actually exists. Previously, payments could be stuck showing as 'pending' forever in commands like listpays/listsendpays, even though nothing was really happening. The fix only corrects stale bookkeeping state; it does not create a way for an attacker to steal funds or force payments to fail.

Security candidatesplice: Update splice_info tlv to use odd versionby Dusty Daemon · c29db245 · Nov 13, 2025 · 2 filesMessage 80 · StrongLow 29Details
Commit message · Dusty Daemon

splice: Update splice_info tlv to use odd version

Update the tlv to use the type referenced in the spec, which also makes marks the tlv as optional.

Changelog-EXPERIMENTAL: --experimental-splicing: if you have splicing enabled on a channel both nodes must upgrade in unison due to updating commitment_signeds splice_info tlv's type.

80/100 · StrongMessage clarity
✓ Descriptive subject✓ Names a concrete action or component✓ Provides detailed explanatory context✓ Explains rationale or failure mode
Why it was queued
boot or update path
AI analysis · Low 29/100

This commit changes an experimental splicing feature's internal message numbering from 0 to 1 so it matches the official Lightning spec and becomes optional. It is a compatibility/standards-alignment fix, not a direct security patch. Both channel peers must upgrade together or they may fail to understand each other's splice-related messages.

AI review queuedchore: nix flake update Switched to nixpkgs-unstable Replaced postgresql dependency with much smaller libpq. Utilise new inputs.self.submodules feature to simplify flake use Moved apps to a separate file Changelog-Noneby Joseph Goulden · 1ead6791 · Nov 13, 2025 · 6 filesMessage 85 · StrongInformational 15Details
Commit message · Joseph Goulden

chore: nix flake update
Switched to nixpkgs-unstable
Replaced postgresql dependency with much smaller libpq.
Utilise new inputs.self.submodules feature to simplify flake use
Moved apps to a separate file
Changelog-None

85/100 · StrongMessage clarity
✓ Specific, descriptive subject✓ Names a concrete action or component✓ Uses a recognizable type or scope✓ Provides detailed explanatory context
Why it was queued
second-pass: broader security terminology
AI analysis · Informational 15/100

This is a routine maintenance update to the project's Nix build configuration. It switches to a newer rolling-release package source, swaps a heavy PostgreSQL dependency for a smaller one, and adds a CI check to validate the Nix flake. There is no indication this fixes or introduces a security vulnerability in the Core Lightning software itself.

Lower-priorityCI: Remove non-working FreeBSD test.by Rusty Russell · f58079e5 · Nov 13, 2025 · 1 fileMessage 100 · StrongInformational 15Details
Commit message · Rusty Russell

CI: Remove non-working FreeBSD test.

It takes over an hour to run, because there's no FreeBSD wheel for the cryptography Python
package, and it builds it, in Rust, from scratch.

And eventually, takes over 125 minutes and times out.

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>

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
Why it was queued
documentation-only discount
AI analysis · Informational 15/100

This commit simply removes a slow, timing-out FreeBSD continuous-integration test job from the project's GitHub Actions. It does not change any production code, wallet logic, network handling, or cryptography. There is no security issue in the change itself.

Lower-prioritysplice: Update to current specby Dusty Daemon · a45189cc · Nov 13, 2025 · 4 filesMessage 88 · StrongLow 32Details
Commit message · Dusty Daemon

splice: Update to current spec

Updating splice related reestablish code to
https://github.com/lightning/bolts/pull/1289
and
https://github.com/lightning/bolts/pull/1160

Changelog-Changed: Breaking change -- if you have splicing enabled on a channel both nodes must upgrade in unison due to updating `channel_reestablish` for to new splice specifications

88/100 · StrongMessage clarity
✓ Descriptive subject✓ Names a concrete action or component✓ Provides detailed explanatory context✓ Explains rationale or failure mode✓ Links an issue, advisory, or supporting reference
AI analysis · Low 32/100

This commit updates Core Lightning's implementation of the Lightning protocol's 'splicing' feature to match a newer draft specification. It changes the format of the channel_reestablish message used when two nodes reconnect after a disconnection. The changelog calls this a breaking change: both nodes in a channel must upgrade together if splicing is enabled, or they may fail to reconnect or misunderstand each other's state. The changes are primarily protocol-compliance and interoperability fixes rather than a clear security patch, but they affect how nodes agree on which funding transaction is active after a splice.

Lower-prioritypytest: test for xpay waiting when the destination complains about blockheight.by Rusty Russell · 4dca8cf7 · Nov 13, 2025 · 1 fileMessage 75 · AdequateInformational 12Details
Commit message · Rusty Russell

pytest: test for xpay waiting when the destination complains about blockheight.

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>

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

This commit adds a new automated test for the xpay payment feature. It checks that when a payer's node is behind on the latest blockchain block height, xpay will wait briefly for the node to catch up instead of immediately failing. The test is marked as expected to fail for now, meaning it documents desired behavior that may not yet be fully implemented. There is no code fix or security vulnerability visible in this change.

Lower-priorityxpay: wait, if final node gives us an indication we're behind on blockheight.by Rusty Russell · add398f5 · Nov 13, 2025 · 2 filesMessage 93 · StrongLow 47Details
Commit message · Rusty Russell

xpay: wait, if final node gives us an indication we're behind on blockheight.

This doesn't happen much in real life, but it's certainly possible, so do what pay does here.

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
Fixes: https://github.com/ElementsProject/lightning/issues/8612
Changelog-Added: `xpay` will now wait if it suspects a payment failure is due to a height disagreement with the final node.

93/100 · StrongMessage clarity
✓ Specific, descriptive subject✓ Names a concrete action or component✓ Provides detailed explanatory context✓ Explains rationale or failure mode✓ Links an issue, advisory, or supporting reference
AI analysis · Low 47/100

This update fixes a bug in Core Lightning's experimental 'xpay' payment plugin. Previously, if the final recipient rejected a payment because it thought the current blockchain height was higher than what xpay believed, xpay would immediately give up and report a permanent failure. Now, xpay detects that hint, waits until its own view of the blockchain catches up, and then retries. This prevents unnecessary failed payments when nodes are briefly out of sync on block height.

Lower-priorityaskrene: add askrene-bias-node rpcby Lagrang3 · 4f1c8806 · Nov 13, 2025 · 16 filesMessage 68 · AdequateInformational 23Details
Commit message · Lagrang3

askrene: add askrene-bias-node rpc

Changelog-Added: askrene-bias-node: an RPC command to set a bias on node's outgoing or incoming channels.

Signed-off-by: Lagrang3 <lagrang3@protonmail.com>

68/100 · AdequateMessage clarity
✓ Descriptive subject✓ Names a concrete action or component✓ Provides detailed explanatory context
AI analysis · Informational 23/100

This commit adds a new RPC command, askrene-bias-node, to Core Lightning's askrene routing plugin. It lets users tell the routing engine to prefer or avoid paths that go through a specific Lightning node. The change is a feature addition: it extends existing layer/bias machinery with a new per-node bias type, updates generated RPC bindings, schemas, documentation, and tests. There is no direct evidence in the commit of a security vulnerability, but any new RPC that influences route selection can affect payment reliability, fees, and potentially be misused by an authenticated caller to degrade routing behavior.

Lower-priorityaskrene: add timestamp to biasesby Lagrang3 · 5769beb1 · Nov 13, 2025 · 14 filesMessage 68 · AdequateInformational 19Details
Commit message · Lagrang3

askrene: add timestamp to biases

We add one more field to biases: "timestamp".
With the timestamp variable old biases can be removed with the
askrene-age command.

Changelog-Added: Plugins: askrene channel biases now have an associated timestamp, and are timed out by askrene-age

Signed-off-by: Lagrang3 <lagrang3@protonmail.com>

68/100 · AdequateMessage clarity
✓ Descriptive subject✓ Names a concrete action or component✓ Provides detailed explanatory context
AI analysis · Informational 19/100

This commit adds a creation timestamp to the 'channel biases' used by the askrene routing plugin and lets old biases be cleaned up by the existing askrene-age command. It is a feature enhancement, not a security fix. There is no indication it addresses a vulnerability or that the prior lack of timestamps was exploitable.

Lower-prioritydocs: Updated `beginners-guide` docs for v10by ShahanaFarooqui · 5d907ca7 · Nov 13, 2025 · 8 filesMessage 57 · ThinInformational 15Details
Commit message · ShahanaFarooqui

docs: Updated `beginners-guide` docs for v10

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

This commit only updates documentation metadata in the beginner's guide. It changes front-matter formatting (title quoting, excerpt placement, privacy/view settings) and removes some timestamp fields. No code, configuration, or security behavior is changed.

Lower-prioritydocs: Updated `contribute-to-core-lightning` docs for v10by ShahanaFarooqui · 529cc7d4 · Nov 13, 2025 · 9 filesMessage 62 · AdequateInformational 15Details
Commit message · ShahanaFarooqui

docs: Updated `contribute-to-core-lightning` docs for v10

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 commit only updates documentation metadata in Core Lightning's contributor guide. It changes front-matter formatting (title quoting, timestamps, privacy settings) across nine markdown files. There are no code, configuration, or behavior changes that could affect security.

Lower-prioritydocs: Update rpc commands sync script as per readme API v2by ShahanaFarooqui · bd3b3ca9 · Nov 13, 2025 · 1 fileMessage 62 · AdequateInformational 15Details
Commit message · ShahanaFarooqui

docs: Update rpc commands sync script as per readme API v2

Changelog-None.

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 commit updates a GitHub Actions script that publishes Core Lightning's RPC command documentation to the ReadMe documentation platform. It changes API endpoints and authentication format to match ReadMe's newer API version. There is no security-relevant change to the Core Lightning node software, wallet funds, network protocol, or user data.

Lower-prioritydocs: Upgrade rdme from v8 to v10by ShahanaFarooqui · 06118287 · Nov 13, 2025 · 1 fileMessage 57 · ThinInformational 15Details
Commit message · ShahanaFarooqui

docs: Upgrade rdme from v8 to v10

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

This commit updates the documentation publishing workflow from version 8 to version 10 of a ReadMe.io tool called 'rdme'. It only changes how project documentation is uploaded to an external docs site and does not touch the Core Lightning software itself, user funds, network code, or any secrets storage. The API key is still stored as a GitHub secret and is still passed to the tool in essentially the same way.

Lower-prioritydocs: Updated `node-operators-guide` docs for v10by ShahanaFarooqui · 6bba927f · Nov 13, 2025 · 4 filesMessage 57 · ThinInformational 15Details
Commit message · ShahanaFarooqui

docs: Updated `node-operators-guide` docs for v10

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

This commit only updates documentation metadata (front-matter formatting, visibility settings, and timestamps) in the Core Lightning node operator guide. No code, configuration, or security behavior is changed.

Lower-prioritydocs: Updated `getting-started` docs for v10by ShahanaFarooqui · 4a6a667c · Nov 13, 2025 · 10 filesMessage 57 · ThinInformational 15Details
Commit message · ShahanaFarooqui

docs: Updated `getting-started` docs for v10

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

This commit only updates the formatting and metadata of the 'getting started' documentation files for a new documentation platform version. It does not change any software code, configuration defaults, or security behavior of Core Lightning.

AI review queueddocs: Updated `developers-guide` docs for v10by ShahanaFarooqui · 367efcf6 · Nov 13, 2025 · 20 filesMessage 57 · ThinInformational 15Details
Commit message · ShahanaFarooqui

docs: Updated `developers-guide` docs for v10

57/100 · ThinMessage clarity
✓ Descriptive subject✓ Names a concrete action or component✓ Uses a recognizable type or scope! No meaningful explanatory body
Why it was queued
documentation-only discountsecond-pass: unusually broad change
AI analysis · Informational 15/100

This commit only updates documentation metadata in the Core Lightning developers guide. It changes front-matter formatting (title, slug, excerpt, privacy settings) across 20 markdown files but does not modify any code, configuration, or security-relevant behavior. There is no security issue here.

Lower-priorityautoclean: don't increment num_cleaned when record wasn't even a candidate.by Rusty Russell · 41e21d1d · Nov 13, 2025 · 4 filesMessage 81 · StrongInformational 21Details
Commit message · Rusty Russell

autoclean: don't increment num_cleaned when record wasn't even a candidate.

For example, `autoclean-once failedforwards` would count every non-failed forwards
as "uncleaned".

This is both technically correct and completely useless.

Changelog-Fixed: JSON-RPC: `autoclean-once` returns "uncleaned" number reflecting number of candidates which were too new to be cleaned, not all records we didn't delete.
Fixes: https://github.com/ElementsProject/lightning/issues/8632
Reported-by: @grubles and several other sharp-eyed users.
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
AI analysis · Informational 21/100

This commit fixes a bookkeeping bug in the autoclean-once feature. Previously, when you asked to clean up failed payment forwards, the tool counted every forward that wasn't deleted—including successful forwards that were never supposed to be deleted—as 'uncleaned'. Now it only counts records that were actually candidates for cleanup but were too new to be removed. This is a user-interface/reporting fix, not a security vulnerability.

Lower-prioritydocs: fix htlc states description regarding directionby daywalker90 · e9f3aaf8 · Nov 13, 2025 · 8 filesMessage 62 · AdequateInformational 15Details
Commit message · daywalker90

docs: fix htlc states description regarding direction

Changelog-None

62/100 · AdequateMessage clarity
✓ Specific, descriptive subject✓ Names a concrete action or component✓ Uses a recognizable type or scope! No meaningful explanatory body
AI analysis · Informational 15/100

This commit is a documentation and generated-code cleanup. It corrects a comment that incorrectly described which HTLC (payment routing slot) states correspond to outgoing versus incoming payments, and removes a duplicate enum definition in favor of a shared one. There is no change to how the software actually processes payments or secures funds.

Lower-prioritydocker: Fix missing CLN version in docker imageby ShahanaFarooqui · 57330466 · Nov 13, 2025 · 5 filesMessage 60 · AdequateInformational 15Details
Commit message · ShahanaFarooqui

docker: Fix missing CLN version in docker image

Changelog-Fixed: Core lightning version in Docker image will not be missing.

60/100 · AdequateMessage clarity
✓ Descriptive subject✓ Names a concrete action or component✓ Provides an explanatory body
AI analysis · Informational 15/100

This commit fixes a build issue where Core Lightning Docker images were missing their version label. It changes how the VERSION value is passed from GitHub Actions into the Docker build and how the Makefile accepts an externally provided version. There is no security problem here—just a packaging/metadata fix.

Lower-priorityci: Fix `Release` action failure due to change in `.asc` suffixby ShahanaFarooqui · 31035077 · Nov 13, 2025 · 1 fileMessage 100 · StrongInformational 15Details
Commit message · ShahanaFarooqui

ci: Fix `Release` action failure due to change in `.asc` suffix

Reference commit: https://github.com/ElementsProject/lightning/commit/ea2f7607b8ff08c6312e09caab22e07f1d0853e7

Changelog-None.

100/100 · StrongMessage clarity
✓ Specific, descriptive subject✓ Names a concrete action or component✓ Uses a recognizable type or scope✓ Provides detailed explanatory context✓ Explains rationale or failure mode✓ Links an issue, advisory, or supporting reference
Why it was queued
documentation-only discount
AI analysis · Informational 15/100

This is a one-line change to the project's GitHub release automation. It removes a command that renamed a checksum signature file. The change fixes a release-script failure caused by an earlier commit that already changed the output filename. There is no indication this affects running Lightning nodes, user funds, network security, or introduces any vulnerability.

Lower-prioritylsp_plugin: add client side check for zero_confby Peter Neuroth · e789b969 · Nov 13, 2025 · 3 filesMessage 68 · AdequateModerate 60Details
Commit message · Peter Neuroth

lsp_plugin: add client side check for zero_conf

We only allow zero_conf channels if we approved the a jit-channel from
the LSP in advance.

Signed-off-by: Peter Neuroth <pet.v.ne@gmail.com>

68/100 · AdequateMessage clarity
✓ Descriptive subject✓ Names a concrete action or component✓ Provides detailed explanatory context
AI analysis · Moderate 60/100

This commit adds a security check in Core Lightning's LSPS (Lightning Service Provider Specification) plugin so that the client only accepts 'zero confirmation' channels from LSPs it has previously approved for a JIT (just-in-time) channel. Before this change, the plugin blindly allowed any zero-conf channel opening, which could let a malicious or mistaken LSP open a channel the user never requested. The patch stores an approval record when the user approves a JIT channel, then checks that record when an open-channel request arrives, deleting it after use. A new test confirms that unapproved zero-conf channels are rejected.