lightningd: remove --experimental-quiesce and --experimental-offers
What changed, and why it matters
This commit removes two old command-line flags, --experimental-quiesce and --experimental-offers, from the Core Lightning node software. These features became standard behavior in version 24.11, so the flags were only kept around temporarily to avoid breaking old configurations. There is no security issue here; it is ordinary cleanup of deprecated options.
No security action needed. Users who still have --experimental-offers or --experimental-quiesce in their configuration should remove those lines before upgrading to the release containing this commit, or startup may fail due to the unknown option.
Security signals we found
No strong security signals were identified.
Evidence from the diff
The patch deletes the deprecated –experimental-offers and –experimental-quiesce configuration options and their associated handler functions (opt_set_offers, opt_set_quiesce) from lightningd/options.c, removes their documentation from lightningd-config.5.md, and updates the deprecated-features.md table. Both options were marked deprecated in v24.11 and scheduled for removal in v25.05; the underlying features are now enabled by default. The change is purely a removal of dead configuration surface.
Changed components
lightningd/options.cdoc/lightningd-config.5.mddoc/developers-guide/deprecated-features.mdInspect captured patch +0 / −31
diff --git a/doc/developers-guide/deprecated-features.md b/doc/developers-guide/deprecated-features.md
index 7d2dac75..6a99ffd3 100644
--- a/doc/developers-guide/deprecated-features.md
+++ b/doc/developers-guide/deprecated-features.md
@@ -11,7 +11,6 @@ hidden: false
| decodepay | Command | v24.11 | v25.12 | Use `decode` which is more powerful (since v23.05) |
| close.tx | Field | v24.11 | v25.12 | Use txs array instead |
| close.txid | Field | v24.11 | v25.12 | Use txids array instead |
-| experimental-offers | Config | v24.11 | v25.05 | Now the default |
| xpay.ignore_bolt12_mpp | Field | v25.05 | v25.12 | Try MPP even if the BOLT12 invoice doesn't explicitly allow it (CLN didn't until 25.02) |
| listpeerchannels.max_total_htlc_in_msat | Field | v25.02 | v26.03 | Use our_max_total_htlc_out_msat |
| wait.details | Field | v25.05 | v26.06 | Use subsystem-specific object instead |
diff --git a/doc/lightningd-config.5.md b/doc/lightningd-config.5.md
index 7a6d9fcd..cc5fa08b 100644
--- a/doc/lightningd-config.5.md
+++ b/doc/lightningd-config.5.md
@@ -804,12 +804,6 @@ The operations will be bundled into a single transaction. The channel will remai
active while awaiting splice confirmation, however you can only spend the smaller
of the prior channel balance and the new one.
-* **experimental-quiesce**
-
- Specifying this option advertizes `option_quiesce`. Not very useful
-by itself, except for testing.
-
-
BUGS
----
diff --git a/lightningd/options.c b/lightningd/options.c
index d746c047..e565c62f 100644
--- a/lightningd/options.c
+++ b/lightningd/options.c
@@ -1253,23 +1253,6 @@ static char *opt_set_peer_storage(struct lightningd *ld)
return NULL;
}
-static char *opt_set_quiesce(struct lightningd *ld)
-{
- if (!opt_deprecated_ok(ld, "experimental-quiesce", NULL,
- "v24.11", "v25.05"))
- return "--experimental-quiesce is now enabled by default";
- return NULL;
-}
-
-static char *opt_set_offers(struct lightningd *ld)
-{
- if (!opt_deprecated_ok(ld, "experimental-offers", NULL,
- "v24.11", "v25.05"))
- return "--experimental-offers has been deprecated (now the default)";
-
- return NULL;
-}
-
static char *opt_set_db_upgrade(const char *arg, struct lightningd *ld)
{
ld->db_upgrade_ok = tal(ld, bool);
@@ -1440,19 +1423,12 @@ static void register_opts(struct lightningd *ld)
" channels using splicing");
/* This affects our features, so set early. */
- opt_register_early_noarg("--experimental-offers",
- opt_set_offers, ld,
- opt_hidden);
opt_register_early_noarg("--experimental-shutdown-wrong-funding",
opt_set_shutdown_wrong_funding, ld,
"EXPERIMENTAL: allow shutdown with alternate txids");
opt_register_early_noarg("--experimental-peer-storage",
opt_set_peer_storage, ld,
opt_hidden);
- opt_register_early_noarg("--experimental-quiesce",
- opt_set_quiesce, ld,
- "experimental: Advertise ability to quiesce"
- " channels.");
clnopt_noarg("--help|-h", OPT_EXITS,
opt_lightningd_usage, ld, "Print this message.");
Why this scored 15/100
Community notes
Notes can correct, qualify, or add evidence to the AI analysis. Every note shown here has been validated by a human moderator.
The AI analysis stands alone for now. Submit a note if you can add evidence or important context.