EP
← All projectsElements Project

Core Lightning

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

BitcoinLightning NetworkNormal
Repository coverage

1855 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 queue1642AI analyses
144commits · 30 days
227commits · 60 days
805commits · 180 days
1851commits · 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
431Strong · 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 Russell95873826072
Sangbida Chaudhuri14731143066
Dusty Daemon771366066
ShahanaFarooqui931084063
daywalker9090588062
Níckolas Goline40540076
Lagrang376465069
Christian Decker36429072
Vincenzo Palazzo838080
Chandra Pratap56256082
ekzyis222063
Analysis record

Published AI watches

Last scanned 34 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.

Lower-prioritydevtools: Add discouraged function check to pre-commit.by Se7enZ · 6e50148b · Jan 23, 2026 · 1 fileMessage 65 · AdequateInformational 12Details
Commit message · Se7enZ

devtools: Add discouraged function check to pre-commit.

Reimplements `make check-discouraged-functions` for Python regex.

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

This commit adds a new automated code-quality check that flags risky C functions like gets, scanf, sprintf, fgets, and fputs during pre-commit. It is a defensive tooling change, not a fix for an active security bug. There is no patch to any runtime code, so it does not directly change the software's security posture, but it helps prevent unsafe functions from being introduced in the future.

Lower-prioritydevtools: Add shellcheck to pre-commit.by Se7enZ · 98c149c7 · Jan 23, 2026 · 1 fileMessage 45 · ThinInformational 15Details
Commit message · Se7enZ

devtools: Add shellcheck to pre-commit.

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

This commit adds a development tool called shellcheck to the project's pre-commit checks. It is purely a code-quality and linting change; it does not modify any runtime code, fix a bug, or change how the software behaves. There is no security issue in this commit itself.

Lower-prioritydevtools: Add custom `include-order-fixer` to pre-commit.by Se7enZ · 5ca181ec · Jan 23, 2026 · 4 filesMessage 65 · AdequateInformational 15Details
Commit message · Se7enZ

devtools: Add custom `include-order-fixer` to pre-commit.

Also fixes some exising file spacing issues. Preserves whitespace and
comments.

Assisted by Cursor Auto.

65/100 · AdequateMessage clarity
✓ Specific, descriptive subject✓ Names a concrete action or component✓ Provides an explanatory body
AI analysis · Informational 15/100

This commit adds a new developer tool that automatically sorts #include lines in C source files to match the project's coding style. It also wires that tool into the pre-commit checks and removes one stray blank line from a single file. There is no security-relevant code change here.

Lower-prioritylightningd: remove support for long-deprecated old-style feerate responses.by Rusty Russell · 95d87601 · Jan 20, 2026 · 1 fileMessage 73 · AdequateInformational 23Details
Commit message · Rusty Russell

lightningd: remove support for long-deprecated old-style feerate responses.

This was supposed to be removed in v24.05. Finally remove it now.

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
Changelog-Removed: lightningd: `estimatefeesv1` support for older bcli plugins (deprecated v23.05, disabled by default v24.05).

73/100 · AdequateMessage clarity
✓ Specific, descriptive subject✓ Names a concrete action or component✓ Provides detailed explanatory context
AI analysis · Informational 23/100

This commit removes old, deprecated fee-estimate response handling from Core Lightning's Bitcoin backend plugin interface. It was already disabled by default in v24.05 and was scheduled for removal. The change makes the code stricter: if a plugin still returns the old format, Core Lightning will now log an error and stop rather than silently accepting it. This is a cleanup of technical debt, not a fix for an active security vulnerability.

Security candidateMakefile: update next and prev versions now we've released.by Rusty Russell · ee0175b8 · Jan 20, 2026 · 7 filesMessage 85 · StrongInformational 18Details
Commit message · Rusty Russell

Makefile: update next and prev versions now we've released.

This means:
1. downgrade changes (we no longer fail due to node biases).
2. various deprecations no longer are

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
Why it was queued
update trust
AI analysis · Informational 18/100

This is a routine post-release maintenance commit for Core Lightning. It updates version numbers in the build files and test infrastructure after a new release, adjusts downgrade tests to reflect that downgrading past the new release no longer fails on a recently-added database feature, and removes some temporary test workarounds for APIs that are no longer considered deprecated. There is no direct security fix here; it is housekeeping that keeps the CI and downgrade tooling aligned with the current release cycle.

Lower-prioritylightningd: removing comment insisting plugin hooks are an array of objects, not names.by Rusty Russell · f8ef6e14 · Jan 20, 2026 · 2 filesMessage 73 · AdequateInformational 15Details
Commit message · Rusty Russell

lightningd: removing comment insisting plugin hooks are an array of objects, not names.

This was changed in v0.9.2 (November 2020), with a comment saying to remove.

But it turns out that the rust plugin support still uses the old
method (found this by removing it and watching everything fail!). So
simply undeprecate and document.

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 simply updates a code comment and developer documentation. It removes an outdated note that said the old way of listing plugin hooks (by name only) should be removed in the future, and instead documents that both the old and new formats are officially supported. There is no security issue here.

Lower-priorityconnectd: remove unused flag to connect_init.by Rusty Russell · bcce29ee · Jan 20, 2026 · 4 filesMessage 60 · AdequateInformational 15Details
Commit message · Rusty Russell

connectd: remove unused flag to connect_init.

We haven't announced websocket addresses for some time!

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

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

This is a small cleanup change that removes an obsolete setting related to announcing websocket addresses. It does not change any security behavior; the feature was already unused.

Lower-prioritylibplugin: fix 'i-promise-to-fix-broken-api-user' parsing.by Rusty Russell · 9081499b · Jan 20, 2026 · 1 fileMessage 65 · AdequateInformational 17Details
Commit message · Rusty Russell

libplugin: fix 'i-promise-to-fix-broken-api-user' parsing.

This is important for the first xpay deprecation end-of-life!

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

This is a one-line bug fix in how Core Lightning reads a configuration option named 'i-promise-to-fix-broken-api-user'. The old code expected a simple value, but the actual configuration format stores it as a list of string values. The fix changes the parser to read the list correctly. If left unfixed, the plugin would fail to read the setting and could crash or misbehave when deprecated API behavior is removed, but there is no direct security exploit here.

Lower-priorityhsmd: remove unused "sign_local_htlc_tx" function which onchaind used to use.by Rusty Russell · af1c9640 · Jan 20, 2026 · 5 filesMessage 73 · AdequateInformational 15Details
Commit message · Rusty Russell

hsmd: remove unused "sign_local_htlc_tx" function which onchaind used to use.

I tried removing sign_penalty_to_us, but that comment is wrong: channeld
uses that for the watchtower, so it stays (with updated comment).

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 removes an old, unused function called sign_local_htlc_tx from the wallet's Hardware Security Module (HSM) interface. The function was previously used by the on-chain transaction handler (onchaind) but is no longer called anywhere. The change is a cleanup that also updates a comment about another function used by watchtowers. There is no security fix here.

Lower-prioritylightningd: remove the "listpeers.features.option_anchors_zero_fee_htlc_tx" option.by Rusty Russell · 9881e046 · Jan 20, 2026 · 8 filesMessage 73 · AdequateInformational 21Details
Commit message · Rusty Russell

lightningd: remove the "listpeers.features.option_anchors_zero_fee_htlc_tx" option.

Everyone should be using the new name.

Changelog-Removed: JSON-RPC: `listpeers` `features` array string "option_anchors_zero_fee_htlc_tx": use "option_anchors" (spec renamed it). Deprecated in 24.08.
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 21/100

This commit removes an old, renamed label from the list of features shown for Lightning peers and channels. The old label 'option_anchors_zero_fee_htlc_tx' is replaced by the current spec name 'option_anchors'. It is a routine cleanup of a deprecated JSON-RPC field, not a security fix.

Lower-prioritydoc: fix end deprecation date of `max_htlc_value_in_flight_msat`.by Rusty Russell · 3af6fd2f · Jan 20, 2026 · 2 filesMessage 73 · AdequateInformational 15Details
Commit message · Rusty Russell

doc: fix end deprecation date of `max_htlc_value_in_flight_msat`.

The code had this as 26.03, but the documentation said 26.06. The
usual deprecation period is a year, so I'm changing the documentation.
Unfortunately the documentation (fe4d5036c24) was updated separately
from the code (afb54ff8e8f), so this wasn't obvious at the time!

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 only corrects a typo in the documentation: the planned end-of-life version for a deprecated setting was listed as v26.06, but the actual code uses v26.03. There is no code change and no security impact.

Lower-prioritygit: correctly mark contrib/pyln-grpc-proto/pyln/grpc/node_pb2.py for binary diffs.by Rusty Russell · c8525a13 · Jan 20, 2026 · 1 fileMessage 73 · AdequateInformational 15Details
Commit message · Rusty Russell

git: correctly mark contrib/pyln-grpc-proto/pyln/grpc/node_pb2.py for binary diffs.

The giant text lines make emacs ... run... slowly. Finally got around to fixing it
to see that it had already been done, just not updated!

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 trivial Git configuration fix. It updates the .gitattributes file so that a different auto-generated Python file is treated as binary by Git, preventing Git from trying to show text diffs for it. There is no security relevance.

AI review queuedlightningd: remove `decodepay`.by Rusty Russell · 592f8586 · Jan 20, 2026 · 24 filesMessage 58 · ThinInformational 19Details
Commit message · Rusty Russell

lightningd: remove `decodepay`.

Changelog-Removed: JSON-RPC: `decodepay` (use `decode`), deprecated v24.11.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>

58/100 · ThinMessage clarity
✓ Descriptive subject✓ Provides detailed explanatory context
Why it was queued
parser or protocol pathsecond-pass: unusually broad changesecond-pass: security-sensitive path
AI analysis · Informational 19/100

This commit removes the old 'decodepay' JSON-RPC command from Core Lightning. It was already marked as deprecated and users are directed to use the newer 'decode' command instead. There is no security bug being fixed here; it is a routine cleanup of an obsolete API.

Lower-prioritylightningd: remove tx and txid fields from close response.by Rusty Russell · 98314679 · Jan 20, 2026 · 9 filesMessage 73 · AdequateInformational 21Details
Commit message · Rusty Russell

lightningd: remove tx and txid fields from close response.

Changelog-Removed: JSON-RPC: `close` `tx` and `txid` field (use `txs` and `txids`), deprecated v24.11.
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 21/100

This commit removes two old, single-value fields (`tx` and `txid`) from the JSON-RPC and gRPC response of the `close` command. They were already marked as deprecated in version 24.11 and are being replaced by the newer `txs` and `txids` list fields. This is a routine API cleanup, not a security fix.

Lower-priorityplugins: don't try to fetch max-locktime-blocks.by Rusty Russell · d5f66cea · Jan 20, 2026 · 3 filesMessage 60 · AdequateInformational 19Details
Commit message · Rusty Russell

plugins: don't try to fetch max-locktime-blocks.

It was removed in v25.09, so this code is useless.

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

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

This commit removes leftover code that tried to read a configuration option called 'max-locktime-blocks' from three payment-related plugins. That option was already removed from the core software, so the code was doing nothing useful. The commit also hardcodes the fallback maximum payment delay to 2016 blocks, which was already the previous default. There is no direct security fix here; it is mostly cleanup of dead code.

Lower-priorityscript: Change category slug for better Admin panel managementby ShahanaFarooqui · 15081de1 · Jan 20, 2026 · 1 fileMessage 50 · ThinInformational 15Details
Commit message · ShahanaFarooqui

script: Change category slug for better Admin panel management

50/100 · ThinMessage clarity
✓ Specific, descriptive subject✓ Names a concrete action or component! No meaningful explanatory body
Why it was queued
documentation-only discount
AI analysis · Informational 15/100

This commit updates a GitHub automation script that synchronizes documentation pages with the ReadMe documentation platform. It changes the documentation category slug from 'JSON-RPC API Reference' to 'JSON-RPC' and removes URL-encoding of that slug. It also adds an error message when the ReadMe API request fails. There is no security-relevant change here.

Lower-prioritydoc: Update json and markdowns to make them .mdx compatibleby ShahanaFarooqui · 79ffb3a7 · Jan 20, 2026 · 12 filesMessage 65 · AdequateInformational 15Details
Commit message · ShahanaFarooqui

doc: Update json and markdowns to make them .mdx compatible

readme v2 API expects files to be .mdx compatible.

65/100 · AdequateMessage clarity
✓ Specific, descriptive subject✓ Names a concrete action or component✓ Provides an explanatory body
AI analysis · Informational 15/100

This commit only reformats documentation files and JSON schemas so they display correctly in a new documentation system (MDX). It changes email addresses from angle-bracket style to mailto links, wraps code snippets in backticks, and converts plain URLs to Markdown links. No program code, logic, or security behavior is changed.

Lower-priorityscript: API v2 accepts `position` param rather than `order`by ShahanaFarooqui · 58a620aa · Jan 20, 2026 · 1 fileMessage 50 · ThinInformational 15Details
Commit message · ShahanaFarooqui

script: API v2 accepts `position` param rather than `order`

50/100 · ThinMessage clarity
✓ Specific, descriptive subject✓ Names a concrete action or component! No meaningful explanatory body
Why it was queued
documentation-only discount
AI analysis · Informational 15/100

This is a routine maintenance update to a GitHub automation script that publishes Core Lightning's RPC documentation to a documentation platform. The script's API call now uses the parameter name 'position' instead of 'order' because the documentation platform changed its API. It also updates the target branch from '1' to 'stable' and improves log messages. There is no security relevance.

Lower-prioritydoc: Add signmessagewithkey to generate documentationby ShahanaFarooqui · 6a1f467d · Jan 20, 2026 · 2 filesMessage 50 · ThinInformational 15Details
Commit message · ShahanaFarooqui

doc: Add signmessagewithkey to generate documentation

And sorted list with file name.

50/100 · ThinMessage clarity
✓ Specific, descriptive subject✓ Names a concrete action or component! No meaningful explanatory body
Why it was queued
documentation-only discount
AI analysis · Informational 15/100

This commit only updates documentation build files. It adds a new manual page entry for an existing command (`signmessagewithkey`) and re-sorts some other entries alphabetically. There are no code changes and no security implications.

Lower-priorityscript: More error checks and loggingby ShahanaFarooqui · 9655f531 · Jan 20, 2026 · 1 fileMessage 45 · ThinInformational 18Details
Commit message · ShahanaFarooqui

script: More error checks and logging

45/100 · ThinMessage clarity
✓ Descriptive subject✓ Names a concrete action or component! No meaningful explanatory body
Why it was queued
documentation-only discount
AI analysis · Informational 18/100

This is a routine improvement to a GitHub automation script that synchronizes documentation to a third-party service (ReadMe). It adds basic safety checks—verifying an API key is present, confirming files exist before opening them, and switching from document 'title' to 'slug' for matching. There is no indication this fixes a security vulnerability in the Core Lightning software itself; it simply makes a docs-publishing script fail more gracefully and avoid some accidental mismatches or crashes.

Lower-prioritychore: Ensure the logging library does not get upset when output capture is disabled.by Christian Decker · eae521b1 · Jan 20, 2026 · 4 filesMessage 87 · StrongInformational 15Details
Commit message · Christian Decker

chore: Ensure the logging library does not get upset when output capture is disabled.

Changelog-Fixed: Testing infrastructure no longer fails when logging output capture is disabled.

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

This commit only changes how the project's automated testing and build scripts set an environment variable (TEST_LOG_IGNORE_ERRORS=1). It tells the test logging library not to treat certain log-related issues as fatal during test runs. There is no change to the Core Lightning node software, wallet handling, network protocol, cryptography, or any code that runs in production. It is purely a testing-infrastructure convenience fix.

Lower-prioritytesting: Add TEST_LOG_IGNORE_ERRORS envvar to suppress logging errorsby Christian Decker · 49049deb · Jan 20, 2026 · 1 fileMessage 60 · AdequateInformational 15Details
Commit message · Christian Decker

testing: Add TEST_LOG_IGNORE_ERRORS envvar to suppress logging errors

60/100 · AdequateMessage clarity
✓ Specific, descriptive subject✓ Names a concrete action or component✓ Mentions testing or verification! No meaningful explanatory body
AI analysis · Informational 15/100

This commit adds a testing-only environment variable that, when enabled, tells Python's logging system not to raise exceptions if something goes wrong while formatting or emitting log messages. It only affects the project's internal Python test harness and has no bearing on real Lightning node operation, funds, network security, or production code.

AI review queuedmsggen: add string_map typeby daywalker90 · 8bc2e76f · Jan 19, 2026 · 7 filesMessage 35 · OpaqueInformational 15Details
Commit message · daywalker90

msggen: add string_map type

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 adds a new data type called 'string_map' to the code generator used for converting between Core Lightning's JSON-RPC interface and its gRPC/Rust interfaces. It is a feature addition for the message generator and testing schema validator, not a security fix or vulnerability patch.

AI review queuedclnrest: add clnrest-register-path method for dynamic pathsby daywalker90 · d03cf820 · Jan 19, 2026 · 25 filesMessage 65 · AdequateLow 39Details
Commit message · daywalker90

clnrest: add clnrest-register-path method for dynamic paths

Changelog-Added: clnrest: add clnrest-register-path rpc method to register dynamic paths

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 · Low 39/100

This commit adds a new feature to Core Lightning's REST plugin that lets plugin developers register custom web API paths. It is a feature addition rather than a fix for a known vulnerability. The change expands the attack surface of the REST API by allowing dynamic path registration, but it also includes optional rune-based access controls. There is no direct evidence in the commit of a security bug, though any dynamic routing feature introduces risks if paths are registered carelessly or if input validation is flawed.

Lower-priorityscript: Add Fedora as target for SHASUMS verificationby ShahanaFarooqui · 12ccfb5c · Jan 16, 2026 · 1 fileMessage 60 · AdequateInformational 17Details
Commit message · ShahanaFarooqui

script: Add Fedora as target for SHASUMS verification

60/100 · AdequateMessage clarity
✓ Specific, descriptive subject✓ Names a concrete action or component✓ Mentions testing or verification! No meaningful explanatory body
Why it was queued
defensive validation
AI analysis · Informational 17/100

This commit simply adds 'Fedora' to the list of Linux distributions whose release binaries are checked against published checksums during the release verification script. It is a build-process expansion, not a code change, and introduces no security vulnerability.