2021-06-22 04:21:42 +02:00
# Release Notes
2021-08-03 09:57:41 +02:00
# Backend Enhancements & Optimizations
## Full remote database support
`lnd` now stores [all its data in the same remote/external
database](https://github.com/lightningnetwork/lnd/pull/5484) such as `etcd`
instead of only the channel state and wallet data. This makes `lnd` fully
stateless and therefore makes switching over to a new leader instance almost
instantaneous. Read the [guide on leader
election](https://github.com/lightningnetwork/lnd/blob/master/docs/leader_election.md)
for more information.
2021-07-17 02:33:00 +02:00
## RPC Server
2021-07-27 13:00:02 +02:00
* [Return payment address and add index from
addholdinvoice call](https://github.com/lightningnetwork/lnd/pull/5533).
* [The versions of several gRPC related libraries were bumped and the main
`rpc.proto` was renamed to
`lightning.proto` ](https://github.com/lightningnetwork/lnd/pull/5473) to fix
a warning related to protobuf file name collisions.
2021-07-17 02:33:00 +02:00
2021-07-26 19:00:45 +02:00
* [Stub code for interacting with `lnrpc` from a WASM context through JSON
messages was added](https://github.com/lightningnetwork/lnd/pull/5601).
2021-07-17 13:54:41 +02:00
* LND now [reports to systemd ](https://github.com/lightningnetwork/lnd/pull/5536 )
that RPC is ready (port bound, certificate generated, macaroons created,
in case of `wallet-unlock-password-file` wallet unlocked). This can be used to
avoid misleading error messages from dependent services if they use `After`
systemd option.
2021-06-28 12:22:08 +02:00
## Wallet
* It is now possible to fund a psbt [without specifying any
outputs](https://github.com/lightningnetwork/lnd/pull/5442). This option is
useful for CPFP bumping of unconfirmed outputs or general utxo consolidation.
2021-07-17 10:45:17 +02:00
## Security
### Admin macaroon permissions
The default file permissions of admin.macaroon were [changed from 0600 to
0640](https://github.com/lightningnetwork/lnd/pull/5534). This makes it easier
to allow other users to manage LND. This is safe on common Unix systems
because they always create a new group for each user.
If you use a strange system or changed group membership of the group running LND
you may want to check your system to see if it introduces additional risk for
you.
2021-07-01 20:43:42 +02:00
* [Makes publishtransaction, in the wallet sub-server, reachable through
lncli](https://github.com/lightningnetwork/lnd/pull/5460).
2021-08-09 13:55:39 +02:00
# Safety
* Locally force closed channels are now [kept in the channel.backup file until
their time lock has fully matured](https://github.com/lightningnetwork/lnd/pull/5528).
2021-07-16 04:22:12 +02:00
# Build System
2021-07-19 18:15:47 +02:00
* [A new pre-submit check has been
added](https://github.com/lightningnetwork/lnd/pull/5520) to ensure that all
PRs ([aside from merge
commits](https://github.com/lightningnetwork/lnd/pull/5543)) add an entry in
2021-08-03 09:57:41 +02:00
the release notes folder that at least links to PR being added.
2021-07-19 18:15:47 +02:00
* [A new build target itest-race ](https://github.com/lightningnetwork/lnd/pull/5542 )
to help uncover undetected data races with our itests.
2021-07-27 10:48:27 +02:00
2021-07-30 10:14:59 +02:00
* [The itest error whitelist check was removed to reduce the number of failed
Travis builds](https://github.com/lightningnetwork/lnd/pull/5588).
2021-07-16 04:22:12 +02:00
2021-07-28 10:04:54 +02:00
* [A flake in the Neutrino integration tests with anchor sweeps was
addressed](https://github.com/lightningnetwork/lnd/pull/5509).
2021-08-11 22:58:49 +02:00
* [The `lnwire` fuzz tests have been fixed and now run without crashing. ](https://github.com/lightningnetwork/lnd/pull/5395 )
2021-07-22 22:19:31 +02:00
# Documentation
* [Outdated warning about unsupported pruning was replaced with clarification that LND **does**
support pruning](https://github.com/lightningnetwork/lnd/pull/5553)
2021-07-27 10:48:27 +02:00
* [Clarified 'ErrReservedValueInvalidated' error string ](https://github.com/lightningnetwork/lnd/pull/5577 )
to explain that the error is triggered by a transaction that would deplete
funds already reserved for potential future anchor channel closings (via
CPFP) and that more information (e.g., specific sat amounts) can be found
in the debug logs.
2021-07-15 11:33:56 +02:00
# Misc
* The direct use of certain syscalls in packages such as `bbolt` or `lnd` 's own
`healthcheck` package made it impossible to import `lnd` code as a library
into projects that are compiled to WASM binaries. [That problem was fixed by
guarding those syscalls with build tags](https://github.com/lightningnetwork/lnd/pull/5526).
2021-07-17 15:00:05 +02:00
# Code Health
## Code cleanup, refactor, typo fixes
2021-07-20 09:32:53 +02:00
2021-08-10 23:15:16 +02:00
* [Refactor the interaction between the `htlcswitch` and `peer` packages for cleaner separation. ](https://github.com/lightningnetwork/lnd/pull/5603 )
2021-07-17 15:00:05 +02:00
* [Unused error check
2021-07-20 09:32:53 +02:00
removed](https://github.com/lightningnetwork/lnd/pull/5537).
2021-07-27 10:48:27 +02:00
2021-07-20 09:32:53 +02:00
* [Shorten Pull Request check list by referring to the CI checks that are
2021-07-20 15:57:43 +02:00
in place](https://github.com/lightningnetwork/lnd/pull/5545).
2021-07-27 10:48:27 +02:00
2021-07-20 15:57:43 +02:00
* [Added minor fixes to contribution guidelines ](https://github.com/lightningnetwork/lnd/pull/5503 ).
2021-07-27 10:48:27 +02:00
2021-07-18 21:22:19 +02:00
* [Fixed typo in `dest_custom_records` description comment ](https://github.com/lightningnetwork/lnd/pull/5541 ).
2021-07-27 10:48:27 +02:00
2021-08-20 03:00:42 +02:00
* [Fixed payment test error message. ](https://github.com/lightningnetwork/lnd/pull/5559 )
2021-07-27 09:21:05 +02:00
* [Bumped version of `github.com/miekg/dns` library to fix a Dependabot
alert](https://github.com/lightningnetwork/lnd/pull/5576).
2021-07-27 10:48:27 +02:00
2021-07-27 12:45:35 +02:00
* [Fixed timeout flakes in async payment benchmark tests ](https://github.com/lightningnetwork/lnd/pull/5579 ).
2021-07-27 10:48:27 +02:00
2021-08-06 14:49:30 +02:00
* [Flake fix in async bidirectional payment test ](https://github.com/lightningnetwork/lnd/pull/5607 ).
2021-08-10 08:47:25 +02:00
* [Fixed context timeout when closing channels in tests ](https://github.com/lightningnetwork/lnd/pull/5616 ).
2021-08-12 00:01:15 +02:00
* [Fixed transaction not found in mempool flake in commitment deadline itest ](https://github.com/lightningnetwork/lnd/pull/5615 ).
2021-07-28 10:58:41 +02:00
* [Fixed a missing import and git tag in the healthcheck package ](https://github.com/lightningnetwork/lnd/pull/5582 ).
2021-07-27 10:48:27 +02:00
2021-07-27 11:17:07 +02:00
* [Fixed a data race in payment unit test ](https://github.com/lightningnetwork/lnd/pull/5573 ).
2021-07-27 10:48:27 +02:00
2021-07-17 13:43:11 +02:00
* [Missing dots in cmd interface ](https://github.com/lightningnetwork/lnd/pull/5535 ).
2021-07-17 15:00:05 +02:00
2021-07-13 10:10:38 +02:00
* [Link channel point logging ](https://github.com/lightningnetwork/lnd/pull/5508 )
2021-07-20 15:16:04 +02:00
## Database
* [Ensure single writer for legacy
code](https://github.com/lightningnetwork/lnd/pull/5547) when using etcd
backend.
2021-07-27 10:48:27 +02:00
* [Optimized payment sequence generation ](https://github.com/lightningnetwork/lnd/pull/5514/ )
to make LNDs payment throughput (and latency) with better when using etcd.
2021-07-19 19:21:23 +02:00
2021-07-23 15:49:06 +02:00
* [More robust commit queue design ](https://github.com/lightningnetwork/lnd/pull/5513 )
to make it less likely that we retry etcd transactions and make the commit
queue more scalable.
2021-07-19 18:43:05 +02:00
## Performance improvements
* [Update MC store in blocks ](https://github.com/lightningnetwork/lnd/pull/5515 )
to make payment throughput better when using etcd.
2021-08-09 23:54:45 +02:00
* [The `lnwire` package now uses a write buffer pool ](https://github.com/lightningnetwork/lnd/pull/4884 )
when encoding/decoding messages. Such that most of the heap escapes are fixed,
resulting in less memory being used when running `lnd` .
2021-08-05 03:31:23 +02:00
## Bug Fixes
A bug has been fixed that would cause `lnd` to [try to bootstrap using the
currnet DNS seeds when in SigNet
mode](https://github.com/lightningnetwork/lnd/pull/5564).
2021-08-11 21:37:35 +02:00
[A validation check for sane `CltvLimit` and `FinalCltvDelta` has been added for `REST`-initiated payments. ](https://github.com/lightningnetwork/lnd/pull/5591 )
2021-08-09 19:59:03 +02:00
## Documentation
The [code contribution guidelines have been updated to mention the new
requirements surrounding updating the release notes for each new
change](https://github.com/lightningnetwork/lnd/pull/5613).
2021-06-22 04:21:42 +02:00
# Contributors (Alphabetical Order)
2021-07-23 15:49:06 +02:00
* Andras Banki-Horvath
2021-08-20 03:00:42 +02:00
* de6df1re
2021-07-20 15:57:43 +02:00
* ErikEk
2021-08-10 23:15:16 +02:00
* Eugene Siegel
2021-07-17 10:45:17 +02:00
* Martin Habovstiak
2021-07-22 22:19:31 +02:00
* Oliver Gugger
2021-07-27 10:48:27 +02:00
* xanoni
2021-07-27 11:17:07 +02:00
* Yong Yu
2021-08-20 03:00:42 +02:00
* Zero-1729