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
1 change: 1 addition & 0 deletions docs/loop/release-notes/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -113,4 +113,5 @@ a versioned file, then reset the next-release sections.
| [v0.35.0-beta](release-notes-0.35.0.md) | 2026-08-24 | Added stateless Loop Out HTLC recovery and hardened Instant Out handling |
| [v0.35.1-beta](release-notes-0.35.1.md) | 2026-10-19 | Reported static address on-chain costs and required Instant Out fee caps |
| [v0.35.2-beta](release-notes-0.35.2.md) | 2026-10-21 | Hardened Loop In keys/refunds, fixed static Loop In UTC deadlines, updated compression, and raised Go minimum to 1.27.3 |
| [v0.35.3-beta](release-notes-0.35.3.md) | 2026-11-05 | Added blinded Loop Out invoices and fixed withdrawal, sweep-batcher, notification-cache, and MPTCP handling |
| [Next release](release-notes-next.md) | Unreleased | No changes yet |
5 changes: 4 additions & 1 deletion docs/loop/release-notes/release-notes-0.35.2.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
- **Release page:**
[v0.35.2-beta](https://github.com/lightninglabs/loop/releases/tag/v0.35.2-beta)
- **Previous release:** [v0.35.1-beta](release-notes-0.35.1.md)
- **Next release:** [Next release](release-notes-next.md)
- **Next release:** [v0.35.3-beta](release-notes-0.35.3.md)

#### New Features

Expand Down Expand Up @@ -48,6 +48,8 @@

#### Maintenance

* Update the LoopRPC requirement to the revision used by this release.

* `utils.MuSig2Sign` now takes the signers' raw 32-byte private keys and derives their public keys itself, instead of separate private and public key slices. Out-of-range keys are reduced modulo the secp256k1 group order, while keys that reduce to zero and calls with fewer than two signers are rejected. Go callers of this exported helper need to be updated.

* Raise the minimum Go version to 1.27.3 and move the build and release
Expand All @@ -63,4 +65,5 @@
- claravanstaden
- claudell
- dependabot[bot]
- Olaoluwa Osuntokun
- Slyghtning
59 changes: 59 additions & 0 deletions docs/loop/release-notes/release-notes-0.35.3.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
# Loop Client Release Notes

- **Release date:** 2026-11-05
- **Release page:**
[v0.35.3-beta](https://github.com/lightninglabs/loop/releases/tag/v0.35.3-beta)
- **Previous release:** [v0.35.2-beta](release-notes-0.35.2.md)
- **Next release:** [Next release](release-notes-next.md)

#### New Features

* Loop Out accepts bLIP 39 blinded invoices when the server supplies a separate
payment address for swap RPC authentication. The address is persisted for
restart and cooperative sweeping. Blinded payments use LND's routing without
destination-based routing plugins.
[PR #1255](https://github.com/lightninglabs/loop/pull/1255)

#### Breaking Changes

#### Bug Fixes

* Retain active static-address deposits while a withdrawal publishes and
records its result, preventing wallet reconciliation from removing spent
inputs before a slow Neutrino publication returns. Defer new expiry checks
for these inputs until publication finishes.
[PR #1176](https://github.com/lightninglabs/loop/pull/1176)

* A sweep batch that cannot construct its transaction now logs the failure and
retries without stopping `loopd`. New sweeps use another batch until the
failing one constructs a transaction.
Presigned co-signer timeouts also retry without stopping other batches.
[PR #1270](https://github.com/lightninglabs/loop/pull/1270)

* Disable MPTCP listeners by default, restoring plain TCP for `loopd` and
mitigating the demonstrated CVE-2026-98432 exploit path on vulnerable Linux
kernels. Existing binaries can apply the same mitigation with
`GODEBUG=multipathtcp=0` and a restart. A patched kernel is still required to
fix the underlying vulnerability.
[PR #1271](https://github.com/lightninglabs/loop/pull/1271)

* Bound the static Loop In risk decision replay cache to prevent unbounded
memory growth from swap server notifications for unknown swaps. Cached
decisions retain only a copy of the validated swap hash, without unknown
protobuf fields or oversized backing buffers.
[PR #1264](https://github.com/lightninglabs/loop/pull/1264)

#### Maintenance

* Update the regtest environment to use Docker Compose v2 when available,
falling back to `docker-compose`, and pull the etcd image from
`bitnamilegacy` so the environment can start.
[PR #1263](https://github.com/lightninglabs/loop/pull/1263)

#### Contributors (Alphabetical Order)

- Alex Bosworth
- Boris Nagaev
- Slyghtning
- sputn1ck
- ziggie
27 changes: 0 additions & 27 deletions docs/loop/release-notes/release-notes-next.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,37 +2,10 @@

#### New Features

* Loop Out accepts bLIP 39 blinded invoices when the server supplies a separate
payment address for swap RPC authentication. The address is persisted for
restart and cooperative sweeping. Blinded payments use LND's routing without
destination-based routing plugins.

#### Breaking Changes

#### Bug Fixes

* Retain active static-address deposits while a withdrawal publishes and
records its result, preventing wallet reconciliation from removing spent
inputs before a slow Neutrino publication returns. Defer new expiry checks
for these inputs until publication finishes.

* A sweep batch that cannot construct its transaction now logs the failure and
retries without stopping `loopd`. New sweeps use another batch until the
failing one constructs a transaction.
Presigned co-signer timeouts also retry without stopping other batches.

* Disable MPTCP listeners by default, restoring plain TCP for `loopd` and
mitigating the demonstrated CVE-2026-98432 exploit path on vulnerable Linux
kernels. Existing binaries can apply the same mitigation with
`GODEBUG=multipathtcp=0` and a restart. A patched kernel is still required to
fix the underlying vulnerability.

* Bound the static Loop In risk decision replay cache to prevent unbounded
memory growth from swap server notifications for unknown swaps. Cached
decisions retain only a copy of the validated swap hash, without unknown
protobuf fields or oversized backing buffers.

#### Maintenance
- Update the LoopRPC requirement to the revision used by this release.

#### Contributors (Alphabetical Order)