LND v0.19.0-beta: RBF Cooperative Close, Improved Payment Reliability & More

The Lightning Network Daemon (LND) is a complete implementation of a Lightning Network node developed by Lightning Labs.
LND v0.19.0-beta: RBF Cooperative Close, Improved Payment Reliability & More

[Contribute to keep No Bullshit Bitcoin news going.](https://geyser.fund/project/nobsbitcoin)

  • The newest LND release brings upgrades that empower developers with better on-chain management, significantly boost backend scalability for expanding services, and ensure a more seamless and dependable payment experience.
  • > "We are excited to announce the release of LND v0.19.0 beta! This new release focuses on making LND more secure, scalable, and reliable for powering global bitcoin and stablecoin transactions," was announced in a blog post.

  • Some highlights of this release include a Replace-By-Fee Cooperative Close for flexible channel closure fees, migration of invoices to SQL for faster startups, enhanced payment reliability through improved pathfinding, transaction sweeper improvements, the addition of Testnet4 support for stable testing, among other things.
  • > "As always, we are grateful for the ongoing support of our external contributors across development, review, and testing. A total of 51 developers contributed to this release. For the complete list of changes included in this release, check out the [full release notes](https://github.com/lightningnetwork/lnd/releases/tag/v0.19.0-beta)."

    What's new


  • [New RBF cooperative close flow](https://github.com/lightningnetwork/lnd/pull/9610). It uses RBF to enable either side to increase their fee rate using their own channel funds. Channel peers must support the optionsimpleclose for this new protocol to work. This new feature can be activated with a new config flag: --protocol.rbf-coop-close.
  • This feature isn't compatible with older LND versions; fee bumping with them uses CPFP. It already works with Eclair v0.12.0 or up, and should work with other implementations as they roll out support for this protocol. The protocol currently does not support Taproot channels and Taproot asset channels.
  • Support for archiving channel backups in a specific folder for future reference. It comes with a new config option, disable-backup-archive (default: false), to control whether previous backups are archived.
  • [Support](experimental endorsement(https://github.com/lightning/blips/pull/27) signal relay. Deployed experimentally to assist ongoing channel jamming research, it has no impact on routing.
  • Initial support for [quiescence](https://github.com/lightningnetwork/lnd/pull/8270). This protocol gadget is required for upcoming Dynamic Commitments and Splicing features.
  • Historical Sync: Fixed [a race condition](https://github.com/lightningnetwork/lnd/pull/9424) blocking initial sync due to syncer's internal state handling.
  • Max Fee Rate is [now respected](https://github.com/lightningnetwork/lnd/pull/9491) during cooperative close initiation for both parties, not just the remote party.
  • Lots of other [bug fixes](https://github.com/lightningnetwork/lnd/blob/master/docs/release-notes/release-notes-0.19.0.md#bug-fixes).
  • Performance Improvements:
  • Limit outbound [gossip traffic bandwidth](https://github.com/lightningnetwork/lnd/pull/9607) with --gossip.msg-rate-bytes and --gossip.msg-rate-burst. Set burst to the maximum bytes transmittable without rate limiting, and rate to the ongoing permitted rate.
  • Ability to use ZSTD for log rotation.
  • [Remove redundant iteration](https://github.com/lightningnetwork/lnd/pull/9496) over a node's persisted channels when updating the graph cache with a new node or node update.
  • Functional Enhancements:
  • [Add pagination](https://github.com/lightningnetwork/lnd/pull/8998) for wallet transactions.
  • [Make](https://github.com/lightningnetwork/lnd/pull/9562) MaxWaitNumBlocksFundingConf configurable for faster test timeouts, with a default of 2016 blocks for production.
  • Change sweeper to [attempt sweeps](https://github.com/lightningnetwork/lnd/pull/9627) if the budget is partially covered, preventing delays and high fees.
  • [Validate](https://github.com/lightningnetwork/lnd/pull/9603) MPP parameters before payment to avoid path finding loops and timeouts.
  • Functional Updates:
  • Enable [log compression](https://github.com/lightningnetwork/lnd/pull/9017) with ZSTD using the logging.file.compressor argument.
  • [Enhance SCB file](https://github.com/lightningnetwork/lnd/pull/8183) with more data for last-resort rescue when a peer is unavailable.
  • Update channel.backup file at shutdown in LND.
  • Introduce [chainio subsystem](here(https://github.com/lightningnetwork/lnd/blob/master/chainio/README.md) to learn more.
  • Sweeper now uses [configured budget values](https://github.com/lightningnetwork/lnd/pull/9274) for HTLCs with --sweeper.budget.deadlinehtlcratio and --sweeper.budget.deadlinehtlc.
  • Consider blockbeat dispatcher height [when checking](https://github.com/lightningnetwork/lnd/pull/9501) if lnd is synced to chain.
  • Allocate restricted slots for peers via [\--num-restricted-slots](https://github.com/lightningnetwork/lnd/pull/9458).
  • Added support for bitcoin [testnet4](https://github.com/lightningnetwork/lnd/pull/9620).
  • [Removed](https://github.com/lightningnetwork/lnd/pull/9621) x/exp/maps dependency.
  • Add [\--no-disconnect-on-pong-failure option](https://github.com/lightningnetwork/lnd/pull/9801) (default: false) to manage peer disconnection on pong failure or mismatch.
  • RPC Additions and Updates. Some RPCs that previously returned an empty response now provide a [short status message](https://github.com/lightningnetwork/lnd/pull/7762) to help command line users confirm successful execution or background initiation. The following CLI commands no longer return an empty response ({}):
  • lncli wallet releaseoutput (WalletKit.ReleaseOutput RPC)
  • lncli wallet accounts import-pubkey (WalletKit.ImportPublicKey RPC)
  • lncli wallet labeltx (WalletKit.LabelTransaction RPC)
  • lncli sendcustom (Lightning.SendCustomMessage RPC)
  • lncli connect (Lightning.ConnectPeer RPC)
  • lncli disconnect (Lightning.DisconnectPeer RPC)
  • lncli stop (Lightning.Stop RPC)
  • lncli deletepayments (Lightning.DeleteAllPaymentsResponse RPC)
  • lncli abandonchannel (Lightning.AbandonChannel RPC)
  • lncli restorechanbackup (Lightning.RestoreChannelBackups RPC)
  • lncli verifychanbackup (Lightning.VerifyChanBackup RPC)
  • The ForwardInterceptor's MODIFY option now [merges](https://github.com/lightningnetwork/lnd/pull/9240) custom range TLVs with existing HTLC records, overwriting conflicting values with API-supplied ones.
  • [Make](https://github.com/lightningnetwork/lnd/pull/9405) ProofMatureDelta in gossip configurable via --gossip.announcement-conf, defaulting to 6.
  • [Add LockedIn boolean field](https://github.com/lightningnetwork/lnd/pull/9602) to lnrpc.HTLC to show if an HTLC is locked in by the remote peer.
  • [Allow custom lock ID and duration in FundPsbt](https://github.com/lightningnetwork/lnd/pull/9724) RPC.
  • Extend [lnrpc.RPCMiddlewareRequest](gRPC metadata(https://grpc.io/docs/guides/metadata) pairs from the initial request's context.Context.
  • [Updated](https://github.com/lightningnetwork/lnd/pull/9772) PendingSweeps to return all registered outputs in the RPC response, regardless of future locktime, enabling planning for upcoming sweeps and custom aggregation logic. Added MaturityHeight field to PendingSweep for absolute locktime value.
  • [Add BumpForceCloseFee RPC endpoint](https://github.com/lightningnetwork/lnd/pull/8843), moving lncli functionality to LND for broader accessibility.
  • Enhance walletrpc.FundPsbt with an option to [set fees as sat\per\kw](https://github.com/lightningnetwork/lnd/pull/9013) for greater precision.
  • [Add a new option in walletrpc.FundPsbt](https://github.com/lightningnetwork/lnd/pull/8600) to specify the maximum fee-to-output amounts ratio.
  • [Sort](https://github.com/lightningnetwork/lnd/pull/9337) lnrpc.Invoice.Htlcs by InvoiceHTLC.HtlcIndex in the list invoices RPC response.
  • Set a [default 60-second timeout](https://github.com/lightningnetwork/lnd/pull/9359) for routerrpc.SendPaymentV2 when timeout\_seconds is unset or 0.
  • Include [custom\channel\data for custom channels](https://github.com/lightningnetwork/lnd/pull/9504) in lnrpc.ClosedChannels response.
  • lncli updates and additions:
  • Allow [pre-generated macaroon root key](https://github.com/lightningnetwork/lnd/pull/9172) in lncli create and lncli createwatchonly for deterministic macaroon generation.
  • [Add --sat\per\kw flag](https://github.com/lightningnetwork/lnd/pull/9013) to lncli wallet fundpsbt for precise fee rate specification.
  • Include [\--max\fee\ratio argument](https://github.com/lightningnetwork/lnd/pull/8600) in lncli wallet fundpsbt to set maximum fee-to-output amounts ratio.
  • [Enhance](https://github.com/lightningnetwork/lnd/pull/9390) lncli listchannels and lncli closedchannels output with human-readable short channel ID and BOLT02 channel ID; rename chan\_id to scid for accuracy.
  • Initiate cooperative close flow in [coop close case](https://github.com/lightningnetwork/lnd/pull/9491) even with active HTLCs, disabling the channel for new HTLCs and starting the flow when no HTLCs remain.
  • Introduce macaroon constraint for [IP range-based access restriction](https://github.com/lightningnetwork/lnd/pull/9546), expanding beyond spe

  • Write a comment
    No comments yet.