Core Lightning v24.11: BOLT12 by Default, XPAY, Gossip Enhancements & More
Core Lightning is a lightweight, highly customizable and standard compliant implementation of the Lightning Network protocol. The latest version includes updates to enhance the user experience, including refinements to BOLT12 functionality, the new XPAY plugin, improved logging clarity, and more.
- "After a bit of a delay, we are pleased to announce the 24.11 release of Core Lightning, affectionately named by Dusty Daemon. This release comes packed with exciting updates, including enhancements to payments, network performance, and developer tooling," announced the project.
- This version comes with the new XPAY plugin designed to optimize payments and improve routing accuracy, BOLT12 offers send and receive enabled by default, improvements to the autoclean plugin,
cln-grpc
plugin enabled by default, gossip enhancements for the network, and much more.
"This release would not have been possible without the contributions of 28 dedicated developers, including four new contributors: Michael Cho, Lakshya Singh, Emmanuel Ferdman, and alfredo-toledano. A big thank you goes out to these developers and to everyone who made v24.11 a reality," was stated in a blog post.
- Overall, in 2024, the project had 1,706 commits from 106 contributors.
What's new
Highlights for Users
xpay
is a new experimental payment plugin built on askrene for advanced routing. It has been completely rewritten on top ofaskrene
, a plugin that provides advanced routing advice for payments. The two plugins work in tandem:xpay
communicates the outcomes of payment attempts toaskrene,
allowing it to learn and optimize over time.- Additionally,
xpay
remembers and retries successful payment paths, improving system reliability. - The essential development was carried out by @Lagrang3 who designed and refined the minimum-cost-flow solver that serves as the core of
askrene
.
- Additionally,
"For reckless souls,xpay-handle-pay
can be set to true (even at runtime, usingsetconfig
) to have xpay take over the simple variants ofpay
."
- BOLT12 send and receive are now default, following their September inclusion in BOLT specs.
- For large nodes:
- The
autoclean
plugin would make nodes freeze for 30 seconds at a time when had a lot of work to do: it's now kinder and gentler. gossipd
andconnectd
queues are no longer slow (it was all gossipd's fault, be far too chatty).listpays
now takesstart
andlimit
parameters to speed it up if you only want recent payments.
- The
hsmtool
generatehsm
can now accept all the parameters on the command line.- Fixed several critical bugs, including one where extended downtime prevented fully resolving unilateral closes and delayed fund returns to our wallet.
- Fixed
pyln-client
, which accidentally broke compatibility with older CLN versions in v25.08.
Highlights for Developers
cln-grpc
, a Rust GRPC plugin to provide a GRPC interface, is now enabled by default with a newgrpc-host
option binding to localhost.- Nearly all JSON interfaces are supported, thanks to @daywalker90 for quickly tracking them.
- RPC documentation improvements: now includes generated, accurate input and output examples.
- A new
dev-splice
command from @ddustin allows splice scripts for complex actions, like splicing multiple channels. It enables developers to handle complex channel splicing for greater flexibility and better liquidity. - Improved tracing infrastructure, including tracing across database accesses.
exposesecret
call. If explicitly enabled, provides a way to back up HSM (hardware security module) secrets via the RPC API, allowing for secure backups of critical data.- libplugin is made more uniform: all routines now have a
struct command
context to use, streamlining the development process.
Highlights for the Network
- Significant improvements to gossiping. "We try to stay connected to 10 nodes (see
autoconnect-seeker-peers
, picking random ones if we need to. Every hour we ask one peer for all its gossip, and we always send out our own gossip updates to up to 50 peers. This should help everyone stay up-to-date with what's happening in the network." - Connectd will connect faster on startup, maintaining up to 10 outgoing connection attempts in parallel, thus ensuring quicker setup for new nodes and better network scalability.