Files
lnd/docs/release-notes/release-notes-0.20.0.md
2025-07-01 19:59:50 +08:00

8.6 KiB

Release Notes

Bug Fixes

New Features

Functional Enhancements

RPC Additions

  • When querying ForwardingEvents logs, the response now include the incoming and outgoing htlc indices of the payment circuit. The indices are only available for forwarding events saved after v0.20.

  • The lncli addinvoice --blind command now has the option to include a chained channels 1 2 incoming list --blinded_path_incoming_channel_list which gives users the control of specifying the channels they prefer to receive the payment on. With the option to specify multiple channels this control can be extended to multiple hops leading to the node.

  • The lnrpc.ForwardingHistory RPC method now supports filtering by incoming_chan_ids and outgoing_chan_ids. This allows to retrieve forwarding events for specific channels.

  • DescribeGraph, GetNodeInfo, GetChanInfo and the corresponding lncli commands now have flag include_auth_proof. With the flag, these APIs add AuthProof (signatures from the channel announcement) to the returned ChannelEdge.

lncli Additions

Improvements

Functional Updates

  • Graph Store SQL implementation and migration project:

RPC Updates

  • Previously the RoutingPolicy would return the inbound fee record in its CustomRecords field, which is duplicated info as it's already presented in fields InboundFeeBaseMsat and InboundFeeRateMilliMsat. This is now fixed, the affected RPCs are SubscribeChannelGraph, GetChanInfo, GetNodeInfo and DescribeGraph.

lncli Updates

Code Health

  • Increase itest coverage for payments. Now the payment address is mandatory for the writer and reader of a payment request.

Breaking Changes

Performance Improvements

Deprecations

⚠️ Warning: The following RPCs will be removed in release version 0.21:

Deprecated RPC Method REST Equivalent HTTP Method Path Replaced By
lnrpc.SendToRoute
routerrpc.SendToRoute
(No direct REST equivalent) routerrpc.SendToRouteV2
lnrpc.SendPayment
routerrpc.SendPayment
POST /v1/channels/transaction-stream routerrpc.SendPaymentV2
lnrpc.SendToRouteSync POST /v1/channels/transactions/route routerrpc.SendToRouteV2
lnrpc.SendPaymentSync POST /v1/channels/transactions routerrpc.SendPaymentV2
router.TrackPayment (No direct REST equivalent) routerrpc.TrackPaymentV2

🚨 Users are strongly encouraged to transition to the new V2 methods before release 0.21 to ensure compatibility:

New RPC Method REST Equivalent HTTP Method Path
routerrpc.SendToRouteV2 POST /v2/router/route/send
routerrpc.SendPaymentV2 POST /v2/router/send
routerrpc.TrackPaymentV2 GET /v2/router/track/{payment_hash}

Technical and Architectural Updates

BOLT Spec Updates

Testing

  • Previously, automatic peer bootstrapping was disabled for simnet, signet and regtest networks even if the --nobootstrap flag was not set. This automatic disabling has now been removed meaning that any test network scripts that rely on bootstrapping being disabled will need to explicitly define the --nobootstrap flag. Bootstrapping will now also be deterministic on local test networks so that bootstrapping behaviour can be tested for.

Database

Code Health

Tooling and Documentation

Contributors (Alphabetical Order)

  • Abdulkbk
  • Boris Nagaev
  • Elle Mouton
  • Erick Cestari
  • Funyug
  • Mohamed Awnallah
  • Pins
  • Ziggie