9.7 KiB
Release Notes
Bug Fixes
-
Fixed a bug to correctly propagate mission control and debug level config values to the main LND config struct so that the GetDebugInfo response is accurate.
-
Fixed a bug where we would not signal an error when trying to bump a non-anchor channel but instead report a successful cpfp registration although no fee bumping is possible for non-anchor channels anyways.
-
Fixed a bug where a negative fee limit for
SendPaymentV2
would lead to omitting the fee limit check. -
Use the required route blinding feature-bit for invoices containing blinded paths.
-
Fix a bug that prevented a graceful shutdown of LND during the main chain backend sync check in certain cases.
-
Fixed a bug where dust htlcs although not being able to be resolved onchain were not canceled back before the commitment tx was confirmed causing potentially force closes of the incoming channel.
-
Fixed a bug found in the mission control store that can block the shutdown process of LND.
-
Make sure the RPC clients used to access the chain backend are properly shutdown.
-
Fixed a bug where the peer may block the shutdown process of lnd.
-
Fixed a case where the confirmation notification may be missed.
-
Make the contract resolutions for the channel arbitrator optional
New Features
-
Support for experimental endorsement signal relay was added. This signal has no impact on routing, and is deployed experimentally to assist ongoing channel jamming research.
-
Add initial support for quiescence. This is a protocol gadget required for Dynamic Commitments and Splicing that will be added later.
Functional Enhancements
- Add ability to paginate wallet transactions.
RPC Additions
-
Add a new rpc endpoint
BumpForceCloseFee
which moves the functionality soley available in thelncli
to LND hence making it more universal.
lncli Additions
-
A pre-generated macaroon root key can now be specified in
lncli create
andlncli createwatchonly
to allow for deterministic macaroon generation. -
The
lncli wallet fundpsbt
sub command now has a--sat_per_kw
flag to specify more precise fee rates. -
The
lncli wallet fundpsbt
command now has a--max_fee_ratio
argument to specify the max fees to output amounts ratio.
Improvements
Functional Updates
-
Allow the compression of logs during rotation with ZSTD via the
logging.file.compressor
startup argument. -
The SCB file now [contains more data][https://github.com/lightningnetwork/lnd/pull/8183] that enable a last resort rescue for certain cases where the peer is no longer around.
-
LND updates channel.backup file at shutdown time.
RPC Updates
- Some RPCs that previously just returned an empty response message now at least
return a short status
message to help command
line users to better understand that the command was executed successfully and
something was executed or initiated to run in the background. The following
CLI commands now don't just return an empty response (
{}
) anymore:lncli wallet releaseoutput
(WalletKit.ReleaseOutput
RPC)lncli wallet accounts import-pubkey
(WalletKit.ImportPublicKey
RPC)lncli wallet labeltx
(WalletKit.LabelTransaction
RPC)lncli sendcustom
(Lightning.SendCustomMessage
RPC)lncli connect
(Lightning.ConnectPeer
RPC)lncli disconnect
(Lightning.DisconnectPeer
RPC)lncli stop
(Lightning.Stop
RPC)lncli deletepayments
(Lightning.DeleteAllPaymentsResponse
RPC)lncli abandonchannel
(Lightning.AbandonChannel
RPC)lncli restorechanbackup
(Lightning.RestoreChannelBackups
RPC)lncli verifychanbackup
(Lightning.VerifyChanBackup
RPC)
- The
ForwardInterceptor
'sMODIFY
option will merge any custom range TLVs provided with the existing set of records on the HTLC, overwriting any conflicting values with those supplied by the API.
lncli Updates
Code Health
-
Add retry logic for watchtower block fetching with a max number of attempts and exponential back-off.
-
Moved profile related config settings to its own dedicated group. The old ones still work but will be removed in a future release.
-
Update to use structured logging. This also introduces a new
--logging.console.disable
option to disable logs being written to stdout and a new--logging.file.disable
option to disable writing logs to the standard log file. It also adds--logging.console.no-timestamps
and--logging.file.no-timestamps
which can be used to omit timestamps in log messages for the respective loggers. The new--logging.console.call-site
and--logging.file.call-site
options can be used to include the call-site of a log line. The options for this include "off" (default), "short" (source file name and line number) and "long" (full path to source file and line number). Finally, the new--logging.console.style
option can be used under thedev
build tag to add styling to console logging. -
Add max files and max file size options to the
logging
config namespace under new--logging.file.max-files
and--logging.files.max-file-size
options. The old options (--maxlogfiles
and--maxlogfilesize
) will still work but deprecation notices have been added and they will be removed in a future release. The defaults values for these options have also been increased from max 3 log files to 10 and from max 10 MB to 20 MB. -
Deprecate
dust-threshold
config option and introduce a new optionchannel-max-fee-exposure
which is unambiguous in its description. The underlying functionality between those two options remain the same.
Breaking Changes
Performance Improvements
- Log rotation can now use ZSTD
Technical and Architectural Updates
BOLT Spec Updates
- Add new lnwire messages for the Gossip 1.75 protocol.
Testing
Database
-
Migrate the mission control store to use a more minimal encoding for payment attempt routes as well as use pure TLV encoding.
-
Migrate the mission control store so that results are namespaced. All existing results are written to the "default" namespace.
Code Health
- A code refactor that moves all the graph related DB code out of the
channeldb
package and into thegraph/db
package.
Tooling and Documentation
- Improved
lncli create
command help text by replacing the wordargument
withinput
in the command description, clarifying that the command requires interactive inputs rather than arguments.
- Fixed a few misspellings
of "broadcast" in the code base, specifically the
lncli peers updatenodeannouncement
command documentation.
Contributors (Alphabetical Order)
- Abdullahi Yunus
- Animesh Bilthare
- Boris Nagaev
- Carla Kirk-Cohen
- CharlieZKSmith
- Elle Mouton
- George Tsagkarelis
- hieblmi
- Keagan McClelland
- Oliver Gugger
- Pins
- Viktor Tigerström
- Yong Yu
- Ziggie