We are pleased to announce the release of Core Lightning v25.09, thoughtfully named “Hot Wallet Guardian” by contributor @king-11. This release is packed with new features and enhancements, lots of them relate to payment success factors!
A drumroll please drdrdrdrdrdrdrdrdrdrdrdrdrdr… as we roll out the orange carpet to officially welcome the Bookkeeper database into core code!
Bookkeeper: Simplifying Lightning node management
Niftynei “every lightning node needs this. [Users] want deep insights into sat flow, accounting accuracy and financial reporting ...and we’re giving it to them”
First shipped in Core Lightning v0.12.0 (August 2022), the Bookkeeper plugin is Core Lightning’s data-warehouse and accounting tool. Bookkeeper provides msatoshi-level tracking for channel balances, on-chain activity, fees, incomes, and the ability to export this financial data to a csv file.
Migrating the bookkeeper database into core was a no-brainer to futureproof the functionality of this performance and consensus critical feature to help you track and manage finances. Migration means bookkeeper is faster and most importantly, more reliable.
As a plugin, Bookkeeper listened out for notifications from CLN as funds moved and captured information in its own database. As core code, it doesn’t need to be listening out for notifications because the event information is logged as coins move to the RPC based structure meaning a single source of truth. We know the plugin authors will really appreciate this new SQL interface to use for apps and dashboards.
- Niftynei wrote the bookkeeper plugin and talks about the features in this video, the functionality has not changed!
- Using the latest cln-application release gives you great bookkeeper visuals for Account Events, Sats Flow and Volume; simplifying Lightning node management for everyone.
We’re human readable now!
Domain Name System (DNS) provides a standard, global, hierarchical namespace mapping human-readable labels to records of various forms, in this case translating human readable names into payment information BIP353 brings this standard to bitcoin payments. Daywalker90 contributed a plugin to read these names, which is now fully integrated into xpay
: it is as simple as lightning-cli xpay ₿cln@blockstream.com 200sat
to send a tip to the Blockstream store and confuse our accounting team!
To improve your chances of payment success, we’ve made changes to limit the number of parts a payment can be split on xpay
and askrene
.
To unify our developer experience we've transitioned away from poetry to use uv
and Reckless now supports the modern uv
package manager for Python plugins. uv
, written in Rust, delivers 10–100× faster package installation and dependency resolution in comparison.
Payment success
v25.09 offers reinforcements to the rate of feasible solutions found in the main loop of the solver on askrene
. If you’re not sure what this means, it’s important because the Lightning Network uses multi-path payments and sometimes probabilistic routing, where your node (or a pathfinding solver) searches for feasible payment routes across a dynamic graph of channels, balances, and fees. In practical terms, this means you can discover valid payment routes more efficiently.
We are giving you faster runtime and a better chance of finding successful low-cost payment paths before timeout. There has been intense work to increase the runtime by refactoring the minimum cost flow solver to give you more reliable multi-part payments. This means we have pruned some network arcs (to ignore the useless ones) and reduced the internal unit of account: making the math cheaper to solve more options faster.
We’ve made changes to make sure CLN respects your [payment cap] wishes! getroutes
now accepts a maxparts
parameter to limit payment splitting for better route control. You can specify a maximum number of parts you are willing to let the payment be split into, giving you more control of payment success.
True to our promise to be a truly customizable implementation, we’re giving you the ability to specify the response format you want, depending on your app and integration requirements. We’ve listened to your calls for flexibility, easier integration and wider adoption. Running this version will liberate you from the restriction to JSON only outputs when making an API call to a Core Lightning node via clnrest
.
Core Lightning prides itself on protocol compliance and safety, and in 25.09 we’ve addressed both of these things by enforcing that all peers must support channel type. This update reduces the assumptions, trimming any mismatch causing vulnerabilities or misbehavior.
This release improves the cross-implementation compatibility of splicing between CLN and Eclair. Payments don’t have to stop while you resize a channel, increasing your channel uptime to enable continuous routing during channel modifications.
Last but not least is a really important update for Lightning Network payment security and recipient privacy. Payment secrets are now mandatory in BOLT11 invoices. Without a payment secret, it was easier for nodes to probe and confirm whether a payment was headed to a given recipient. Now, every BOLT11 invoice includes a payment secret. This ensures the final recipient is the only one who can complete the payment, blocking intermediate nodes from intercepting or probing.
Acknowledging Our Contributors:
A special thanks to Blockstream’s Core Lightning team for their continued hard work: Rusty Russell, Shahana Farooqui, Lisa Neigut, Alex Myers, Christian Decker, Peter Neuroth. We are delighted to have welcomed Eduardo Miranda and Sangbida Chaudhuri to the team.
Since our last release, 25.05, there have been 321 commits from 16 authors in JUST 76 days, including contributions from four new developers: @Chand-ra, @sangbida, @MicahMaphet, and @longhutianjie. A big thanks to contributor Lakshya Singh @king-11 who calmly handled the pressure of naming this release!
Please keep your applause going for our open source community members contributing to the project and tackling bounties. You can explore the other open CLN bounties at their new home on the core-lightning #bounties server on Discord.
We encourage you to try out Core Lightning v25.09. And as always, share your feedback and stay connected with us through the Github, Discord and X Core Lightning channels.