SQLiteNow 0.15.0
-
Breaking changes for oversqlite (data storage format has been changed and not compatible with pre-v0.15 versions). Existing synchronized databases cannot be upgraded in place. Mixed-version operation, hash fallback, and migration of existing sync* state are unsupported. Deploy compatible server and client versions together, then recreate client sync databases - discarding pending outboxes, checkpoints, retry state, and offline changes.
-
oversqlite: Snapshots are bounded by rows and bytes. Requests now send max_rows and max_bytes; session and chunk byte_count values are mandatory. Snapshot staging, decoding, and final application are bounded, validated, atomic, and retry capacity failures through a dedicated policy.
-
oversqlite: Recovery is now durable and restart-safe. Ordinary pruned or ahead-of-server checkpoints are resumed automatically by sync() and pullToStable().
-
oversqlite: Generated Kotlin sync helpers changed signature. buildOversqliteConfig() and newOversqliteClient() gained snapshot row/byte budgets, apply budgets, retry policies, and a sync-table override. Positional calls—especially those passing verboseLogs—may stop compiling; regenerate and use named arguments.
-
oversqlite: Expanded native Swift support and Oversqlite parity. Native Swift clients now support the new Oversqlite v1 protocol, bounded snapshots, structured sync and retry configuration, custom conflict resolvers, independent upload/download controls, protocol-specific errors, improved numeric and Boolean type handling, and broader real-server conformance coverage.
-
oversqlite: Dart configuration is no longer const. OversqliteConfig now validates snapshot limits at runtime and includes OversqliteSnapshotCapacityRetryPolicy. Remove const from manually constructed configurations.
-
Swift sync construction is source-breaking. Flat schema/limit/logging arguments were replaced by SQLiteNowSyncConfig; makeSyncClient is now throwing, so callers must add try.
-
Build infrastructure moved forward. The repository now uses Kotlin 2.4.10, AGP 9.3.0, and Gradle 9.5.0.