-
@ No Bullshit Bitcoin (News Bot)
2025-06-08 10:01:39Contribute to keep No Bullshit Bitcoin news going.
- 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."
What's new
- New RBF cooperative close flow. It uses RBF to enable either side to increase their fee rate using their own channel funds. Channel peers must support the
option_simple_close
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 for experimental endorsement signal relay. Deployed experimentally to assist ongoing channel jamming research, it has no impact on routing.
- Initial support for quiescence. This protocol gadget is required for upcoming Dynamic Commitments and Splicing features.
- Historical Sync: Fixed a race condition blocking initial sync due to syncer's internal state handling.
- Max Fee Rate is now respected during cooperative close initiation for both parties, not just the remote party.
- Lots of other bug fixes.
-
Performance Improvements:
- Limit outbound gossip traffic bandwidth 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 over a node's persisted channels when updating the graph cache with a new node or node update.
-
Functional Enhancements:
- Add pagination for wallet transactions.
- Make
MaxWaitNumBlocksFundingConf
configurable for faster test timeouts, with a default of 2016 blocks for production. - Change sweeper to attempt sweeps if the budget is partially covered, preventing delays and high fees.
- Validate MPP parameters before payment to avoid path finding loops and timeouts.
- Functional Updates:
- Enable log compression with ZSTD using the logging.file.compressor argument.
- Enhance SCB file with more data for last-resort rescue when a peer is unavailable.
- Update channel.backup file at shutdown in LND.
- Introduce chainio subsystem to sync subsystems with the current best block, fixing delays in HTLC sweeping due to block height discrepancies in ChainArbitrator, UtxoSweeper, and TxPublisher. Click here to learn more.
- Sweeper now uses configured budget values for HTLCs with
--sweeper.budget.deadlinehtlcratio
and--sweeper.budget.deadlinehtlc
. - Consider blockbeat dispatcher height when checking if lnd is synced to chain.
- Allocate restricted slots for peers via --num-restricted-slots.
- Added support for bitcoin testnet4.
- Removed x/exp/maps dependency.
- Add --no-disconnect-on-pong-failure option (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 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 custom range TLVs with existing HTLC records, overwriting conflicting values with API-supplied ones.
- Make ProofMatureDelta in gossip configurable via --gossip.announcement-conf, defaulting to 6.
- Add LockedIn boolean field to lnrpc.HTLC to show if an HTLC is locked in by the remote peer.
- Allow custom lock ID and duration in FundPsbt RPC.
- Extend lnrpc.RPCMiddlewareRequest to include gRPC metadata pairs from the initial request's context.Context.
- Updated
PendingSweeps
to return all registered outputs in the RPC response, regardless of future locktime, enabling planning for upcoming sweeps and custom aggregation logic. AddedMaturityHeight
field toPendingSweep
for absolute locktime value. - Add BumpForceCloseFee RPC endpoint, moving lncli functionality to LND for broader accessibility.
- Enhance walletrpc.FundPsbt with an option to set fees as sat_per_kw for greater precision.
- Add a new option in walletrpc.FundPsbt to specify the maximum fee-to-output amounts ratio.
- Sort lnrpc.Invoice.Htlcs by InvoiceHTLC.HtlcIndex in the list invoices RPC response.
- Set a default 60-second timeout for routerrpc.SendPaymentV2 when timeout_seconds is unset or 0.
- Include custom_channel_data for custom channels in lnrpc.ClosedChannels response.
- lncli updates and additions:
- Allow pre-generated macaroon root key in lncli create and lncli createwatchonly for deterministic macaroon generation.
- Add --sat_per_kw flag to lncli wallet fundpsbt for precise fee rate specification.
- Include --max_fee_ratio argument in lncli wallet fundpsbt to set maximum fee-to-output amounts ratio.
- Enhance 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 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, expanding beyond spe