Replies: 1 comment
-
https://github.com/lightningnetwork/lnd/releases/tag/v0.19.0-beta.rc2 |
Beta Was this translation helpful? Give feedback.
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
Hey Everyone,
The first release candidate for the upcoming LND v0.19.0 has been published. This release covers a lot in scope include DB migration for Invoices to a native SQL schema, RBF Coop close and optimal block synchronization within LND subsystems to name the highlights. 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.19.0-beta.rc1
The detailed release notes are available at:
https://github.com/lightningnetwork/lnd/blob/master/docs/release-notes/release-notes-0.19.0.md
Below are some of the release highlights:
RBF Coop Close
This release includes significant internal changes to how lnd handles protocol state machines and peer communication, paving the way for more flexible and robust protocol implementations. The key changes are:
protofsm
Package: A new package,protofsm
, has been added to provide a generic framework for driving event-driven protocol Finite State Machines (FSMs). This package abstracts away common themes in state machine development, such as defining states, transitions, handling I/O via daemon adapters, cleanup, and notifying callers of state updates. This will allow developers to focus primarily on the logic of state transitions.protofsm
package. This new state machine also functions as apeer.MsgEndpoint
, allowing it to integrate with the new message router. The new co-op close process allows either party to initiate a close and to bump fees by sending the shutdown message again, enabling retries with higher fee rates.This new feature can be activated with a new config flag:
--protocol.rbf-coop-close
. With this new co-op close type, users can issue multiplelncli closechannnel
commands with increasing fee rates to use RBF to bump an existing signed co-op close transaction.Migration of invoices to native SQL
This release introduces the functionality to migrate existing key-value (KV) invoices to a new native SQL schema for users who have configured a KV SQL backend (like Postgres or SQLite). This migration will be triggered automatically on startup when the
--db.use-native-sql
flag is set.How to Perform or Skip the Migration:
--db.use-native-sql
flag when startinglnd
. No additional steps are required to initiate the migration under these conditions.--db.skip-native-sql-migration
flag when starting lnd.bbolt
oretcd
will require an initial step to migrate their entire KV database to SQLite/Postgres before the invoice migration can occur. Please refer to multi: add migrate-db command lightninglabs/lndinit#21 for more context on this initial KV to SQL migration. Please note that this script is still undergoing review and will be published before the final release of lnd v0.19.0Blockbeat
This release introduces a significant internal refactor focused on improving the handling of new blocks within lnd through a new service called Blockbeat. This change aims to enhance the reliability and consistency of various subsystems by providing a more synchronized view of the blockchain.
Key changes:
chainio
package has been introduced to handle blockchain data access.ChainArb
,UtxoSweeper
, andTxPublisher
are now registered as Blockbeat consumers and receive new block information sequentially for processing.lnd
implementation. The fixes in the integration tests further validate this improved stability.This Blockbeat refactor lays the groundwork for further improvements in
lnd
's core functionality by establishing a more robust and synchronized approach to handling blockchain updates.Rpc deprecation
The
SendToRoute
,SendToRouteSync
,SendPayment
, andSendPaymentSync
endpoints will be removed in release 0.21. In preparation for this removal, deprecation warnings have been added to these endpoints in the current release. Users should migrate to the new v2 methods:SendToRouteV2
,SendPaymentV2
, andTrackPaymentV2
.Other improvements and bug fixes
testnet4
lncli constrainmacaroon
subcommand now includes anip_range
flag, allowing users to restrict access to a resource to a specific IP range when using a macaroon (authentication token). Previously, macaroons could only allow or deny access based on specific IP addresses, not ranges.--num-restricted-slots
flag. Access levels are assigned based on channel history: peers with a confirmed channel receive protected access, those with an unconfirmed channel receive temporary access, and all others are given restricted access.lncli closechannel
command now supports cooperative channel closures even when there are active HTLCs. LND will halt the channel to prevent new HTLCs and wait for existing HTLCs to be resolved before starting negotiation. To enable this, users must set theno_wait
parameter. This update also ensures that themax_fee_rate
setting is enforced for both parties during cooperative channel closure.There are a lot of other bug fixes and minor changes 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