-
Notifications
You must be signed in to change notification settings - Fork 2.2k
LND v0.20.0-beta Release Candidate #10275
-
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, andgossip.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.
- The default value for
-
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.
- Added
-
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
andlncli queryroutes
now support --route_hints flag to support routing through unannounced channels.
- The
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
Beta Was this translation helpful? Give feedback.
All reactions
-
🎉 4
Replies: 1 comment 1 reply
-
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?
Beta Was this translation helpful? Give feedback.
All reactions
-
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.
Beta Was this translation helpful? Give feedback.