2022-05-16 15:19:19 -04:00
|
|
|
# Release Notes
|
|
|
|
|
2022-08-03 17:27:26 -07:00
|
|
|
## BOLT Specs
|
|
|
|
|
|
|
|
* Warning messages from peers are now recognized and
|
|
|
|
[logged](https://github.com/lightningnetwork/lnd/pull/6546) by lnd.
|
|
|
|
|
2022-08-02 17:02:43 -07:00
|
|
|
## RPC
|
|
|
|
|
2022-09-29 12:57:17 +02:00
|
|
|
* The `RegisterConfirmationsNtfn` call of the `chainnotifier` RPC sub-server
|
|
|
|
[now optionally supports returning the entire block that confirmed the
|
|
|
|
transaction](https://github.com/lightningnetwork/lnd/pull/6730).
|
2022-08-02 17:02:43 -07:00
|
|
|
|
2022-05-19 23:18:43 -04:00
|
|
|
* [Add `macaroon_root_key` field to
|
|
|
|
`InitWalletRequest`](https://github.com/lightningnetwork/lnd/pull/6457) to
|
|
|
|
allow specifying a root key for macaroons during wallet init rather than
|
|
|
|
having lnd randomly generate one for you.
|
|
|
|
|
2022-08-15 20:20:47 -07:00
|
|
|
* [A new `SignedInputs`](https://github.com/lightningnetwork/lnd/pull/6771)
|
|
|
|
field is added to `SignPsbtResponse` that returns the indices of inputs
|
|
|
|
that were signed by our wallet. Prior to this change `SignPsbt` didn't
|
2022-08-16 19:31:06 -04:00
|
|
|
indicate whether the Psbt held any inputs for our wallet to sign.
|
|
|
|
|
2022-07-23 11:08:05 +05:30
|
|
|
* [Add list addresses RPC](https://github.com/lightningnetwork/lnd/pull/6596).
|
|
|
|
|
2022-08-04 13:13:31 +02:00
|
|
|
* Add [TrackPayments](https://github.com/lightningnetwork/lnd/pull/6335)
|
|
|
|
method to the RPC to allow subscribing to updates from any inflight payment.
|
|
|
|
Similar to TrackPaymentV2, but for any inflight payment.
|
|
|
|
|
2022-09-26 13:08:52 +02:00
|
|
|
* [Catch and throw an error](https://github.com/lightningnetwork/lnd/pull/6945)
|
2022-08-15 17:28:19 +02:00
|
|
|
during `openchannel` if the local funding amount given is zero.
|
|
|
|
|
|
|
|
* [Extend](https://github.com/lightningnetwork/lnd/pull/6831) the HTLC
|
|
|
|
interceptor server implementation with watchdog functionality to cancel back
|
|
|
|
HTLCs for which an interceptor client does not provide a resolution in time.
|
|
|
|
If an HTLC expires, the counterparty will claim it back on-chain and the
|
|
|
|
receiver will lose it. Therefore the receiver can just as well fail off-chain
|
|
|
|
a few blocks before so that the channel is saved.
|
2022-09-26 13:08:52 +02:00
|
|
|
|
2022-09-29 12:57:17 +02:00
|
|
|
* [Make remote channel reserve amount configurable for
|
|
|
|
`openchannel`](https://github.com/lightningnetwork/lnd/pull/6956)
|
|
|
|
|
2022-10-08 16:04:24 -04:00
|
|
|
* [`ForwardingHistory` ](https://github.com/lightningnetwork/lnd/pull/7001) now
|
2022-10-25 05:57:46 -04:00
|
|
|
enriches each forwarding event with inbound and outbound peer alias names if
|
|
|
|
the new flag `PeerAliasLookup` in `ForwardingHistoryRequest` is set to true.
|
|
|
|
[`lncli fwdinghistory` ](https://github.com/lightningnetwork/lnd/pull/7083)
|
|
|
|
enables this feature by default but adds a new flag `skip_peer_alias_lookup`
|
|
|
|
to skip the lookup.
|
2022-10-08 16:04:24 -04:00
|
|
|
|
2022-10-25 15:34:28 +02:00
|
|
|
* The graph lookups method `DescribeGraph`, `GetNodeInfo` and `GetChanInfo` now
|
|
|
|
[expose tlv data](https://github.com/lightningnetwork/lnd/pull/7085) that is
|
|
|
|
broadcast over the gossip network.
|
|
|
|
|
2022-08-29 13:20:52 +02:00
|
|
|
* [Add new HTLC notifier event and lookup
|
|
|
|
RPC](https://github.com/lightningnetwork/lnd/pull/6517) for the final
|
|
|
|
settlement of incoming HTLCs. This allows applications to wait for the HTLC to
|
|
|
|
actually disappear from all valid commitment transactions, rather than assume
|
|
|
|
that it will. With the new extensions, situations can be avoided where the
|
|
|
|
application considers an HTLC settled, but in reality the HTLC has timed out.
|
|
|
|
|
|
|
|
Final resolution data will only be available for htlcs that are resolved
|
|
|
|
after upgrading lnd.
|
|
|
|
|
2022-11-09 08:11:27 -05:00
|
|
|
* Zero-amount private invoices [now provide hop
|
|
|
|
hints](https://github.com/lightningnetwork/lnd/pull/7082), up to `maxHopHints`
|
|
|
|
(20 currently).
|
|
|
|
|
2022-07-29 18:20:11 +02:00
|
|
|
## Wallet
|
|
|
|
|
|
|
|
* [Allows Taproot public keys and tap scripts to be imported as watch-only
|
|
|
|
addresses into the internal
|
|
|
|
wallet](https://github.com/lightningnetwork/lnd/pull/6775). NOTE that funding
|
|
|
|
PSBTs from imported tap scripts is not currently possible.
|
|
|
|
|
2022-10-18 13:29:17 +02:00
|
|
|
* [The wallet birthday is now used properly when creating a watch-only wallet
|
|
|
|
to avoid scanning the whole
|
|
|
|
chain](https://github.com/lightningnetwork/lnd/pull/7056).
|
2022-07-29 18:20:11 +02:00
|
|
|
|
2022-08-03 17:27:26 -07:00
|
|
|
## Build
|
|
|
|
|
|
|
|
[The project has updated to Go
|
|
|
|
1.19](https://github.com/lightningnetwork/lnd/pull/6795)! Go 1.18 is now the
|
|
|
|
minimum version needed to build the project.
|
|
|
|
|
2022-10-11 09:56:04 +02:00
|
|
|
[The minimum recommended version of the Go 1.19.x series is 1.19.2 because
|
|
|
|
1.19.1 contained a bug that affected lnd and resulted in a
|
|
|
|
crash](https://github.com/lightningnetwork/lnd/pull/7019).
|
|
|
|
|
2022-10-01 15:40:23 -07:00
|
|
|
[Use Go's `runtime/debug` package to get information about the build](
|
|
|
|
https://github.com/lightningnetwork/lnd/pull/6963/)
|
|
|
|
|
2022-11-01 16:40:56 +01:00
|
|
|
[A wire parsing bug has been fixed that would cause lnd to be unable _decode_
|
|
|
|
certain large transactions](https://github.com/lightningnetwork/lnd/pull/7100).
|
|
|
|
|
2022-05-16 15:19:19 -04:00
|
|
|
## Misc
|
|
|
|
|
2022-09-30 14:40:00 -04:00
|
|
|
* [Fixed a bug where the Switch did not reforward settles or fails for
|
|
|
|
waiting-close channels](https://github.com/lightningnetwork/lnd/pull/6789)
|
|
|
|
|
2022-09-21 15:44:54 -04:00
|
|
|
* [Fixed a flake in the TestChannelLinkCancelFullCommitment unit
|
|
|
|
test](https://github.com/lightningnetwork/lnd/pull/6792).
|
|
|
|
|
2022-06-22 10:15:41 +02:00
|
|
|
* [Fixed error typo](https://github.com/lightningnetwork/lnd/pull/6659).
|
|
|
|
|
2022-07-14 09:33:50 +02:00
|
|
|
* [The macaroon key store implementation was refactored to be more generally
|
|
|
|
usable](https://github.com/lightningnetwork/lnd/pull/6509).
|
|
|
|
|
2022-08-15 21:00:07 +00:00
|
|
|
* [Fixed a bug where cookie authentication with Tor would fail if the cookie
|
|
|
|
path contained spaces](https://github.com/lightningnetwork/lnd/pull/6829).
|
2022-08-17 11:58:36 +02:00
|
|
|
[With the module updated](https://github.com/lightningnetwork/lnd/pull/6836),
|
|
|
|
`lnd` now parses Tor control port messages correctly.
|
2022-08-15 21:00:07 +00:00
|
|
|
|
2022-08-30 16:36:45 -05:00
|
|
|
* [Add option to encrypt Tor private
|
|
|
|
key](https://github.com/lightningnetwork/lnd/pull/6500), and [update the Tor
|
|
|
|
module](https://github.com/lightningnetwork/lnd/pull/6526) to pave the way for
|
|
|
|
this functionality.
|
2022-09-04 14:57:57 -05:00
|
|
|
|
2022-09-19 12:48:42 -05:00
|
|
|
* [Fixed potential data race on funding manager
|
|
|
|
restart](https://github.com/lightningnetwork/lnd/pull/6929).
|
|
|
|
|
2022-10-13 10:30:45 -04:00
|
|
|
* [Fixed a flake in the TestBlockCacheMutexes unit
|
|
|
|
test](https://github.com/lightningnetwork/lnd/pull/7029).
|
|
|
|
|
2022-10-12 11:50:13 +02:00
|
|
|
* [Create a helper function to wait for peer to come
|
|
|
|
online](https://github.com/lightningnetwork/lnd/pull/6931).
|
|
|
|
|
2022-08-24 13:11:13 -07:00
|
|
|
* [Stop handling peer warning messages as errors](https://github.com/lightningnetwork/lnd/pull/6840)
|
|
|
|
|
2022-10-14 13:35:05 -05:00
|
|
|
* [Stop sending a synchronizing error on the wire when out of
|
|
|
|
sync](https://github.com/lightningnetwork/lnd/pull/7039).
|
|
|
|
|
2022-09-14 15:09:03 -05:00
|
|
|
* [Update cert module](https://github.com/lightningnetwork/lnd/pull/6573) to
|
|
|
|
allow a way to update the tls certificate without restarting lnd.
|
|
|
|
|
2022-09-28 19:33:14 -03:00
|
|
|
* [Fixed a bug where paying an invoice with a malformed route hint triggers a
|
|
|
|
never-ending retry loop](https://github.com/lightningnetwork/lnd/pull/6766)
|
|
|
|
|
2022-07-29 19:17:06 -04:00
|
|
|
* [Migrated from go-fuzz to Go 1.18's new standard fuzz testing
|
2022-11-11 11:05:43 -06:00
|
|
|
library](https://github.com/lightningnetwork/lnd/pull/7127). [Updated build
|
|
|
|
and documentation to reflect
|
|
|
|
this](https://github.com/lightningnetwork/lnd/pull/7142).
|
2022-07-29 19:17:06 -04:00
|
|
|
|
2022-11-11 12:10:19 -06:00
|
|
|
* [Added missing wire tests for Warning
|
|
|
|
message](https://github.com/lightningnetwork/lnd/pull/7143).
|
|
|
|
|
2022-08-11 11:44:25 +02:00
|
|
|
## `lncli`
|
|
|
|
* [Add an `insecure` flag to skip tls auth as well as a `metadata` string slice
|
2022-08-15 20:20:47 -07:00
|
|
|
flag](https://github.com/lightningnetwork/lnd/pull/6818) that allows the
|
|
|
|
caller to specify key-value string pairs that should be appended to the
|
2022-08-11 11:44:25 +02:00
|
|
|
outgoing context.
|
|
|
|
|
2022-08-25 10:47:17 +02:00
|
|
|
* [Fix](https://github.com/lightningnetwork/lnd/pull/6858) command line argument
|
|
|
|
parsing for `lncli sendpayment`.
|
|
|
|
|
2022-08-31 15:31:49 +02:00
|
|
|
* [Fix](https://github.com/lightningnetwork/lnd/pull/6875) mapslice cap out of
|
|
|
|
range error that occurs if the number of profiles is zero.
|
|
|
|
|
2022-08-29 10:32:00 +08:00
|
|
|
* [A new config option, `batchwindowduration` has been added to
|
|
|
|
`sweeper`](https://github.com/lightningnetwork/lnd/pull/6868) to allow
|
|
|
|
customize sweeper batch duration.
|
|
|
|
|
2022-09-10 12:05:08 -04:00
|
|
|
* [Add `base_fee_msat` and `fee_rate_ppm` flags to
|
|
|
|
`openchannel`](https://github.com/lightningnetwork/lnd/pull/6753) requests
|
|
|
|
so that the user can specify fees during channel creation time in addition
|
|
|
|
to the default configuration.
|
|
|
|
|
2022-11-08 14:16:54 +08:00
|
|
|
* [Sleep for 10ms when funding locked message is not
|
|
|
|
received](https://github.com/lightningnetwork/lnd/pull/7126) to avoid CPU
|
2022-11-01 02:36:23 +08:00
|
|
|
spike.
|
|
|
|
|
2022-10-20 19:58:31 +08:00
|
|
|
* [A new config option, `mailboxdeliverytimeout` has been added to
|
|
|
|
`htlcswitch`](https://github.com/lightningnetwork/lnd/pull/7066).
|
|
|
|
|
2022-11-15 03:38:45 +08:00
|
|
|
* [Label the openchannel tx first before notifying the channel open
|
|
|
|
event.](https://github.com/lightningnetwork/lnd/pull/7158)
|
|
|
|
|
2022-11-15 18:13:29 +02:00
|
|
|
* [Add check for `pay_req` argument in `sendpayment` and `decodepayreq`
|
|
|
|
commands to trim "lightning:" prefix before processing the request](
|
|
|
|
https://github.com/lightningnetwork/lnd/pull/7150). Invoices may be prefixed
|
|
|
|
with "lightning:" on mobile and web apps and it's likely for users to copy
|
|
|
|
the invoice payment request together with the prefix, which throws checksum
|
|
|
|
error when pasting it to the CLI.
|
|
|
|
|
2022-07-14 09:33:50 +02:00
|
|
|
## Code Health
|
|
|
|
|
2022-08-15 20:20:47 -07:00
|
|
|
* [test: use `T.TempDir` to create temporary test
|
2022-08-15 21:13:03 +08:00
|
|
|
directory](https://github.com/lightningnetwork/lnd/pull/6710)
|
|
|
|
|
2022-08-23 17:36:40 -04:00
|
|
|
* [The `tlv` package now allows decoding records larger than 65535 bytes. The
|
|
|
|
caller is expected to know that doing so with untrusted input is
|
|
|
|
unsafe.](https://github.com/lightningnetwork/lnd/pull/6779)
|
2022-10-04 16:58:36 +02:00
|
|
|
|
2022-10-12 11:50:13 +02:00
|
|
|
* [test: replace defer cleanup with
|
|
|
|
`t.Cleanup`](https://github.com/lightningnetwork/lnd/pull/6864).
|
|
|
|
|
|
|
|
* [test: fix loop variables being accessed in
|
|
|
|
closures](https://github.com/lightningnetwork/lnd/pull/7032).
|
|
|
|
|
2022-10-04 16:58:36 +02:00
|
|
|
## Watchtowers
|
|
|
|
|
|
|
|
* [Create a towerID-to-sessionID index in the wtclient DB to improve the
|
|
|
|
speed of listing sessions for a particular tower ID](
|
|
|
|
https://github.com/lightningnetwork/lnd/pull/6972). This PR also ensures a
|
|
|
|
closer coupling of Towers and Sessions and ensures that a session cannot be
|
|
|
|
added if the tower it is referring to does not exist.
|
2022-08-23 17:36:40 -04:00
|
|
|
|
2022-10-13 14:33:17 +02:00
|
|
|
* [Remove `AckedUpdates` & `CommittedUpdates` from the `ClientSession`
|
|
|
|
struct](https://github.com/lightningnetwork/lnd/pull/6928) in order to
|
|
|
|
improve the performance of fetching a `ClientSession` from the DB.
|
|
|
|
|
2022-10-12 11:50:13 +02:00
|
|
|
* [Allow user to update tower address without requiring a restart. Also allow
|
|
|
|
the removal of a tower address if the current session negotiation is not
|
|
|
|
using the address in question](
|
|
|
|
https://github.com/lightningnetwork/lnd/pull/7025)
|
2022-08-27 15:15:24 +08:00
|
|
|
|
2022-07-14 09:33:50 +02:00
|
|
|
### Tooling and documentation
|
|
|
|
|
|
|
|
* [The `golangci-lint` tool was updated to
|
|
|
|
`v1.46.2`](https://github.com/lightningnetwork/lnd/pull/6731)
|
2022-05-06 16:58:10 -07:00
|
|
|
|
2022-08-15 20:20:47 -07:00
|
|
|
* [Tests in `htlcswitch` will now clean up the temporary resources they create](https://github.com/lightningnetwork/lnd/pull/6832).
|
|
|
|
|
2022-08-23 03:22:51 +08:00
|
|
|
* Updated the github actions to use `make fmt-check` in its [build
|
|
|
|
process](https://github.com/lightningnetwork/lnd/pull/6853).
|
|
|
|
|
2022-09-30 14:17:16 +02:00
|
|
|
* Database related code was refactored to [allow external tools to use it more
|
|
|
|
easily](https://github.com/lightningnetwork/lnd/pull/5561), in preparation for
|
|
|
|
adding a data migration functionality to `lndinit`.
|
|
|
|
|
2022-10-20 16:59:45 +08:00
|
|
|
* [`golangci-lint` will now check new code using additional
|
|
|
|
linters.](https://github.com/lightningnetwork/lnd/pull/7064)
|
|
|
|
|
2022-11-02 08:05:07 +02:00
|
|
|
* Update github actions to [check commits against the target base
|
|
|
|
branch](https://github.com/lightningnetwork/lnd/pull/7103) rather than just
|
2022-11-04 11:06:15 +02:00
|
|
|
using the master branch. And [skip the commit
|
|
|
|
check](https://github.com/lightningnetwork/lnd/pull/7114) for all non-PR
|
|
|
|
events.
|
2022-11-02 08:05:07 +02:00
|
|
|
|
2022-07-22 19:37:07 +08:00
|
|
|
### Integration test
|
|
|
|
|
|
|
|
The `lntest` has been
|
|
|
|
[refactored](https://github.com/lightningnetwork/lnd/pull/6759) to provide a
|
|
|
|
better testing suite for writing integration tests. A new defined structure is
|
|
|
|
implemented, please refer to
|
|
|
|
[README](https://github.com/lightningnetwork/lnd/tree/master/lntemp) for more
|
2022-08-02 18:57:06 +08:00
|
|
|
details. Along the way, several
|
|
|
|
PRs([6776](https://github.com/lightningnetwork/lnd/pull/6776)) have been made
|
|
|
|
to refactor the itest for code health and maintenance.
|
2022-07-22 19:37:07 +08:00
|
|
|
|
2022-05-16 15:19:19 -04:00
|
|
|
# Contributors (Alphabetical Order)
|
2022-07-14 09:33:50 +02:00
|
|
|
|
2022-11-09 08:11:27 -05:00
|
|
|
* Alejandro Pedraza
|
2022-09-28 19:33:14 -03:00
|
|
|
* andreihod
|
2022-05-16 15:19:19 -04:00
|
|
|
* Carla Kirk-Cohen
|
2022-07-29 19:17:06 -04:00
|
|
|
* Conner Babinchak
|
2022-08-15 21:00:07 +00:00
|
|
|
* cutiful
|
2022-05-19 23:18:43 -04:00
|
|
|
* Daniel McNally
|
2022-08-11 11:44:25 +02:00
|
|
|
* Elle Mouton
|
2022-06-22 10:15:41 +02:00
|
|
|
* ErikEk
|
2022-09-21 15:44:54 -04:00
|
|
|
* Eugene Siegel
|
2022-08-30 16:36:45 -05:00
|
|
|
* Graham Krizek
|
2022-08-16 19:31:06 -04:00
|
|
|
* hieblmi
|
2022-08-04 13:13:31 +02:00
|
|
|
* Jesse de Wit
|
2022-08-15 17:28:19 +02:00
|
|
|
* Joost Jager
|
2022-10-01 15:40:23 -07:00
|
|
|
* Jordi Montes
|
2022-09-28 19:33:14 -03:00
|
|
|
* lsunsi
|
2022-09-19 12:48:42 -05:00
|
|
|
* Matt Morehouse
|
2022-10-13 10:30:45 -04:00
|
|
|
* Michael Street
|
2022-08-24 13:11:13 -07:00
|
|
|
* Jordi Montes
|
2022-05-06 16:58:10 -07:00
|
|
|
* Olaoluwa Osuntokun
|
2022-07-14 09:33:50 +02:00
|
|
|
* Oliver Gugger
|
2022-08-23 03:22:51 +08:00
|
|
|
* Priyansh Rastogi
|
2022-09-29 12:57:17 +02:00
|
|
|
* Roei Erez
|
2022-07-22 19:37:07 +08:00
|
|
|
* Yong Yu
|