What changed, and why it matters
This commit is a routine version bump from release candidate 3 (v26.04rc3) to the final release (v26.04). It only changes version strings in packaging files, the changelog, and a lock file. There are no code logic changes and no security fixes or new features introduced.
No action required; this is a standard release-tagging/version-bump commit with no security relevance.
Security signals we found
No strong security signals were identified.
Evidence from the diff
The diff consists entirely of replacing the string ‘v26.04rc3’ with ‘v26.04’ (and ‘26.4rc3’ with ‘26.4’ in uv.lock) across .version, CHANGELOG.md, several Python package init.py and pyproject.toml files, tools/reckless, and uv.lock. No functional code was modified.
Changed components
.versionCHANGELOG.mdcontrib/pyln-client/pyln/client/__init__.pycontrib/pyln-client/pyproject.tomlcontrib/pyln-proto/pyln/proto/__init__.pycontrib/pyln-proto/pyproject.tomlcontrib/pyln-testing/pyln/testing/__init__.pycontrib/pyln-testing/pyproject.tomltools/recklessuv.lockInspect captured patch +13 / −13
diff --git a/.version b/.version
index 0a235138..a3a51d38 100644
--- a/.version
+++ b/.version
@@ -1 +1 @@
-v26.04rc3
+v26.04
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 38bc39ac..dad3d657 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -4,7 +4,7 @@ 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.04rc3] - 2026-04-13: Negative Routing Fees
+## [26.04] - 2026-04-20: Negative Routing Fees
This release is named by @Chand-ra.
@@ -139,7 +139,7 @@ Note: You should always set `allow-deprecated-apis=false` to test for changes.
[#9046]: https://github.com/ElementsProject/lightning/pull/9046
[#9047]: https://github.com/ElementsProject/lightning/pull/9047
[#9068]: https://github.com/ElementsProject/lightning/pull/9068
-[v26.04rc3]: https://github.com/ElementsProject/lightning/releases/tag/v26.04rc3
+[v26.04]: https://github.com/ElementsProject/lightning/releases/tag/v26.04
## [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 5ce40ad0..bfc305a0 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.04rc3"
+__version__ = "v26.04"
__all__ = [
"LightningRpc",
diff --git a/contrib/pyln-client/pyproject.toml b/contrib/pyln-client/pyproject.toml
index 09df6b9e..2cd25ba7 100644
--- a/contrib/pyln-client/pyproject.toml
+++ b/contrib/pyln-client/pyproject.toml
@@ -1,6 +1,6 @@
[project]
name = "pyln-client"
-version = "v26.04rc3"
+version = "v26.04"
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 0fbfd7a4..0352121f 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.04rc3"
+__version__ = "v26.04"
__all__ = [
"Invoice",
diff --git a/contrib/pyln-proto/pyproject.toml b/contrib/pyln-proto/pyproject.toml
index 3b9b98e2..44090f71 100644
--- a/contrib/pyln-proto/pyproject.toml
+++ b/contrib/pyln-proto/pyproject.toml
@@ -1,6 +1,6 @@
[project]
name = "pyln-proto"
-version = "v26.04rc3"
+version = "v26.04"
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 51e9a20d..74187fc4 100644
--- a/contrib/pyln-testing/pyln/testing/__init__.py
+++ b/contrib/pyln-testing/pyln/testing/__init__.py
@@ -1,4 +1,4 @@
-__version__ = "v26.04rc3"
+__version__ = "v26.04"
__all__ = [
"__version__",
diff --git a/contrib/pyln-testing/pyproject.toml b/contrib/pyln-testing/pyproject.toml
index 784d0685..33428d3e 100644
--- a/contrib/pyln-testing/pyproject.toml
+++ b/contrib/pyln-testing/pyproject.toml
@@ -1,6 +1,6 @@
[project]
name = "pyln-testing"
-version = "v26.04rc3"
+version = "v26.04"
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 229c3c49..0d9ea8d0 100755
--- a/tools/reckless
+++ b/tools/reckless
@@ -21,7 +21,7 @@ from urllib.error import HTTPError
import venv
-__VERSION__ = 'v26.04rc3'
+__VERSION__ = 'v26.04'
logging.basicConfig(
level=logging.INFO,
diff --git a/uv.lock b/uv.lock
index 7d8a77de..0967da22 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.4rc3"
+version = "26.4"
source = { editable = "contrib/pyln-client" }
dependencies = [
{ name = "pyln-bolt7" },
@@ -1680,7 +1680,7 @@ dev = [
[[package]]
name = "pyln-proto"
-version = "26.4rc3"
+version = "26.4"
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.4rc3"
+version = "26.4"
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.