Deprecated Features

Deprecated features and timeline for old feature removals.

NameTypeFirst DeprecatedLast SupportedDescription
wait.detailsFieldv25.05v26.06Use subsystem-specific object instead
coin_movement.tagsNotification Fieldv25.09v26.09Use primary_tag (first tag) and extra_tags instead
coin_movement.utxo_txidNotification Fieldv25.09v26.09Use utxo instead of utxo_txid & vout
coin_movement.txidNotification Fieldv25.09v26.09Use spending_txid instead
channel_state_changed.null_scidNotification Fieldv25.09v26.09In channel_state_changed notification, short_channel_id will be missing instead of null
notification.payloadNotification Fieldv25.09v26.09Notifications from plugins used to have fields in payload sub-object, now they are not (just like normal notifications)
pay_notifications.raw_fieldsFieldv25.09v26.09channel_hint_update, pay_failure and pay_success notifications now wrap members in an object of the same name
encrypted_hsmConfigv25.12v26.12hsm-passphrase is a name which also makes sense for modern hsm_secrets which use BIP 39
newaddr.addresstype.defaultbech32Parameterv25.12v26.12Use p2tr in the response (present since v23.08 if addresstype is p2tr, and always present since v24.12).
channel_state_changed.null_messageNotification Fieldv25.12v26.12In channel_state_changed notification, message will be missing instead of null
hsmtool.getcodexsecretCommandv25.12.1v26.12Doesn't work on nodes using mnemonic secrets (v25.12 or later). Use getsecret instead.
experimental_splicingConfigv26.04v27.04Splicing is now enabled by default
getroutes.layers.auto.no_mpp_supportParameterv26.06v27.03Use maxparts=1 instead (since v25.09)
getroutes.next_node_idFieldv26.06v27.06Use node_id_out instead (since v26.06)
getroutes.amount_msatFieldv26.06v27.06Use amount_in_msat instead (since v26.06)
getroutes.delayFieldv26.06v27.06Use cltv_in instead (since v26.06)
payCommandv26.06v27.03Use the more sophisticated and effective "xpay" command instead (since v24.11).
paystatusCommandv26.06v27.03Uses internal pay structures, doesn't work with xpay, doesn't work across restarts.
getrouteCommandv26.06v27.03Less flexible than getroutes which takes an actual fee budget and can do multiple paths at once.
keysendCommandv26.06v27.03Replaced by more powerful xkeysend.
renepayCommandv26.06v27.03Use xpay instead.
renepaystatusCommandv26.06v27.03Use xpay notifications and listpays or listsendpays instead.

Inevitably there are features which need to change: either to be generalized, or removed when they can no longer be supported.

Types of deprecation:

  • Command: an entire command is removed. Usually replaced by a more generic or better-named one.
  • Config: a commandline/configuration option is removed. Usually made the default, or replaced by generalized or better-named.
  • Field(s): a JSON field output. We cannot detect if you are using these, of course.
  • Parameter(s): a JSON RPC input.
  • Getmanifest Reply: a field in the JSON reply which plugins give to getmanifest.
  • Hook Return: a field/value in the JSON reply which plugins give to a plugin hook.
  • Notification/Hook Field: a field in the JSON notification/hook to a plugin.

For each deprecation:

  1. The deprecation is listed here, and in the CHANGELOG.md file.
  2. We try to give at least 2 versions before removal.
  3. Then one version where we issue a warning message if we detect a deprecated feature being used (not possible for deprecatred Field types).
  4. At least one version where the deprecated feature can be explicit re-enabled using i-promise-to-fix-broken-api-user=FEATURENAME.

This is designed to minimize the chance that anyone will be surprised by a change!

You can also test earlier. Deprecated features can be disabled in three ways:

  1. developer mode changes the default deprecations to disabled globally.
  2. allow-deprecated-apis= lets you disable (false) or re-enable (true) globally.
  3. The deprecations JSON API can disable/re-enable deprecations for a specific client (added in v24.02).

Core Lightning is Blockstream's open-source implementation of the Lightning Network optimised for performance. It is highly customizable through modular expandability.

© 2023 Core Lightning
All rights reserved.

X Twitter Logo Streamline Icon: https://streamlinehq.com

X

The official Core Lightning X(Twitter) handle to follow project updates and announcements.

Github Logo 2 Streamline Icon: https://streamlinehq.com

Github

Github repository for source code, issues, and contributions. Visit our project here to explore or contibute.

Telegram

Community-driven telegram group where most of the node operators hang out. Go to https://t.me/lightningd to join.

Discord

Community-driven discord server where the devs flock together. Go to https://discord.gg/V6ay9yNhBQ to join.