diff --git a/docs/loop/release-notes/README.md b/docs/loop/release-notes/README.md index 9ebe3433..7ea7265d 100644 --- a/docs/loop/release-notes/README.md +++ b/docs/loop/release-notes/README.md @@ -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 | diff --git a/docs/loop/release-notes/release-notes-0.35.2.md b/docs/loop/release-notes/release-notes-0.35.2.md index 26257f98..464d89cf 100644 --- a/docs/loop/release-notes/release-notes-0.35.2.md +++ b/docs/loop/release-notes/release-notes-0.35.2.md @@ -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 @@ -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 @@ -63,4 +65,5 @@ - claravanstaden - claudell - dependabot[bot] +- Olaoluwa Osuntokun - Slyghtning diff --git a/docs/loop/release-notes/release-notes-0.35.3.md b/docs/loop/release-notes/release-notes-0.35.3.md new file mode 100644 index 00000000..a086c2d6 --- /dev/null +++ b/docs/loop/release-notes/release-notes-0.35.3.md @@ -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 diff --git a/docs/loop/release-notes/release-notes-next.md b/docs/loop/release-notes/release-notes-next.md index 1318199f..4de57fdb 100644 --- a/docs/loop/release-notes/release-notes-next.md +++ b/docs/loop/release-notes/release-notes-next.md @@ -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)