lnd/docs/release-notes/release-notes-0.18.0.md
Elle 4fa483f1bc
Merge pull request #7702 from ellemouton/towerClientMux
wtclient: Tower Client Multiplexer
2023-12-05 12:27:05 +02:00

7.4 KiB

Release Notes

Bug Fixes

New Features

Functional Enhancements

  • A new config value, sweeper.maxfeerate, is added so users can specify the max allowed fee rate when sweeping onchain funds. The default value is 1000 sat/vb. Setting this value below 100 sat/vb is not allowed, as low fee rate can cause transactions not confirming in time, which could result in fund loss. Please note that the actual fee rate to be used is deteremined by the fee estimator used(for instance bitcoind), and this value is a cap on the max allowed value. So it's expected that this cap is rarely hit unless there's mempool congestion.

  • Support for [pathfinding]((https://github.com/lightningnetwork/lnd/pull/7267) and payment to blinded paths has been added via the QueryRoutes (and SendToRouteV2) APIs. This functionality is surfaced in lncli queryroutes where the required flags are tagged with (blinded paths).

  • A new config value, http-header-timeout, is added so users can specify the amount of time the http server will wait for a request to complete before closing the connection. The default value is 5 seconds.

  • routerrpc.usestatusinitiated is introduced to signal that the new payment status Payment_INITIATED should be used for payment-related RPCs. It's recommended to use it to provide granular controls over payments.

RPC Additions

  • Deprecated StatusUnknown from the payment's rpc response in its status and added a new status, StatusInitiated, to explicitly report its current state. Before running this new version, please make sure to upgrade your client application to include this new status so it can understand the RPC response properly.

lncli Additions

Improvements

Functional Updates

Tlv

Misc

Logging

  • Add the htlc amount to contract court logs in case of timed-out htlcs in order to easily spot dust outputs.

RPC Updates

  • Deprecated StatusUnknown from the payment's rpc response in its status and replaced it with StatusInitiated to explicitly report its current state.

  • Add an option to sign/verify a tagged hash to the signer.SignMessage/signer.VerifyMessage RPCs.

  • sendtoroute will return an error when it's called using the flag --skip_temp_err on a payment that's not a MPP. This is needed as a temp error is defined as a routing error found in one of a MPP's HTLC attempts. If, however, there's only one HTLC attempt, when it's failed, this payment is considered failed, thus there's no such thing as temp error for a non-MPP.

  • Support for MinConf(minimum number of confirmations) has been added to the WalletBalance RPC call.

lncli Updates

  • Documented all available lncli commands. This change makes all existing lncli commands have the appropriate doc tag in the rpc definition to ensure that the autogenerated API documentation properly specifies how to use the lncli command.

Code Health

  • Remove Litecoin code. With this change, the Bitcoin.Active config option is now deprecated since Bitcoin is now the only supported chain. The chains field in the lnrpc.GetInfoResponse message along with the chain field in the lnrpc.Chain message have also been deprecated for the same reason.

  • The payment lifecycle code has been refactored to improve its maintainablity. In particular, the complexity involved in the lifecycle loop has been decoupled into logical steps, with each step having its own responsibility, making it easier to reason about the payment flow.

  • Add a watchtower tower client multiplexer to manage tower clients of different types.

Breaking Changes

Performance Improvements

Technical and Architectural Updates

BOLT Spec Updates

  • Add Dynamic Commitment Wire Types. This change begins the development of Dynamic Commitments allowing for the negotiation of new channel parameters and the upgrading of channel types.

Testing

Database

Code Health

Tooling and Documentation

Contributors (Alphabetical Order)

  • Amin Bashiri
  • Andras Banki-Horvath
  • Carla Kirk-Cohen
  • Elle Mouton
  • Keagan McClelland
  • Marcos Fernandez Perez
  • Matt Morehouse
  • Slyghtning
  • Turtle
  • Ononiwu Maureen Chiamaka
  • Yong Yu