2024-08-09 19:37:33 +02:00
|
|
|
# Release Notes
|
|
|
|
- [Bug Fixes](#bug-fixes)
|
|
|
|
- [New Features](#new-features)
|
|
|
|
- [Functional Enhancements](#functional-enhancements)
|
|
|
|
- [RPC Additions](#rpc-additions)
|
|
|
|
- [lncli Additions](#lncli-additions)
|
|
|
|
- [Improvements](#improvements)
|
|
|
|
- [Functional Updates](#functional-updates)
|
|
|
|
- [RPC Updates](#rpc-updates)
|
|
|
|
- [lncli Updates](#lncli-updates)
|
|
|
|
- [Breaking Changes](#breaking-changes)
|
|
|
|
- [Performance Improvements](#performance-improvements)
|
|
|
|
- [Technical and Architectural Updates](#technical-and-architectural-updates)
|
|
|
|
- [BOLT Spec Updates](#bolt-spec-updates)
|
|
|
|
- [Testing](#testing)
|
|
|
|
- [Database](#database)
|
|
|
|
- [Code Health](#code-health)
|
|
|
|
- [Tooling and Documentation](#tooling-and-documentation)
|
|
|
|
|
|
|
|
# Bug Fixes
|
|
|
|
|
2024-08-14 14:44:17 -03:00
|
|
|
* [Fixed a bug](https://github.com/lightningnetwork/lnd/pull/8857) to correctly
|
|
|
|
propagate mission control and debug level config values to the main LND config
|
|
|
|
struct so that the GetDebugInfo response is accurate.
|
2024-08-25 09:57:56 +02:00
|
|
|
|
|
|
|
* [Fixed a bug](https://github.com/lightningnetwork/lnd/pull/9033) where we
|
2024-11-14 11:39:48 +01:00
|
|
|
would not signal an error when trying to bump a non-anchor channel but
|
2024-08-25 09:57:56 +02:00
|
|
|
instead report a successful cpfp registration although no fee bumping is
|
|
|
|
possible for non-anchor channels anyways.
|
2024-09-24 12:36:15 +09:00
|
|
|
|
2024-11-14 11:39:48 +01:00
|
|
|
* [Fixed a bug](https://github.com/lightningnetwork/lnd/pull/9269) where a
|
|
|
|
negative fee limit for `SendPaymentV2` would lead to omitting the fee limit
|
|
|
|
check.
|
|
|
|
|
2024-09-30 10:32:25 +02:00
|
|
|
* [Use the required route blinding
|
|
|
|
feature-bit](https://github.com/lightningnetwork/lnd/pull/9143) for invoices
|
|
|
|
containing blinded paths.
|
|
|
|
|
2024-09-24 17:58:08 +02:00
|
|
|
* [Fix a bug](https://github.com/lightningnetwork/lnd/pull/9137) that prevented
|
|
|
|
a graceful shutdown of LND during the main chain backend sync check in certain
|
|
|
|
cases.
|
2024-10-17 13:26:44 +02:00
|
|
|
|
|
|
|
* [Fixed a bug](https://github.com/lightningnetwork/lnd/pull/9068) 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.
|
2024-09-24 17:58:08 +02:00
|
|
|
|
2024-11-08 01:53:07 +08:00
|
|
|
* [Fixed a bug](https://github.com/lightningnetwork/lnd/pull/9249) found in the
|
|
|
|
mission control store that can block the shutdown process of LND.
|
|
|
|
|
2024-11-13 21:52:11 +08:00
|
|
|
* Make sure the RPC clients used to access the chain backend are [properly
|
|
|
|
shutdown](https://github.com/lightningnetwork/lnd/pull/9261).
|
|
|
|
|
2024-11-18 09:15:33 +08:00
|
|
|
* [Fixed a bug](https://github.com/lightningnetwork/lnd/pull/9275) where the
|
|
|
|
peer may block the shutdown process of lnd.
|
|
|
|
|
2024-11-12 22:40:31 +08:00
|
|
|
* [Fixed a case](https://github.com/lightningnetwork/lnd/pull/9258) where the
|
|
|
|
confirmation notification may be missed.
|
2024-11-12 22:40:11 +01:00
|
|
|
|
|
|
|
* [Make the contract resolutions for the channel arbitrator optional](
|
|
|
|
https://github.com/lightningnetwork/lnd/pull/9253)
|
2024-11-12 22:40:31 +08:00
|
|
|
|
2024-12-10 11:41:28 +01:00
|
|
|
* [Fixed a bug](https://github.com/lightningnetwork/lnd/pull/9322) that caused
|
2024-11-29 10:23:10 +01:00
|
|
|
estimateroutefee to ignore the default payment timeout.
|
|
|
|
|
2024-08-09 19:37:33 +02:00
|
|
|
# New Features
|
2024-08-23 10:05:58 -04:00
|
|
|
|
|
|
|
* [Support](https://github.com/lightningnetwork/lnd/pull/8390) for
|
|
|
|
[experimental endorsement](https://github.com/lightning/blips/pull/27)
|
|
|
|
signal relay was added. This signal has *no impact* on routing, and
|
|
|
|
is deployed experimentally to assist ongoing channel jamming research.
|
|
|
|
|
2024-11-18 11:55:06 -07:00
|
|
|
* Add initial support for [quiescence](https://github.com/lightningnetwork/lnd/pull/8270).
|
|
|
|
This is a protocol gadget required for Dynamic Commitments and Splicing that
|
|
|
|
will be added later.
|
|
|
|
|
2025-01-17 18:58:20 +08:00
|
|
|
* [Fixed](https://github.com/lightningnetwork/lnd/pull/9424) a case where the
|
|
|
|
initial historical sync may be blocked due to a race condition in handling the
|
|
|
|
syncer's internal state.
|
|
|
|
|
2024-08-09 19:37:33 +02:00
|
|
|
## Functional Enhancements
|
2024-11-20 17:37:46 +01:00
|
|
|
* [Add ability](https://github.com/lightningnetwork/lnd/pull/8998) to paginate
|
|
|
|
wallet transactions.
|
2024-08-09 19:37:33 +02:00
|
|
|
## RPC Additions
|
|
|
|
|
|
|
|
* [Add a new rpc endpoint](https://github.com/lightningnetwork/lnd/pull/8843)
|
2024-12-10 11:41:28 +01:00
|
|
|
`BumpForceCloseFee` which moves the functionality solely available in the
|
2024-08-09 19:37:33 +02:00
|
|
|
`lncli` to LND hence making it more universal.
|
|
|
|
|
2024-08-15 15:27:02 +02:00
|
|
|
* [The `walletrpc.FundPsbt` RPC method now has an option to specify the fee as
|
|
|
|
`sat_per_kw` which allows for more precise
|
|
|
|
fees](https://github.com/lightningnetwork/lnd/pull/9013).
|
|
|
|
|
2024-11-04 14:35:27 +01:00
|
|
|
* [The `walletrpc.FundPsbt` method now has a new option to specify the maximum
|
|
|
|
fee to output amounts ratio.](https://github.com/lightningnetwork/lnd/pull/8600)
|
|
|
|
|
2024-12-05 23:39:37 +08:00
|
|
|
* When returning the response from list invoices RPC, the `lnrpc.Invoice.Htlcs`
|
|
|
|
are now [sorted](https://github.com/lightningnetwork/lnd/pull/9337) based on
|
|
|
|
the `InvoiceHTLC.HtlcIndex`.
|
|
|
|
|
2025-01-14 19:21:28 +05:30
|
|
|
* [routerrpc.SendPaymentV2](https://github.com/lightningnetwork/lnd/pull/9359)
|
|
|
|
RPC method now applies a default timeout of 60 seconds when the
|
|
|
|
`timeout_seconds` field is not set or is explicitly set to 0.
|
|
|
|
|
2024-08-09 19:37:33 +02:00
|
|
|
## lncli Additions
|
|
|
|
|
2024-10-11 10:19:15 +02:00
|
|
|
* [A pre-generated macaroon root key can now be specified in `lncli create` and
|
|
|
|
`lncli createwatchonly`](https://github.com/lightningnetwork/lnd/pull/9172) to
|
|
|
|
allow for deterministic macaroon generation.
|
|
|
|
|
2024-08-15 15:27:02 +02:00
|
|
|
* [The `lncli wallet fundpsbt` sub command now has a `--sat_per_kw` flag to
|
|
|
|
specify more precise fee
|
|
|
|
rates](https://github.com/lightningnetwork/lnd/pull/9013).
|
|
|
|
|
2024-11-04 14:35:27 +01:00
|
|
|
* The `lncli wallet fundpsbt` command now has a [`--max_fee_ratio` argument to
|
|
|
|
specify the max fees to output amounts ratio.](https://github.com/lightningnetwork/lnd/pull/8600)
|
|
|
|
|
2024-12-19 18:51:17 +01:00
|
|
|
* [`updatechanpolicy`](https://github.com/lightningnetwork/lnd/pull/8805) will
|
|
|
|
now update the channel policy if the edge was not found in the graph
|
|
|
|
database if the `create_missing_edge` flag is set.
|
|
|
|
|
2025-01-15 17:58:40 +05:30
|
|
|
* [Enhance](https://github.com/lightningnetwork/lnd/pull/9390) the
|
|
|
|
`lncli listchannels` output by adding the human readable short
|
|
|
|
channel id and the channel id defined in BOLT02. Moreover change
|
|
|
|
the misnomer of `chan_id` which was describing the short channel
|
|
|
|
id to `scid` to represent what it really is.
|
|
|
|
|
2024-08-09 19:37:33 +02:00
|
|
|
# Improvements
|
|
|
|
## Functional Updates
|
|
|
|
|
2024-10-29 17:58:23 +02:00
|
|
|
* [Allow](https://github.com/lightningnetwork/lnd/pull/9017) the compression of
|
|
|
|
logs during rotation with ZSTD via the `logging.file.compressor` startup
|
|
|
|
argument.
|
2024-09-12 12:29:17 -04:00
|
|
|
|
2024-07-13 13:21:46 -03:00
|
|
|
* 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.
|
|
|
|
|
2024-11-25 14:19:23 +08:00
|
|
|
* A new subsystem `chainio` is
|
|
|
|
[introduced](https://github.com/lightningnetwork/lnd/pull/9315) to make sure
|
|
|
|
the subsystems are in sync with their current best block. Previously, when
|
|
|
|
resolving a force close channel, the sweeping of HTLCs may be delayed for one
|
|
|
|
or two blocks due to block heights not in sync in the relevant subsystems
|
|
|
|
(`ChainArbitrator`, `UtxoSweeper` and `TxPublisher`), causing a slight
|
|
|
|
inaccuracy when deciding the sweeping feerate and urgency. With `chainio`,
|
|
|
|
this is now fixed as these subsystems now share the same view on the best
|
|
|
|
block. Check
|
|
|
|
[here](https://github.com/lightningnetwork/lnd/blob/master/chainio/README.md)
|
|
|
|
to learn more.
|
2024-11-17 18:35:41 +01:00
|
|
|
|
|
|
|
* [The sweeper](https://github.com/lightningnetwork/lnd/pull/9274) does now also
|
|
|
|
use the configured budget values for HTLCs (first level sweep) in parcticular
|
|
|
|
`--sweeper.budget.deadlinehtlcratio` and `--sweeper.budget.deadlinehtlc`.
|
2024-11-25 14:19:23 +08:00
|
|
|
|
2024-08-09 19:37:33 +02:00
|
|
|
## RPC Updates
|
|
|
|
|
2024-11-06 15:30:31 +01:00
|
|
|
* Some RPCs that previously just returned an empty response message now at least
|
|
|
|
return [a short status
|
|
|
|
message](https://github.com/lightningnetwork/lnd/pull/7762) 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)
|
2024-11-04 16:46:43 -05:00
|
|
|
* The `ForwardInterceptor`'s `MODIFY` option will
|
|
|
|
[merge](https://github.com/lightningnetwork/lnd/pull/9240) any custom
|
|
|
|
range TLVs provided with the existing set of records on the HTLC,
|
|
|
|
overwriting any conflicting values with those supplied by the API.
|
2024-11-06 15:30:31 +01:00
|
|
|
|
2025-01-17 21:31:10 +08:00
|
|
|
* [Make](https://github.com/lightningnetwork/lnd/pull/9405) the param
|
|
|
|
`ProofMatureDelta` used in gossip to be configurable via
|
|
|
|
`--gossip.announcement-conf`, with a default value of 6.
|
|
|
|
|
2024-08-09 19:37:33 +02:00
|
|
|
## lncli Updates
|
|
|
|
|
|
|
|
## Code Health
|
2024-07-13 13:21:46 -03:00
|
|
|
|
2024-01-15 01:46:49 +05:30
|
|
|
* [Add retry logic](https://github.com/lightningnetwork/lnd/pull/8381) for
|
|
|
|
watchtower block fetching with a max number of attempts and exponential
|
|
|
|
back-off.
|
|
|
|
|
2024-09-26 10:43:42 +02:00
|
|
|
* [Moved](https://github.com/lightningnetwork/lnd/pull/9138) profile related
|
|
|
|
config settings to its own dedicated group. The old ones still work but will
|
|
|
|
be removed in a future release.
|
|
|
|
|
2024-09-10 20:34:31 +02:00
|
|
|
* [Update to use structured
|
|
|
|
logging](https://github.com/lightningnetwork/lnd/pull/9083). 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
|
2024-10-15 18:23:18 +02:00
|
|
|
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 the `dev`
|
2024-11-27 10:19:14 +02:00
|
|
|
build tag to add styling to console logging.
|
|
|
|
|
|
|
|
* [Start adding a commit hash fingerprint to log lines by
|
|
|
|
default](https://github.com/lightningnetwork/lnd/pull/9314). This can be
|
|
|
|
disabled with the new `--logging.no-commit-hash"` option. Note that this extra
|
|
|
|
info will currently only appear in a few log lines, but more will be added in
|
|
|
|
future as the structured logging change is propagated throughout LND.
|
2024-09-10 20:34:31 +02:00
|
|
|
|
2024-10-29 18:12:18 +02:00
|
|
|
* [Add max files and max file size](https://github.com/lightningnetwork/lnd/pull/9233)
|
|
|
|
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
|
2024-10-30 13:23:18 +02:00
|
|
|
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.
|
2024-10-29 18:12:18 +02:00
|
|
|
|
2024-10-19 09:17:30 +02:00
|
|
|
* [Deprecate `dust-threshold`
|
|
|
|
config option](https://github.com/lightningnetwork/lnd/pull/9182) and introduce
|
|
|
|
a new option `channel-max-fee-exposure` which is unambiguous in its description.
|
|
|
|
The underlying functionality between those two options remain the same.
|
|
|
|
|
2025-01-17 21:31:10 +08:00
|
|
|
|
2024-08-09 19:37:33 +02:00
|
|
|
## Breaking Changes
|
|
|
|
## Performance Improvements
|
|
|
|
|
2024-11-15 09:50:01 +01:00
|
|
|
* Log rotation can now use ZSTD
|
2024-10-17 07:45:06 +08:00
|
|
|
|
2024-08-09 19:37:33 +02:00
|
|
|
# Technical and Architectural Updates
|
|
|
|
## BOLT Spec Updates
|
|
|
|
|
2024-08-21 09:50:46 +02:00
|
|
|
* Add new [lnwire](https://github.com/lightningnetwork/lnd/pull/8044) messages
|
|
|
|
for the Gossip 1.75 protocol.
|
|
|
|
|
2024-08-09 19:37:33 +02:00
|
|
|
## Testing
|
2024-11-27 10:30:52 -03:00
|
|
|
|
|
|
|
* LND [uses](https://github.com/lightningnetwork/lnd/pull/9257) the feerate
|
|
|
|
estimator provided by bitcoind or btcd in regtest and simnet modes instead of
|
|
|
|
static fee estimator if feeurl is not provided.
|
|
|
|
|
2024-11-26 17:45:12 +08:00
|
|
|
* The integration tests CI have been optimized to run faster and all flakes are
|
|
|
|
now documented and
|
|
|
|
[fixed](https://github.com/lightningnetwork/lnd/pull/9368).
|
|
|
|
|
2024-08-09 19:37:33 +02:00
|
|
|
## Database
|
|
|
|
|
2024-08-06 14:36:14 +02:00
|
|
|
* [Migrate the mission control
|
|
|
|
store](https://github.com/lightningnetwork/lnd/pull/8911) to use a more
|
2024-10-08 13:46:12 +02:00
|
|
|
minimal encoding for payment attempt routes as well as use [pure TLV
|
|
|
|
encoding](https://github.com/lightningnetwork/lnd/pull/9167).
|
2024-08-06 14:36:14 +02:00
|
|
|
|
2024-08-13 20:14:15 +02:00
|
|
|
* [Migrate the mission control
|
|
|
|
store](https://github.com/lightningnetwork/lnd/pull/9001) so that results are
|
|
|
|
namespaced. All existing results are written to the "default" namespace.
|
|
|
|
|
2024-11-27 14:05:00 -08:00
|
|
|
* [Remove global application level lock for
|
|
|
|
Postgres](https://github.com/lightningnetwork/lnd/pull/9242) so multiple DB
|
|
|
|
transactions can run at once, increasing efficiency. Includes several bugfixes
|
|
|
|
to allow this to work properly.
|
|
|
|
|
2024-09-17 16:51:19 +02:00
|
|
|
* [Migrate KV invoices to
|
|
|
|
SQL](https://github.com/lightningnetwork/lnd/pull/8831) as part of a larger
|
|
|
|
effort to support SQL databases natively in LND.
|
|
|
|
|
|
|
|
|
2024-08-09 19:37:33 +02:00
|
|
|
## Code Health
|
|
|
|
|
2024-11-01 14:01:51 +02:00
|
|
|
* A code refactor that [moves all the graph related DB code out of the
|
|
|
|
`channeldb` package](https://github.com/lightningnetwork/lnd/pull/9236) and
|
|
|
|
into the `graph/db` package.
|
2024-12-10 06:53:27 +02:00
|
|
|
|
|
|
|
* [Improve the API](https://github.com/lightningnetwork/lnd/pull/9341) of the
|
|
|
|
[GoroutineManager](https://github.com/lightningnetwork/lnd/pull/9141) so that
|
|
|
|
its constructor does not take a context.
|
2024-11-01 14:01:51 +02:00
|
|
|
|
2024-12-10 07:21:18 +02:00
|
|
|
* [Update protofsm
|
|
|
|
StateMachine](https://github.com/lightningnetwork/lnd/pull/9342) to use the
|
|
|
|
new GoroutineManager API along with structured logging.
|
|
|
|
|
2024-08-09 19:37:33 +02:00
|
|
|
## Tooling and Documentation
|
|
|
|
|
2024-09-10 21:32:26 -07:00
|
|
|
* [Improved `lncli create` command help text](https://github.com/lightningnetwork/lnd/pull/9077)
|
|
|
|
by replacing the word `argument` with `input` in the command description,
|
|
|
|
clarifying that the command requires interactive inputs rather than arguments.
|
|
|
|
|
2024-11-20 21:18:28 -05:00
|
|
|
- [Fixed a few misspellings](https://github.com/lightningnetwork/lnd/pull/9290)
|
|
|
|
of "broadcast" in the code base, specifically the `lncli peers updatenodeannouncement`
|
|
|
|
command documentation.
|
|
|
|
|
2024-08-09 19:37:33 +02:00
|
|
|
# Contributors (Alphabetical Order)
|
|
|
|
|
2024-11-20 17:37:46 +01:00
|
|
|
* Abdullahi Yunus
|
2024-11-27 14:05:00 -08:00
|
|
|
* Alex Akselrod
|
2024-09-17 16:51:19 +02:00
|
|
|
* Andras Banki-Horvath
|
2024-01-15 01:46:49 +05:30
|
|
|
* Animesh Bilthare
|
2024-07-13 13:21:46 -03:00
|
|
|
* Boris Nagaev
|
2024-08-23 10:05:58 -04:00
|
|
|
* Carla Kirk-Cohen
|
2024-09-10 21:32:26 -07:00
|
|
|
* CharlieZKSmith
|
2024-09-24 12:36:15 +09:00
|
|
|
* Elle Mouton
|
2024-11-04 14:35:27 +01:00
|
|
|
* George Tsagkarelis
|
2024-11-14 11:39:48 +01:00
|
|
|
* hieblmi
|
2024-12-19 18:51:17 +01:00
|
|
|
* Jesse de Wit
|
2024-11-18 11:55:06 -07:00
|
|
|
* Keagan McClelland
|
2025-01-15 17:58:40 +05:30
|
|
|
* Nishant Bansal
|
2024-11-06 15:30:31 +01:00
|
|
|
* Oliver Gugger
|
2024-08-14 14:44:17 -03:00
|
|
|
* Pins
|
2024-09-24 17:58:08 +02:00
|
|
|
* Viktor Tigerström
|
2024-11-18 09:15:33 +08:00
|
|
|
* Yong Yu
|
2024-11-13 21:52:11 +08:00
|
|
|
* Ziggie
|