LND v0.18.0 Release Candidate 1

58 views
Skip to first unread message

Suheb Khan

unread,
Apr 29, 2024, 9:22:53 PM4/29/24
to lnd

Hey Everyone,


The first release candidate for the upcoming LND v0.18.0 has been published. This is a feature packed release which covers a lot of areas including SQL schema for Invoices, Sweeper overhaul, Route Blinding and Inbound Routing fee to name a few. We do expect a few rounds of RCs to iron out issues found during testing.


The release can be found here:

https://github.com/lightningnetwork/lnd/releases/tag/v0.18.0-beta.rc1


The release notes are available at:

https://github.com/lightningnetwork/lnd/blob/master/docs/release-notes/release-notes-0.18.0.md


Below are some of the release highlights:

  • SQL Schema store for invoices

    • Relational DB store is now available as an option for the Invoice database

    • This feature is exclusively available for users setting up new nodes and should be considered experimental

    • Users can set db.use-native-sql=true under the [db] section of the config file to make use of this capability

  • Sweeper Overhaul

    • More Detailed Transaction Information: Users will now have access to more detailed information about their sweep transactions, including the current fee rate used, the budget and the deadline

    • Improved Sweeping Process: The process for sweeping transactions is now more sophisticated. Consolidates multiple small outputs leading to better management of funds and more efficient use of network resources

    • Enhanced Fee Management: A new fee management system has been introduced that aims to prevent overpayment of fees and supports Replace-By-Fee (RBF) compliant transactions. This could result in cost savings for users as network conditions change

      • The users can now specify a fee budget with the parameter budget (sats) with the bumpfee rpc. This budget provides a ceiling on the amount which can spent as fee for sweeping

      • The feerate which is specified in the param is the starting fee rate, which is gradually bumped up every block, the sweep transaction remains unconfirmed

    • Deadline Awareness: LND will auto fee bump internally depending on the urgency of the HTLCs outputs which must be swept before reaching certain block height

    • Immediate Sweep Option: For time-sensitive payments, users can now get their transactions swept immediately by setting an Immediate flag with the bumpfee rpc, providing more control over the timing of their transactions

    • Immediate Sweep on Startup: Upon startup, lnd will now perform an immediate sweep of time-sensitive outputs. This ensures that any pending transactions are processed promptly, which can be particularly urgent after a software update or restart

    • New config params introduced: Additional config params have been introduced to provide various controls on fee management for sweeping

  • sweeper.nodeadlineconftarget

  • New config group - sweeper.budget

  • Checkout the sample-lnd.conf for more details on these params

  • Route Blinding

    • Payment pathfinding to blinded routes

    • Updated mission control to handle pathfinding errors for blinded routes

    • Forwarding of payments to blinded routes

  • Inbound fee

    • Ability to charge a fee on the incoming channel. Currently only a negative fee is enabled which implies an overall discount on the payment. This basically means an optional discount can be applied to route through a certain channel 

    • Send support which results in pathfinding taking into account inbound fee/discounts of the routers in the payment path

    • Users can set the values via new cli arguments inbound_base_fee_msat and inbound_fee_rate_ppm. The values should only be set as zero or -ve

  • Probing for fee estimation

    • EstimateRouteFee rpc has been enhanced to perform payment probing

    • The rpc now optionally accepts an invoice from the target node and a probe payment timeout

    • Two use cases are covered with the change:

      • Probing to a public destination pubkey specified in the invoice

      • Probing a private invoice destination reachable through public hop hints in the invoice

  • Watchtower improvements

    • Watchtower support for taproot commitments

    • Performance improvements to reduce startup time of watchtower client

  • Other improvements and bug fixes

    • Mutual close with pending HTLCs: This change fixed an issue where the channels would get force-closed if a shutdown message is received while HTLCs are in flight on the channel

    • Min fee filter for optimal transaction propagation: When computing a minimum fee for transaction construction, LND now takes the bitcoin peers’ feefilter value into account. This ensures high probability of transaction propagation

    • Introduction of a fee buffer to handle scenarios where fee rate changes sharply or the case where htlcs are added asynchronously resulting in stuck channels. This also makes LND compliant with BOLT02

    • Payment lifecycle has been refactored to address different scenarios which could result in stuck payments. A new payment status StatusInitiated has been added and the status StatusUnknown is now deprecated. The new payment status requires the config flag routerrpc.usestatusinitiated to be set

    • Transactions being published onchain will now go through a mempool acceptance check via the testmempoolaccept rpc. If the transaction fails the test broadcast won’t be attempted. This is enabled for bitcoind v22.0.0 and btcd v0.24.1 and above

    • Another issue related to LND losing sync while running on a pruned bitcoin node has also been addressed

    • Litecoin is no longer a supported chain on LND 🎉


There are a lot of bug fixes and minor changes which can be tracked via the release notes linked above.


Feel free to reach out via usual channels if you have any questions or concerns w.r.t. updating your nodes or if you've already updated and run into any issues. Reports of issues found during testing will be highly appreciated


Thanks

Suheb

Reply all
Reply to author
Forward
0 new messages