From 5a3ff6e5493e4adee506b54d2d35ec028fd387b3 Mon Sep 17 00:00:00 2001 From: Simon Binder Date: Wed, 6 Aug 2025 12:05:41 +0200 Subject: [PATCH 1/5] Prepare 0.4.3 release --- Cargo.lock | 10 +++++----- Cargo.toml | 4 ++-- android/build.gradle.kts | 2 +- android/src/prefab/prefab.json | 2 +- crates/core/src/lib.rs | 4 ++-- crates/core/src/state.rs | 2 +- crates/core/src/sync/interface.rs | 2 +- powersync-sqlite-core.podspec | 2 +- tool/build_xcframework.sh | 2 +- 9 files changed, 15 insertions(+), 15 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 4bfd0843..6d4c46f7 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -241,7 +241,7 @@ checksum = "3b3cff922bd51709b605d9ead9aa71031d81447142d828eb4a6eba76fe619f9b" [[package]] name = "powersync_core" -version = "0.4.2" +version = "0.4.3" dependencies = [ "bytes", "const_format", @@ -258,7 +258,7 @@ dependencies = [ [[package]] name = "powersync_loadable" -version = "0.4.2" +version = "0.4.3" dependencies = [ "powersync_core", "sqlite_nostd", @@ -266,7 +266,7 @@ dependencies = [ [[package]] name = "powersync_sqlite" -version = "0.4.2" +version = "0.4.3" dependencies = [ "cc", "powersync_core", @@ -275,7 +275,7 @@ dependencies = [ [[package]] name = "powersync_static" -version = "0.4.2" +version = "0.4.3" dependencies = [ "powersync_core", "sqlite_nostd", @@ -389,7 +389,7 @@ checksum = "43b2853a4d09f215c24cc5489c992ce46052d359b5109343cbafbf26bc62f8a3" [[package]] name = "sqlite3" -version = "0.4.2" +version = "0.4.3" dependencies = [ "cc", ] diff --git a/Cargo.toml b/Cargo.toml index f2522cde..7bd40571 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -28,8 +28,8 @@ inherits = "release" inherits = "wasm" [workspace.package] -version = "0.4.2" -edition = "2021" +version = "0.4.3" +edition = "2024" authors = ["JourneyApps"] keywords = ["sqlite", "powersync"] license = "Apache-2.0" diff --git a/android/build.gradle.kts b/android/build.gradle.kts index 271d2812..14f033a8 100644 --- a/android/build.gradle.kts +++ b/android/build.gradle.kts @@ -13,7 +13,7 @@ plugins { } group = "com.powersync" -version = "0.4.2" +version = "0.4.3" description = "PowerSync Core SQLite Extension" val localRepo = uri("build/repository/") diff --git a/android/src/prefab/prefab.json b/android/src/prefab/prefab.json index 7731e2fa..c934036b 100644 --- a/android/src/prefab/prefab.json +++ b/android/src/prefab/prefab.json @@ -2,5 +2,5 @@ "name": "powersync_sqlite_core", "schema_version": 2, "dependencies": [], - "version": "0.4.2" + "version": "0.4.3" } diff --git a/crates/core/src/lib.rs b/crates/core/src/lib.rs index 1cbc95dc..e136a353 100644 --- a/crates/core/src/lib.rs +++ b/crates/core/src/lib.rs @@ -40,7 +40,7 @@ mod view_admin; mod views; mod vtab_util; -#[no_mangle] +#[unsafe(no_mangle)] pub extern "C" fn sqlite3_powersync_init( db: *mut sqlite::sqlite3, err_msg: *mut *mut c_char, @@ -87,7 +87,7 @@ fn init_extension(db: *mut sqlite::sqlite3) -> Result<(), PowerSyncError> { Ok(()) } -extern "C" { +unsafe extern "C" { #[cfg(feature = "static")] #[allow(non_snake_case)] pub fn sqlite3_auto_extension( diff --git a/crates/core/src/state.rs b/crates/core/src/state.rs index 79bbb4a4..a6ee0b98 100644 --- a/crates/core/src/state.rs +++ b/crates/core/src/state.rs @@ -40,7 +40,7 @@ impl DatabaseState { } pub unsafe extern "C" fn destroy_arc(ptr: *mut c_void) { - drop(Arc::from_raw(ptr.cast::())); + drop(unsafe { Arc::from_raw(ptr.cast::()) }); } } diff --git a/crates/core/src/sync/interface.rs b/crates/core/src/sync/interface.rs index 65245cfc..ffdb0f7e 100644 --- a/crates/core/src/sync/interface.rs +++ b/crates/core/src/sync/interface.rs @@ -196,7 +196,7 @@ pub fn register(db: *mut sqlite::sqlite3, state: Arc) -> Result<( } unsafe extern "C" fn destroy(ptr: *mut c_void) { - drop(Box::from_raw(ptr.cast::())); + drop(unsafe { Box::from_raw(ptr.cast::()) }); } let controller = Box::new(SqlController { diff --git a/powersync-sqlite-core.podspec b/powersync-sqlite-core.podspec index 983637d1..b7d32e7b 100644 --- a/powersync-sqlite-core.podspec +++ b/powersync-sqlite-core.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = 'powersync-sqlite-core' - s.version = '0.4.2' + s.version = '0.4.3' s.summary = 'PowerSync SQLite Extension' s.description = <<-DESC PowerSync extension for SQLite. diff --git a/tool/build_xcframework.sh b/tool/build_xcframework.sh index 9d9618c8..2bc2c06e 100755 --- a/tool/build_xcframework.sh +++ b/tool/build_xcframework.sh @@ -25,7 +25,7 @@ TARGETS=( aarch64-apple-tvos-sim x86_64-apple-tvos ) -VERSION=0.4.2 +VERSION=0.4.3 function generatePlist() { min_os_version=0 From 1e85de48a07cee25b4fef4ea15fbe9602266b203 Mon Sep 17 00:00:00 2001 From: Simon Binder Date: Wed, 6 Aug 2025 12:07:13 +0200 Subject: [PATCH 2/5] Update dependencies --- Cargo.lock | 225 ++++++++++++++++++++++------------ crates/core/src/bson/error.rs | 3 +- 2 files changed, 148 insertions(+), 80 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 6d4c46f7..cc2b9a4d 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -4,18 +4,18 @@ version = 4 [[package]] name = "aho-corasick" -version = "1.0.4" +version = "1.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6748e8def348ed4d14996fa801f4122cd763fff530258cdc03f64b25f89d3a5a" +checksum = "8e60d3430d3a69478ad0993f19238d2df97c507009a52b3c10addcd7f6bcb916" dependencies = [ "memchr", ] [[package]] name = "autocfg" -version = "1.1.0" +version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa" +checksum = "c08606f8c3cbf4ce6ec8e28fb0014a2c086708fe954eaa885384a6165172e7e8" [[package]] name = "bindgen" @@ -34,28 +34,28 @@ dependencies = [ "regex", "rustc-hash", "shlex", - "syn 2.0.100", + "syn 2.0.104", ] [[package]] name = "bitflags" -version = "2.9.0" +version = "2.9.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5c8214115b7bf84099f1309324e63141d4c5d7cc26862f97a0a857dbefe165bd" +checksum = "1b8e56985ec62d17e9c1001dc89c88ecd7dc08e47eba5ec7c29c7b5eeecde967" [[package]] name = "bytes" -version = "1.4.0" +version = "1.10.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "89b2fd2a0dcf38d7971e2194b6b6eebab45ae01067456a7fd93d5547a61b70be" +checksum = "d71b6127be86fdcfddb610f7182ac57211d4b18a3e9c82eb2d17662f2227ad6a" [[package]] name = "cc" -version = "1.0.83" +version = "1.2.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f1174fb0b6ec23863f8b971027804a42614e347eafb0a95bf0b12cdae21fc4d0" +checksum = "c3a42d84bb6b69d3a8b3eaacf0d88f179e1929695e1ad012b6cf64d9caaa5fd2" dependencies = [ - "libc", + "shlex", ] [[package]] @@ -69,15 +69,15 @@ dependencies = [ [[package]] name = "cfg-if" -version = "1.0.0" +version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" +checksum = "9555578bc9e57714c812a1f84e4fc5b4d21fcb063490c624de019f7464c91268" [[package]] name = "clang-sys" -version = "1.6.1" +version = "1.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c688fc74432808e3eb684cae8830a86be1d66a2bd58e1f248ed0960a590baf6f" +checksum = "0b023947811758c97c59bf9d1c188fd619ad4718dcaa767947df1cadb14f39f4" dependencies = [ "glob", "libc", @@ -106,9 +106,9 @@ dependencies = [ [[package]] name = "either" -version = "1.9.0" +version = "1.15.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a26ae43d7bcc3b814de94796a5e736d4029efb0ee900c12e2d54c993ad1a1e07" +checksum = "48c757948c5ede0e46177b7add2e67155f70e33c07fea8284df6576da70b3719" [[package]] name = "futures-core" @@ -118,9 +118,9 @@ checksum = "05f29059c0c2090612e8d742178b0580d2dc940c837851ad723096f87af6663e" [[package]] name = "futures-lite" -version = "2.6.0" +version = "2.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f5edaec856126859abb19ed65f39e90fea3a9574b9707f13539acf4abf7eb532" +checksum = "f78e10609fe0e0b3f4157ffab1876319b5b0db102a2c60dc4626306dc46b44ad" dependencies = [ "futures-core", "pin-project-lite", @@ -128,20 +128,21 @@ dependencies = [ [[package]] name = "getrandom" -version = "0.2.10" +version = "0.3.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "be4136b2a15dd319360be1c07d9933517ccf0be8f16bf62a3bee4f0d618df427" +checksum = "26145e563e54f2cadc477553f1ec5ee650b00862f0a58bcd12cbdc5f0ea2d2f4" dependencies = [ "cfg-if", "libc", + "r-efi", "wasi", ] [[package]] name = "glob" -version = "0.3.1" +version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d2fabcfbdc87f4758337ca535fb41a6d701b65693ce38287d856d1674551ec9b" +checksum = "a8d1add55171497b4705a648c6b583acafb01d58050a51727785f0b2c8e0a2b2" [[package]] name = "itertools" @@ -154,37 +155,37 @@ dependencies = [ [[package]] name = "itoa" -version = "1.0.9" +version = "1.0.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "af150ab688ff2122fcef229be89cb50dd66af9e01a4ff320cc137eecc9bacc38" +checksum = "4a5f13b858c8d314ee3e8f639011f7ccefe71f97f96e50151fb991f267928e2c" [[package]] name = "libc" -version = "0.2.147" +version = "0.2.174" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b4668fb0ea861c1df094127ac5f1da3409a82116a4ba74fca2e58ef927159bb3" +checksum = "1171693293099992e19cddea4e8b849964e9846f4acee11b3948bcc337be8776" [[package]] name = "libloading" -version = "0.7.4" +version = "0.8.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b67380fd3b2fbe7527a606e18729d21c6f3951633d0500574c4dc22d2d638b9f" +checksum = "07033963ba89ebaf1584d767badaa2e8fcec21aedea6b8c0346d487d49c28667" dependencies = [ "cfg-if", - "winapi", + "windows-targets", ] [[package]] name = "log" -version = "0.4.20" +version = "0.4.27" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b5e6163cb8c49088c2c36f57875e58ccd8c87c7427f7fbd50ea6710b2f3f2e8f" +checksum = "13dc2df351e3202783a1fe0d44375f7295ffb4049267b0f3018346dc122a1d94" [[package]] name = "memchr" -version = "2.6.0" +version = "2.7.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "76fc44e2588d5b436dbc3c6cf62aef290f90dab6235744a93dfe1cc18f451e2c" +checksum = "32a282da65faaf38286cf3be983213fcf1d2e2a58700e808f83f4ea9a4804bc0" [[package]] name = "minimal-lexical" @@ -221,7 +222,7 @@ checksum = "ed3955f1a9c7c0c15e092f9c887db08b1fc683305fdf6eb6684f22555355e202" dependencies = [ "proc-macro2", "quote", - "syn 2.0.100", + "syn 2.0.104", ] [[package]] @@ -283,19 +284,19 @@ dependencies = [ [[package]] name = "prettyplease" -version = "0.2.32" +version = "0.2.36" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "664ec5419c51e34154eec046ebcba56312d5a2fc3b09a06da188e1ad21afadf6" +checksum = "ff24dfcda44452b9816fff4cd4227e1bb73ff5a2f1bc1105aa92fb8565ce44d2" dependencies = [ "proc-macro2", - "syn 2.0.100", + "syn 2.0.104", ] [[package]] name = "proc-macro2" -version = "1.0.94" +version = "1.0.95" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a31971752e70b8b2686d7e46ec17fb38dad4051d94024c88df49b667caea9c84" +checksum = "02b3e5e68a3a1a02aad3ec490a98007cbc13c37cbe84a3cd7b8e406d76e7f778" dependencies = [ "unicode-ident", ] @@ -309,11 +310,17 @@ dependencies = [ "proc-macro2", ] +[[package]] +name = "r-efi" +version = "5.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "69cdb34c158ceb288df11e18b4bd39de994f6657d83847bdffdbd7f346754b0f" + [[package]] name = "regex" -version = "1.9.4" +version = "1.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "12de2eff854e5fa4b1295edd650e227e9d8fb0c9e90b12e7f36d6a6811791a29" +checksum = "b544ef1b4eac5dc2db33ea63606ae9ffcfac26c1416a2806ae0bf5f56b201191" dependencies = [ "aho-corasick", "memchr", @@ -323,9 +330,9 @@ dependencies = [ [[package]] name = "regex-automata" -version = "0.3.7" +version = "0.4.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "49530408a136e16e5b486e883fbb6ba058e8e4e8ae6621a77b048b314336e629" +checksum = "809e8dc61f6de73b46c85f4c96486310fe304c434cfa43669d7b40f711150908" dependencies = [ "aho-corasick", "memchr", @@ -334,9 +341,9 @@ dependencies = [ [[package]] name = "regex-syntax" -version = "0.7.5" +version = "0.8.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dbb5fb1acd8a1a18b3dd5be62d25485eb770e05afb408a9627d14d451bae12da" +checksum = "2b15c43186be67a4fd63bee50d0303afffcef381492ebe2c5d87f324e1b8815c" [[package]] name = "rustc-hash" @@ -346,46 +353,47 @@ checksum = "357703d41365b4b27c590e3ed91eabb1b663f07c4c084095e60cbed4362dff0d" [[package]] name = "ryu" -version = "1.0.15" +version = "1.0.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1ad4cc8da4ef723ed60bced201181d83791ad433213d8c24efffda1eec85d741" +checksum = "28d3b2b1366ec20994f1fd18c3c594f05c5dd4bc44d8bb0c1c632c8d6829481f" [[package]] name = "serde" -version = "1.0.188" +version = "1.0.219" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cf9e0fcba69a370eed61bcf2b728575f726b50b55cba78064753d708ddc7549e" +checksum = "5f0e2c6ed6606019b4e29e69dbaba95b11854410e5347d525002456dbbb786b6" dependencies = [ "serde_derive", ] [[package]] name = "serde_derive" -version = "1.0.188" +version = "1.0.219" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4eca7ac642d82aa35b60049a6eccb4be6be75e599bd2e9adb5f875a737654af2" +checksum = "5b0276cf7f2c73365f7157c8123c21cd9a50fbbd844757af28ca1f5925fc2a00" dependencies = [ "proc-macro2", "quote", - "syn 2.0.100", + "syn 2.0.104", ] [[package]] name = "serde_json" -version = "1.0.105" +version = "1.0.142" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "693151e1ac27563d6dbcec9dee9fbd5da8539b20fa14ad3752b2e6d363ace360" +checksum = "030fedb782600dcbd6f02d479bf0d817ac3bb40d644745b769d6a96bc3afc5a7" dependencies = [ "itoa", + "memchr", "ryu", "serde", ] [[package]] name = "shlex" -version = "1.1.0" +version = "1.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "43b2853a4d09f215c24cc5489c992ce46052d359b5109343cbafbf26bc62f8a3" +checksum = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64" [[package]] name = "sqlite3" @@ -431,9 +439,9 @@ dependencies = [ [[package]] name = "syn" -version = "2.0.100" +version = "2.0.104" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b09a44accad81e1ba1cd74a32461ba89dee89095ba17b32f5d03683b1b1fc2a0" +checksum = "17b6f705963418cdb9927482fa304bc562ece2fdd4f616084c50b7023b435a40" dependencies = [ "proc-macro2", "quote", @@ -457,14 +465,14 @@ checksum = "7f7cf42b4507d8ea322120659672cf1b9dbb93f8f2d4ecfd6e51350ff5b17a1d" dependencies = [ "proc-macro2", "quote", - "syn 2.0.100", + "syn 2.0.104", ] [[package]] name = "unicode-ident" -version = "1.0.11" +version = "1.0.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "301abaae475aa91687eb82514b328ab47a211a533026cb25fc3e519b86adfc3c" +checksum = "5a5f39404a5da50712a4c1eecf25e90dd62b613502b7e925fd4e4d19b5c96512" [[package]] name = "unicode-xid" @@ -474,37 +482,98 @@ checksum = "ebc1c04c71510c7f702b52b7c350734c9ff1295c464a03335b00bb84fc54f853" [[package]] name = "uuid" -version = "1.4.1" +version = "1.17.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "79daa5ed5740825c40b389c5e50312b9c86df53fccd33f281df655642b43869d" +checksum = "3cf4199d1e5d15ddd86a694e4d0dffa9c323ce759fea589f00fef9d81cc1931d" dependencies = [ "getrandom", ] [[package]] name = "wasi" -version = "0.11.0+wasi-snapshot-preview1" +version = "0.14.2+wasi-0.2.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" +checksum = "9683f9a5a998d873c0d21fcbe3c083009670149a8fab228644b8bd36b2c48cb3" +dependencies = [ + "wit-bindgen-rt", +] [[package]] -name = "winapi" -version = "0.3.9" +name = "windows-link" +version = "0.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419" +checksum = "5e6ad25900d524eaabdbbb96d20b4311e1e7ae1699af4fb28c17ae66c80d798a" + +[[package]] +name = "windows-targets" +version = "0.53.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d5fe6031c4041849d7c496a8ded650796e7b6ecc19df1a431c1a363342e5dc91" dependencies = [ - "winapi-i686-pc-windows-gnu", - "winapi-x86_64-pc-windows-gnu", + "windows-link", + "windows_aarch64_gnullvm", + "windows_aarch64_msvc", + "windows_i686_gnu", + "windows_i686_gnullvm", + "windows_i686_msvc", + "windows_x86_64_gnu", + "windows_x86_64_gnullvm", + "windows_x86_64_msvc", ] [[package]] -name = "winapi-i686-pc-windows-gnu" -version = "0.4.0" +name = "windows_aarch64_gnullvm" +version = "0.53.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "86b8d5f90ddd19cb4a147a5fa63ca848db3df085e25fee3cc10b39b6eebae764" + +[[package]] +name = "windows_aarch64_msvc" +version = "0.53.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c7651a1f62a11b8cbd5e0d42526e55f2c99886c77e007179efff86c2b137e66c" + +[[package]] +name = "windows_i686_gnu" +version = "0.53.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c1dc67659d35f387f5f6c479dc4e28f1d4bb90ddd1a5d3da2e5d97b42d6272c3" + +[[package]] +name = "windows_i686_gnullvm" +version = "0.53.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9ce6ccbdedbf6d6354471319e781c0dfef054c81fbc7cf83f338a4296c0cae11" + +[[package]] +name = "windows_i686_msvc" +version = "0.53.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "581fee95406bb13382d2f65cd4a908ca7b1e4c2f1917f143ba16efe98a589b5d" + +[[package]] +name = "windows_x86_64_gnu" +version = "0.53.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" +checksum = "2e55b5ac9ea33f2fc1716d1742db15574fd6fc8dadc51caab1c16a3d3b4190ba" [[package]] -name = "winapi-x86_64-pc-windows-gnu" -version = "0.4.0" +name = "windows_x86_64_gnullvm" +version = "0.53.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" +checksum = "0a6e035dd0599267ce1ee132e51c27dd29437f63325753051e71dd9e42406c57" + +[[package]] +name = "windows_x86_64_msvc" +version = "0.53.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "271414315aff87387382ec3d271b52d7ae78726f5d44ac98b4f4030c91880486" + +[[package]] +name = "wit-bindgen-rt" +version = "0.39.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6f42320e61fe2cfd34354ecb597f86f413484a798ba44a8ca1165c58d42da6c1" +dependencies = [ + "bitflags", +] diff --git a/crates/core/src/bson/error.rs b/crates/core/src/bson/error.rs index 57e49cd2..06c1448d 100644 --- a/crates/core/src/bson/error.rs +++ b/crates/core/src/bson/error.rs @@ -4,7 +4,7 @@ use alloc::{ boxed::Box, string::{String, ToString}, }; -use serde::de::{self, StdError}; +use serde::de::{self}; use super::parser::ElementType; @@ -97,4 +97,3 @@ impl de::Error for BsonError { BsonError::new(None, ErrorKind::Custom(msg.to_string())) } } -impl StdError for BsonError {} From 746863cef4e6e5fa769588705901beebcdcbd7f6 Mon Sep 17 00:00:00 2001 From: Simon Binder Date: Wed, 6 Aug 2025 12:09:12 +0200 Subject: [PATCH 3/5] Reformat --- crates/core/src/bson/de.rs | 2 +- crates/core/src/bson/parser.rs | 2 +- crates/core/src/checkpoint.rs | 2 +- crates/core/src/crud_vtab.rs | 2 +- crates/core/src/error.rs | 2 +- crates/core/src/ext.rs | 2 +- crates/core/src/schema/table_info.rs | 2 +- crates/core/src/sync/bucket_priority.rs | 2 +- crates/core/src/sync/checkpoint.rs | 2 +- crates/core/src/sync/checksum.rs | 6 +++--- crates/core/src/sync/line.rs | 4 ++-- crates/core/src/sync/operations.rs | 2 +- crates/core/src/sync/storage_adapter.rs | 2 +- crates/core/src/sync/streaming_sync.rs | 4 ++-- crates/core/src/sync/sync_status.rs | 7 ++++--- crates/core/src/version.rs | 2 +- crates/core/src/view_admin.rs | 2 +- 17 files changed, 24 insertions(+), 23 deletions(-) diff --git a/crates/core/src/bson/de.rs b/crates/core/src/bson/de.rs index d6d3e01f..c1f6188c 100644 --- a/crates/core/src/bson/de.rs +++ b/crates/core/src/bson/de.rs @@ -9,9 +9,9 @@ use serde::{ }; use super::{ + BsonError, error::ErrorKind, parser::{ElementType, Parser}, - BsonError, }; pub struct Deserializer<'de> { diff --git a/crates/core/src/bson/parser.rs b/crates/core/src/bson/parser.rs index cd40d9f3..45920a94 100644 --- a/crates/core/src/bson/parser.rs +++ b/crates/core/src/bson/parser.rs @@ -1,6 +1,6 @@ use core::ffi::CStr; -use super::{error::ErrorKind, BsonError}; +use super::{BsonError, error::ErrorKind}; use num_traits::{FromBytes, Num}; pub struct Parser<'de> { diff --git a/crates/core/src/checkpoint.rs b/crates/core/src/checkpoint.rs index e7f0621b..f63c0350 100644 --- a/crates/core/src/checkpoint.rs +++ b/crates/core/src/checkpoint.rs @@ -12,7 +12,7 @@ use sqlite_nostd::{Connection, Context, Value}; use crate::create_sqlite_text_fn; use crate::error::PowerSyncError; -use crate::sync::checkpoint::{validate_checkpoint, OwnedBucketChecksum}; +use crate::sync::checkpoint::{OwnedBucketChecksum, validate_checkpoint}; use crate::sync::line::Checkpoint; #[derive(Serialize)] diff --git a/crates/core/src/crud_vtab.rs b/crates/core/src/crud_vtab.rs index ddffbfaf..68dc69d7 100644 --- a/crates/core/src/crud_vtab.rs +++ b/crates/core/src/crud_vtab.rs @@ -3,7 +3,7 @@ extern crate alloc; use alloc::boxed::Box; use alloc::sync::Arc; use const_format::formatcp; -use core::ffi::{c_char, c_int, c_void, CStr}; +use core::ffi::{CStr, c_char, c_int, c_void}; use core::sync::atomic::Ordering; use serde::Serialize; use serde_json::value::RawValue; diff --git a/crates/core/src/error.rs b/crates/core/src/error.rs index 051d0353..91bac026 100644 --- a/crates/core/src/error.rs +++ b/crates/core/src/error.rs @@ -6,7 +6,7 @@ use alloc::{ string::{String, ToString}, }; use num_traits::FromPrimitive; -use sqlite_nostd::{self as sqlite, context, sqlite3, Connection, Context, ResultCode}; +use sqlite_nostd::{self as sqlite, Connection, Context, ResultCode, context, sqlite3}; use thiserror::Error; use crate::{ diff --git a/crates/core/src/ext.rs b/crates/core/src/ext.rs index 6d04de38..a74d6198 100644 --- a/crates/core/src/ext.rs +++ b/crates/core/src/ext.rs @@ -1,4 +1,4 @@ -use sqlite_nostd::{sqlite3, Connection, Destructor, ManagedStmt, ResultCode}; +use sqlite_nostd::{Connection, Destructor, ManagedStmt, ResultCode, sqlite3}; pub trait SafeManagedStmt { fn exec(&self) -> Result<(), ResultCode>; diff --git a/crates/core/src/schema/table_info.rs b/crates/core/src/schema/table_info.rs index b380f137..a81d0162 100644 --- a/crates/core/src/schema/table_info.rs +++ b/crates/core/src/schema/table_info.rs @@ -1,5 +1,5 @@ use alloc::{format, string::String, vec, vec::Vec}; -use serde::{de::Visitor, Deserialize}; +use serde::{Deserialize, de::Visitor}; #[derive(Deserialize)] pub struct Table { diff --git a/crates/core/src/sync/bucket_priority.rs b/crates/core/src/sync/bucket_priority.rs index 9e715be3..1e2248aa 100644 --- a/crates/core/src/sync/bucket_priority.rs +++ b/crates/core/src/sync/bucket_priority.rs @@ -1,4 +1,4 @@ -use serde::{de::Visitor, Deserialize, Serialize}; +use serde::{Deserialize, Serialize, de::Visitor}; use crate::error::PowerSyncError; diff --git a/crates/core/src/sync/checkpoint.rs b/crates/core/src/sync/checkpoint.rs index 0c105a99..597636fc 100644 --- a/crates/core/src/sync/checkpoint.rs +++ b/crates/core/src/sync/checkpoint.rs @@ -1,7 +1,7 @@ use alloc::{string::String, vec::Vec}; use num_traits::Zero; -use crate::sync::{line::BucketChecksum, BucketPriority, Checksum}; +use crate::sync::{BucketPriority, Checksum, line::BucketChecksum}; use sqlite_nostd::{self as sqlite, Connection, ResultCode}; /// A structure cloned from [BucketChecksum]s with an owned bucket name instead of one borrowed from diff --git a/crates/core/src/sync/checksum.rs b/crates/core/src/sync/checksum.rs index c6f2bc68..254160d0 100644 --- a/crates/core/src/sync/checksum.rs +++ b/crates/core/src/sync/checksum.rs @@ -4,9 +4,9 @@ use core::{ ops::{Add, AddAssign, Sub, SubAssign}, }; -use num_traits::float::FloatCore; use num_traits::Zero; -use serde::{de::Visitor, Deserialize, Serialize}; +use num_traits::float::FloatCore; +use serde::{Deserialize, Serialize, de::Visitor}; /// A checksum as received from the sync service. /// @@ -18,7 +18,7 @@ pub struct Checksum(Wrapping); impl Checksum { pub const fn value(self) -> u32 { - self.0 .0 + self.0.0 } pub const fn from_value(value: u32) -> Self { diff --git a/crates/core/src/sync/line.rs b/crates/core/src/sync/line.rs index 8f730789..30f6137d 100644 --- a/crates/core/src/sync/line.rs +++ b/crates/core/src/sync/line.rs @@ -1,12 +1,12 @@ use alloc::borrow::Cow; use alloc::vec::Vec; -use serde::de::{IgnoredAny, VariantAccess, Visitor}; use serde::Deserialize; +use serde::de::{IgnoredAny, VariantAccess, Visitor}; use crate::util::{deserialize_optional_string_to_i64, deserialize_string_to_i64}; -use super::bucket_priority::BucketPriority; use super::Checksum; +use super::bucket_priority::BucketPriority; /// While we would like to always borrow strings for efficiency, that's not consistently possible. /// With the JSON decoder, borrowing from input data is only possible when the string contains no diff --git a/crates/core/src/sync/operations.rs b/crates/core/src/sync/operations.rs index 5e4ee011..256eb6c8 100644 --- a/crates/core/src/sync/operations.rs +++ b/crates/core/src/sync/operations.rs @@ -9,8 +9,8 @@ use crate::{ ext::SafeManagedStmt, }; -use super::line::OplogData; use super::Checksum; +use super::line::OplogData; use super::{ line::{DataLine, OpType}, storage_adapter::{BucketInfo, StorageAdapter}, diff --git a/crates/core/src/sync/storage_adapter.rs b/crates/core/src/sync/storage_adapter.rs index 105a7fc5..d6a2a2e0 100644 --- a/crates/core/src/sync/storage_adapter.rs +++ b/crates/core/src/sync/storage_adapter.rs @@ -11,7 +11,7 @@ use crate::{ schema::Schema, state::DatabaseState, sync::{ - checkpoint::{validate_checkpoint, ChecksumMismatch}, + checkpoint::{ChecksumMismatch, validate_checkpoint}, sync_status::SyncPriorityStatus, }, sync_local::{PartialSyncOperation, SyncOperation}, diff --git a/crates/core/src/sync/streaming_sync.rs b/crates/core/src/sync/streaming_sync.rs index 7e122d63..64cc21cc 100644 --- a/crates/core/src/sync/streaming_sync.rs +++ b/crates/core/src/sync/streaming_sync.rs @@ -21,8 +21,8 @@ use crate::{ kv::client_id, state::DatabaseState, sync::{ - checkpoint::OwnedBucketChecksum, interface::StartSyncStream, line::DataLine, - sync_status::Timestamp, BucketPriority, + BucketPriority, checkpoint::OwnedBucketChecksum, interface::StartSyncStream, + line::DataLine, sync_status::Timestamp, }, }; use sqlite_nostd::{self as sqlite}; diff --git a/crates/core/src/sync/sync_status.rs b/crates/core/src/sync/sync_status.rs index 9fc2c164..85f62f20 100644 --- a/crates/core/src/sync/sync_status.rs +++ b/crates/core/src/sync/sync_status.rs @@ -35,9 +35,10 @@ pub struct DownloadSyncStatus { impl DownloadSyncStatus { fn debug_assert_priority_status_is_sorted(&self) { - debug_assert!(self - .priority_status - .is_sorted_by(|a, b| a.priority >= b.priority)) + debug_assert!( + self.priority_status + .is_sorted_by(|a, b| a.priority >= b.priority) + ) } pub fn disconnect(&mut self) { diff --git a/crates/core/src/version.rs b/crates/core/src/version.rs index 0e3798cb..e7edda69 100644 --- a/crates/core/src/version.rs +++ b/crates/core/src/version.rs @@ -8,7 +8,7 @@ use sqlite::ResultCode; use sqlite_nostd as sqlite; use sqlite_nostd::{Connection, Context}; -use crate::constants::{short_git_hash, CORE_PKG_VERSION}; +use crate::constants::{CORE_PKG_VERSION, short_git_hash}; use crate::create_sqlite_text_fn; use crate::error::PowerSyncError; diff --git a/crates/core/src/view_admin.rs b/crates/core/src/view_admin.rs index 46922203..43a688d6 100644 --- a/crates/core/src/view_admin.rs +++ b/crates/core/src/view_admin.rs @@ -10,7 +10,7 @@ use sqlite_nostd as sqlite; use sqlite_nostd::{Connection, Context}; use crate::error::PowerSyncError; -use crate::migrations::{powersync_migrate, LATEST_VERSION}; +use crate::migrations::{LATEST_VERSION, powersync_migrate}; use crate::util::quote_identifier; use crate::{create_auto_tx_function, create_sqlite_text_fn}; From 58f53d6ac18d44681e608832912b4acce51d95a2 Mon Sep 17 00:00:00 2001 From: Simon Binder Date: Wed, 6 Aug 2025 12:13:34 +0200 Subject: [PATCH 4/5] Another no_mangle fix --- crates/core/src/lib.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/crates/core/src/lib.rs b/crates/core/src/lib.rs index e136a353..4fe00377 100644 --- a/crates/core/src/lib.rs +++ b/crates/core/src/lib.rs @@ -102,7 +102,7 @@ unsafe extern "C" { } #[cfg(feature = "static")] -#[no_mangle] +#[unsafe(no_mangle)] pub extern "C" fn powersync_init_static() -> c_int { unsafe { let f = sqlite3_powersync_init; From e2e41231c5492d19dcd00eef86be8a57e801c910 Mon Sep 17 00:00:00 2001 From: Simon Binder Date: Wed, 6 Aug 2025 12:16:49 +0200 Subject: [PATCH 5/5] Yet another one --- crates/shell/src/main.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/crates/shell/src/main.rs b/crates/shell/src/main.rs index b55f7078..9218fef2 100644 --- a/crates/shell/src/main.rs +++ b/crates/shell/src/main.rs @@ -28,7 +28,7 @@ fn panic(_info: &core::panic::PanicInfo) -> ! { #[lang = "eh_personality"] extern "C" fn eh_personality() {} -#[no_mangle] +#[unsafe(no_mangle)] pub extern "C" fn core_init(_dummy: *mut c_char) -> c_int { powersync_init_static() }