Files
lnd/docs/release-notes/release-notes-0.20.0.md
T
Elle Mouton ece157b40b graph/db: implement ForEachNodeChannel
Which lets us then run `TestIncompleteChannelPolicies` and
`BenchmarkForEachChannel` against our SQL backends.
2025-06-18 16:55:00 +02:00

6.4 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 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.

lncli Additions

Improvements

Functional Updates

  • Graph Store SQL implementation and migration project:

RPC Updates

lncli Updates

Code Health

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

  • Explicitly define the inbound fee TLV record on the channel_update message and handle it explicitly throughout the code base instead of extracting it from the TLV stream at various call-sites.

Testing

Database

Code Health

Tooling and Documentation

Contributors (Alphabetical Order)

  • Abdulkbk
  • Elle Mouton
  • Funyug
  • Mohamed Awnallah
  • Pins