Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

LND v0.20.0-beta Release Candidate #10275

saubyk announced in Announcements
Oct 7, 2025 · 1 comments · 1 reply
Discussion options

Hey Everyone,

The first release candidate for the upcoming LND v0.20.0 has been published. This is largely a technical update where we continue on our journey to update LND's data stores to native SQL schema, improving LND’s startup and operational performance. We do expect a few rounds of RCs to iron out potential issues found during testing. Please test this release on your testing nodes.

The release can be found here:
https://github.com/lightningnetwork/lnd/releases/tag/v0.20.0-beta.rc1

The detailed release notes are available at:
https://github.com/lightningnetwork/lnd/blob/master/docs/release-notes/release-notes-0.20.0.md

Below are some of the release highlights:

Migration of Graph store to SQL
This version introduces a significant architectural change by implementing and migrating the internal graph database structure to a new SQL backend. The previous key-value database (kvdb) store used for managing the network graph is replaced with a more abstract and standardized SQL implementation.

The move to SQL involves defining new schemas, queries, and Create, Read, Update, and Delete (CRUD) operations. The internal data structures migrated from the kv format to the new SQL format include:

  • Nodes and Source Nodes
  • Channels and Channel Policies(updates)
  • Zombies
  • Closed SCIDs
  • The Prune Log

For this migration to take place users node must have the db backed on either postgres or sqlite and the --db.use-native-sql flag must be set in the config. The migration will execute automatically once the node is started with these configurations.

In case you haven’t migrated your node from bbolt db yet, you can use the lndinit tool to migrate your node from bbolt to sqlite or postgres and then perform the above migration.

Other notable improvements

  • Functional improvements

    • The default value for gossip.msg-rate-bytes has been increased from 100KB to 1 MB, and gossip.msg-burst-bytes has been increased from 200KB to 2 MB. This helps in improving the efficiency and speed at which your node can propagate critical network information, like channel and node announcements. This enhancement is intended to alleviate potential bottlenecks in message dissemination, leading to faster network synchronization.
    • The PendingChannel rpc now provides the number of confirmations until channel is active and the blockheight at which funding transaction was first confirmed in the api response. This can be a useful datapoint to display in the user interfaces to let the users know how soon the channel can become active after opening.
    • Dynamic node announcements settings, including the node’s alias, color, addresses and feature bits are not persisted and reused across restarts. Previously, settings applied dynamically via the UpdateNodeAnnouncement rpc would be cleared when the node restarted, requiring users to issue a new command to restore them.
    • LND can now recognize DNS address type in node announcements messages. This also enables nodes to forward node announcements with valid DNS address types. This provides greater network flexibility and connection reliability, allowing nodes to maintain consistent public connectivity even if the underlying IP address changes.
  • Rpc additions

    • Added deletecanceledinvoices rpc to allow for the removal of a canceled invoice from the data store. This rpc supports deleting a canceled invoice by providing a payment hash
    • The ForwardingHistory rpc now supports filtering by incoming and outgoing channel ids. This allows retrieval of events for specific channels.
  • Lncli enhancements

    • The lncli addinvoice –blind command now has the option to specify incoming channels on the blinded path. This enhancement provides users with an extra liquidity control lever, allowing them to force a sender to pay over a specific channel. With this change users gain better control over payment success probability and the liquidity distribution available on their node.
    • lncli sendpayment and lncli queryroutes now support --route_hints flag to support routing through unannounced channels.

There are a lot of other bug fixes and minor updates which can be tracked via the release notes linked above. Reports of issues found during testing will be highly appreciated 🫂

Thanks

You must be logged in to vote

Replies: 1 comment 1 reply

Comment options

So using postgres will be a requirement for LND v0.20-0? No way to continue using bbolt if it is a small node with only a few channels?

You must be logged in to vote
1 reply
Comment options

saubyk Oct 9, 2025
Maintainer Author

Hi @rdmxq that's not the case at all. Don't think we said that specifically anywhere as well.
If you're on bbolt you can continue to use it without any issue and continue getting LND upgrades for a while. But the long term goal is migrate nodes off of bbolt all together.

For small nodes migrating to sqlite is a better option, which is anyway going to be the default for LND nodes in the future.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
2 participants

AltStyle によって変換されたページ (->オリジナル) /