Skip to content

Latest commit

 

History

History
378 lines (301 loc) · 15.3 KB

release-notes-0.17.0.md

File metadata and controls

378 lines (301 loc) · 15.3 KB

Release Notes

Bug Fixes

New Features

Functional Enhancements

  • lnd can now optionally generate blocking and mutex profiles. These profiles are useful to attempt to debug high mutex contention, or deadlock scenarios.

Protocol Features

  • This release marks the first release that includes the new musig2-based taproot channel type. As new protocol feature hasn't yet been finalized, users must enable taproot channels with a new flag: --protocol.simple-taproot-chans. Once enabled, user MUST use the explicit channel type to request the taproot channel type (pending support by the remote peer). For lncli openchannel, --channel_type=taproot should be used.

RPC Additions

None

lncli Additions

None

Improvements

Functional Updates

Watchtowers

Neutrino

Misc

RPC Updates

  • SendOutputs now adheres to the anchor channel reserve requirement.

  • Enforce provided fee rate is no less than the relay or minimum mempool fee when calling OpenChannel, CloseChannel, SendCoins, and SendMany.

  • The UpdateNodeAnnouncement API can no longer be used to set/unset protocol features that are defined by LND.

  • The neutrinorpc GetBlockHash has been deprecated. Endpoint has been moved to the chainrpc sub-server.

  • Custom node announcement feature bits can also be specified in config using the dev build tag and --protocol.custom-nodeann, --protocol.custom-init and --protocol.custom-invoice flags to set feature bits for various feature "sets", as defined in BOLT 9.

  • OpenChannel now accepts an optional memo argument for specifying a helpful note-to-self containing arbitrary useful information about the channel.

  • PendingOpenChannel now has the field funding_expiry_blocks that indicates the number of blocks until the funding transaction is considered expired.

  • gRPC keepalive parameters can now be set in the configuration. The lnd configuration settings grpc.server-ping-time and grpc.server-ping-timeout configure how often lnd pings its clients and how long a pong response is allowed to take. The default values for there settings are improved over the gRPC protocol internal default values, so most users won't need to change those. The grpc.client-ping-min-wait setting defines how often a client is allowed to ping lnd to check for connection healthiness. The lnd default value of 5 seconds is much lower than the previously used protocol internal value, which means clients can now check connection health more often. For this to be activated on the client side, gRPC clients are encouraged to set the keepalive setting on their end as well (using the grpc.keepalive_time_ms option in JavaScript or Python, or the equivalent setting in the gRPC library they are using, might be an environment variable or a different syntax depending on the programming language used) when creating long open streams over a network topology that might silently fail connections. A value of grpc.keepalive_time_ms=5100 is recommended on the client side (adding 100ms to account for slightly different clock speeds).

  • Fixed a bug where we didn't check for correct networks when submitting onchain transactions.

  • Fix non-deterministic behaviour in RPC calls for custom accounts. In theory, it should be only one custom account with a given name. However, due to a lack of check, users could have created custom accounts with various key scopes. The non-deterministic behaviours linked to this case are fixed, and users can no longer create two custom accounts with the same name.

  • OpenChannel adds a new utxo flag that allows the specification of multiple UTXOs as a basis for funding a channel opening.

  • The BatchOpenChannel message now supports all fields that are present in the OpenChannel message, except for the funding_shim and fundmax fields.

  • The WalletBalance RPC (lncli walletbalance) now supports showing the balance for a specific account.

  • The websockets proxy now uses a larger default max message size to support proxying larger messages.

lncli Updates

Code Health

Neutrino

Breaking Changes

None

Performance Improvements

None

Technical and Architectural Updates

BOLT Spec Updates

None

Testing

Database

Code Health

Tooling and Documentation

Contributors (Alphabetical Order)

  • Aljaz Ceru
  • BhhagBoseDK
  • Carla Kirk-Cohen
  • Daniel McNally
  • Elle Mouton
  • Erik Arvstedt
  • ErikEk
  • feelancer21
  • gabbyprecious
  • Guillermo Caracuel
  • Hampus Sjöberg
  • hieblmi
  • Jordi Montes
  • Keagan McClelland
  • Konstantin Nick
  • Lele Calo
  • Matt Morehouse
  • Maxwell Sayles
  • Michael Street
  • MG-ng
  • Olaoluwa Osuntokun
  • Oliver Gugger
  • Pierre Beugnet
  • Satarupa Deb
  • Shaurya Arora
  • Suheb
  • Torkel Rogstad
  • Yong Yu
  • ziggie1984
  • zx9r