lnd/docs/release-notes/release-notes-0.15.1.md
Oliver Gugger 299152e631
docs: update remote signing update hint to v0.15.3-beta [skip ci]
This commit bumps the recommended version to upgrade to for remote
signing setups.
2022-10-11 09:42:43 +02:00

209 lines
8.5 KiB
Markdown

# Release Notes
## Protocol/Spec Updates
* [We'll now no longer clamp the co-op close fee to the commitment
fee](https://github.com/lightningnetwork/lnd/pull/6770). Instead, if users are
the initiator, they can now specify a max fee that should be respected.
### Zero-Conf Channel Opens
* [Introduces support for zero-conf channel opens and non-zero-conf option_scid_alias channels.](https://github.com/lightningnetwork/lnd/pull/5955)
* [The `listchannels` and `closedchannels` APIs have been updated to return alias and zero-conf
information. A new `listaliases` API has also been added that returns a data dump of all
existing alias info.](https://github.com/lightningnetwork/lnd/pull/6734)
* [Adds a `ZeroConfAcceptor` that rejects any zero-conf channel opens unless an RPC `ChannelAcceptor` is
active. This is a safety measure to avoid funds loss.](https://github.com/lightningnetwork/lnd/pull/6716)
### Interoperability
* [LND now waits until the peer's `funding_locked` is received before sending the initial
`channel_update`. The BOLT specification requires this.](https://github.com/lightningnetwork/lnd/pull/6664)
## Build system
* [Add the release build directory to the `.gitignore` file to avoid the release
binary digest to be different whether that folder exists or
not](https://github.com/lightningnetwork/lnd/pull/6676).
## MuSig2
The experimental MuSig2 RPC interface has been updated to track version 0.4.0
of the draft BIP.
## Taproot
[`lnd` will now refuse to start if it detects the full node backend does not
support Tapoot](https://github.com/lightningnetwork/lnd/pull/6798). [With this
change](https://github.com/lightningnetwork/lnd/pull/6826), the officially
supported versions of bitcoind are: 21, 22, and 23.
[`lnd` will now use taproot addresses for co-op closes if the remote peer
supports the feature.](https://github.com/lightningnetwork/lnd/pull/6633)
The [wallet also creates P2TR change addresses by
default](https://github.com/lightningnetwork/lnd/pull/6810) in most cases.
**NOTE** for users running a remote signing setup: A manual account import is
necessary when upgrading from `lnd v0.14.x-beta` to `lnd v0.15.x-beta`, see [the
remote signing documentation for more
details](../remote-signing.md#migrating-a-remote-signing-setup-from-014x-to-015x).
Please upgrade to `lnd v0.15.3-beta` or later directly!
## `lncli`
* [Add `payment_addr` flag to
`buildroute`](https://github.com/lightningnetwork/lnd/pull/6576)
so that the mpp record of the route can be set correctly.
* [Hop hints are now opt in when using `lncli
addholdinvoice`](https://github.com/lightningnetwork/lnd/pull/6577). Users now
need to explicitly specify the `--private` flag.
* [Add `chan_point` flag to
`updatechanstatus` and `abandonchannel`](https://github.com/lightningnetwork/lnd/pull/6705)
to offer a convenient way to specify the channel to be updated.
* [Add `ignore_pair` flag to
queryroutes](https://github.com/lightningnetwork/lnd/pull/6724) to allow a
user to request that specific directional node pairs be ignored during the
route search.
## Database
* [Delete failed payment attempts](https://github.com/lightningnetwork/lnd/pull/6438)
once payments are settled, unless specified with `keep-failed-payment-attempts` flag.
* [A new db configuration flag
`db.prune-revocation`](https://github.com/lightningnetwork/lnd/pull/6469) is
introduced to take the advantage enabled by [a recent space
optimization](https://github.com/lightningnetwork/lnd/pull/6347). Users can
set this flag to `true` to run an optional db migration during `lnd`'s
startup. This flag will prune the old revocation logs and save them using the
new format that can save large amount of disk space.
For a busy channel with millions of updates, this migration can take quite
some time. The benchmark shows it takes roughly 70 seconds to finish a
migration with 1 million logs. Of course the actual time taken can vary from
machine to machine. Users can run the following benchmark test to get an
accurate time it'll take for a channel with 1 millions updates to plan ahead,
```sh
cd ./channeldb/migration30
go test -bench=. -run=TestMigrateRevocationLogMemCap -benchtime=1000000x -timeout=10m -benchmem
```
## Documentation
* [Add minor comment](https://github.com/lightningnetwork/lnd/pull/6559) on
subscribe/cancel/lookup invoice parameter encoding.
* [Log pubkey for peer related messages](https://github.com/lightningnetwork/lnd/pull/6588).
## Neutrino
* Add [getblockhash command](https://github.com/lightningnetwork/lnd/pull/6510) to
neutrino sub-server.
## RPC Server
* [Add previous_outpoints to
`GetTransactions` RPC](https://github.com/lightningnetwork/lnd/pull/6321).
* [Fix P2TR support in
`ComputeInputScript`](https://github.com/lightningnetwork/lnd/pull/6680).
* [Add wallet reserve RPC & field in wallet
balance](https://github.com/lightningnetwork/lnd/pull/6592).
* The RPC middleware interceptor now also allows [requests to be
replaced](https://github.com/lightningnetwork/lnd/pull/6630) instead of just
responses. In addition to that, errors returned from `lnd` can now also be
intercepted and changed by the middleware.
* The `signrpc.SignMessage` and `signrpc.VerifyMessage` now supports [Schnorr
signatures](https://github.com/lightningnetwork/lnd/pull/6722).
* [A new flag `skip_temp_err` is added to
`SendToRoute`](https://github.com/lightningnetwork/lnd/pull/6545). Set it to
true so the payment won't be failed unless a terminal error has occurred,
which is useful for constructing MPP.
* [Add a message to the RPC MW registration
flow](https://github.com/lightningnetwork/lnd/pull/6754) so that the server
can indicate to the client that it has completed the RPC MW registration.
## Bug Fixes
* [LND no longer creates non-standard transactions when calling SendCoins with the
all flag. This would manifest with p2wsh/p2pkh output scripts at
1sat/vbyte.](https://github.com/lightningnetwork/lnd/pull/6740)
* Fixed data race found in
[`TestSerializeHTLCEntries`](https://github.com/lightningnetwork/lnd/pull/6673).
* [Fixed a bug in the `SignPsbt` RPC that produced an invalid response when
signing a NP2WKH input](https://github.com/lightningnetwork/lnd/pull/6687).
* [Fix race condition in `sign_psbt` test](https://github.com/lightningnetwork/lnd/pull/6741).
* [Update the `urfave/cli`
package](https://github.com/lightningnetwork/lnd/pull/6682) because of a flag
parsing bug.
* [DisconnectPeer no longer interferes with the peerTerminationWatcher. This previously caused
force closes.](https://github.com/lightningnetwork/lnd/pull/6655)
* [The HtlcSwitch now waits for a ChannelLink to stop before replacing it. This fixes a race
condition.](https://github.com/lightningnetwork/lnd/pull/6642)
* [Integration tests now always run with nodes never deleting failed
payments](https://github.com/lightningnetwork/lnd/pull/6712).
* [Fixes a key scope issue preventing new remote signing setups to be created
with `v0.15.0-beta`](https://github.com/lightningnetwork/lnd/pull/6714).
* [Re-initialise registered middleware index lookup map after removal of a
registered middleware](https://github.com/lightningnetwork/lnd/pull/6739)
* [Bitcoind cookie file path can be specified with zmq
options](https://github.com/lightningnetwork/lnd/pull/6736)
* [Remove `ScidAliasOptional` dependency on
`ExplicitChannelTypeOptional`](https://github.com/lightningnetwork/lnd/pull/6809)
* [Add a default case](https://github.com/lightningnetwork/lnd/pull/6847) to the
Address Type switch statement in the `NewAddress` rpc server method.
## Code Health
### Code cleanup, refactor, typo fixes
* [Migrate instances of assert.NoError to require.NoError](https://github.com/lightningnetwork/lnd/pull/6636).
* [Enforce the order of rpc interceptor execution](https://github.com/lightningnetwork/lnd/pull/6709) to be the same as the
order in which they were registered.
### Tooling and documentation
* An [`.editorconfig` file was
added](https://github.com/lightningnetwork/lnd/pull/6681) to autoconfigure
most text editors to respect the 80 character line length and to use 8 spaces
as the tab size. Rules for Visual Studio Code were also added. And finally,
the code formatting rules were extracted into their [own
document](../code_formatting_rules.md).
# Contributors (Alphabetical Order)
* bitromortac
* Carsten Otto
* Elle Mouton
* ErikEk
* Eugene Siegel
* Jordi Montes
* Matt Morehouse
* Slyghtning
* Oliver Gugger
* Olaoluwa Osuntokun
* Priyansh Rastogi
* Tommy Volk
* Yong Yu