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
225commits · 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 7 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 candidatedoc: rc1 build-release instructions.by Rusty Russell · f920c1e7 · Sep 10, 2025 · 1 fileMessage 68 · AdequateInformational 15Details
Commit message · Rusty Russell

doc: rc1 build-release instructions.

Signing `--without-zip` will not work. You will end up with a empty SHA256SUMS file.

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

This is a one-line documentation fix in the release checklist. It removes the `--without-zip` flag from an example command because using that flag would produce an empty SHA256SUMS file. There is no code change and no security vulnerability.

AI review queueddocker: Dockerfile fixes after poetry to uv migrationby ShahanaFarooqui · 9f75c992 · Sep 9, 2025 · 3 filesMessage 73 · AdequateInformational 17Details
Commit message · ShahanaFarooqui

docker: Dockerfile fixes after poetry to uv migration

Cargo utilizes `git ls-remote` to resolve git dependencies specified by commit hashes. GitHub only advertises commits that are reachable from branches, tags, or PR references. The `bip353-plugin` was referencing an orphaned commit in the `bitcoin-payment-instructions` dependency that was unreachable through any advertised reference. This can be resolved by installing the tarball release v0.5.0.

Changelog-None.

73/100 · AdequateMessage clarity
✓ Specific, descriptive subject✓ Names a concrete action or component✓ Provides detailed explanatory context
Why it was queued
second-pass: broader security terminology
AI analysis · Informational 17/100

This commit fixes Docker build problems after the project switched its Python tooling from Poetry to uv. The main change replaces a Rust dependency that was pinned to a specific orphaned Git commit with a published crate version, because GitHub no longer advertises unreachable commits. It also cleans up Dockerfile commands and environment variables so builds work again. There is no direct evidence this fixes an exploitable security vulnerability; it appears to be a build/maintenance fix.

Lower-prioritycommon/bolt11: Fix BOLT11 hash calculation for unknown fallback address versionsby Erick Cestari · 49c2f290 · Sep 4, 2025 · 1 fileMessage 65 · AdequateModerate 62Details
Commit message · Erick Cestari

common/bolt11: Fix BOLT11 hash calculation for unknown fallback address versions

Changelog-Fixed: Fixed hash calculation inconsistency when processing
invoices with unknown fallback address versions.

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

This change fixes how Core Lightning calculates the cryptographic hash of a BOLT11 invoice when the invoice contains a 'fallback address' whose version number is not recognized. Previously, the code would first read the version into the hash, then decide it was unknown and skip the field. That caused the hash to include data that the BOLT11 specification says should be left out, creating a mismatch with other implementations and potentially making the invoice unpayable or causing validation failures. The fix reads the version first without hashing it, skips unknown versions entirely, and only hashes the field for known versions.

Lower-priorityplugins/bcli: use -rpcwait to simplify waiting for bitcoind to warm up Replaced custom wait logic with the -rpcwait flag in bitcoin-cli to handle waiting for bitcoind to warm up. This simplifies the code and ensures that errors unrelated to warmup are passed up directly without additional checks. Chby Nishant Bansal · 74489b52 · Sep 4, 2025 · 1 fileMessage 73 · AdequateInformational 19Details
Commit message · Nishant Bansal

plugins/bcli: use -rpcwait to simplify waiting for bitcoind to warm up
Replaced custom wait logic with the -rpcwait flag in bitcoin-cli to handle waiting for bitcoind to warm up. This simplifies the code and ensures that errors unrelated to warmup are passed up directly without additional checks.
Changelog-None

Signed-off-by: Nishant Bansal <nishant.bansal.282003@gmail.com>

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

This change simplifies how Core Lightning's bitcoin-cli plugin waits for the Bitcoin node to finish starting up. It replaces a custom retry loop with bitcoin-cli's built-in -rpcwait flag. The main effect is cleaner code and slightly different error handling when bitcoin-cli cannot connect. There is no direct evidence this fixes an active security vulnerability, but any change in startup error handling can have subtle reliability implications.

Lower-prioritycommon: fix dangling memory allocation in `daemon_conn_new_()`by Chandra Pratap · c0673aea · Sep 4, 2025 · 1 fileMessage 73 · AdequateLow 25Details
Commit message · Chandra Pratap

common: fix dangling memory allocation in `daemon_conn_new_()`

Changelog-Fixed: Use the correct context in `daemon_conn_new_()`
by allocating `struct daemon_conn` with `ctx` instead of `NULL`.

This ensures proper ownership and cleanup of `daemon_conn` objects,
avoiding memory leaks.

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

This commit fixes a one-line memory-management bug in Core Lightning. A helper function that creates internal connection objects was allocating them with no owner (NULL context) instead of using the caller-provided owner. That meant the objects could become 'dangling' allocations that are not automatically freed when their parent object is destroyed, leading to memory leaks. The fix passes the intended owner context into the allocation function so cleanup happens correctly.

Lower-priorityci: Retry CI workflow with changelogby Sangbida Chaudhuri · f7f018fe · Sep 4, 2025 · 1 fileMessage 92 · StrongInformational 15Details
Commit message · Sangbida Chaudhuri

ci: Retry CI workflow with changelog

Imagine you've burned the midnight oil trying to get your feature into this latest release that was due yesterday. Sweat is dripping off your brow, but you're proud, you're finally ready to push all your changes and merge!
.
.
.
Only for Github Gandalf the Grey to go "YOU SHALL NOT PASS". Why? Because you did not add a "Changelog-None" to any of commit messages. So you have to go back and try add a full stop here or a new line there and wait for the CI overlords to bless your PR. :'(

Well now, you can just add a Changelog-None to your PR description and github hopefully will take mercy on you and run your CI workflow again :)

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

This commit changes the project's GitHub Actions CI configuration so that the workflow also runs when a pull request description is edited, but only if the edit includes the word 'Changelog'. It is a developer-convenience change to avoid re-pushing commits just to satisfy a changelog-check bot. There is no security relevance.

Lower-priorityGitHub: Update pull request template with next release dates.by Rusty Russell · 76665123 · Sep 4, 2025 · 1 fileMessage 65 · AdequateInformational 15Details
Commit message · Rusty Russell

GitHub: Update pull request template with next release dates.

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

This commit simply updates the dates in the GitHub pull request template for the next software release cycle. It changes no code, no configuration, and no security-related documentation. There is no security issue here.

Lower-priorityMakefile: update so we know next version is v25.12by Rusty Russell · bc41d074 · Sep 4, 2025 · 3 filesMessage 83 · StrongInformational 15Details
Commit message · Rusty Russell

Makefile: update so we know next version is v25.12

And add broken-log suppression to the tests which use deprecated features on their last gasp.

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 · Informational 15/100

This commit is a routine maintenance update. It bumps the planned next release version from v25.09 to v25.12 in the Makefile and adds log-message suppressions to a few test cases that intentionally use deprecated features. There is no security-relevant code change.

Lower-priorityconnectd: fix diagnostics if we get a long delay.by Rusty Russell · 6a05f240 · Sep 2, 2025 · 1 fileMessage 68 · AdequateInformational 14Details
Commit message · Rusty Russell

connectd: fix diagnostics if we get a long delay.

In a0fd72eb5e0 I added a diagnostic message if messages cause large
delays, *but* I didn't set the "peer_in_lasttime" variable in the case
of locally-handled packets.

I really want this in the release: the point of this was to try to
diagnose some high-latency ping issues we've seen on the real network.

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

This is a small bugfix inside Core Lightning's connection handling code. It corrects a diagnostic timer so that latency measurements blame the right network message. The commit itself is not a security fix and does not appear exploitable; it is described by the author as a debugging aid for real-world ping latency issues.

Lower-priorityRelease: do docker make inside uv run.by Rusty Russell · cbc38c78 · Sep 2, 2025 · 1 fileMessage 68 · AdequateInformational 15Details
Commit message · Rusty Russell

Release: do docker make inside uv run.

Here's the error inside docker:

```
wiregen common/status_wiregen.h
Traceback (most recent call last):
File "/build/tools/generate-wire.py", line 27, in <module>
from mako.template import Template
ModuleNotFoundError: No module named 'mako'
rm external/build-x86_64-redhat-linux/libwally-core-build/src/secp256k1/libsecp256k1.la
make: *** [Makefile:328: common/status_wiregen.h] Error 1
```

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 is a build-script fix for the Core Lightning release process. When building inside Docker, the script now runs the `make` commands inside the project's Python environment (managed by `uv`) so that required Python modules like `mako` are found. It is a build reliability fix, not a security patch.

Lower-priorityRelease: fix build inside Fedoraby Rusty Russell · 6da11128 · Sep 2, 2025 · 1 fileMessage 68 · AdequateInformational 15Details
Commit message · Rusty Russell

Release: fix build inside Fedora

```
=> => naming to docker.io/library/fedora 0.0s
Inside docker: starting build
Cloning into '/build'...
done.
Note: switching to 'ca533a084d7a7636b099de7f6326f549c5251dfc'.

You are in 'detached HEAD' state. You can look around, make experimental
changes and commit them, and you can discard any commits you make in this
state without impacting any branches by switching back to a branch.

If you want to create a new branch to retain commits you create, you may
do so (now or later) by using -c with the switch command. Example:

git switch -c <new-branch-name>

Or undo this operation with:

git switch -

Turn off this advice by setting config variable advice.detachedHead to false

Downloading cpython-3.12.11-linux-x86_64-gnu (download) (29.9MiB)
Downloading cpython-3.12.11-linux-x86_64-gnu (download)
Using CPython 3.12.11
Resolved 120 packages in 2ms
error: No virtual environment found for Python 3.12; run `uv venv` to create an environment, or pass `--system` to install into a non-virtual environment
```

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 fixes a build script used to create official releases inside a Fedora Docker container. It adds one command to create a Python virtual environment before installing dependencies. There is no security issue here—it's a routine build-fix.

Lower-priorityci: make and publish fixes after uv migrationby ShahanaFarooqui · 5bdf6f4c · Sep 2, 2025 · 1 fileMessage 57 · ThinInformational 15Details
Commit message · ShahanaFarooqui

ci: make and publish fixes after uv migration

Changelog-None.

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 is a routine fix to the project's automated Python package publishing workflow after switching to a new Python tooling system called 'uv'. It changes command-line options and a Makefile target name so packages build and publish correctly. There is no security issue visible in the commit.

Lower-priorityMakefile: fix make update-versions.by Rusty Russell · 5db7745f · Sep 2, 2025 · 1 fileMessage 68 · AdequateInformational 15Details
Commit message · Rusty Russell

Makefile: fix make update-versions.

1. We need to replace versions in __init__.py
2. We need to run uv after changing versions, so it updates uv.lock

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 is a routine build-maintenance patch. It fixes the developer-only 'make update-versions' command so it also updates a Python package version string inside source files and runs the uv lock tool after version changes. There is no user-facing or security-relevant change.

Lower-priorityMakefile: fix update-versions.by Rusty Russell · 8ebd3da7 · Sep 2, 2025 · 1 fileMessage 50 · ThinInformational 15Details
Commit message · Rusty Russell

Makefile: fix update-versions.

We need to run `uv lock` once the Python versions are updated.

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

50/100 · ThinMessage clarity
✓ Descriptive subject✓ Provides an explanatory body
AI analysis · Informational 15/100

This is a build-maintenance patch. It adds one command (`uv lock`) to the Makefile's version-update target so that Python dependency lock files are refreshed after version numbers are changed. There is no security relevance in the commit itself.

Lower-priorityMakefile: temporarily disable update-doc-examples in update-versions.by Rusty Russell · 57f87b42 · Sep 2, 2025 · 1 fileMessage 65 · AdequateInformational 15Details
Commit message · Rusty Russell

Makefile: temporarily disable update-doc-examples in update-versions.

I have a PR to restore it for next release, I promise.

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 simply removes one build step (update-doc-examples) from a Makefile target used during release version updates. It is a temporary developer workflow change with no visible security relevance. The author promises to restore the step in the next release.

Lower-priorityreprobuild: use uv, not poetry, inside reproducible Docker files.by Rusty Russell · 487f4447 · Sep 2, 2025 · 3 filesMessage 65 · AdequateInformational 15Details
Commit message · Rusty Russell

reprobuild: use uv, not poetry, inside reproducible Docker files.

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 swaps the Python package tool used inside Core Lightning's reproducible build Docker containers, replacing Poetry with a newer tool called 'uv'. It only touches build infrastructure files and does not change any wallet, network, or consensus code. There is no indication this fixes or introduces a security vulnerability.

Lower-priorityci: Download bitcoind 27.1 from GCSby Christian Decker · 147eb225 · Sep 2, 2025 · 1 fileMessage 80 · StrongInformational 15Details
Commit message · Christian Decker

ci: Download bitcoind 27.1 from GCS

bitcoincore.org was slowing us down massively, and we should be more
respectful of the orgs bandwidth too.

Changelog-None

80/100 · StrongMessage clarity
✓ Descriptive subject✓ Names a concrete action or component✓ Uses a recognizable type or scope✓ Provides detailed explanatory context
AI analysis · Informational 15/100

This commit changes where the project's automated build system downloads the Bitcoin Core software (bitcoind) for testing. Previously it came from bitcoincore.org; now it comes from a Google Cloud Storage bucket controlled by the project. The stated reason is to reduce load on bitcoincore.org's servers and avoid slow downloads. There is no code vulnerability in the change itself, but it shifts trust to a different download source.

Lower-priorityci: Use uv in Fedora buildby Christian Decker · 2a87dd2a · Sep 2, 2025 · 1 fileMessage 57 · ThinInformational 15Details
Commit message · Christian Decker

ci: Use uv in Fedora build

57/100 · ThinMessage clarity
✓ 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 updates a Fedora-based CI build container to use a newer Python packaging tool called 'uv' instead of the older pip/virtualenv/poetry setup. It is a routine build-infrastructure change with no apparent security relevance.

Lower-prioritymisc: Make the root project not a packageby Christian Decker · 68db7069 · Sep 2, 2025 · 1 fileMessage 45 · ThinInformational 15Details
Commit message · Christian Decker

misc: Make the root project not a package

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

This commit changes Python packaging metadata to declare that the top-level directory is not itself an installable Python package. It adds two configuration lines telling Poetry and uv (Python build tools) not to treat the root project as a package. There is no code change and no apparent security relevance.

Lower-priorityDockerfile: remove poetry, use uv.by Rusty Russell · 5db1e3a7 · Sep 2, 2025 · 1 fileMessage 68 · AdequateInformational 15Details
Commit message · Rusty Russell

Dockerfile: remove poetry, use uv.

Simplified by the fact that we don't actually have any builtin Python plugins any longer.

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 updates the project's Docker build file to replace the Poetry Python package manager with a newer tool called 'uv'. It also removes build steps for built-in Python plugins because the project no longer includes them. There is no security-relevant change here—this is a routine build tooling cleanup.

Security candidatecontrib: add Madeline's signing key.by Rusty Russell · bc753a2f · Sep 2, 2025 · 1 fileMessage 60 · AdequateInformational 15Details
Commit message · Rusty Russell

contrib: add Madeline's signing key.

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

This commit simply adds a new PGP public key file for a person named Madeline to the project's contributor key directory. It is a routine administrative change with no code modifications and no direct security impact.

Lower-priorityupdate CHANGELOG.md for 25.09by madelinevibes · 460a31b0 · Sep 1, 2025 · 1 fileMessage 45 · ThinInformational 15Details
Commit message · madelinevibes

update CHANGELOG.md for 25.09

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

This commit only updates the release notes file (CHANGELOG.md), changing the version label from a release candidate (25.09rc4) to the final release (25.09) and updating the release date and download link. No program code was changed, so it cannot introduce or fix any security issue by itself.

Lower-priorityupdate the versions for 25.09by Madeline Paech · d7d0e322 · Sep 1, 2025 · 9 filesMessage 45 · ThinInformational 15Details
Commit message · Madeline Paech

update the versions for 25.09

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

This commit is a routine version bump from a release candidate (25.09rc4) to the final release number (25.09). It only changes version strings in packaging files and contains no functional code changes. There is no security relevance.

Lower-prioritychange log updated for 25.09rc4by madelinevibes · ddd65796 · Aug 28, 2025 · 1 fileMessage 45 · ThinInformational 15Details
Commit message · madelinevibes

change log updated for 25.09rc4

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

This commit only updates the project's changelog file to change the release candidate version number from 25.09rc3 to 25.09rc4 and update the release date. No code, configuration, or security-related content was modified.

Lower-priorityupdates for rc4: name changes and uvby madelinevibes · 81838fab · Aug 28, 2025 · 9 filesMessage 45 · ThinInformational 15Details
Commit message · madelinevibes

updates for rc4: name changes and uv

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

This commit is a routine release-candidate version bump from 25.09rc3 to 25.09rc4 across several Python package metadata files and a lock file. It changes only version strings and contains no functional code modifications, bug fixes, or security-related changes.