2022-06-25 00:47:01 +02:00
|
|
|
# Release Notes
|
|
|
|
|
2022-07-27 01:51:28 +02:00
|
|
|
## 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.
|
2022-04-04 23:02:43 +02:00
|
|
|
|
|
|
|
### 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)
|
|
|
|
|
2022-08-09 20:07:22 +02:00
|
|
|
* [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)
|
|
|
|
|
2022-08-08 20:30:30 +02:00
|
|
|
* [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)
|
|
|
|
|
2022-08-08 22:26:56 +02:00
|
|
|
### 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)
|
|
|
|
|
2022-06-27 16:44:16 +02:00
|
|
|
## 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
|
2022-06-29 09:30:29 +02:00
|
|
|
not](https://github.com/lightningnetwork/lnd/pull/6676).
|
2022-06-27 16:44:16 +02:00
|
|
|
|
2022-08-12 02:10:34 +02:00
|
|
|
## MuSig2
|
|
|
|
|
|
|
|
The experimental MuSig2 RPC interface has been updated to track version 0.4.0
|
|
|
|
of the draft BIP.
|
|
|
|
|
chainreg: shutdown if backend node doesn't support taproot
In this commit, we add a check during normal node construction to see if
the backend node supports Taproot. If it doesn't, then we want to
shutdown and force the user to take note.
To check if the node supports Taproot, we'll first try the normal
getblockchaininfo call. If this works, cool, then we can rely on the
value. If it doesn't, then we'll fall back to the getdeploymentinfo call
which was added in a recent version of bitcoind [1]. Newer versions of
bitcoind might also have this call, and the getblockchaininfo call, but
not actually populate the softforks field [2]. In this case, we'll fall
back, and we also account for the case when the getblockchaininfo RPC is
removed all together.
[1]: https://github.com/bitcoin/bitcoin/pull/23508
[2]: https://github.com/bitcoin/bitcoin/pull/25114
Fixes #6773
2022-08-05 04:55:10 +02:00
|
|
|
## Taproot
|
|
|
|
|
2022-08-11 03:34:03 +02:00
|
|
|
[`lnd` will now refuse to start if it detects the full node backend does not
|
2022-08-13 00:29:54 +02:00
|
|
|
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.
|
chainreg: shutdown if backend node doesn't support taproot
In this commit, we add a check during normal node construction to see if
the backend node supports Taproot. If it doesn't, then we want to
shutdown and force the user to take note.
To check if the node supports Taproot, we'll first try the normal
getblockchaininfo call. If this works, cool, then we can rely on the
value. If it doesn't, then we'll fall back to the getdeploymentinfo call
which was added in a recent version of bitcoind [1]. Newer versions of
bitcoind might also have this call, and the getblockchaininfo call, but
not actually populate the softforks field [2]. In this case, we'll fall
back, and we also account for the case when the getblockchaininfo RPC is
removed all together.
[1]: https://github.com/bitcoin/bitcoin/pull/23508
[2]: https://github.com/bitcoin/bitcoin/pull/25114
Fixes #6773
2022-08-05 04:55:10 +02:00
|
|
|
|
2022-08-11 03:44:01 +02:00
|
|
|
[`lnd` will now use taproot addresses for co-op closes if the remote peer
|
|
|
|
supports the feature.](https://github.com/lightningnetwork/lnd/pull/6633)
|
chainreg: shutdown if backend node doesn't support taproot
In this commit, we add a check during normal node construction to see if
the backend node supports Taproot. If it doesn't, then we want to
shutdown and force the user to take note.
To check if the node supports Taproot, we'll first try the normal
getblockchaininfo call. If this works, cool, then we can rely on the
value. If it doesn't, then we'll fall back to the getdeploymentinfo call
which was added in a recent version of bitcoind [1]. Newer versions of
bitcoind might also have this call, and the getblockchaininfo call, but
not actually populate the softforks field [2]. In this case, we'll fall
back, and we also account for the case when the getblockchaininfo RPC is
removed all together.
[1]: https://github.com/bitcoin/bitcoin/pull/23508
[2]: https://github.com/bitcoin/bitcoin/pull/25114
Fixes #6773
2022-08-05 04:55:10 +02:00
|
|
|
|
2022-08-11 03:34:03 +02:00
|
|
|
The [wallet also creates P2TR change addresses by
|
|
|
|
default](https://github.com/lightningnetwork/lnd/pull/6810) in most cases.
|
|
|
|
|
2022-10-03 13:24:05 +02:00
|
|
|
**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).
|
2022-10-11 09:42:43 +02:00
|
|
|
Please upgrade to `lnd v0.15.3-beta` or later directly!
|
2022-10-03 13:24:05 +02:00
|
|
|
|
2022-06-25 00:47:01 +02:00
|
|
|
## `lncli`
|
|
|
|
|
2022-06-29 09:30:29 +02:00
|
|
|
* [Add `payment_addr` flag to
|
|
|
|
`buildroute`](https://github.com/lightningnetwork/lnd/pull/6576)
|
2022-06-25 00:47:01 +02:00
|
|
|
so that the mpp record of the route can be set correctly.
|
|
|
|
|
2022-06-29 09:27:11 +02:00
|
|
|
* [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.
|
|
|
|
|
2022-07-06 16:19:12 +02:00
|
|
|
* [Add `chan_point` flag to
|
2022-07-11 15:06:42 +02:00
|
|
|
`updatechanstatus` and `abandonchannel`](https://github.com/lightningnetwork/lnd/pull/6705)
|
2022-07-06 16:19:12 +02:00
|
|
|
to offer a convenient way to specify the channel to be updated.
|
|
|
|
|
2022-07-13 08:57:16 +02:00
|
|
|
* [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.
|
|
|
|
|
2022-04-21 10:02:44 +02:00
|
|
|
## Database
|
|
|
|
|
|
|
|
* [Delete failed payment attempts](https://github.com/lightningnetwork/lnd/pull/6438)
|
|
|
|
once payments are settled, unless specified with `keep-failed-payment-attempts` flag.
|
|
|
|
|
2022-05-06 10:40:17 +02:00
|
|
|
* [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
|
|
|
|
```
|
|
|
|
|
2022-06-26 07:22:50 +02:00
|
|
|
## Documentation
|
|
|
|
|
|
|
|
* [Add minor comment](https://github.com/lightningnetwork/lnd/pull/6559) on
|
|
|
|
subscribe/cancel/lookup invoice parameter encoding.
|
2022-05-07 08:08:07 +02:00
|
|
|
|
2022-05-28 10:10:09 +02:00
|
|
|
* [Log pubkey for peer related messages](https://github.com/lightningnetwork/lnd/pull/6588).
|
2022-05-07 08:08:07 +02:00
|
|
|
|
|
|
|
## Neutrino
|
|
|
|
|
|
|
|
* Add [getblockhash command](https://github.com/lightningnetwork/lnd/pull/6510) to
|
|
|
|
neutrino sub-server.
|
2022-06-27 12:31:12 +02:00
|
|
|
|
|
|
|
## RPC Server
|
|
|
|
|
2022-06-29 09:30:29 +02:00
|
|
|
* [Add previous_outpoints to
|
|
|
|
`GetTransactions` RPC](https://github.com/lightningnetwork/lnd/pull/6321).
|
2022-06-29 09:28:24 +02:00
|
|
|
|
2022-06-27 22:02:17 +02:00
|
|
|
* [Fix P2TR support in
|
|
|
|
`ComputeInputScript`](https://github.com/lightningnetwork/lnd/pull/6680).
|
2022-06-27 12:31:12 +02:00
|
|
|
|
2022-06-29 09:30:29 +02:00
|
|
|
* [Add wallet reserve RPC & field in wallet
|
|
|
|
balance](https://github.com/lightningnetwork/lnd/pull/6592).
|
2022-06-29 09:28:24 +02:00
|
|
|
|
2022-07-06 21:17:04 +02:00
|
|
|
* 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.
|
|
|
|
|
2022-07-01 11:42:38 +02:00
|
|
|
* The `signrpc.SignMessage` and `signrpc.VerifyMessage` now supports [Schnorr
|
|
|
|
signatures](https://github.com/lightningnetwork/lnd/pull/6722).
|
|
|
|
|
2022-05-20 09:07:10 +02:00
|
|
|
* [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.
|
|
|
|
|
2022-07-19 18:03:14 +02:00
|
|
|
* [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.
|
|
|
|
|
2022-06-27 13:47:54 +02:00
|
|
|
## Bug Fixes
|
|
|
|
|
2022-08-08 21:32:33 +02:00
|
|
|
* [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)
|
|
|
|
|
2022-06-27 13:47:54 +02:00
|
|
|
* Fixed data race found in
|
|
|
|
[`TestSerializeHTLCEntries`](https://github.com/lightningnetwork/lnd/pull/6673).
|
|
|
|
|
2022-06-29 18:26:25 +02:00
|
|
|
* [Fixed a bug in the `SignPsbt` RPC that produced an invalid response when
|
|
|
|
signing a NP2WKH input](https://github.com/lightningnetwork/lnd/pull/6687).
|
|
|
|
|
2022-07-19 19:16:01 +02:00
|
|
|
* [Fix race condition in `sign_psbt` test](https://github.com/lightningnetwork/lnd/pull/6741).
|
|
|
|
|
2022-06-29 09:30:29 +02:00
|
|
|
* [Update the `urfave/cli`
|
|
|
|
package](https://github.com/lightningnetwork/lnd/pull/6682) because of a flag
|
|
|
|
parsing bug.
|
2022-06-28 08:13:47 +02:00
|
|
|
|
2022-06-29 19:49:32 +02:00
|
|
|
* [DisconnectPeer no longer interferes with the peerTerminationWatcher. This previously caused
|
|
|
|
force closes.](https://github.com/lightningnetwork/lnd/pull/6655)
|
|
|
|
|
2022-06-30 21:02:28 +02:00
|
|
|
* [The HtlcSwitch now waits for a ChannelLink to stop before replacing it. This fixes a race
|
|
|
|
condition.](https://github.com/lightningnetwork/lnd/pull/6642)
|
|
|
|
|
2022-07-08 13:34:18 +02:00
|
|
|
* [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).
|
2022-07-08 01:53:49 +02:00
|
|
|
|
2022-07-15 14:04:19 +02:00
|
|
|
* [Re-initialise registered middleware index lookup map after removal of a
|
|
|
|
registered middleware](https://github.com/lightningnetwork/lnd/pull/6739)
|
|
|
|
|
2022-07-13 13:31:29 +02:00
|
|
|
* [Bitcoind cookie file path can be specified with zmq
|
|
|
|
options](https://github.com/lightningnetwork/lnd/pull/6736)
|
|
|
|
|
2022-08-08 19:22:05 +02:00
|
|
|
* [Remove `ScidAliasOptional` dependency on
|
|
|
|
`ExplicitChannelTypeOptional`](https://github.com/lightningnetwork/lnd/pull/6809)
|
|
|
|
|
2022-08-22 16:11:22 +02:00
|
|
|
* [Add a default case](https://github.com/lightningnetwork/lnd/pull/6847) to the
|
|
|
|
Address Type switch statement in the `NewAddress` rpc server method.
|
|
|
|
|
2022-06-17 06:47:27 +02:00
|
|
|
## Code Health
|
|
|
|
|
|
|
|
### Code cleanup, refactor, typo fixes
|
|
|
|
|
|
|
|
* [Migrate instances of assert.NoError to require.NoError](https://github.com/lightningnetwork/lnd/pull/6636).
|
2022-07-07 12:42:38 +02:00
|
|
|
|
|
|
|
* [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.
|
2022-06-17 06:47:27 +02:00
|
|
|
|
2022-07-04 11:18:37 +02:00
|
|
|
### 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).
|
|
|
|
|
2022-06-25 00:47:01 +02:00
|
|
|
# Contributors (Alphabetical Order)
|
2022-06-27 12:31:12 +02:00
|
|
|
|
2022-07-13 13:31:29 +02:00
|
|
|
* bitromortac
|
2022-05-28 10:10:09 +02:00
|
|
|
* Carsten Otto
|
2022-06-25 00:47:01 +02:00
|
|
|
* Elle Mouton
|
2022-06-26 07:22:50 +02:00
|
|
|
* ErikEk
|
2022-06-29 19:49:32 +02:00
|
|
|
* Eugene Siegel
|
2022-08-08 19:22:05 +02:00
|
|
|
* Jordi Montes
|
2022-07-19 19:16:01 +02:00
|
|
|
* Matt Morehouse
|
2022-07-06 16:19:12 +02:00
|
|
|
* Slyghtning
|
2022-06-27 16:44:16 +02:00
|
|
|
* Oliver Gugger
|
2022-07-08 01:53:49 +02:00
|
|
|
* Olaoluwa Osuntokun
|
2022-06-27 12:31:12 +02:00
|
|
|
* Priyansh Rastogi
|
2022-04-21 10:02:44 +02:00
|
|
|
* Tommy Volk
|
2022-06-29 09:28:24 +02:00
|
|
|
* Yong Yu
|