Skip to content

Releases: ElementsProject/lightning

v26.06.2 Quantum-Resistant Lightning Channel II

29 Jun 05:07
v26.06.2
c237b9e

Choose a tag to compare

This point release if recommended for all minimal OS setups, including docker images, that have no root certificates for TLS installed.

Fixed

  • cln-currencyrate: include root certificates to fix the builder error on OS's without root certificates. (#9255)

Contributors

Thanks to the Lightning team and our community contributors for their work on this release.

Special thanks to @ddustin—still splicing, still appreciated! 🙌

And of course, to the core-Core Lightning team: @rustyrussell, @ShahanaFarooqui, @sangbida, @cdecker, @nepet, @Lagrang3, @daywalker90, @nGoline and @niftynei

v26.06.1 Quantum-Resistant Lightning Channel I

05 Jun 16:06
v26.06.1
70b9118

Choose a tag to compare

What's Changed

This point release fixes the bwatch plugin failure at registration.

Fixed

  • Plugins: bwatch failed to register on startup after make install ([#9192])

Check out the updated Changelog

Contributors

Thanks to the Lightning team and our community contributors for their work on this release.

Special thanks to @ddustin—still splicing, still appreciated! 🙌

A shutout to the core-Core Lightning team: @rustyrussell, @ShahanaFarooqui, @sangbida, @cdecker, @nepet, @Lagrang3, @daywalker90, @nGoline and @niftynei

v26.06 Quantum-Resistant Lightning Channel

02 Jun 15:30
v26.06

Choose a tag to compare

This release has been named by @enaples

Highlights for Users

  • graceful command to prepare CLN for shutdown... gracefully!
  • Added sendamount command, to make a payment specifying the desired amount to send instead of the amount to be received.
  • We've started the cycle to deprecate pay and focus our efforts on xpay. xpay now handles pay command by default (use xpay-handle-pay=false to prevent this) and we now use xpay not pay for paying invoices made with invoicerequest().
  • xpay now accepts label and localinvreqid parameters (like pay).
  • xpay will now update for the current payment if it gets a channel_update in an error message.
  • xkeysend command for keysend with modern routing support.
  • invoice_creation notification now includes offer_id when the invoice is associated with a BOLT 12 offer.
  • Removed fields no longer present in documentation / GRPC interfaces.
  • Experimental payment proof implementation updated to latest draft
  • gossipd made more robust against channel_update spamming.

Highlights for Developers

  • JSON-RPC: createproof to create a payment proof for a (successful) BOLT12 payment.
  • JSON-RPC: decode now supports the lnp payer proof format.
  • Plugins: bwatch plugin (enable using plugin=bwatch)

Protocol Updates

  • message-padding defaults to false, due to poor detection of broken implementations.
  • We now wait 72 blocks, not 12, before closing channels (BOLT update)

See the changelog for full details

Since v26.04 we’ve had 236 commits in 42 days by 19 authors

A special mention to our three first time contributors:

@nGoline
@MSimeZ
@Andezion

A huge shout-out to @ddustin for his ongoing contributions and support. We truly appreciate your splicing—you really know how to keep things together! 🧬

An enormous thanks to the core-Core Lightning team:
@rustyrussell, @ShahanaFarooqui, @sangbida, @cdecker, @nepet, @Lagrang3, @daywalker90, @nGoline and @niftynei

v26.06rc2 Quantum-Resistant Lightning Channel

22 May 05:02
v26.06rc2

Choose a tag to compare

This release has been named by @enaples

Release Candidate 2 for cln v26.06

This RC builds upon RC1, with these changes:

  • Removed fields no longer present in documentation / GRPC interfaces.
  • Experimental payment proof implementation updated to latest draft
  • gossipd made more robust against channel_update spamming.

See the changelog for full details

An enormous thanks to the core-Core Lightning team:
@rustyrussell, @ShahanaFarooqui, @sangbida, @cdecker, @nepet, @Lagrang3, @daywalker90, @nGoline and @niftynei

And of course, our invaluable open-source community!

v26.06 Release Candidate 1

12 May 07:23

Choose a tag to compare

Pre-release

Release Candidate 1 for Core Lightning v26.06

Highlights for Users

  • graceful command to prepare CLN for shutdown... gracefully!
  • Added sendamount command, to make a payment specifying the desired amount to send instead of the amount to be received.
  • We've started the cycle to deprecate pay and focus our efforts on xpay. xpay now handles pay command by default (use xpay-handle-pay=false to prevent this) and we now use xpay not pay for paying invoices made with invoicerequest().
  • xpay now accepts label and localinvreqid parameters (like pay).
  • xpay will now update for the current payment if it gets a channel_update in an error message.
  • xkeysend command for keysend with modern routing support.
  • invoice_creation notification now includes offer_id when the invoice is associated with a BOLT 12 offer.

Highlights for Developers

  • JSON-RPC: createproof to create a payment proof for a (successful) BOLT12 payment.
  • JSON-RPC: decode now supports the lnp payer proof format.
  • Plugins: bwatch plugin (enable using plugin=bwatch)

Protocol Updates

  • message-padding defaults to false, due to poor detection of broken implementations.
  • We now wait 72 blocks, not 12, before closing channels (BOLT update)

See the changelog for full details

Since v26.04 we’ve had 211 commits in 22 days by 17 authors.

A special mention to our three first time contributors:

@nGoline
@MSimeZ
@Andezion

An enormous thanks to the core-Core Lightning team:
@rustyrussell, @ShahanaFarooqui, @sangbida, @cdecker, @nepet, @Lagrang3, @daywalker90, @nGoline and @niftynei

v26.04.1 Negative Routing Fees I

25 Apr 08:25

Choose a tag to compare

What's Changed

This is a hotfix release addressing build and protocol correctness issues found shortly after v26.04.

Fixed

  • Gossip: Malformed channel_announcement messages where node_id_1 is not lexicographically less than node_id_2 are now rejected per BOLT spec (lightning/bolts#1333), preventing gossip store corruption and stress on readers. ([#9082])
  • Build: Fixed printf format specifiers for splice weight logging (%zu for size_t) across lightningd, channeld, and the spender plugin, resolving -Werror/-Wformat failures in Docker and 32-bit ARM cross-compilation. ([#9083], [#9086])
  • Build: Removed __int128 usage from bookkeeper currency rate math, restoring builds on 32-bit targets (armv7). ([#9085])

Contributors

Thanks to the Core Lightning team for their work on this release
An enormous thanks to the Core Lightning team:
@rustyrussell, @ShahanaFarooqui, @sangbida, @cdecker, @nepet, @Lagrang3, @daywalker90, @nGoline and @niftynei

v26.04 Negative Routing Fees

20 Apr 06:27

Choose a tag to compare

This release has been named by @Chand-ra

Highlights for Users

  • bkpr-report introduces a more flexible way to summarize Bookkeeper income, making it easier to break down earnings by category and period.
  • New command splicein allows for convenient splicing funds into a channel.
  • New command spliceout for easily splicing out of channels.
  • New ability to "cross-splice" between two channels by specifying a second channel id as the destination of spliceout.
  • You can now add a note when paying (payer-note in xpay).
  • listpeerchannels can filter by channel_id, so you can zoom in on one channel without parsing the full list.
  • Improved payment reliability through parallel pathfinding and multiple bug fixes in askrene.
  • offer now includes a fronting_nodes option, while the new payment-fronting-node config allows you to specify preferred peers that help route payers to your invoices and offers across both BOLT11 and BOLT12 flows.
  • Offer-related RPCs now expose decoded descriptions directly, making it easier to inspect, debug, and understand incoming and outgoing offers without manual decoding.
  • gossipd offloads gossip_store compaction to a helper, improvin startup time especially for larger nodes while keeping the store around ~200MB.
  • New currencyrate plugin exposes a currencyconvert RPC, enabling real-time conversion between Bitcoin and fiat currencies directly within Core Lightning.
  • Most binaries are ~20% smaller .
  • keysend now uses a final CLTV of 42 (instead of 22), improving compatibility with LDK nodes.

Highlights for Developers

  • clnrest-register-path allows plugins to register custom HTTP endpoints at runtime, enabling dynamic REST APIs without restarting the node.
  • bcli plugin is now synchronous: Simplifies the codebase and improves reliability of Bitcoin backend interactions by removing async complexity and queueing.
  • Core Lightning builds are reproducible/deterministic on Fedora targets.
  • Plugin options can now accumulate multiple values ("multi": true).
  • STRICT tables and additional safety pragmas improve correctness and catch issues earlier during development.
  • Lightningd now uses a more efficient ring buffer for logs, reducing overhead and simplifying log handling.
  • Peer messages are now padded to a uniform length, mitigating traffic analysis and making it harder to infer node activity from message sizes.

Protocol Updates

  • Splicing is now enabled by default!
  • Legacy onion format support is removed (aligned with current interop, e.g. recent LND behavior).
  • A splicing fix avoids an occasional hang when there is a pending closing HTLC during splice.

See the changelog for full details

Since v25.12 we’ve had 421 commits in 110 days by 23 authors

A special thanks to our three first time contributors:

@ScuttoZ
@Raimo33
@TatianaMoroz
@dovgopoly
@erdoganishe
@Nazarevsky

An enormous thanks to the Core Lightning team:
@rustyrussell, @ShahanaFarooqui, @sangbida, @endothermicdev, @cdecker, @nepet, @Lagrang3, @daywalker90 and @niftynei

v26.04 Negative Routing Fees Release Candidate 3

13 Apr 05:53

Choose a tag to compare

This release has been named by @Chand-ra

Release Candidate 3 for Core Lightning v26.04

Highlights for Users

  • bkpr-report introduces a more flexible way to summarize Bookkeeper income, making it easier to break down earnings by category and period.
  • New command splicein allows for convenient splicing funds into a channel.
  • New command spliceout for easily splicing out of channels.
  • New ability to "cross-splice" between two channels by specifying a second channel id as the destination of spliceout.
  • You can now add a note when paying (payer-note in xpay).
  • listpeerchannels can filter by channel_id, so you can zoom in on one channel without parsing the full list.
  • Improved payment reliability through parallel pathfinding and multiple bug fixes in askrene.
  • offer now includes a fronting_nodes option, while the new payment-fronting-node config allows you to specify preferred peers that help route payers to your invoices and offers across both BOLT11 and BOLT12 flows.
  • Offer-related RPCs now expose decoded descriptions directly, making it easier to inspect, debug, and understand incoming and outgoing offers without manual decoding.
  • gossipd offloads gossip_store compaction to a helper, improvin startup time especially for larger nodes while keeping the store around ~200MB.
  • New currencyrate plugin exposes a currencyconvert RPC, enabling real-time conversion between Bitcoin and fiat currencies directly within Core Lightning.
  • Most binaries are ~20% smaller .
  • keysend now uses a final CLTV of 42 (instead of 22), improving compatibility with LDK nodes.

Highlights for Developers

  • clnrest-register-path allows plugins to register custom HTTP endpoints at runtime, enabling dynamic REST APIs without restarting the node.
  • bcli plugin is now synchronous: Simplifies the codebase and improves reliability of Bitcoin backend interactions by removing async complexity and queueing.
  • Core Lightning builds are reproducible/deterministic on Fedora targets.
  • Plugin options can now accumulate multiple values ("multi": true).
  • STRICT tables and additional safety pragmas improve correctness and catch issues earlier during development.
  • Lightningd now uses a more efficient ring buffer for logs, reducing overhead and simplifying log handling.
  • Peer messages are now padded to a uniform length, mitigating traffic analysis and making it harder to infer node activity from message sizes.

Protocol Updates

  • Splicing is now enabled by default!
  • Legacy onion format support is removed (aligned with current interop, e.g. recent LND behavior).
  • A splicing fix avoids an occasional hang when there is a pending closing HTLC during splice.

See the changelog for full details

Since v25.12 we’ve had 421 commits in 110 days by 23 authors

A special thanks to our three first time contributors:

@ScuttoZ
@Raimo33
@TatianaMoroz
@dovgopoly
@erdoganishe
@Nazarevsky

An enormous thanks to the Core Lightning team:
@rustyrussell, @ShahanaFarooqui, @sangbida, @endothermicdev, @cdecker, @nepet, @Lagrang3, @daywalker90 and @niftynei

v26.04 Release Candidate 2

02 Apr 08:23

Choose a tag to compare

Pre-release

Release Candidate 2 for Core Lightning v26.04

Highlights for Users

  • New command splicein allows for convenient splicing funds into a channel.
  • New command spliceout for easily splicing out of channels.
  • New ability to "cross-splice" between two channels by specifying a second channel id as the destination of spliceout.
  • You can now add a note when paying (payer-note in xpay).
  • listpeerchannels can filter by channel_id, so you can zoom in on one channel without parsing the full list.
  • Improved payment reliability through parallel pathfinding and multiple bug fixes in askrene.
  • offer now includes a fronting_nodes option, while the new payment-fronting-node config allows you to specify preferred peers that help route payers to your invoices and offers across both BOLT11 and BOLT12 flows.
  • Offer-related RPCs now expose decoded descriptions directly, making it easier to inspect, debug, and understand incoming and outgoing offers without manual decoding.
  • gossipd offloads gossip_store compaction to a helper, improvin startup time especially for larger nodes while keeping the store around ~200MB.
  • New currencyrate plugin exposes a currencyconvert RPC, enabling real-time conversion between Bitcoin and fiat currencies directly within Core Lightning.
  • Most binaries are ~20% smaller .

Highlights for Developers

  • clnrest-register-path allows plugins to register custom HTTP endpoints at runtime, enabling dynamic REST APIs without restarting the node.
  • bcli plugin is now synchronous: Simplifies the codebase and improves reliability of Bitcoin backend interactions by removing async complexity and queueing.
  • Core Lightning builds are reproducible/deterministic on Fedora targets.
  • Plugin options can now accumulate multiple values ("multi": true).
  • STRICT tables and additional safety pragmas improve correctness and catch issues earlier during development.
  • Lightningd now uses a more efficient ring buffer for logs, reducing overhead and simplifying log handling.
  • Peer messages are now padded to a uniform length, mitigating traffic analysis and making it harder to infer node activity from message sizes.

Protocol Updates

  • Legacy onion format support is removed (aligned with current interop, e.g. recent LND behavior).
  • A splicing fix avoids an occasional hang when there is a pending closing HTLC during splice.

See the changelog for full details

Since v25.12 we’ve had 421 commits in 110 days by 23 authors

A special thanks to our three first time contributors:

@ScuttoZ
@Raimo33
@TatianaMoroz
@dovgopoly
@erdoganishe
@Nazarevsky

An enormous thanks to the Core Lightning team:
@rustyrussell, @ShahanaFarooqui, @sangbida, @endothermicdev, @cdecker, @nepet, @Lagrang3, @daywalker90 and @niftynei

v26.04 Release Candidate 1

24 Mar 03:10

Choose a tag to compare

Pre-release

Release Candidate 1 for Core Lightning v26.04

Highlights for Users

  • New command splicein allows for convenient splicing funds into a channel.
  • New command spliceout for easily splicing out of channels.
  • New ability to "cross-splice" between two channels by specifying a second channel id as the destination of spliceout.
  • You can now add a note when paying (payer-note in xpay).
  • listpeerchannels can filter by channel_id, so you can zoom in on one channel without parsing the full list.
  • Improved payment reliability through parallel pathfinding and multiple bug fixes in askrene.
  • offer now includes a fronting_nodes option, while the new payment-fronting-node config allows you to specify preferred peers that help route payers to your invoices and offers across both BOLT11 and BOLT12 flows.
  • Offer-related RPCs now expose decoded descriptions directly, making it easier to inspect, debug, and understand incoming and outgoing offers without manual decoding.
  • gossipd offloads gossip_store compaction to a helper, improvin startup time especially for larger nodes while keeping the store around ~200MB.
  • New currencyrate plugin exposes a currencyconvert RPC, enabling real-time conversion between Bitcoin and fiat currencies directly within Core Lightning.
  • Most binaries are ~20% smaller .

Highlights for Developers

  • clnrest-register-path allows plugins to register custom HTTP endpoints at runtime, enabling dynamic REST APIs without restarting the node.
  • bcli plugin is now synchronous: Simplifies the codebase and improves reliability of Bitcoin backend interactions by removing async complexity and queueing.
  • Core Lightning builds are reproducible/deterministic on Fedora targets.
  • Plugin options can now accumulate multiple values ("multi": true).
  • STRICT tables and additional safety pragmas improve correctness and catch issues earlier during development.
  • Lightningd now uses a more efficient ring buffer for logs, reducing overhead and simplifying log handling.
  • Peer messages are now padded to a uniform length, mitigating traffic analysis and making it harder to infer node activity from message sizes.

Protocol Updates

  • Legacy onion format support is removed (aligned with current interop, e.g. recent LND behavior).
  • A splicing fix avoids an occasional hang when there is a pending closing HTLC during splice.

See the changelog for full details

Since v25.12 we’ve had 421 commits in 110 days by 23 authors

A special thanks to our three first time contributors:

@ScuttoZ
@Raimo33
@TatianaMoroz
@dovgopoly
@erdoganishe
@Nazarevsky

An enormous thanks to the Core Lightning team:
@rustyrussell, @ShahanaFarooqui, @sangbida, @endothermicdev, @cdecker, @nepet, @Lagrang3, and @niftynei