Skip to content

sqlx-sqlite: bump the upper bound on libsqlite3-sys to allow 0.40.x - #4525

Open
lthiery wants to merge 1 commit into
transact-rs:mainfrom
lthiery:sqlite-libsqlite3-sys-0.40
Open

lthiery wants to merge 1 commit into
transact-rs:mainfrom
lthiery:sqlite-libsqlite3-sys-0.40

Conversation

@lthiery

@lthiery lthiery commented Nov 13, 2026

Copy link
Copy Markdown

Does your PR solve an issue?

No issue filed. Same change as #4502, one version later.

rusqlite 0.42.0 requires libsqlite3-sys ^0.40, so it can't be in the same dependency graph as sqlx (<0.40.0 on main):

error: failed to select a version for `libsqlite3-sys`.
    ... required by package `sqlx-sqlite v0.9.0`
versions that meet the requirements `>=0.30.1, <0.40.0` are: 0.39.1, ...

package `libsqlite3-sys` links to the native library `sqlite3`, but it conflicts with a previous package which links to `sqlite3` as well:
package `libsqlite3-sys v0.40.0`
    ... which satisfies dependency `libsqlite3-sys = "^0.40.0"` of package `rusqlite v0.42.0`

To reproduce: a crate depending on sqlx (any features) and rusqlite = "0.42", then cargo generate-lockfile. With this branch it resolves and builds.

Is this a breaking change?

No. 0.40.0 only differs from 0.39.1 in the bundled SQLCipher version (4.20.0). The SQLite test suite passes locally against 0.40.0, bundled and unbundled, and 0.30.1 still builds.

It would be great if this could make it into 0.9.1 (#4517).

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.

1 participant