Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
143 changes: 143 additions & 0 deletions docs/lnd/release-notes/release-notes-0.20.8.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,143 @@
# 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)
- [Deprecations](#deprecations)
- [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

* [Fixed a number of low-level correctness
bugs](https://github.com/lightningnetwork/lnd/pull/11440) across wire message
decoding, watchtower policy, sweeper fee and retry handling, the etcd backend,
channel state persistence, gossip validation, channel negotiation and
cooperative close. Two of these change behavior operators may notice: an etcd
transaction now fails when a read inside it fails, instead of committing its
writes, and a new channel that negotiates a CSV delay of zero is rejected.

* Sweep inputs [remain available for retry after unknown or transient mempool
acceptance failures](https://github.com/lightningnetwork/lnd/pull/11472),
preserving the existing fee cap. Already accepted initial transactions
continue through normal publication and tracking.

* lnd now [rejects peer channel
aliases](https://github.com/lightningnetwork/lnd/pull/11478) that are
already assigned to another channel, and revalidates aliases before signing
channel updates.

* [Preserve funding batch state](https://github.com/lightningnetwork/lnd/pull/11479)
when publishing a batch transaction returns an error. Since an error can be
returned after the transaction has already reached the network, pending
channels are no longer abandoned and their input leases are no longer
explicitly released during cleanup.
This allows lnd to continue watching and recovering channels whose funding
transaction may still confirm. If the transaction is permanently
unpublishable, the retained pending channels currently require manual cleanup
after verifying that the funding transaction cannot confirm.

* [Reject force-close requests for restored channels](https://github.com/lightningnetwork/lnd/pull/11480) when no usable commitment transaction is available.

* Confirmation height hints are now [scoped by output
script](https://github.com/lightningnetwork/lnd/pull/11481) in addition to
the transaction id. A confirmation request for a transaction that never
confirms can no longer advance the cached hint of another request for
the same transaction id, which could delay the detection of an already
confirmed transaction on nodes without a transaction index.

* The channel database now [rejects oversized unsigned acked update
logs](https://github.com/lightningnetwork/lnd/pull/11482) instead of
truncating the entry count on write, and validates the record on load so
a restart cannot silently drop previously acknowledged channel updates.

* [Fixed a peer deadlock](https://github.com/lightningnetwork/lnd/pull/11483)
that could occur when a link failure overlaps cooperative-close hook
registration.

* [Handle replacement fee rejections](https://github.com/lightningnetwork/lnd/pull/11484)
when publishing force-close commitments and legacy HTLC timeout
transactions.

* The sweeper now [bounds wallet input
selection](https://github.com/lightningnetwork/lnd/pull/11485) when funding
a sweep from the wallet. Wallet UTXOs are considered in order of value per
weight, highest first, so the budget is covered with fewer inputs. Selection
skips a UTXO only when it cannot pay for its own input weight at the node's
relay fee rate, and stops before the sweep transaction exceeds the
standardness weight limit. A sweep transaction
rejected for exceeding the weight limit is now retried instead of having its
inputs dropped. Note that a large UTXO used to fund a sweep remains locked
until that sweep confirms.

* Settled AMP HTLCs are now [recovered during on-chain
resolution](https://github.com/lightningnetwork/lnd/pull/11492) using their
persisted child preimages. Recorded spontaneous AMP and keysend HTLCs are
also resolved from persisted invoice state before new-payment validation.

* [Forwarded HTLCs are now recovered correctly across link
reconnects](https://github.com/lightningnetwork/lnd/pull/11542) when their
forwarding-package acknowledgements are sparse or the incoming link shuts
down immediately after circuit persistence.

* A reconnect while a channel funding transaction is still unconfirmed now
sends `channel_reestablish` for that channel. The channel was remembered,
but no reestablish was sent until it confirmed, so a peer waiting on the
message disconnected and took every other channel to that peer offline.
The message is sent once on that connection.
[Link](https://github.com/lightningnetwork/lnd/pull/11540)

# New Features

## Functional Enhancements

## RPC Additions

## lncli Additions

# Improvements

## Functional Updates

## RPC Updates

## lncli Updates

## Code Health

## Breaking Changes

## Performance Improvements

## Deprecations

# Technical and Architectural Updates

## BOLT Spec Updates

## Testing

## Database

## Code Health

## Tooling and Documentation

# Contributors (Alphabetical Order)

* Boris Nagaev
* Olaoluwa Osuntokun
* Vincenzo Palazzo
* Yong Yu
* Ziggie
147 changes: 147 additions & 0 deletions docs/lnd/release-notes/release-notes-0.21.8.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,147 @@
# 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)
- [Deprecations](#deprecations)
- [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)

> **Note:** The `v0.21.7-beta` Git tag and Docker image correspond to the same
> release build and are safe to use. The `v0.21.8-beta` release corrects the
> release metadata and notes.

# Bug Fixes

* [Fixed a number of low-level correctness
bugs](https://github.com/lightningnetwork/lnd/pull/11440) across wire message
decoding, watchtower policy, sweeper fee and retry handling, the etcd backend,
channel state persistence, gossip validation, channel negotiation and
cooperative close. Two of these change behavior operators may notice: an etcd
transaction now fails when a read inside it fails, instead of committing its
writes, and a new channel that negotiates a CSV delay of zero is rejected.

* Sweep inputs [remain available for retry after unknown or transient mempool
acceptance failures](https://github.com/lightningnetwork/lnd/pull/11472),
preserving the existing fee cap. Already accepted initial transactions
continue through normal publication and tracking.

* lnd now [rejects peer channel
aliases](https://github.com/lightningnetwork/lnd/pull/11478) that are
already assigned to another channel, and revalidates aliases before signing
channel updates.

* [Preserve funding batch state](https://github.com/lightningnetwork/lnd/pull/11479)
when publishing a batch transaction returns an error. Since an error can be
returned after the transaction has already reached the network, pending
channels are no longer abandoned and their input leases are no longer
explicitly released during cleanup.
This allows lnd to continue watching and recovering channels whose funding
transaction may still confirm. If the transaction is permanently
unpublishable, the retained pending channels currently require manual cleanup
after verifying that the funding transaction cannot confirm.

* [Reject force-close requests for restored channels](https://github.com/lightningnetwork/lnd/pull/11480) when no usable commitment transaction is available.

* Confirmation height hints are now [scoped by output
script](https://github.com/lightningnetwork/lnd/pull/11481) in addition to
the transaction id. A confirmation request for a transaction that never
confirms can no longer advance the cached hint of another request for
the same transaction id, which could delay the detection of an already
confirmed transaction on nodes without a transaction index.

* The channel database now [rejects oversized unsigned acked update
logs](https://github.com/lightningnetwork/lnd/pull/11482) instead of
truncating the entry count on write, and validates the record on load so
a restart cannot silently drop previously acknowledged channel updates.

* [Fixed a peer deadlock](https://github.com/lightningnetwork/lnd/pull/11483)
that could occur when a link failure overlaps cooperative-close hook
registration.

* [Handle replacement fee rejections](https://github.com/lightningnetwork/lnd/pull/11484)
when publishing force-close commitments and legacy HTLC timeout
transactions.

* The sweeper now [bounds wallet input
selection](https://github.com/lightningnetwork/lnd/pull/11485) when funding
a sweep from the wallet. Wallet UTXOs are considered in order of value per
weight, highest first, so the budget is covered with fewer inputs. Selection
skips a UTXO only when it cannot pay for its own input weight at the node's
relay fee rate, and stops before the sweep transaction exceeds the
standardness weight limit. A sweep transaction
rejected for exceeding the weight limit is now retried instead of having its
inputs dropped. Note that a large UTXO used to fund a sweep remains locked
until that sweep confirms.

* Settled AMP HTLCs are now [recovered during on-chain
resolution](https://github.com/lightningnetwork/lnd/pull/11492) using their
persisted child preimages. Recorded spontaneous AMP and keysend HTLCs are
also resolved from persisted invoice state before new-payment validation.

* [Forwarded HTLCs are now recovered correctly across link
reconnects](https://github.com/lightningnetwork/lnd/pull/11542) when their
forwarding-package acknowledgements are sparse or the incoming link shuts
down immediately after circuit persistence.

* A reconnect while a channel funding transaction is still unconfirmed now
sends `channel_reestablish` for that channel. The channel was remembered,
but no reestablish was sent until it confirmed, so a peer waiting on the
message disconnected and took every other channel to that peer offline.
The message is sent once on that connection.
[Link](https://github.com/lightningnetwork/lnd/pull/11540)

# New Features

## Functional Enhancements

## RPC Additions

## lncli Additions

# Improvements

## Functional Updates

## RPC Updates

## lncli Updates

## Code Health

## Breaking Changes

## Performance Improvements

## Deprecations

# Technical and Architectural Updates

## BOLT Spec Updates

## Testing

## Database

## Code Health

## Tooling and Documentation

# Contributors (Alphabetical Order)

* Boris Nagaev
* Olaoluwa Osuntokun
* Vincenzo Palazzo
* Yong Yu
* Ziggie
6 changes: 6 additions & 0 deletions docs/lnd/release-notes/unreleased/11551.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
# Bug Fixes

* [The expiries of all accepted HTLCs in an MPP or AMP set are now
revalidated](https://github.com/lightningnetwork/lnd/pull/11551) when the
set becomes complete, and the set is canceled if any of them no longer meets
the final CLTV requirements.