Skip to content

Releases: ElementsProject/lightning

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

v25.12.1 Boltz's Seamless Upgrade Experience II

16 Jan 01:07

Choose a tag to compare

This is a recommended point release, particularly for those creating new nodes.

Fixed

  • lightningd: we now correctly sign for non-taproot addresses given by nodes created by v25.12 or newer. ([#8831])
  • lightning-hsmtool: handle mnemonic hsm_secret files (nodes created >= v25.12). ([#8831])
  • plugins: pay can crash on errors returned from deep inside routehints. ([#8829])
  • plugins: askrene can crash on a corner case in increase_flows. ([#8829])
  • askrene: fix a plugin crash triggered during single path payments when a channel fees doesn't fit u32. ([#8832])
  • JSON-RPC: malformed filters no longer crash lightningd. ([#8780])
  • pay: maxdelay parameter now enforced for direct channel payments ([#8740])
  • gossipd: we would occasionally not show a node announcement in listnodes(). ([#8769])
  • lightningd: potential crash on startup if bitcoind isn't up-to-date. ([#8779])

Changed

  • JSON-RPC: recover takes a 12-word mnemonic for nodes created by v25.12 or later. ([#8830])
  • lightning-hsmtool: getsecret replaces getcodexsecret for modern nodes (gives mnemonic). ([#8830])

Deprecated

Note: You should always set allow-deprecated-apis=false to test for changes.

  • lightning-hsmtool: getcodexsecret. Use getsecret. ([#8830])

For more information, please see the changelog.

A shout out to acknowledge the significant efforts of the very cool Core Lightning team:
@rustyrussell, @ShahanaFarooqui, @sangbida, @endothermicdev, @cdecker, @nepet, @Lagrang3, and @niftynei

v25.12 Boltz's Seamless Upgrade Experience

04 Dec 03:33
v25.12

Choose a tag to compare

This release has been named by @sangbida

Highlights for Users

  • This release candidate includes a downgrade tool! lightningd-downgrade will downgrade your database from v25.12 to v25.09 if something goes wrong
  • New nodes will now be created with a BIP-39 12-word phrase as their root secret. BIP-39 12-word base functionality in lightning-hsmtool to support hsm_secret files.
  • We solved the case of the missing_utxo bug!!
  • We received great feedback about xpay and adjusted accordingly: which will no longer try to send too many HTLCs through unknown channels (6, as that is Phoenix's limit) unless it has no choice, we've fixed a clash with simultaneous payments via routehints and blinded paths and asked xpay to wait if it suspects a payment failure is due to a height disagreement with the final node.
  • Added askrene-bias-node: an RPC command to set a bias on node's outgoing or incoming channels.
  • Use the new networkevents subsystem to access information about peers: ping times and connection times.
  • We've configured an experimental-lsps-client and experimental-lsps2-service support for LSPS level 2 specification.

Highlights for Developers

There's a vast array of performance improvements for large nodes... Do not pass go. Go directly to the changelog!

  • Multiple significant speedups for large nodes have been added to lightningd, especially preventing "freezes" under exceptionally high load and helping it to handle large numbers of command outputs gracefully.
  • Postgres: significant speedup on read-only operations (e.g. 30% on empty SELECTs)

Protocol Updates

  • We now re-transmit unseen funding transactions on startup, for more robustness.
  • Stricter conformance to Bolt spec for splice commitments.

See the changelog for full details

Since 25.09 we’ve had 520 commits in 92 days by 24 authors

A special thanks to our four first time contributors:

@noblepayne
@claudio.raimondi
@botantony
@wqxoxo

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

25.12 Release Candidate 3

29 Nov 05:19

Choose a tag to compare

Pre-release

A critical and longstanding fix for missing UTXOs.

v25.12rc2 Boltz's Seamless Upgrade Experience

28 Nov 01:52
v25.12rc2

Choose a tag to compare

Release Candidate 2 for Core Lightning v25.12

This release has been named by @sangbida

Highlights for Users

  • This release candidate includes a downgrade tool! lightningd-downgrade will downgrade your database from v25.12 to v25.09 if something goes wrong
  • New nodes will now be created with a BIP-39 12-word phrase as their root secret. BIP-39 12-word base functionality in lightning-hsmtool to support hsm_secret files.
  • We received great feedback about xpay and adjusted accordingly: which will no longer try to send too many HTLCs through unknown channels (6, as that is Phoenix's limit) unless it has no choice, we've fixed a clash with simultaneous payments via routehints and blinded paths and asked xpay to wait if it suspects a payment failure is due to a height disagreement with the final node.
  • Added askrene-bias-node: an RPC command to set a bias on node's outgoing or incoming channels.
  • Use the new networkevents subsystem to access information about peers: ping times and connection times.
  • We've configured an experimental-lsps-client and experimental-lsps2-service support for LSPS level 2 specification.

Highlights for Developers

There's a vast array of performance improvements for large nodes... go directly to the change log!

  • Multiple significant speedups for large nodes have been added to lightningd, especially preventing "freezes" under exceptionally high load and helping it to handle large numbers of command outputs gracefully.
  • xpay will not try to send too many HTLCs through unknown channels (6, as that is Phoenix's limit) unless it has no choice
  • Postgres: significant speedup on read-only operations (e.g. 30% on empty SELECTs)

Protocol Updates

  • We now re-transmit unseen funding transactions on startup, for more robustness.
  • Stricter conformance to Bolt spec for splice commitments.

See the changelog for full details

Since 25.09 we’ve had 480 commits in 82 days by 23 authors
A special thanks to our three first time contributors:

@noblepayne
@claudio.raimondi@pm.me
@botantony

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

v25.12rc1 Boltz's Seamless Upgrade Experience

25 Nov 04:14
v25.12rc1

Choose a tag to compare

Release Candidate 1 for Core Lightning v25.12

This release has been named by @sangbida

Highlights for Users

  • New nodes will now be created with a BIP-39 12-word phrase as their root secret. BIP-39 12-word base functionality in lightning-hsmtool to support hsm_secret files.
  • We received great feedback about xpay and adjusted accordingly: which will no longer try to send too many HTLCs through unknown channels (6, as that is Phoenix's limit) unless it has no choice, we've fixed a clash with simultaneous payments via routehints and blinded paths and asked xpay to wait if it suspects a payment failure is due to a height disagreement with the final node.
  • Added askrene-bias-node: an RPC command to set a bias on node's outgoing or incoming channels.
  • Use the new networkevents subsystem to access information about peers: ping times and connection times.
  • We've configured an experimental-lsps-client and experimental-lsps2-service support for LSPS level 2 specification.

Highlights for Developers

There's a vast array of performance improvements for large nodes... go directly to the change log!

  • Multiple significant speedups for large nodes have been added to lightningd, especially preventing "freezes" under exceptionally high load and helping it to handle large numbers of command outputs gracefully.
  • xpay will not try to send too many HTLCs through unknown channels (6, as that is Phoenix's limit) unless it has no choice
  • Postgres: significant speedup on read-only operations (e.g. 30% on empty SELECTs)

Protocol Updates

  • We now re-transmit unseen funding transactions on startup, for more robustness.
  • Stricter conformance to Bolt spec for splice commitments.

See the changelog for full details

Since 25.09 we’ve had 480 commits in 82 days by 23 authors

A special thanks to our three first time contributors:

@noblepayne
@claudio.raimondi@pm.me
@botantony

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

v25.09.3 Hot Wallet Guardian

07 Nov 03:04
v25.09.3
cc07d72

Choose a tag to compare

v25.09.3 Hot Wallet Guardian IV

Fixed

  • Docker image was missing SQLite library

See the changelog for a full list.

Thank you to the valuable Core Lightning open source community for your ongoing contributions.

And as always, thank you to the Core Lightning team:
@rustyrussell, @ShahanaFarooqui, @endothermicdev, @sangbida, @cdecker, @nepet, @Lagrang3, @niftynei and @madelinevibes

v25.09.2 Hot Wallet Guardian

05 Nov 01:18
v25.09.2

Choose a tag to compare

v25.09.2 Hot Wallet Guardian II

Bookkeeper and xpay users: please upgrade! This point release includes fixes for xpay, bookkeeper and optimisations for large nodes using bookkeeper.

Changed

  • Bookkeeper reduced logging for large imports to increase speed.
  • SQL initial load for tables is much faster (e.g 82 to 17 seconds for very large channelmoves table).

Fixed

  • Core lightning builds for Ubuntu Focal, Jammy and Noble are deterministic again.
  • Bookkeeper first invocation after migration from prior to 25.09 with very large databases will not crash.
  • xpay payment parts status will not be pending in failure cases (as seen in listpays or listsendpays).
  • Askrene would not enter an infinite loop.
  • bcli would fail with "Argument list too long" when sending a giant tx.
  • Dealing with giant PSBTs (700 inputs!) is now much faster.
  • Assertion crash in bookkeeper when fresh records arrive while multiple queries in progress.
  • Bookkeeper now correctly restores chain event blockheights it has derived.

See the changelog for a full list.

Thank you to the valuable Core Lightning open source community for your ongoing contributions.

And as always, thank you to the Core Lightning team:
@rustyrussell, @ShahanaFarooqui, @endothermicdev, @sangbida, @cdecker, @nepet, @Lagrang3 and @niftynei