Core Lightning v24.11: "The Lightning-Dev Mailing List"
Lightning Network

Core Lightning v24.11: "The Lightning-Dev Mailing List"

Rusty Russell

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. With over 530 commits from 28 contributors over the past 92 days, this release is a significant step forward in improving both the user experience and the power of Core Lightning for developers.

User-Focused Updates: Smarter Payments and Network Stability

One of the biggest highlights in this release is the introduction of xpay, an experimental plugin designed to optimize payments. xpay is built on top of askrene, a plugin that offers advanced routing advice based on a minimum-cost-flow solver. The integration allows xpay to share the results of payment attempts with askrene, enabling it to learn over time and improve routing accuracy. For those feeling reckless, the xpay-handle-pay configuration (even adjustable at runtime) can be enabled to let xpay handle simple payment variants, making it a more versatile tool for handling payments in the Lightning Network. Additionally, xpay will now be able to remember successful payment paths and automatically retry them, improving the reliability of the system.

BOLT12 support has been officially shipped for both sending and receiving offers! BOLT12 was merged and met with applause from various Lightning implementers at the Lightning Spec Summit in September, marking the first new BOLT to be merged into the Lightning specification since 2017. It’s no longer experimental, and now enabled in every Core Lightning node, making it easier to  pay and receive BOLT12 invoices, a welcome update for users looking to interact with a wider variety of Lightning applications.

For larger nodes, the autoclean plugin has been refined. Previously, when managing large amounts of data, nodes could freeze for up to 30 seconds. With the new improvements, the plugin is much less intrusive, ensuring better performance during high-demand periods. Similarly, gossipd and connectd queues have been optimized to eliminate slowdowns. Listpays has also been enhanced to support start and limit parameters, speeding up payments if you only want to see recent payments.

Lastly, several critical bugs have been fixed, including one that affected unilateral closes, preventing users from fully resolving these cases during extended downtimes.

Developer Highlights: New Tools and Improved APIs

On the developer front, Core Lightning v24.11 introduces several noteworthy features. First, cln-grpc, the Rust-based plugin enabling a gRPC interface for Core Lightning, is now enabled by default. A new grpc-host option allows developers to explicitly expose it, otherwise it only binds to localhost, improving security. The JSON interfaces are now almost fully supported, thanks to the efforts of @daywalker90, who has tracked these changes with remarkable speed.

Additionally, a new dev-splice command has been introduced. This command allows developers to create and describe complex moves, such as splicing into and out of multiple channels. It provides greater flexibility and ease in handling channel liquidity. The tracing infrastructure has also been improved, allowing more granular insights into database access and improving debugging capabilities.

Another important addition is the exposesecret call, which, if explicitly enabled, provides a way to back up HSM (hardware security module) secrets via the RPC API. This feature enhances the ability for developers to securely back up critical Lightning data.

The libplugin has also been refined, ensuring a more uniform experience for plugin developers. Now, all routines use a structured command context, streamlining the development process.

Network Enhancements: Stay Connected and Sync Faster

For the Lightning Network, this release has made significant improvements to gossiping. The system will now stay connected to 10 nodes at once, randomly picking peers when necessary. Every hour, Core Lightning requests all gossip from one peer, ensuring that the node is always up-to-date with the latest network information. In addition, gossipd now sends out updates to up to 50 peers, which helps maintain synchronization across the network. This should lead to better resilience and consistency in the flow of network data.

The connectd process has also been improved, now connecting faster on startup and maintaining up to 10 outgoing connection attempts in parallel, ensuring quicker setup for new nodes and better network scalability.

Acknowledging the Open-Source Community

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.

As we reflect on the year’s progress, Core Lightning v24 stands out for its series of impactful releases. Starting with v24.02 "Uint Needs Signature," led by Christian Decker and named by @ErikDeSmedt, we saw the long-awaited arrival of dual funding, a feature implemented by @niftynei and Tony Klausing. Dual funding enables nodes to make better use of their liquidity while eliminating trust requirements in the channel creation process. This, paired with the new recovery plugin, significantly enhanced the reliability of node operations and recovery. v24.05 "The Infinitely Divisible Satoshi," led by @endothermicdev and named by daywalker, followed up with crucial quality-of-life improvements, including a complete overhaul of gRPC support, performance optimizations, and a secure WebSocket proxy, all aimed at improving the user and developer experience. The v24.08 release "Steel Backed-Up Channels," led by Shahana Farooqui and named by @Lagrang3, marked a milestone with the official introduction of BOLT12, enabling both sending and receiving of offers - a long-awaited feature that will expand Lightning’s utility for users and developers alike. Finally, v24.11 "The Lightning-Dev Mailing List," led by myself and named by Dusty Daemon, wraps up the year with exciting advancements like xpay, askrene, and improved network resilience, building on the momentum of past releases to bring even more stability and capability to CLN. Together, these releases demonstrate Core Lightning’s ongoing evolution, commitment to spec, and the growing Lightning community.

Overall, in 2024, CLN experienced significant growth and development, with 1,706 commits from 106 contributors.

Acknowledging the Growing Ecosystem Around Core Lightning

The strength of the Core Lightning ecosystem continues to grow, and we would like to take a moment to highlight some of the amazing projects and contributors driving innovation and adoption. We are grateful for the collaboration with the following contributors and initiatives that continue to elevate the Lightning Network.

Boltz, a leading non-custodial Bitcoin bridge built to swap between different Bitcoin layers non-custodially, enables first-class support for CLN and facilitates automated, low-cost channel rebalancing. We thank Killian and Michael for their contributions and feedback.

The CLBOSS plugin has been a game-changer in automating node management tasks like channel creation, balancing, and fee monitoring. Special thanks to @ksedgwic and @cguida6 for their vital work in improving diagnostics and expanding CLBOSS's capabilities.

We would also like to acknowledge @PalazzoVincenzo for his prolific contributions to Core Lightning, especially in making projects like Lampo a reality. Lampo, a tiny Lightning node written in Rust, offers a lightweight and efficient way to manage CLN nodes.

Greenlight, Blockstream's LaaS solution powered by CLN, continues to reach new milestones. With over 150,000 nodes online, it’s helping to bring Lightning to a wider audience. We appreciate the many adopters, including @Breez_tech, @BlitzWallet1, @cakewallet, and @ElysiumLab_io. For those interested in integrating Greenlight into their applications, reach out to @adi_shankara for more information.

Prism, the BOLT12 plugin that enables splitting payments to multiple recipients, has also seen significant development this year. Special thanks to @da_goodenough, @farscapian, @daywalk3r90, and @AbakHarshal for their incredible work on this plugin, which was introduced at the @btcplusplus 2023 Austin hackathon.

Clams has also made great strides this year in providing an intuitive user interface for the CLBOSS and BOLT12-Prism plugins, as seen in their recent releases. Special thanks to Aaron for his work with Clams, which has significantly improved the user experience for Core Lightning users.

Additionally, we would like to recognize Strike for their leadership with the BOLT12 Playground, a docker stack that connects bitcoind, LND, LNDK, CLN, Eclair, and the LDK Node, providing a great starting point for BOLT12 adoption.

Special mention goes to Stephen DeLorme for his notable work on improving the bolt12.org webpage, helping educate the community on the BOLT12 standard.

These projects and contributors exemplify the collaborative ecosystem that is shaping the future of the Lightning Network. Together, they are building more robust, accessible, and user-friendly solutions that are driving adoption across the globe.

Join the Discussion and Explore v24.11

Finally, as always, we encourage you to download and test Core Lightning v24.11. Your feedback is invaluable—share your experiences and thoughts with us on the Build On L2 forum, where developers and node operators can discuss the latest release. Stay connected with the Core Lightning team on X, Telegram, and Discord, and keep an eye on the Blockstream YouTube channel for deep dives into the new features of v24.11.

Thank you for being part of the growing Core Lightning community!

If you have specific preferences, please, mark the topic(s) you would like to read: