Skip to content

Widen supported rusqlite version range - #1187

Merged
tnull merged 2 commits into
lightningdevkit:mainfrom
tnull:2026-10-widen-rusqlite
Oct 20, 2026
Merged

tnull merged 2 commits into
lightningdevkit:mainfrom
tnull:2026-10-widen-rusqlite

Conversation

@tnull

@tnull tnull commented Oct 20, 2026

Copy link
Copy Markdown
Collaborator

Builds notoriously fail if multiple rusqlite versions are present in any given project (see rusqlite/rusqlite#1727). Here we widen (and test) our supported rusqlite version range, leaving picking a version compatible with other crates to cargo.

(cc @thesimplekid @notmandatory @oleonardolima @dpc)

Requiring rusqlite 0.31 prevents applications from combining LDK Node
with dependencies that need newer SQLite bindings, even when the
persistence APIs remain compatible.

Allow releases from 0.31 through 0.39 while preserving Rust 1.85
support and existing persistence behavior. Exclude 0.40 because its
first two releases require a newer compiler.

Co-Authored-By: HAL 9000
@tnull tnull added this to the 0.8 milestone Oct 20, 2026
@tnull
tnull requested a review from benthecarman October 20, 2026 19:39
@ldk-reviews-bot

ldk-reviews-bot commented Oct 20, 2026 •

Copy link
Copy Markdown

👋 Thanks for assigning @benthecarman as a reviewer!
I'll wait for their review and will help manage the review process.
Once they submit their review, I'll check if a second reviewer would be helpful.

@benthecarman

Copy link
Copy Markdown
Contributor

omg i didn't know this was possible!

Comment thread tests/rusqlite-compat/src/lib.rs Outdated
Root builds remain on rusqlite 0.31 because historical Node releases
are required by upgrade tests. This can conceal incompatibilities
with newer releases allowed by the library.

Test downstream persistence with exact minimum and maximum versions
on Rust 1.85. Keep the fixture independent of the root test graph so
both endpoints are actually exercised.

Co-Authored-By: HAL 9000
@tnull
tnull force-pushed the 2026-10-widen-rusqlite branch from 4be42e2 to 0d96cbe Compare October 20, 2026 22:19
@tnull
tnull requested a review from benthecarman October 20, 2026 22:19
@tnull
tnull merged commit e0b01fa into lightningdevkit:main Oct 20, 2026
17 of 27 checks passed
thesimplekid added a commit to thesimplekid/cdk that referenced this pull request Oct 21, 2026
Accept rusqlite >=0.31.0, <0.40.0 to match LDK Node and allow downstream
applications to select a compatible SQLite dependency.

Following lightningdevkit/ldk-node#1187

Add an independent compatibility fixture with mint, wallet, and persistence
tests. Build both endpoints on Rust 1.85 with Nix and Crane in required CI,
using committed lockfiles and vendored dependencies. This avoids the root
workspace dependency on LDK Node 0.7 that constrains rusqlite to 0.31.

Validated all 133 tests against each minor release from 0.31.0 to 0.39.0
on Rust 1.85.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants