Commit graph

1683 commits

Author SHA1 Message Date
Elle Mouton
fb58ee0e7d
channeldb: recover missing db version
Use strict metadata reads during migration selection so a metadata bucket with a
missing metadata/dbp key is not interpreted as the latest DB version.

Recover this state from mandatory DB version 33, the last mandatory version
before the v0.20.x releases that could initialize a DB without writing the DB
version key. This runs migration 35 without replaying migrations 0 through 33
against a DB that was already created by a modern schema/code path.

After the selected migrations complete, syncVersions writes the latest DB
version as usual.
2026-07-21 18:24:49 -07:00
ziggieXXX
6f65644448
Merge pull request #10962 from jtobin/rbf-guard
Some checks failed
CI / Run unit tests-1 (push) Has been cancelled
CI / Run unit tests-2 (push) Has been cancelled
CI / Run unit tests-3 (push) Has been cancelled
CI / Run unit tests-4 (push) Has been cancelled
CI / Run unit tests-5 (push) Has been cancelled
CI / Run unit tests-6 (push) Has been cancelled
CI / Run unit tests-7 (push) Has been cancelled
CI / Run unit tests-8 (push) Has been cancelled
CI / Run unit tests-9 (push) Has been cancelled
CI / Run basic itests (push) Has been cancelled
CI / Run basic itests-1 (push) Has been cancelled
CI / Run basic itests-2 (push) Has been cancelled
CI / Run basic itests-3 (push) Has been cancelled
CI / Run basic itests-4 (push) Has been cancelled
CI / Run itests (push) Has been cancelled
CI / Run itests-1 (push) Has been cancelled
CI / Run itests-2 (push) Has been cancelled
CI / Run itests-3 (push) Has been cancelled
CI / Run itests-4 (push) Has been cancelled
CI / Run itests-5 (push) Has been cancelled
CI / Run itests-6 (push) Has been cancelled
CI / Run itests-7 (push) Has been cancelled
CI / Run windows itest (push) Has been cancelled
CI / Run macOS itest (push) Has been cancelled
CI / Check pinned dependencies (push) Has been cancelled
CI / Check pinned dependencies-1 (push) Has been cancelled
CI / Check release notes updated (push) Has been cancelled
CI / Backwards compatibility test (push) Has been cancelled
CI / Cache Cleanup (push) Has been cancelled
CI / Send coverage report (push) Has been cancelled
peer: never use RBF coop close for aux channels
2026-07-14 16:05:24 -03:00
Jared Tobin
0501731c66
docs: add release notes for v0.21.2 2026-07-14 13:24:40 -02:30
elnosh
9ccd305692 rpcserver: fix stats undercount in GetNetworkInfo
On an already-seen channel, the loop returned from the whole node
callback instead of continuing, skipping the node's remaining
channels, this undercounted the stats.
2026-07-13 09:29:09 -04:00
ziggieXXX
e9a8b3f9c8
Merge pull request #10897 from jtobin/htlc-force-close-sweeper
Some checks failed
CI / Run unit tests-2 (push) Waiting to run
CI / Run unit tests-3 (push) Waiting to run
CI / Run unit tests-4 (push) Waiting to run
CI / Run unit tests-5 (push) Waiting to run
CI / Run unit tests-6 (push) Waiting to run
CI / Run unit tests-7 (push) Waiting to run
CI / Run unit tests-8 (push) Waiting to run
CI / Run unit tests-9 (push) Waiting to run
CI / Run basic itests (push) Waiting to run
CI / Run basic itests-1 (push) Waiting to run
CI / Run basic itests-2 (push) Waiting to run
CI / Run basic itests-3 (push) Waiting to run
CI / Run basic itests-4 (push) Waiting to run
CI / Run itests (push) Waiting to run
CI / Run itests-1 (push) Waiting to run
CI / Run itests-2 (push) Waiting to run
CI / Run itests-3 (push) Waiting to run
CI / Run itests-4 (push) Waiting to run
CI / Run itests-5 (push) Waiting to run
CI / Run itests-6 (push) Waiting to run
CI / Run itests-7 (push) Waiting to run
CI / Run windows itest (push) Waiting to run
CI / Run macOS itest (push) Waiting to run
CI / Check pinned dependencies (push) Waiting to run
CI / Check pinned dependencies-1 (push) Waiting to run
CI / Check release notes updated (push) Waiting to run
CI / Backwards compatibility test (push) Waiting to run
CI / Cache Cleanup (push) Waiting to run
CI / Send coverage report (push) Blocked by required conditions
Vulnerability scan / Scan release binaries (push) Has been cancelled
sweep: account for aux extra budget when filtering inputs
2026-07-09 09:36:04 -03:00
Jared Tobin
3ae31b7612
docs: add release note 2026-07-09 08:52:50 -02:30
bitromortac
68bc76912f
docs: update release notes 2026-07-09 07:15:46 +00:00
Yong
40c64f9db3
Merge pull request #10900 from ellemouton/walletkit-submitpackage
Some checks failed
CI / Run unit tests-1 (push) Has been cancelled
CI / Run unit tests-2 (push) Has been cancelled
CI / Run unit tests-3 (push) Has been cancelled
CI / Run unit tests-4 (push) Has been cancelled
CI / Run unit tests-5 (push) Has been cancelled
CI / Run unit tests-6 (push) Has been cancelled
CI / Run unit tests-7 (push) Has been cancelled
CI / Run unit tests-8 (push) Has been cancelled
CI / Run unit tests-9 (push) Has been cancelled
CI / Run basic itests (push) Has been cancelled
CI / Run basic itests-1 (push) Has been cancelled
CI / Run basic itests-2 (push) Has been cancelled
CI / Run basic itests-3 (push) Has been cancelled
CI / Run basic itests-4 (push) Has been cancelled
CI / Run itests (push) Has been cancelled
CI / Run itests-1 (push) Has been cancelled
CI / Run itests-2 (push) Has been cancelled
CI / Run itests-3 (push) Has been cancelled
CI / Run itests-4 (push) Has been cancelled
CI / Run itests-5 (push) Has been cancelled
CI / Run itests-6 (push) Has been cancelled
CI / Run itests-7 (push) Has been cancelled
CI / Run windows itest (push) Has been cancelled
CI / Run macOS itest (push) Has been cancelled
CI / Check pinned dependencies (push) Has been cancelled
CI / Check pinned dependencies-1 (push) Has been cancelled
CI / Check release notes updated (push) Has been cancelled
CI / Backwards compatibility test (push) Has been cancelled
CI / Cache Cleanup (push) Has been cancelled
CI / Send coverage report (push) Has been cancelled
lnwallet+walletrpc: add WalletKit.SubmitPackage for v3 CPFP package relay
2026-07-01 05:42:09 +08:00
Elle Mouton
68c47407d7
docs: add release note for WalletKit.SubmitPackage
Document the new WalletKit.SubmitPackage RPC and the lncli wallet
submitpackage command in the 0.22.0 release notes.
2026-06-30 11:07:52 -07:00
ziggieXXX
c4a67b68b7
Merge pull request #10832 from bitromortac/2604-bolt12-1b
bolt12: add `InvoiceRequest` codec and structural validators
2026-06-30 14:45:53 -03:00
bitromortac
e9a2cb43d4
docs: update release notes
Add a BOLT 12 release note for the invoice_request codec, completing the
offer/invoice_request entries for the bolt12 package in 0.22.0.
2026-06-30 18:20:46 +02:00
ziggie
9c5f32a2ec
docs: add v0.21.1 release note 2026-06-26 12:23:07 -03:00
ziggie
bffae65a60
docs: update release notes 2026-06-25 19:06:26 -03:00
Erick Cestari
1ab34c4eff
docs: add release note for DNS fallback SRV lookup panic fix 0.21.1 2026-06-24 17:04:07 -03:00
Erick Cestari
48ba0edf10
docs: remove release note for DNS fallback panic of 0.22.0 2026-06-24 17:03:51 -03:00
Erick Cestari
2ee49698af
docs: add release note for DNS fallback SRV lookup panic fix 2026-06-23 14:52:25 -03:00
Yong
918b94d0d6
Merge pull request #10907 from ziggie1984/fix-tor-v3-onion-tagged-module
Some checks failed
CI / Run unit tests-2 (push) Waiting to run
CI / Run unit tests-3 (push) Waiting to run
CI / Run unit tests-4 (push) Waiting to run
CI / Run unit tests-5 (push) Waiting to run
CI / Run unit tests-6 (push) Waiting to run
CI / Run unit tests-7 (push) Waiting to run
CI / Run unit tests-8 (push) Waiting to run
CI / Run unit tests-9 (push) Waiting to run
CI / Run basic itests (push) Waiting to run
CI / Run basic itests-1 (push) Waiting to run
CI / Run basic itests-2 (push) Waiting to run
CI / Run basic itests-3 (push) Waiting to run
CI / Run basic itests-4 (push) Waiting to run
CI / Run itests (push) Waiting to run
CI / Run itests-1 (push) Waiting to run
CI / Run itests-2 (push) Waiting to run
CI / Run itests-3 (push) Waiting to run
CI / Run itests-4 (push) Waiting to run
CI / Run itests-5 (push) Waiting to run
CI / Run itests-6 (push) Waiting to run
CI / Run itests-7 (push) Waiting to run
CI / Run windows itest (push) Waiting to run
CI / Run macOS itest (push) Waiting to run
CI / Check pinned dependencies (push) Waiting to run
CI / Check pinned dependencies-1 (push) Waiting to run
CI / Check release notes updated (push) Waiting to run
CI / Backwards compatibility test (push) Waiting to run
CI / Cache Cleanup (push) Waiting to run
CI / Send coverage report (push) Blocked by required conditions
Vulnerability scan / Scan release binaries (push) Has been cancelled
build: update tor module to v1.1.7
2026-06-19 02:58:03 +08:00
ziggie
9b21d0a492
docs: add 0.21.1 release notes 2026-06-18 08:38:23 -03:00
ZZiigguurraatt
20e651869c dev.Dockerfile: use cache mounts to speed up rebuilding 2026-06-16 15:28:20 -04:00
ziggieXXX
1f23a119d0
Merge pull request #10789 from bitromortac/2604-bolt12-1a
Some checks failed
CI / Run unit tests-2 (push) Waiting to run
CI / Run unit tests-3 (push) Waiting to run
CI / Run unit tests-4 (push) Waiting to run
CI / Run unit tests-5 (push) Waiting to run
CI / Run unit tests-6 (push) Waiting to run
CI / Run unit tests-7 (push) Waiting to run
CI / Run unit tests-8 (push) Waiting to run
CI / Run unit tests-9 (push) Waiting to run
CI / Run basic itests (push) Waiting to run
CI / Run basic itests-1 (push) Waiting to run
CI / Run basic itests-2 (push) Waiting to run
CI / Run basic itests-3 (push) Waiting to run
CI / Run basic itests-4 (push) Waiting to run
CI / Run itests (push) Waiting to run
CI / Run itests-1 (push) Waiting to run
CI / Run itests-2 (push) Waiting to run
CI / Run itests-3 (push) Waiting to run
CI / Run itests-4 (push) Waiting to run
CI / Run itests-5 (push) Waiting to run
CI / Run itests-6 (push) Waiting to run
CI / Run itests-7 (push) Waiting to run
CI / Run windows itest (push) Waiting to run
CI / Run macOS itest (push) Waiting to run
CI / Check pinned dependencies (push) Waiting to run
CI / Check pinned dependencies-1 (push) Waiting to run
CI / Check release notes updated (push) Waiting to run
CI / Backwards compatibility test (push) Waiting to run
CI / Cache Cleanup (push) Waiting to run
CI / Send coverage report (push) Blocked by required conditions
Vulnerability scan / Scan release binaries (push) Has been cancelled
bolt12+lnwire: add codec foundation with Offer message
2026-06-15 22:10:31 -03:00
Erick Cestari
09f38dac36
docs: add release notes for offline peer uptime fix 2026-06-12 15:19:26 -03:00
bitromortac
bb897714e0 docs: update release notes 2026-06-03 12:12:25 +02:00
Yong
34fbcf0576
Merge pull request #10813 from erickcestari/tor-v2-cleanup
Drop tor v2 onion production, keep wire codec faithful
2026-05-26 18:25:07 +08:00
Erick Cestari
fad749d02c
docs: document tor v2 onion handling in 0.21 release notes
Add a 0.21 release-notes entry covering the `--tor.v2` removal, the
boundary rejection of v2 input on operator entry points, the
persisted-state filtering (self-node announcement, watchtower client,
autopilot, graph bootstrapper, SCB restore), the Tor controller's
v3-only ADD_ONION restriction, and the wire-faithful behavior that
preserves peer-signed v2 entries through `lnwire`, `graph/db`, and
the graph RPCs.
2026-05-22 09:44:45 -03:00
Olaoluwa Osuntokun
cc49b37730
Merge pull request #10794 from Roasbeef/coop-close-insta-dispatch
contractcourt: insta-dispatch CLOSED_CHANNEL on first conf of coop close
2026-05-21 18:30:03 -07:00
Olaoluwa Osuntokun
f3d40f6239
Merge pull request #10552 from Roasbeef/neutrino-fast-sync
neutrino: add fast initial sync via header import
2026-05-21 16:55:42 -07:00
Olaoluwa Osuntokun
eaa2d6824e contractcourt+itest: tests for coop close insta-dispatch
In this commit, we add three focused unit tests in contractcourt
plus an itest that exercises the regression end-to-end.

The chain watcher harness gains an opt-in early-dispatch capture that
records every notifyEarlyCoopClose invocation so tests can assert how
many fired and what summaries they carried. On top of that:

TestEarlyDispatchCoopClose verifies the headline behavior. An
async-path coop close fires exactly one early dispatch with
IsPending=true and the post-N-conf flow still produces the regular
CooperativeCloseInfo downstream.

TestEarlyDispatchForceCloseNotInvoked guards the carve-out: force
closes never fire the early dispatch since their CLOSED_CHANNEL
event timing is intentionally unchanged.

TestEarlyDispatchReorgRefiresOnReReplacement nails down the reorg
path. Once a deep reorg removes the close, the early-dispatch flag
is cleared and the next coop close re-fires the early event with its
own summary, so a subscriber observes each distinct close attempt.

testZeroConfCoopCloseSubscribeEvents brings up a zero-conf channel
between Alice and Bob with --dev.force-channel-close-confs=3 so the
chain watcher takes the async multi-confirmation path. Alice
subscribes to channel events, initiates a cooperative close, and the
test asserts that CLOSED_CHANNEL fires after only one confirmation
of the close tx (not after the full three) and that
FULLY_RESOLVED_CHANNEL arrives once the close has reached three
confirmations. A quiet-window assertion at the end verifies that
exactly one CLOSED_CHANNEL event is delivered. If the suppression in
MarkChannelClosed broke and let it re-fire NotifyClosedChannel at N
confs, this assertion would catch the duplicate.
2026-05-21 14:04:26 -07:00
Olaoluwa Osuntokun
0aa1d8bdd6 multi: rename "taproot" channel type to mean production variant
In this commit, we shuffle the CLI and RPC names so the bare "taproot"
identifier refers to the production taproot channel type (final
scripts, feature bits 80/81), i.e. the variant new integrations should
actually be using. Before this commit, "taproot" on the CLI mapped to
the staging bits, and anyone who wanted a real production taproot
channel had to spell out "taproot-final" on `lncli openchannel` or
`SIMPLE_TAPROOT_FINAL` over RPC. The recommended choice was hidden
behind the longer name.

On the CLI (`lncli openchannel --channel_type=...`):

  - "taproot" now selects the production variant (it used to mean
    staging).
  - "taproot-staging" is added for the legacy development bits, for
    peers that haven't moved over yet.
  - "taproot-final" stays as a deprecated alias for "taproot" so
    existing scripts don't break.

On the RPC (`CommitmentType`):

  - `TAPROOT = 7` is added as the canonical name for the production
    type. `SIMPLE_TAPROOT_FINAL = 7` is kept as a deprecated alias via
    `option allow_alias = true`, so existing clients keep compiling
    against the same Go constant and the wire value doesn't change.
  - `SIMPLE_TAPROOT = 5` (staging) is unchanged.
  - `SIMPLE_TAPROOT_OVERLAY = 6` is unchanged. The taproot-assets
    daemon hard-codes this distinct enum value, so it's unaffected.

Wire compat is preserved end-to-end: only the comments, enum entry
order, and the CLI string-to-enum mapping change. The numeric values
and the existing generated Go identifiers stay stable.
2026-05-20 22:22:38 -07:00
yyforyongyu
654b680a2c docs: clarify taproot channel open defaults 2026-05-20 22:22:38 -07:00
Olaoluwa Osuntokun
594024a312 docs: add neutrino headers import documentation
Document the neutrino fast sync feature that allows importing block and
filter headers from local files or HTTP URLs on startup. Cover
configuration for mainnet (block-dn.org), testnet3, testnet4, signet,
file format details, security considerations, and troubleshooting.
2026-05-20 19:34:32 -07:00
Yong
2578566a1b
Merge pull request #10782 from jtobin/tapd-issue2108
chancloser: don't set ChanStatusCoopBroadcasted before close tx exists
2026-05-20 22:11:15 +08:00
Yong
3dde472b4c
Merge pull request #10771 from yyforyongyu/fix-lsp-probe-hash
routerrpc: isolate LSP route fee probes
2026-05-20 13:24:05 +08:00
Olaoluwa Osuntokun
44f2ef7ef0
docs: release-note zero-value WitnessUtxo remote-sign fix
Add the bug-fix entry under 0.21.0 with a link to the PR.
2026-05-19 16:31:12 -07:00
ziggieXXX
361cdba0df
Merge pull request #10814 from erickcestari/deprecated-rpc-removal
Remove deprecated Send* / TrackPayment RPCs and outgoing_chan_id field
2026-05-19 13:00:55 -03:00
Erick Cestari
05bdb6633c
docs: document deprecated RPC and field removals in 0.21 release notes
Add entries to the Breaking Changes section covering the payment and
tracking RPCs and the `outgoing_chan_id` field removed in this branch,
all of which were announced for removal in 0.21 via the 0.20 release
notes.
2026-05-19 09:43:26 -03:00
Yong
ae616b5188
Merge pull request #10501 from asheswook/master
routerrpc: add outgoing_chan_ids to EstimateRouteFee
2026-05-19 16:40:44 +08:00
Roy Lee
11349b893f
docs: add release note for EstimateRouteFee outgoing chans 2026-05-19 16:41:41 +09:00
Jared Tobin
242df46400
docs: add release note for coop close limbo fix 2026-05-14 10:21:29 -02:30
Boris Nagaev
e9098c1e35
docs: note bitcoind peer-check RPC switch
Document that bitcoind outbound peer health checks now use
getnetworkinfo.connections_out instead of getpeerinfo.

Also mention that texts of zmq port mismatch warnings were fixed.
2026-05-13 23:13:13 -05:00
Elle
1c5df12ffa
Merge pull request #10796 from ellemouton/for-each-node-cached-autopilot
autopilot+graph/db: drop unused address loading from cached node iteration
2026-05-12 16:00:53 -07:00
Elle Mouton
c18f139e24
docs: add release note for autopilot graph-cache fix
Note the performance improvement from dropping the unnecessary address
load on the SQL backend and letting the kvdb in-memory graph cache
serve autopilot's scoring traversal.
2026-05-12 12:39:51 -07:00
Yong
3ba3eaaff4
Merge pull request #10612 from Abdulkbk/onion-msg-path
onionmessage: graph-based pathfinding for onion messages
2026-05-13 00:42:38 +08:00
Erick Cestari
bb8abc7516
docs: release note for BOLT-02 push_msat fundee enforcement
Document the user-visible error string change introduced when the
fundee rejects incoming open_channel messages whose push_msat exceeds
1000 * funding_satoshis.
2026-05-11 14:22:10 -03:00
ziggieXXX
6fd5b7bb27
Merge pull request #10780 from ziggie1984/channeldb-tombstone-close
channeldb: tombstone closed channels on KV-SQL backends
2026-05-04 12:11:00 -03:00
ziggie
1a52e85b94
docs: release note for closed-channel tombstones on KV-SQL backends
Document the tombstone close path that #10780 wires onto sqlite/postgres,
the operator-visible iteration-cost growth that comes from leaving closed
chanBuckets on disk, and the NumForwardingPackages divergence that the
preserved forwarding-package bucket produces in PendingChannels.
2026-05-04 09:46:33 -03:00
Abdullahi Yunus
72873f6275
docs: add release not for pathfinding 2026-04-29 22:34:44 +01:00
ziggieXXX
746ed3c137
Merge pull request #10776 from ziggie1984/fix-release-notes-0.21.0-contributors-anchor
docs: fix Contributors TOC anchor in v0.21.0 release notes
2026-04-28 19:22:40 -03:00
ziggie
c0b417c79c
docs: fix Contributors TOC anchor in v0.21.0 release notes
The TOC link for the Contributors section pointed to `#contributors`,
but GitHub generates the anchor for `# Contributors (Alphabetical
Order)` as `#contributors-alphabetical-order`, leaving the link
broken when the rendered file is viewed on GitHub. Update the TOC
to use the working anchor (matching the form already used in
release-notes-0.18.0.md).
2026-04-28 16:40:23 -03:00
ziggieXXX
caccaf3cf1
Merge pull request #10775 from ziggie1984/release-notes-0.22.0
docs: add empty release notes scaffold for v0.22.0
2026-04-28 15:24:48 -03:00
ziggie
fa588eaf1a
docs: add empty release notes for v0.22.0
Scaffold release-notes-0.22.0.md with the same section structure as
the 0.21.0 file so contributors have a place to land entries during
the v0.22 cycle.
2026-04-28 11:45:07 -03:00