channeldb: add optional migration to prune revocation logs
5.8 KiB
Release Notes
Protocol Extensions
Zero-Conf Channel Opens
Build system
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.
- Log pubkey for peer related messages.
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
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)
- Carsten Otto
- Elle Mouton
- ErikEk
- Eugene Siegel
- Matt Morehouse
- Slyghtning
- Oliver Gugger
- Olaoluwa Osuntokun
- Priyansh Rastogi
- Tommy Volk
- Yong Yu