This commit bumps the recommended version to upgrade to for remote signing setups.
8.5 KiB
Release Notes
Protocol/Spec Updates
- We'll now no longer clamp the co-op close fee to the commitment fee. Instead, if users are the initiator, they can now specify a max fee that should be respected.
Zero-Conf Channel Opens
Interoperability
Build system
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. With this
change, 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.
The wallet also creates P2TR change addresses by default 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.
Please upgrade to lnd v0.15.3-beta
or later directly!
lncli
-
Add
payment_addr
flag tobuildroute
so that the mpp record of the route can be set correctly. -
Hop hints are now opt in when using
lncli addholdinvoice
. Users now need to explicitly specify the--private
flag. -
Add
chan_point
flag toupdatechanstatus
andabandonchannel
to offer a convenient way to specify the channel to be updated. -
Add
ignore_pair
flag to queryroutes to allow a user to request that specific directional node pairs be ignored during the route search.
Database
-
Delete failed payment attempts once payments are settled, unless specified with
keep-failed-payment-attempts
flag. -
A new db configuration flag
db.prune-revocation
is introduced to take the advantage enabled by a recent space optimization. Users can set this flag totrue
to run an optional db migration duringlnd
'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,cd ./channeldb/migration30 go test -bench=. -run=TestMigrateRevocationLogMemCap -benchtime=1000000x -timeout=10m -benchmem
Documentation
-
Add minor comment on subscribe/cancel/lookup invoice parameter encoding.
Neutrino
- Add getblockhash command to neutrino sub-server.
RPC Server
-
The RPC middleware interceptor now also allows requests to be replaced 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
andsignrpc.VerifyMessage
now supports Schnorr signatures. -
A new flag
skip_temp_err
is added toSendToRoute
. 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 so that the server can indicate to the client that it has completed the RPC MW registration.
Bug Fixes
-
Fixed data race found in
TestSerializeHTLCEntries
. -
Fixed a bug in the
SignPsbt
RPC that produced an invalid response when signing a NP2WKH input. -
Update the
urfave/cli
package because of a flag parsing bug. -
The HtlcSwitch now waits for a ChannelLink to stop before replacing it. This fixes a race condition.
-
Integration tests now always run with nodes never deleting failed payments.
-
Fixes a key scope issue preventing new remote signing setups to be created with
v0.15.0-beta
. -
Re-initialise registered middleware index lookup map after removal of a registered middleware
-
Remove
ScidAliasOptional
dependency onExplicitChannelTypeOptional
-
Add a default case to the Address Type switch statement in the
NewAddress
rpc server method.
Code Health
Code cleanup, refactor, typo fixes
-
Enforce the order of rpc interceptor execution to be the same as the order in which they were registered.
Tooling and documentation
- An
.editorconfig
file was added 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.
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