meta: Update version 25.09.3 and CHANGELOG
What changed, and why it matters
This commit is a routine version bump and changelog update for Core Lightning release 25.09.3. It only changes version strings in packaging files and adds release notes; it does not modify any executable code, cryptographic logic, network handling, or fix any vulnerability directly. The changelog mentions prior fixes in release 25.09.2, but those changes are not part of this diff.
No action needed for this commit itself. Operators should review the 25.09.2 and 25.09.3 release notes and apply the full release update if they are affected by the bugs described in the changelog.
Security signals we found
No strong security signals were identified.
Evidence from the diff
The diff updates .version and several Python package version strings from 25.09.1 to 25.09.3, updates uv.lock accordingly, and appends CHANGELOG.md entries for releases 25.09.2 and 25.09.3. No functional source code is changed. The 25.09.2 changelog references multiple prior bug fixes (bookkeeper crashes, xpay pending states, askrene infinite loop, bcli argument length, giant PSBT performance), but those fixes are not present in this commit.
Changed components
Inspect captured patch +57 / −11
diff --git a/.version b/.version
index 739af04d..8aa5d8fc 100644
--- a/.version
+++ b/.version
@@ -1 +1 @@
-25.09.1
+25.09.3
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 92a2bd55..df60b381 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -3,6 +3,52 @@
All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
+
+## [25.09.3] - 2025-11-06: "Hot Wallet Guardian IV"
+
+### Fixed
+
+ - Docker image was missing SQLite library
+
+[#8667]: https://github.com/ElementsProject/lightning/pull/8667
+[25.09.3]: https://github.com/ElementsProject/lightning/releases/tag/v25.09.3
+
+## [25.09.2] - 2025-11-04: "Hot Wallet Guardian III"
+
+`Bookkeeper` and `xpay` users: please upgrade!
+This point release includes fixes for `xpay`, `bookkeeper` and optimizations for large nodes using `bookkeeper`.
+
+### Changed
+
+ - plugins: the sql plugin now keeps an index on `channelmoves` by `payment_hash`. ([#8618])
+ - plugins: `bookkeeper` reduced logging for large imports to increase speed. ([#8657])
+ - plugins: `sql` initial load for tables is much faster (e.g 82 to 17 seconds for very large channelmoves table). ([#8657])
+
+### Fixed
+
+ - Core lightning builds for Ubuntu Focal, Jammy and Noble are deterministic again. ([#8547])
+ - Reproducible build for Ubuntu noble by updating sqlite3 version and shasums. ([#8551])
+ - plugins: bookkeeper first invocation after migration from prior to 25.09 with very large databases will not crash. ([#8618])
+ - `xpay` would sometimes leave payment parts status `pending` in failure cases (as seen in listpays or listsendpays). ([#8635])
+ - Plugins: `askrene` could enter an infinite loop when maxparts is restricted. ([#8636])
+ - plugins: `bcli` would fail with "Argument list too long" when sending a giant tx. ([#8639])
+ - JSON-RPC: Dealing with giant PSBTs (700 inputs!) is now much faster. ([#8639])
+ - plugins: assertion crash in bookkeeper when fresh records arrive while multiple queries in progress. ([#8642])
+ - Plugins: `bookkeeper` now correctly restores chain event blockheights it has derived. ([#8649])
+
+[#8529]: https://github.com/ElementsProject/lightning/pull/8529
+[#8547]: https://github.com/ElementsProject/lightning/pull/8547
+[#8551]: https://github.com/ElementsProject/lightning/pull/8551
+[#8607]: https://github.com/ElementsProject/lightning/pull/8607
+[#8618]: https://github.com/ElementsProject/lightning/pull/8618
+[#8635]: https://github.com/ElementsProject/lightning/pull/8635
+[#8636]: https://github.com/ElementsProject/lightning/pull/8636
+[#8639]: https://github.com/ElementsProject/lightning/pull/8639
+[#8642]: https://github.com/ElementsProject/lightning/pull/8642
+[#8649]: https://github.com/ElementsProject/lightning/pull/8649
+[#8657]: https://github.com/ElementsProject/lightning/pull/8657
+[25.09.2]: https://github.com/ElementsProject/lightning/releases/tag/v25.09.2
+
## [25.09.1] - 2025-10-15: "Hot Wallet Guardian II"
Several important fixes, please upgrade!
diff --git a/contrib/pyln-client/pyln/client/__init__.py b/contrib/pyln-client/pyln/client/__init__.py
index 1e880b79..f20c47ec 100644
--- a/contrib/pyln-client/pyln/client/__init__.py
+++ b/contrib/pyln-client/pyln/client/__init__.py
@@ -4,7 +4,7 @@ from .gossmap import Gossmap, GossmapNode, GossmapChannel, GossmapHalfchannel, G
from .gossmapstats import GossmapStats
from .version import NodeVersion
-__version__ = "25.09.1"
+__version__ = "25.09.3"
__all__ = [
"LightningRpc",
diff --git a/contrib/pyln-client/pyproject.toml b/contrib/pyln-client/pyproject.toml
index c29e497d..ff56d75a 100644
--- a/contrib/pyln-client/pyproject.toml
+++ b/contrib/pyln-client/pyproject.toml
@@ -1,6 +1,6 @@
[project]
name = "pyln-client"
-version = "25.09.1"
+version = "25.09.3"
description = "Client library and plugin library for Core Lightning"
authors = [{ name = "Christian Decker", email = "decker.christian@gmail.com" }]
license = { text = "BSD-MIT" }
diff --git a/contrib/pyln-proto/pyln/proto/__init__.py b/contrib/pyln-proto/pyln/proto/__init__.py
index 7a5462ef..0a07a9f9 100644
--- a/contrib/pyln-proto/pyln/proto/__init__.py
+++ b/contrib/pyln-proto/pyln/proto/__init__.py
@@ -4,7 +4,7 @@ from .invoice import Invoice
from .onion import OnionPayload, TlvPayload, LegacyOnionPayload
from .wire import LightningConnection, LightningServerSocket
-__version__ = "25.09.1"
+__version__ = "25.09.3"
__all__ = [
"Invoice",
diff --git a/contrib/pyln-proto/pyproject.toml b/contrib/pyln-proto/pyproject.toml
index d2f59782..0dcab87b 100644
--- a/contrib/pyln-proto/pyproject.toml
+++ b/contrib/pyln-proto/pyproject.toml
@@ -1,6 +1,6 @@
[project]
name = "pyln-proto"
-version = "25.09.1"
+version = "25.09.3"
description = "This package implements some of the Lightning Network protocol in pure python. It is intended for protocol testing and some minor tooling only. It is not deemed secure enough to handle any amount of real funds (you have been warned!)."
authors = [
{name = "Christian Decker", email = "decker.christian@gmail.com"}
diff --git a/contrib/pyln-testing/pyln/testing/__init__.py b/contrib/pyln-testing/pyln/testing/__init__.py
index ebfcdf4e..942260bb 100644
--- a/contrib/pyln-testing/pyln/testing/__init__.py
+++ b/contrib/pyln-testing/pyln/testing/__init__.py
@@ -1,4 +1,4 @@
-__version__ = "25.09.1"
+__version__ = "25.09.3"
__all__ = [
"__version__",
diff --git a/contrib/pyln-testing/pyproject.toml b/contrib/pyln-testing/pyproject.toml
index 35870351..8220bdc9 100644
--- a/contrib/pyln-testing/pyproject.toml
+++ b/contrib/pyln-testing/pyproject.toml
@@ -1,6 +1,6 @@
[project]
name = "pyln-testing"
-version = "25.09.1"
+version = "25.09.3"
description = "Test your Core Lightning integration, plugins or whatever you want"
authors = [{ name = "Christian Decker", email = "decker.christian@gmail.com" }]
license = { text = "BSD-MIT" }
diff --git a/tools/reckless b/tools/reckless
index 5358a3fc..455ff65f 100755
--- a/tools/reckless
+++ b/tools/reckless
@@ -21,7 +21,7 @@ from urllib.error import HTTPError
import venv
-__VERSION__ = '25.09.1'
+__VERSION__ = '25.09.3'
logging.basicConfig(
level=logging.INFO,
diff --git a/uv.lock b/uv.lock
index 40632bb6..0ebadbe0 100644
--- a/uv.lock
+++ b/uv.lock
@@ -1342,7 +1342,7 @@ dev = [{ name = "pyln-proto", editable = "contrib/pyln-proto" }]
[[package]]
name = "pyln-client"
-version = "25.9.1"
+version = "25.9.3"
source = { editable = "contrib/pyln-client" }
dependencies = [
{ name = "pyln-bolt7" },
@@ -1400,7 +1400,7 @@ dev = [
[[package]]
name = "pyln-proto"
-version = "25.9.1"
+version = "25.9.3"
source = { editable = "contrib/pyln-proto" }
dependencies = [
{ name = "base58" },
@@ -1429,7 +1429,7 @@ dev = [{ name = "pytest", specifier = ">=8.0.0" }]
[[package]]
name = "pyln-testing"
-version = "25.9.1"
+version = "25.9.3"
source = { editable = "contrib/pyln-testing" }
dependencies = [
{ name = "cheroot" },
Why this scored 15/100
Community notes
Notes can correct, qualify, or add evidence to the AI analysis. Every note shown here has been validated by a human moderator.
The AI analysis stands alone for now. Submit a note if you can add evidence or important context.