commit 7bc5a312248ea985861e342e6dc0e70ab1f50ccf
parent a8d9f9114b73872f605679cc31cd8420786f512f
Author: triesap <tyson@radroots.org>
Date: Wed, 15 Jul 2026 02:12:14 +0000
sqlite: align app bundled runtime
- update Studio rusqlite usage to 0.39 through the workspace dependency
- patch libsqlite3-sys to the shared SQLite 3.53.3 source crate
- keep the store crate on the workspace-owned SQLite dependency surface
- refresh the app lockfile against the new runtime dependency floor
Diffstat:
3 files changed, 77 insertions(+), 38 deletions(-)
diff --git a/Cargo.lock b/Cargo.lock
@@ -2042,6 +2042,17 @@ dependencies = [
]
[[package]]
+name = "flume"
+version = "0.12.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5e139bc46ca777eb5efaf62df0ab8cc5fd400866427e56c68b22e414e53bd3be"
+dependencies = [
+ "futures-core",
+ "futures-sink",
+ "spin",
+]
+
+[[package]]
name = "fnv"
version = "1.0.7"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -2054,6 +2065,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d9c4f5dac5e15c24eb999c26181a6ca40b39fe946cbe4c263c7209467bc83af2"
[[package]]
+name = "foldhash"
+version = "0.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "77ce24cb58228fbb8aa041425bb1050850ac19177686ea6e0f41a70416f56fdb"
+
+[[package]]
name = "font-types"
version = "0.11.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -2478,7 +2495,7 @@ dependencies = [
"embed-resource",
"etagere",
"filedescriptor",
- "flume",
+ "flume 0.11.1",
"foreign-types",
"futures",
"gpui-macros",
@@ -2820,9 +2837,18 @@ version = "0.15.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9229cfe53dfd69f0609a49f65461bd93001ea1ef889cd5529dd176593f5338a1"
dependencies = [
+ "foldhash 0.1.5",
+]
+
+[[package]]
+name = "hashbrown"
+version = "0.16.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "841d1cc9bed7f9236f321df977030373f4a4163ae1a7dbfe1a51a2c1a51d9100"
+dependencies = [
"allocator-api2",
"equivalent",
- "foldhash",
+ "foldhash 0.2.0",
]
[[package]]
@@ -2842,20 +2868,11 @@ dependencies = [
[[package]]
name = "hashlink"
-version = "0.9.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6ba4ff7128dee98c7dc9794b6a411377e1404dba1c97deb8d1a55297bd25d8af"
-dependencies = [
- "hashbrown 0.14.5",
-]
-
-[[package]]
-name = "hashlink"
-version = "0.10.0"
+version = "0.11.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7382cf6263419f2d8df38c55d7da83da5c18aef87fc7a7fc1fb1e344edfe14c1"
+checksum = "824e001ac4f3012dd16a264bec811403a67ca9deb6c102fc5049b32c4574b35f"
dependencies = [
- "hashbrown 0.15.5",
+ "hashbrown 0.16.1",
]
[[package]]
@@ -3562,9 +3579,7 @@ dependencies = [
[[package]]
name = "libsqlite3-sys"
-version = "0.30.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2e99fb7a497b1e3339bc746195567ed8d3e24945ecd636e3619d20b9de9e9149"
+version = "0.37.0"
dependencies = [
"cc",
"pkg-config",
@@ -5929,17 +5944,28 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6c20b6793b5c2fa6553b250154b78d6d0db37e72700ae35fad9387a46f487c97"
[[package]]
+name = "rsqlite-vfs"
+version = "0.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c51c9ae4df8a7fba42103df5c621fa3c37eccf3a3c650879e90fc48b11cc192c"
+dependencies = [
+ "hashbrown 0.16.1",
+ "thiserror 2.0.18",
+]
+
+[[package]]
name = "rusqlite"
-version = "0.32.1"
+version = "0.39.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7753b721174eb8ff87a9a0e799e2d7bc3749323e773db92e0984debb00019d6e"
+checksum = "a0d2b0146dd9661bf67bb107c0bb2a55064d556eeb3fc314151b957f313bcd4e"
dependencies = [
"bitflags 2.11.1",
"fallible-iterator",
"fallible-streaming-iterator",
- "hashlink 0.9.1",
+ "hashlink 0.11.1",
"libsqlite3-sys",
"smallvec",
+ "sqlite-wasm-rs",
]
[[package]]
@@ -6700,10 +6726,22 @@ dependencies = [
]
[[package]]
+name = "sqlite-wasm-rs"
+version = "0.5.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "dc3efc0da82635d7e1ced0053bbbfa8c7ab9645d0bf36ceb4f7127bb85315d75"
+dependencies = [
+ "cc",
+ "js-sys",
+ "rsqlite-vfs",
+ "wasm-bindgen",
+]
+
+[[package]]
name = "sqlx"
-version = "0.8.6"
+version = "0.9.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1fefb893899429669dcdd979aff487bd78f4064e5e7907e4269081e0ef7d97dc"
+checksum = "378620ccc25c62c89d8be1c819e76a88d59bdcc3304733330788948e619bfd71"
dependencies = [
"sqlx-core",
"sqlx-macros",
@@ -6712,12 +6750,13 @@ dependencies = [
[[package]]
name = "sqlx-core"
-version = "0.8.6"
+version = "0.9.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ee6798b1838b6a0f69c007c133b8df5866302197e404e8b6ee8ed3e3a5e68dc6"
+checksum = "05b44e85bf579a8eeb4ceaa77a3a523baf2bf0e9bac7e40f405d537b5d2d5ccb"
dependencies = [
"base64 0.22.1",
"bytes",
+ "cfg-if",
"crc",
"crossbeam-queue",
"either",
@@ -6726,12 +6765,11 @@ dependencies = [
"futures-intrusive",
"futures-io",
"futures-util",
- "hashbrown 0.15.5",
- "hashlink 0.10.0",
+ "hashbrown 0.16.1",
+ "hashlink 0.11.1",
"indexmap",
"log",
"memchr",
- "once_cell",
"percent-encoding",
"serde",
"sha2",
@@ -6745,9 +6783,9 @@ dependencies = [
[[package]]
name = "sqlx-macros"
-version = "0.8.6"
+version = "0.9.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a2d452988ccaacfbf5e0bdbc348fb91d7c8af5bee192173ac3636b5fb6e6715d"
+checksum = "bd2b84f2bc39a5705ef27ec785a11c934a41bbd4a24941e257927cddc26b60bf"
dependencies = [
"proc-macro2",
"quote",
@@ -6758,15 +6796,15 @@ dependencies = [
[[package]]
name = "sqlx-macros-core"
-version = "0.8.6"
+version = "0.9.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "19a9c1841124ac5a61741f96e1d9e2ec77424bf323962dd894bdb93f37d5219b"
+checksum = "fb8d96de5fdc85a5c4ec813432b523ec637e80ba98f046555f75f7908ddac7c3"
dependencies = [
+ "cfg-if",
"dotenvy",
"either",
"heck 0.5.0",
"hex",
- "once_cell",
"proc-macro2",
"quote",
"serde",
@@ -6781,12 +6819,13 @@ dependencies = [
[[package]]
name = "sqlx-sqlite"
-version = "0.8.6"
+version = "0.9.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c2d12fe70b2c1b4401038055f90f151b78208de1f9f89a7dbfd41587a10c3eea"
+checksum = "488e99c397a62007e4229aec669a179816339afc6d2620ca6fa420dbee2e982c"
dependencies = [
"atoi",
- "flume",
+ "flume 0.12.0",
+ "form_urlencoded",
"futures-channel",
"futures-core",
"futures-executor",
@@ -6796,7 +6835,6 @@ dependencies = [
"log",
"percent-encoding",
"serde",
- "serde_urlencoded",
"sqlx-core",
"thiserror 2.0.18",
"tracing",
diff --git a/Cargo.toml b/Cargo.toml
@@ -54,7 +54,7 @@ radroots_studio_app_sqlite = { path = "crates/store", version = "0.1.0" }
radroots_studio_app_state = { path = "crates/state", version = "0.1.0" }
radroots_studio_app_sync = { path = "crates/sync", version = "0.1.0" }
radroots_studio_app_ui = { path = "crates/ui", version = "0.1.0" }
-rusqlite = { version = "0.32.1", features = ["bundled"] }
+rusqlite = { version = "0.39.0", features = ["bundled"] }
serde = { version = "1.0", features = ["derive"] }
serde_json = "1.0"
thiserror = "2"
@@ -71,3 +71,4 @@ unsafe_code = "forbid"
[patch.crates-io]
block = { path = "vendor/block" }
+libsqlite3-sys = { path = "../lib/crates/libsqlite3_sys_3_53_3" }
diff --git a/crates/store/Cargo.toml b/crates/store/Cargo.toml
@@ -17,7 +17,7 @@ radroots_studio_app_view.workspace = true
radroots_studio_app_sync.workspace = true
radroots_sql_core.workspace = true
radroots_trade.workspace = true
-rusqlite = { version = "0.32.1", features = ["bundled"] }
+rusqlite = { workspace = true }
serde_json.workspace = true
thiserror.workspace = true
uuid.workspace = true