What changed, and why it matters
This commit is a routine version bump from v26.04rc2 to v26.04rc3 for Core Lightning. It updates version strings in packaging files, a changelog, and a lock file. There are no code changes that fix or introduce any security-relevant behavior.
No security action needed; treat as a normal release-candidate version bump.
Security signals we found
No strong security signals were identified.
Evidence from the diff
The diff consists entirely of mechanical version-string replacements across .version, CHANGELOG.md, Python package init.py and pyproject.toml files, tools/reckless, and uv.lock. The CHANGELOG adds a release name, one merged pull reference (#9022), and one new msggen entry (#9047), but no functional source code is modified. No security bug, vulnerability, or behavior change is present in the diff.
Changed components
Inspect captured patch +18 / −15
diff --git a/.version b/.version
index a4eb3bf1..0a235138 100644
--- a/.version
+++ b/.version
@@ -1 +1 @@
-v26.04rc2
+v26.04rc3
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 46401b5e..438771a2 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -4,13 +4,13 @@ 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/).
-## [26.04rc2] - 2026-04-02: TBD
+## [26.04rc3] - 2026-04-13: Negative Routing Fees
-This release is named by TBD.
+This release is named by @Chand-ra.
### Added
- - Protocol: we now pad all peer messages to make them the same length (excluding LND < v21 and current Eclair). ([#8893])
+ - Protocol: we now pad all peer messages to make them the same length (excluding LND < v21 and current Eclair). ([#8893], [#9022])
- JSON-RPC: `bkpr-report` allows flexible summaries of bookkeeper income. ([#8937])
- Config: `bkpr-currency` option to record conversion rate at each bookkeeper event. ([#8937])
- JSON-RPC: `currencyconvert` and `currencyrate` via the new plugin `cln-currencyrate` ([#8842], [#8937])
@@ -28,6 +28,7 @@ This release is named by TBD.
- JSON-RPC: `listpeerchannels` now accepts a `channel_id` filter, ([#8766])
- Database: STRICT tables and security pragmas in developer mode ([#8559])
- libplugin: support for options which accumulate if specified more than once ("multi": true). ([#8490])
+ - msggen: added `splicein`, `spliceout`, and `bkpr-report` RPC method definitions. ([#9047])
### Changed
@@ -133,8 +134,10 @@ Note: You should always set `allow-deprecated-apis=false` to test for changes.
[#8983]: https://github.com/ElementsProject/lightning/pull/8983
[#8997]: https://github.com/ElementsProject/lightning/pull/8997
[#9021]: https://github.com/ElementsProject/lightning/pull/9021
+[#9022]: https://github.com/ElementsProject/lightning/pull/9022
[#9046]: https://github.com/ElementsProject/lightning/pull/9046
-[v26.04rc2]: https://github.com/ElementsProject/lightning/releases/tag/v26.04rc2
+[#9047]: https://github.com/ElementsProject/lightning/pull/9047
+[v26.04rc3]: https://github.com/ElementsProject/lightning/releases/tag/v26.04rc3
## [25.12.1] - 2026-1-14: "Boltz's Seamless Upgrade Experience II"
diff --git a/contrib/pyln-client/pyln/client/__init__.py b/contrib/pyln-client/pyln/client/__init__.py
index 7773c379..5ce40ad0 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__ = "v26.04rc2"
+__version__ = "v26.04rc3"
__all__ = [
"LightningRpc",
diff --git a/contrib/pyln-client/pyproject.toml b/contrib/pyln-client/pyproject.toml
index 9899b125..09df6b9e 100644
--- a/contrib/pyln-client/pyproject.toml
+++ b/contrib/pyln-client/pyproject.toml
@@ -1,6 +1,6 @@
[project]
name = "pyln-client"
-version = "v26.04rc2"
+version = "v26.04rc3"
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 d47485a0..0fbfd7a4 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__ = "v26.04rc2"
+__version__ = "v26.04rc3"
__all__ = [
"Invoice",
diff --git a/contrib/pyln-proto/pyproject.toml b/contrib/pyln-proto/pyproject.toml
index d5f1e912..3b9b98e2 100644
--- a/contrib/pyln-proto/pyproject.toml
+++ b/contrib/pyln-proto/pyproject.toml
@@ -1,6 +1,6 @@
[project]
name = "pyln-proto"
-version = "v26.04rc2"
+version = "v26.04rc3"
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 fdb19016..51e9a20d 100644
--- a/contrib/pyln-testing/pyln/testing/__init__.py
+++ b/contrib/pyln-testing/pyln/testing/__init__.py
@@ -1,4 +1,4 @@
-__version__ = "v26.04rc2"
+__version__ = "v26.04rc3"
__all__ = [
"__version__",
diff --git a/contrib/pyln-testing/pyproject.toml b/contrib/pyln-testing/pyproject.toml
index aced7139..784d0685 100644
--- a/contrib/pyln-testing/pyproject.toml
+++ b/contrib/pyln-testing/pyproject.toml
@@ -1,6 +1,6 @@
[project]
name = "pyln-testing"
-version = "v26.04rc2"
+version = "v26.04rc3"
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 8d7440b7..229c3c49 100755
--- a/tools/reckless
+++ b/tools/reckless
@@ -21,7 +21,7 @@ from urllib.error import HTTPError
import venv
-__VERSION__ = 'v26.04rc2'
+__VERSION__ = 'v26.04rc3'
logging.basicConfig(
level=logging.INFO,
diff --git a/uv.lock b/uv.lock
index 2b2c3a03..7d8a77de 100644
--- a/uv.lock
+++ b/uv.lock
@@ -1621,7 +1621,7 @@ dev = [{ name = "pyln-proto", editable = "contrib/pyln-proto" }]
[[package]]
name = "pyln-client"
-version = "26.4rc2"
+version = "26.4rc3"
source = { editable = "contrib/pyln-client" }
dependencies = [
{ name = "pyln-bolt7" },
@@ -1680,7 +1680,7 @@ dev = [
[[package]]
name = "pyln-proto"
-version = "26.4rc2"
+version = "26.4rc3"
source = { editable = "contrib/pyln-proto" }
dependencies = [
{ name = "base58" },
@@ -1710,7 +1710,7 @@ dev = [{ name = "pytest", specifier = ">=8.0.0" }]
[[package]]
name = "pyln-testing"
-version = "26.4rc2"
+version = "26.4rc3"
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.