diff --git a/doc/developers-guide/deprecated-features.md b/doc/developers-guide/deprecated-features.md index 6769e84012c2..81455d2a02f0 100644 --- a/doc/developers-guide/deprecated-features.md +++ b/doc/developers-guide/deprecated-features.md @@ -5,25 +5,22 @@ excerpt: "Deprecated features and timeline for old feature removals." hidden: false --- -| Name | Type | First Deprecated | Last Supported | Description | -|--------------------------------------|--------------------|------------------|----------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| listpeers.features.option_anchors_zero_fee_htlc_tx | Field | v24.08 | v25.09 | Renamed to `option_anchors` in the spec: check for that in `features` instead | -| decode.blinding | Field | v24.11 | v25.05 | Renamed to `first_path_key` in BOLT 4 (available in `decode` from v24.11) | -| onion_message_recv.blinding | Hook Field | v24.11 | v25.05 | Renamed to `first_path_key` in BOLT 4 (available in hook from v24.11) | -| 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 | -| channel_state_changed.old_state.unknown | Notification Field | v25.05 | v26.03 | Value "unknown" is deprecated: field will be omitted instead | -| coin_movement.tags | Notification Field | v25.09 | v26.09 | Use `primary_tag` (first tag) and `extra_tags` instead | -| coin_movement.utxo_txid | Notification Field | v25.09 | v26.09 | Use `utxo` instead of `utxo_txid` & `vout` | -| coin_movement.txid | Notification Field | v25.09 | v26.09 | Use `spending_txid` instead | -| channel_state_changed.null_scid | Notification Field | v25.09 | v26.09 | In channel_state_changed notification, `short_channel_id` will be missing instead of `null` | -| notification.payload | Notification Field | v25.09 | v26.09 | Notifications from plugins used to have fields in `payload` sub-object, now they are not (just like normal notifications) | -| pay_notifications.raw_fields | Field | v25.09 | v26.09 | `channel_hint_update`, `pay_failure` and `pay_success` notifications now wrap members in an object of the same name | +| Name | Type | First Deprecated | Last Supported | Description | +|----------------------------------------------------|--------------------|------------------|----------------|---------------------------------------------------------------------------------------------------------------------------| +| listpeers.features.option_anchors_zero_fee_htlc_tx | Field | v24.08 | v25.09 | Renamed to `option_anchors` in the spec: check for that in `features` instead | +| 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 | +| 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 | +| channel_state_changed.old_state.unknown | Notification Field | v25.05 | v26.03 | Value "unknown" is deprecated: field will be omitted instead | +| coin_movement.tags | Notification Field | v25.09 | v26.09 | Use `primary_tag` (first tag) and `extra_tags` instead | +| coin_movement.utxo_txid | Notification Field | v25.09 | v26.09 | Use `utxo` instead of `utxo_txid` & `vout` | +| coin_movement.txid | Notification Field | v25.09 | v26.09 | Use `spending_txid` instead | +| channel_state_changed.null_scid | Notification Field | v25.09 | v26.09 | In channel_state_changed notification, `short_channel_id` will be missing instead of `null` | +| notification.payload | Notification Field | v25.09 | v26.09 | Notifications from plugins used to have fields in `payload` sub-object, now they are not (just like normal notifications) | +| pay_notifications.raw_fields | Field | v25.09 | v26.09 | `channel_hint_update`, `pay_failure` and `pay_success` notifications now wrap members in an object of the same name | Inevitably there are features which need to change: either to be generalized, or removed when they can no longer be supported. diff --git a/doc/lightningd-config.5.md b/doc/lightningd-config.5.md index 7a6d9fcd8f31..cc5fa08ba5a0 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/onion_message.c b/lightningd/onion_message.c index 5d7549facaae..6c0949813131 100644 --- a/lightningd/onion_message.c +++ b/lightningd/onion_message.c @@ -33,12 +33,6 @@ static void json_add_blindedpath(struct plugin *plugin, json_add_short_channel_id(stream, "first_scid", path->first_node_id.scidd.scid); json_add_u32(stream, "first_scid_dir", path->first_node_id.scidd.dir); } - if (lightningd_deprecated_out_ok(plugin->plugins->ld, - plugin->plugins->ld->deprecated_ok, - "onion_message_recv", "blinding", - "v24.11", "v25.05")) { - json_add_pubkey(stream, "blinding", &path->first_path_key); - } json_add_pubkey(stream, "first_path_key", &path->first_path_key); json_array_start(stream, "hops"); for (size_t i = 0; i < tal_count(path->path); i++) { diff --git a/lightningd/options.c b/lightningd/options.c index d746c0476e71..e565c62f9452 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."); diff --git a/plugins/offers.c b/plugins/offers.c index 48ecff4f4fdb..52e7297b7fe3 100644 --- a/plugins/offers.c +++ b/plugins/offers.c @@ -612,8 +612,6 @@ static bool json_add_blinded_paths(struct command *cmd, paths[i]->first_node_id.scidd.dir); } - if (command_deprecated_out_ok(cmd, "blinding", "v24.11", "v25.05")) - json_add_pubkey(js, "blinding", &paths[i]->first_path_key); json_add_pubkey(js, "first_path_key", &paths[i]->first_path_key); /* Don't crash if we're short a payinfo! */