Skip to content

Conversation

@kristapsk
Copy link
Member

@kristapsk kristapsk commented Nov 22, 2025

Among other improvements and bugfixes, this migrates the graph store from the KV format to native SQL.

https://github.com/lightningnetwork/lnd/blob/master/docs/release-notes/release-notes-0.20.0.md

Resolves nakamochi/img#5.

Summary by CodeRabbit

  • Chores
    • Upgraded LND from v0.19.3 to v0.20.0 and updated the ARM64 verification hash to match the new release. No functional or behavioural changes; download locations and naming remain unchanged.

✏️ Tip: You can customise this high-level summary in your review settings.

@coderabbitai
Copy link

coderabbitai bot commented Nov 22, 2025

Walkthrough

LND version in lnd/env is bumped from 0.19.3 to 0.20.0 and the AARCH64 SHA256 checksum is updated to match the new release. No other structural or control‑flow changes.

Changes

Cohort / File(s) Summary
LND version and checksum update
lnd/env
Bumps LND_VERSION from 0.19.3 to 0.20.0 and updates LND_SHA256_AARCH64 to the new release checksum; no other changes.

Estimated code review effort

🎯 1 (Trivial) | ⏱️ ~3 minutes

  • Single-line constant updates; verify checksum matches official LND 0.20.0 AARCH64 release.

Possibly related PRs

Poem

🐇 I hopped through branches, found a newer seed,
0.20.0 now snug in my burrow's feed,
A checksum checked, all bits in tune,
I nibble carrots and hum a tune —
Happy hops beneath the code‑moon! ✨

Pre-merge checks and finishing touches

✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title 'lnd: update from 0.19.3 to 0.20.0' accurately and concisely describes the primary change in the pull request—updating the LND version and associated checksums.
Linked Issues check ✅ Passed The PR addresses issue #5 by updating LND to version 0.20.0, which includes migration from KV format to native SQL, aligning with the objective to move towards SQLite as the LND database.
Out of Scope Changes check ✅ Passed All changes are scoped to updating LND version and checksums in the lnd/env file, which directly relates to the linked issue objective of updating LND to support SQLite database.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
✨ Finishing touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment

📜 Recent review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between d618325 and dc5d88a.

📒 Files selected for processing (1)
  • lnd/env (1 hunks)
🚧 Files skipped from review as they are similar to previous changes (1)
  • lnd/env

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@kristapsk
Copy link
Member Author

Probably need to consider creating manual backup of old graph store, just in case.

Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR updates the Lightning Network Daemon (LND) from version 0.19.3 to 0.20.0, which includes a significant architectural change migrating the graph store from KV format to native SQL, along with other improvements and bugfixes.

  • Updated LND version constant from 0.19.3 to 0.20.0
  • Updated SHA256 checksum for the new aarch64 binary release
  • Version change propagates automatically through URL and directory path construction

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@kristapsk kristapsk force-pushed the lnd-0.20.0 branch 2 times, most recently from cb88a81 to 967e9c7 Compare November 23, 2025 15:31
Among other improvements and bugfixes, this migrates the graph store from the KV format to native SQL.

https://github.com/lightningnetwork/lnd/blob/master/docs/release-notes/release-notes-0.20.0.md
@kristapsk
Copy link
Member Author

https://lightning.engineering/posts/2025-12-03-lnd-0.20-launch/

A Lightning node’s Channel Graph maintains a complete map of the public nodes and channels on the Lightning Network. Therefore, the speed and efficiency in which the channel graph is updated and maintained has a direct impact on payment speed for a node. Before this release, a common pain point for node operators was the time it takes to start up and manage the ever-expanding set of network data. To address this, v0.20 introduces a major architectural upgrade by migrating the internal network graph database to a native SQL backend. Our internal benchmarking tests demonstrate that the getnetworkinfo RPC, a read-only call that returns high-level statistics about the public Lightning Network graph as your node sees it, has seen a significant reduction in its execution time, ranging from a 95% to 99% reduction, after migrating to native SQL data stores.

If your node is still using the bbolt backend, you can follow the DB migration guide to migrate to sqlite or postgres database to take advantage of this new performance enhancement.

A node’s ability to successfully route payments depends on an updated view of the network graph, which requires processing of network information shared by peer nodes. Keeping up with the constant flow of this network information ensures that a node has the most updated view of the network, which directly improves payment speed and reliability.

In this release, we’ve improved the gossip update process to deliver significant improvements in performance and concurrency during network gossip synchronization. Our testing (run with a simulation of 50 concurrent nodes requesting data simultaneously) indicates that the average client waiting time reduced from an average of 32.5 seconds to 0.57 seconds, which demonstrates a 57x improvement in throughput. Furthermore, the lazy streaming design drastically improves memory efficiency for large graph operations and keeps resource usage bounded.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

Consider moving to SQLite as LND database

1 participant