lnd/docs/release-notes/release-notes-0.14.0.md

209 lines
8.5 KiB
Markdown
Raw Normal View History

# Release Notes
## Networking & Tor
2021-08-03 09:57:41 +02:00
A new flag has been added to enable a hybrid tor connectivity mode, where tor
is only used for onion address connections, and clearnet for everything else.
This new behavior can be added using the `tor.skip-proxy-for-clearnet-targets`
flag.
## Backend Enhancements & Optimizations
### Full remote database support
2021-08-03 09:57:41 +02:00
`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.
## 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-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).
* 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.
## 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-21 16:26:01 +02:00
* The internal wallet can now also be created or restored by using an [extended
master root key (`xprv`) instead of an
`aezeed`](https://github.com/lightningnetwork/lnd/pull/4717) only. This allows
wallet integrators to use existing seed mechanism that might already be in
place. **It is still not supported to use the same seed/root key on multiple
`lnd` instances simultaneously** though.
2021-08-24 02:23:46 +02:00
* [Publish transaction is now reachable through
lncli](https://github.com/lightningnetwork/lnd/pull/5460).
## 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.
## Safety
2021-08-09 13:55:39 +02:00
* 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).
## 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.
* [The itest error whitelist check was removed to reduce the number of failed
Travis builds](https://github.com/lightningnetwork/lnd/pull/5588).
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 16:58:49 -04:00
* [The `lnwire` fuzz tests have been fixed and now run without crashing.](https://github.com/lightningnetwork/lnd/pull/5395)
* [A flake in the race unit
tests](https://github.com/lightningnetwork/lnd/pull/5659) was addressed that
lead to failed tests sometimes when the CPU of the GitHub CI runner was
strained too much.
## Documentation
* [Outdated warning about unsupported pruning was replaced with clarification that LND **does**
support pruning](https://github.com/lightningnetwork/lnd/pull/5553)
* [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.
## Misc
2021-07-15 11:33:56 +02:00
* 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).
## Code Health
2021-07-17 15:00:05 +02:00
### Code cleanup, refactor, typo fixes
2021-08-10 17:15:16 -04: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
removed](https://github.com/lightningnetwork/lnd/pull/5537).
* [Shorten Pull Request check list by referring to the CI checks that are
in place](https://github.com/lightningnetwork/lnd/pull/5545).
* [Added minor fixes to contribution guidelines](https://github.com/lightningnetwork/lnd/pull/5503).
* [Fixed typo in `dest_custom_records` description comment](https://github.com/lightningnetwork/lnd/pull/5541).
2021-08-19 20:00:42 -05:00
* [Fixed payment test error message.](https://github.com/lightningnetwork/lnd/pull/5559)
* [Bumped version of `github.com/miekg/dns` library to fix a Dependabot
alert](https://github.com/lightningnetwork/lnd/pull/5576).
2021-07-27 12:45:35 +02:00
* [Fixed timeout flakes in async payment benchmark tests](https://github.com/lightningnetwork/lnd/pull/5579).
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 14:47:25 +08:00
* [Fixed context timeout when closing channels in tests](https://github.com/lightningnetwork/lnd/pull/5616).
2021-08-12 06:01:15 +08: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 17:17:07 +08:00
* [Fixed a data race in payment unit test](https://github.com/lightningnetwork/lnd/pull/5573).
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
* [Link channel point logging](https://github.com/lightningnetwork/lnd/pull/5508)
* [Fixed context leak in integration tests, and properly handled context
timeout](https://github.com/lightningnetwork/lnd/pull/5646).
* [Removed nested db tx](https://github.com/lightningnetwork/lnd/pull/5643)
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.
* [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-10 05:54:45 +08: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`.
## Log system
* [Save compressed log files from logrorate during
itest](https://github.com/lightningnetwork/lnd/pull/5354).
## 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 15:37:35 -04:00
[A validation check for sane `CltvLimit` and `FinalCltvDelta` has been added for `REST`-initiated payments.](https://github.com/lightningnetwork/lnd/pull/5591)
## 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).
# Contributors (Alphabetical Order)
2021-07-23 15:49:06 +02:00
* Andras Banki-Horvath
2021-08-19 20:00:42 -05:00
* de6df1re
* ErikEk
2021-08-10 17:15:16 -04:00
* Eugene Siegel
* Martin Habovstiak
* Oliver Gugger
* xanoni
2021-07-27 17:17:07 +08:00
* Yong Yu
2021-08-19 20:00:42 -05:00
* Zero-1729