Core Lightning v23.11: Dual Funding Cross-Compatibility with Eclair, More Powerful RPCs & More
"After the huge v23.08 release, this update is a bit smaller in scope and mainly offers improvements and follow-ups. Nonetheless, it includes some noteworthy features that we are excited to share with you."
- "Today, we welcome the latest Core Lightning release, v23.11, codenamed Bitcoin Orangepaper (courtesy of Shahana Farooqui)."
"We want to give a shout out to the contributors (a total of 29 for the v23.11 release) who continue to help us improve CLN with every update. We are grateful for your support; your dedication and feedback made the new release possible."
What's new
- Dual funding reached compatibility level: After a long journey, the dual funding process finally reached cross implementation compatibility.
- "Lisa Neigut's recent contributions to the implementation of dual funding in Core Lightning allow the funding process to continue in the event of a temporary connection loss. This was the final step for Core Lightning and Eclair to achieve cross-compatibility."
- RPC command updates: This release has some exciting additions and updates for the Core Lightning API, including a much more powerful
checkcommand and a brand newrestorecommand. - Core Lightning for developers: Core Lightning’s various interfaces keep growing and runes got an exciting new field. We also got some new options!
- "To enable developer functionality, one now simply needs to start
lightningdwith the--developerruntime variable. This is a huge simplification for developers."
- "To enable developer functionality, one now simply needs to start
- "Core Lightning now enables large channels by default. This release sets the indicators by default enabling “wumbology for all”. Users can still disable wumbo channels by setting the
--large-channels=falseoption." - "Finally, this release also adds the ability to create invoices that include a fallback P2TR address. This way an invoice can also be paid on-chain, for example, when there is not enough inbound liquidity at the time of payment.
Highlights for Users
- The
checkcommand just got more powerful. Instead of only checking the parameters of a command, it will do all checks up to the point where something in the system would need to be altered now. - Control all the runes! Runes got an additional restriction field
perfor even more powerful access control. This also comes with a new fieldlast_usedfor theshowrunescommand. - Users can now verify the validity of their existing emergency backups using the
decodecommand. - When the new config option
invoices-onchain-fallbackis set, Core-Lightning automatically adds a taproot fallback address to all invoices produced byinvoice. This allows for onchain payments as a fallback mechanism.
Highlights for the Network
- Wumbology for all! The configuration option
large-channelsis now set by default. - The dual-funding process stores the state when sending
commitment_signednow. This allows to continue the funding process after a temporary connection loss. - A new flag
--commit-fee-offsetallows to set an offset that can potentially reduce disagreements on feerate updates. - Plugins can now allow even unknown messages by registration and also are allowed sending them.
- Some stability improvements and bugfixes regarding splices.
- A whole lot of cleanups to stay on track with small specification changes. This adds additional stability and reduces disconnects.
Highlights for Developers
- Wait a second: The
waitand pagination api got extended, one can now also wait forlistsendpaysandlistforwards. - A new
recovercommand can now be used to recover an unused node from a hsmsecret just as the--recoverflag would do. This currently only works forsqlite3backends. - Ever wondered how much space a plugin occupies in your database? The new
datastoreusagecommand will tell you. - The rust bindings got some more coverage.
- Core-Lightning can no longer be build with
--developer-enabled. To enable developer features use./configure --enable-debugbuildand set the config option--developerinstead.