Hey Everyone,
The first release candidate for the upcoming 0.17.0 has been released. This is a much anticipated major version upgrade, which adds Taproot Channels to LND. We expect at least one more release candidate to patch a few minor issues.
The release can be found here:
https://github.com/lightningnetwork/lnd/releases/tag/v0.17.0-beta.rc1
Current draft of the release notes are available at:
https://github.com/lightningnetwork/lnd/blob/master/docs/release-notes/release-notes-0.17.0.md
Taproot channels
Taproot channels is the biggest feature of this release. It is a huge leap forward technologically, as adding a new channel type with a new on-chain transaction type impacts some of the most critical areas of the code base. Also, the development was done in parallel with a spec proposal in the form of an extension bolt (https://github.com/lightning/bolts/pull/995), making it easier for other implementations to follow along.
With this change LND users will have an option of making all the on-chain transactions associated with opening, closing and force closing channels, taproot transactions.
To open a taproot channel, you need to run LND with a config flag `--protocol.taproot-chans` and then pass an argument `--channel_type=taproot` in the open channel rpc. Keep in mind that your network peer also need to be running LND with the same config flag, to enable you to open taproot channels with them.
It’s important to understand that this is an experimental feature and we recommend playing with it on testnet/regtest initially. From testing perspective, you should keep the following things in mind:
Taproot channels can only be opened unannounced, you cannot route public payments over taproot channels yet
The channel operations which should be tested are: Open, Close, Force Close
Send payment flows to be tested: Send direct payments to peer, Send payments via the direct peer
Receive payment flows to be tested: Receive direct payments from peer, Receive payments via hop hints over the unannounced channel
Static Channel Backups and Recovery flow
Fee estimation for the on-chain transactions
Neutrino changes
Neutrino has been updated to do more efficient and performant filter fetching and persistence. This will help reduce the time it takes for a neutrino node to sync.
The first main update made to neutrino to achieve these improvements is that filters are now fetched in batches of 1000 whenever possible rather than one-by-one.
The second main improvement is that persistence of these filters is now also done in batches where possible and persistence has also been siphoned off into its own routine so that persistence does not slow down fetching of the filters.
Watchtower updates
Add disk persistence for the queued updates at the watchtower client, reducing the memory usage
Pending and unacked updates are replayed to ensure that updates are not lost when towers are removed
Other interesting bug fixes and improvements
Simple coin selection for channel open enabling users to open channel with selected UTXO
Fixed an issue which users may encounter at the startup if they have unconfirmed transactions with low fee rate preventing LND from starting up
A race condition found between `channel_ready` status and subsequent link updates has been fixed
The `WalletBalance` rpc now supports showing the balance for a specific account
The `BatchOpenChannel` rpc and `OpenChannel` rpc arguments are harmonized to a large extent with the exceptions of `funding_shim` and `fundmax` arguments
LetsEncrypt autocert generation has been fixed
`lncli newaddr` now has a `--unused` argument which will return a previously generated but unused address
Removed rebroadcasting of the last sweep transaction at startup of the sweeper
Fixed force close vector: https://github.com/lightningnetwork/lnd/pull/7518
First set of schemas and DB integration towards sql invoice db, although users need to wait for the next release to use it
Dramatically improved the fuzzing infrastructure
In addition to above, 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.
Thanks
Suheb