From 0a5fe7908d1743b204fd38b1afd8095b5d9b9b25 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Tue, 24 Mar 2026 11:00:24 +0000 Subject: [PATCH] ci: Version Packages --- .changeset/chilly-parts-rush.md | 5 -- .../fix-btree-multi-column-comparator.md | 5 -- .changeset/fix-coalesce-type.md | 7 -- .changeset/fix-temporal-isplainobject.md | 11 --- .changeset/fix-temporal-join-hashing.md | 6 -- .changeset/fuzzy-ties-dream.md | 5 -- .changeset/gc-cleanup-queue.md | 5 -- .changeset/gentle-lions-travel.md | 5 -- .changeset/includes-aggregates.md | 5 -- .../includes-parent-referencing-filters.md | 5 -- .changeset/includes-subqueries.md | 5 -- .changeset/includes-to-array.md | 5 -- .changeset/nasty-clubs-tease.md | 5 -- .changeset/olive-coins-sleep.md | 9 -- .changeset/persisted-metadata-followups.md | 13 --- .changeset/shiny-planes-laugh.md | 6 -- .changeset/sqlite-persistence.md | 57 ------------- .changeset/stale-cache-ghost-items.md | 5 -- .changeset/trailbase-subset-support.md | 5 -- .changeset/update-electric-deps.md | 11 --- .changeset/update-tb-deps.md | 5 -- examples/angular/todos/package.json | 4 +- examples/electron/offline-first/CHANGELOG.md | 12 +++ examples/electron/offline-first/package.json | 12 +-- .../offline-transactions/CHANGELOG.md | 11 +++ .../offline-transactions/package.json | 12 +-- .../react/offline-transactions/package.json | 10 +-- .../react/paced-mutations-demo/package.json | 4 +- examples/react/projects/package.json | 4 +- examples/react/todo/package.json | 8 +- examples/solid/todo/package.json | 8 +- packages/angular-db/CHANGELOG.md | 9 ++ packages/angular-db/package.json | 2 +- .../CHANGELOG.md | 44 ++++++++++ .../package.json | 2 +- .../CHANGELOG.md | 44 ++++++++++ .../e2e/app/CHANGELOG.md | 9 ++ .../e2e/app/package.json | 2 +- .../package.json | 2 +- .../CHANGELOG.md | 44 ++++++++++ .../package.json | 2 +- .../CHANGELOG.md | 44 ++++++++++ .../package.json | 2 +- .../CHANGELOG.md | 44 ++++++++++ .../e2e/expo-runtime-app/CHANGELOG.md | 9 ++ .../e2e/expo-runtime-app/package.json | 2 +- .../package.json | 2 +- packages/db-ivm/CHANGELOG.md | 6 ++ packages/db-ivm/package.json | 2 +- .../CHANGELOG.md | 44 ++++++++++ .../package.json | 2 +- .../CHANGELOG.md | 44 ++++++++++ .../package.json | 2 +- .../CHANGELOG.md | 51 +++++++++++ .../package.json | 2 +- .../CHANGELOG.md | 44 ++++++++++ .../e2e/app/CHANGELOG.md | 9 ++ .../e2e/app/package.json | 2 +- .../package.json | 2 +- packages/db/CHANGELOG.md | 85 +++++++++++++++++++ packages/db/package.json | 2 +- packages/electric-db-collection/CHANGELOG.md | 16 ++++ packages/electric-db-collection/package.json | 2 +- packages/offline-transactions/CHANGELOG.md | 11 +++ packages/offline-transactions/package.json | 2 +- packages/powersync-db-collection/CHANGELOG.md | 11 +++ packages/powersync-db-collection/package.json | 2 +- packages/query-db-collection/CHANGELOG.md | 13 +++ packages/query-db-collection/package.json | 2 +- packages/react-db/CHANGELOG.md | 9 ++ packages/react-db/package.json | 2 +- packages/rxdb-db-collection/CHANGELOG.md | 9 ++ packages/rxdb-db-collection/package.json | 2 +- packages/solid-db/CHANGELOG.md | 9 ++ packages/solid-db/package.json | 2 +- packages/svelte-db/CHANGELOG.md | 7 ++ packages/svelte-db/package.json | 2 +- packages/trailbase-db-collection/CHANGELOG.md | 15 ++++ packages/trailbase-db-collection/package.json | 2 +- packages/vue-db/CHANGELOG.md | 9 ++ packages/vue-db/package.json | 2 +- pnpm-lock.yaml | 58 ++++++------- 82 files changed, 747 insertions(+), 270 deletions(-) delete mode 100644 .changeset/chilly-parts-rush.md delete mode 100644 .changeset/fix-btree-multi-column-comparator.md delete mode 100644 .changeset/fix-coalesce-type.md delete mode 100644 .changeset/fix-temporal-isplainobject.md delete mode 100644 .changeset/fix-temporal-join-hashing.md delete mode 100644 .changeset/fuzzy-ties-dream.md delete mode 100644 .changeset/gc-cleanup-queue.md delete mode 100644 .changeset/gentle-lions-travel.md delete mode 100644 .changeset/includes-aggregates.md delete mode 100644 .changeset/includes-parent-referencing-filters.md delete mode 100644 .changeset/includes-subqueries.md delete mode 100644 .changeset/includes-to-array.md delete mode 100644 .changeset/nasty-clubs-tease.md delete mode 100644 .changeset/olive-coins-sleep.md delete mode 100644 .changeset/persisted-metadata-followups.md delete mode 100644 .changeset/shiny-planes-laugh.md delete mode 100644 .changeset/sqlite-persistence.md delete mode 100644 .changeset/stale-cache-ghost-items.md delete mode 100644 .changeset/trailbase-subset-support.md delete mode 100644 .changeset/update-electric-deps.md delete mode 100644 .changeset/update-tb-deps.md create mode 100644 examples/electron/offline-first/CHANGELOG.md create mode 100644 packages/db-browser-wa-sqlite-persisted-collection/CHANGELOG.md create mode 100644 packages/db-capacitor-sqlite-persisted-collection/CHANGELOG.md create mode 100644 packages/db-capacitor-sqlite-persisted-collection/e2e/app/CHANGELOG.md create mode 100644 packages/db-cloudflare-do-sqlite-persisted-collection/CHANGELOG.md create mode 100644 packages/db-electron-sqlite-persisted-collection/CHANGELOG.md create mode 100644 packages/db-expo-sqlite-persisted-collection/CHANGELOG.md create mode 100644 packages/db-expo-sqlite-persisted-collection/e2e/expo-runtime-app/CHANGELOG.md create mode 100644 packages/db-node-sqlite-persisted-collection/CHANGELOG.md create mode 100644 packages/db-react-native-sqlite-persisted-collection/CHANGELOG.md create mode 100644 packages/db-sqlite-persisted-collection-core/CHANGELOG.md create mode 100644 packages/db-tauri-sqlite-persisted-collection/CHANGELOG.md create mode 100644 packages/db-tauri-sqlite-persisted-collection/e2e/app/CHANGELOG.md diff --git a/.changeset/chilly-parts-rush.md b/.changeset/chilly-parts-rush.md deleted file mode 100644 index 39ea6f7a0..000000000 --- a/.changeset/chilly-parts-rush.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@tanstack/powersync-db-collection': patch ---- - -Added 'on-demand' `syncMode` option which makes the collection work with a query-driven sync approach. diff --git a/.changeset/fix-btree-multi-column-comparator.md b/.changeset/fix-btree-multi-column-comparator.md deleted file mode 100644 index ff6a61c31..000000000 --- a/.changeset/fix-btree-multi-column-comparator.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@tanstack/db': patch ---- - -Fix BTree index receiving the wrong comparator when a query uses multiple `orderBy` columns. The multi-column array comparator was passed to `ensureIndexForField` to create a single-column index, causing the BTree to treat all indexed values as equal. This collapsed the index to a single entry, making `takeFromStart()` return at most 1 key and breaking live query subscriptions that relied on the index for pagination (e.g. `useLiveInfiniteQuery` with `.orderBy(col1).orderBy(col2).limit(n)`). The fix passes a proper single-column comparator built from the first `orderBy` column's compare options. diff --git a/.changeset/fix-coalesce-type.md b/.changeset/fix-coalesce-type.md deleted file mode 100644 index f52b10f2d..000000000 --- a/.changeset/fix-coalesce-type.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -'@tanstack/db': patch ---- - -fix(db): preserve null in coalesce() return type when no guaranteed non-null arg is present - -`coalesce()` was typed as returning `BasicExpression`, losing all type information. The signature now infers types from all arguments via tuple generics, returns the union of non-null arg types, and only removes nullability when at least one argument is statically guaranteed non-null. diff --git a/.changeset/fix-temporal-isplainobject.md b/.changeset/fix-temporal-isplainobject.md deleted file mode 100644 index 19f2f12f6..000000000 --- a/.changeset/fix-temporal-isplainobject.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -'@tanstack/db': patch ---- - -fix(db): treat objects with `Symbol.toStringTag` as leaf values in `IsPlainObject` - -Temporal types (e.g. `Temporal.PlainDate`, `Temporal.ZonedDateTime`) have `Symbol.toStringTag` set to a string. Previously, `IsPlainObject` would return `true` for these types because they are objects and not in the `JsBuiltIns` union. This caused the `Ref` mapped type to recursively walk Temporal methods, mangling them to `{}`. - -The fix adds a `T extends { readonly [Symbol.toStringTag]: string }` check before returning `true`, causing all class instances with `Symbol.toStringTag` (Temporal types, etc.) to be treated as leaf values with their types fully preserved. - -Fixes #1372 diff --git a/.changeset/fix-temporal-join-hashing.md b/.changeset/fix-temporal-join-hashing.md deleted file mode 100644 index 3b8e13b45..000000000 --- a/.changeset/fix-temporal-join-hashing.md +++ /dev/null @@ -1,6 +0,0 @@ ---- -'@tanstack/db': patch -'@tanstack/db-ivm': patch ---- - -Fix Temporal objects breaking live query updates when used with joins. Temporal objects (e.g. `Temporal.PlainDate`) have no enumerable properties, so the structural hash function produced identical hashes for all Temporal values, causing join index updates to be silently swallowed. Also add Temporal support to value normalization for join key matching and to the comparator for correct sort ordering. diff --git a/.changeset/fuzzy-ties-dream.md b/.changeset/fuzzy-ties-dream.md deleted file mode 100644 index 9dcabc55a..000000000 --- a/.changeset/fuzzy-ties-dream.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@tanstack/db': patch ---- - -Fix `loadSubset` dedupe follow-up edge cases and add regression coverage. diff --git a/.changeset/gc-cleanup-queue.md b/.changeset/gc-cleanup-queue.md deleted file mode 100644 index 3f822b5a9..000000000 --- a/.changeset/gc-cleanup-queue.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@tanstack/db': patch ---- - -fix: Optimized unmount performance by batching cleanup tasks in a central queue. diff --git a/.changeset/gentle-lions-travel.md b/.changeset/gentle-lions-travel.md deleted file mode 100644 index 5c12e70c7..000000000 --- a/.changeset/gentle-lions-travel.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@tanstack/trailbase-db-collection': patch ---- - -Add TrailBase `syncMode` support and end-to-end coverage for eager and on-demand collection syncing. diff --git a/.changeset/includes-aggregates.md b/.changeset/includes-aggregates.md deleted file mode 100644 index c846a6a60..000000000 --- a/.changeset/includes-aggregates.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@tanstack/db': patch ---- - -fix: support aggregates (e.g. count) in child/includes subqueries with per-parent scoping diff --git a/.changeset/includes-parent-referencing-filters.md b/.changeset/includes-parent-referencing-filters.md deleted file mode 100644 index 78d209ad5..000000000 --- a/.changeset/includes-parent-referencing-filters.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@tanstack/db': patch ---- - -feat: support parent-referencing WHERE filters in includes child queries diff --git a/.changeset/includes-subqueries.md b/.changeset/includes-subqueries.md deleted file mode 100644 index 950d94d52..000000000 --- a/.changeset/includes-subqueries.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@tanstack/db': patch ---- - -feat: support for subqueries for including hierarchical data in live queries diff --git a/.changeset/includes-to-array.md b/.changeset/includes-to-array.md deleted file mode 100644 index fd59eaea3..000000000 --- a/.changeset/includes-to-array.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@tanstack/db': patch ---- - -feat: add `toArray()` wrapper for includes subqueries to materialize child results as plain arrays instead of live Collections diff --git a/.changeset/nasty-clubs-tease.md b/.changeset/nasty-clubs-tease.md deleted file mode 100644 index 7136baf78..000000000 --- a/.changeset/nasty-clubs-tease.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@tanstack/angular-db': patch ---- - -fixing double reactive parameter tracking inside of injectLiveQuery diff --git a/.changeset/olive-coins-sleep.md b/.changeset/olive-coins-sleep.md deleted file mode 100644 index 624ca768c..000000000 --- a/.changeset/olive-coins-sleep.md +++ /dev/null @@ -1,9 +0,0 @@ ---- -'@tanstack/db': patch -'@tanstack/offline-transactions': patch -'@tanstack/query-db-collection': patch ---- - -fix: prevent stale query refreshes from overwriting optimistic offline changes on reconnect - -When reconnecting with pending offline transactions, query-backed collections now defer processing query refreshes until queued writes finish replaying, avoiding temporary reverts to stale server data. diff --git a/.changeset/persisted-metadata-followups.md b/.changeset/persisted-metadata-followups.md deleted file mode 100644 index 79c48e684..000000000 --- a/.changeset/persisted-metadata-followups.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -'@tanstack/db': patch -'@tanstack/db-sqlite-persisted-collection-core': patch -'@tanstack/electric-db-collection': patch ---- - -fix(persistence): harden persisted startup, truncate metadata semantics, and resume identity matching - -- Restore persisted wrapper `markReady` fallback behavior so startup failures do not leave collections stuck in loading state -- Replace load cancellation reference identity tracking with deterministic load keys for `loadSubset` / `unloadSubset` -- Document intentional truncate behavior where collection-scoped metadata writes are preserved across truncate transactions -- Tighten SQLite `applied_tx` migration handling to only ignore duplicate-column add errors -- Stabilize Electric shape identity serialization so persisted resume compatibility does not depend on object key insertion order diff --git a/.changeset/shiny-planes-laugh.md b/.changeset/shiny-planes-laugh.md deleted file mode 100644 index ec90e87ad..000000000 --- a/.changeset/shiny-planes-laugh.md +++ /dev/null @@ -1,6 +0,0 @@ ---- -'@tanstack/db': patch ---- - -Implement virtual properties end-to-end, including live query behavior and -typing support for virtual metadata on rows. diff --git a/.changeset/sqlite-persistence.md b/.changeset/sqlite-persistence.md deleted file mode 100644 index ec4085598..000000000 --- a/.changeset/sqlite-persistence.md +++ /dev/null @@ -1,57 +0,0 @@ ---- -'@tanstack/db': patch -'@tanstack/db-sqlite-persisted-collection-core': patch -'@tanstack/db-browser-wa-sqlite-persisted-collection': patch -'@tanstack/db-cloudflare-do-sqlite-persisted-collection': patch -'@tanstack/db-node-sqlite-persisted-collection': patch -'@tanstack/db-electron-sqlite-persisted-collection': patch -'@tanstack/db-expo-sqlite-persisted-collection': patch -'@tanstack/db-react-native-sqlite-persisted-collection': patch -'@tanstack/db-capacitor-sqlite-persisted-collection': patch -'@tanstack/db-tauri-sqlite-persisted-collection': patch ---- - -feat(persistence): add SQLite-based offline persistence for collections - -Adds a new persistence layer that durably stores collection data in SQLite, enabling applications to survive page reloads and app restarts across browser, Node, mobile, desktop, and edge runtimes. - -**Core persistence (`@tanstack/db-sqlite-persisted-collection-core`)** - -- New package providing the shared SQLite persistence runtime: hydration, streaming, transaction tracking, and applied-tx pruning -- SQLite core adapter with full query compilation, index management, and schema migration support -- Portable conformance test contracts for runtime-specific adapters - -**Browser (`@tanstack/db-browser-wa-sqlite-persisted-collection`)** - -- New package for browser persistence via wa-sqlite backed by OPFS -- Single-tab persistence with OPFS-based SQLite storage -- `BrowserCollectionCoordinator` for multi-tab leader-election and cross-tab sync - -**Cloudflare Durable Objects (`@tanstack/db-cloudflare-do-sqlite-persisted-collection`)** - -- New package for SQLite persistence in Cloudflare Durable Objects runtimes - -**Node (`@tanstack/db-node-sqlite-persisted-collection`)** - -- New package for Node persistence via SQLite - -**Electron (`@tanstack/db-electron-sqlite-persisted-collection`)** - -- New package providing Electron main and renderer persistence bridge helpers - -**Expo (`@tanstack/db-expo-sqlite-persisted-collection`)** - -- New package for Expo persistence via `expo-sqlite` - -**React Native (`@tanstack/db-react-native-sqlite-persisted-collection`)** - -- New package for React Native persistence via op-sqlite -- Adapter with transaction deadlock prevention and runtime parity coverage - -**Capacitor (`@tanstack/db-capacitor-sqlite-persisted-collection`)** - -- New package for Capacitor persistence via `@capacitor-community/sqlite` - -**Tauri (`@tanstack/db-tauri-sqlite-persisted-collection`)** - -- New package for Tauri persistence via `@tauri-apps/plugin-sql` diff --git a/.changeset/stale-cache-ghost-items.md b/.changeset/stale-cache-ghost-items.md deleted file mode 100644 index f405b28da..000000000 --- a/.changeset/stale-cache-ghost-items.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@tanstack/query-db-collection': patch ---- - -fix: Prevent stale query cache from re-inserting deleted items when a destroyed observer is recreated with gcTime > 0. diff --git a/.changeset/trailbase-subset-support.md b/.changeset/trailbase-subset-support.md deleted file mode 100644 index 9065df26a..000000000 --- a/.changeset/trailbase-subset-support.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@tanstack/trailbase-db-collection': patch ---- - -Add a wider range of subset queries for TrailBase integration, including pagination, ordering, and basic `where` support. diff --git a/.changeset/update-electric-deps.md b/.changeset/update-electric-deps.md deleted file mode 100644 index f8636de20..000000000 --- a/.changeset/update-electric-deps.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -'@tanstack/electric-db-collection': patch -'@tanstack/trailbase-db-collection': patch -'@tanstack/react-db': patch -'@tanstack/solid-db': patch -'@tanstack/vue-db': patch -'@tanstack/powersync-db-collection': patch -'@tanstack/rxdb-db-collection': patch ---- - -Update dependencies across workspace to resolve version mismatches: `@electric-sql/client` ^1.5.13, `@tanstack/store` ^0.9.2, `pg` ^8.20.0. Adapt subscription cleanup to `@tanstack/store` 0.9.x API which returns `Subscription` objects instead of unsubscribe functions. diff --git a/.changeset/update-tb-deps.md b/.changeset/update-tb-deps.md deleted file mode 100644 index f91299a41..000000000 --- a/.changeset/update-tb-deps.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@tanstack/trailbase-db-collection': patch ---- - -Update TrailBase's client to v0.10 and lock-down server version for e2e tests. diff --git a/examples/angular/todos/package.json b/examples/angular/todos/package.json index 1fbb48baa..087e5f45f 100644 --- a/examples/angular/todos/package.json +++ b/examples/angular/todos/package.json @@ -28,8 +28,8 @@ "@angular/forms": "^20.3.16", "@angular/platform-browser": "^20.3.16", "@angular/router": "^20.3.16", - "@tanstack/angular-db": "^0.1.59", - "@tanstack/db": "^0.5.33", + "@tanstack/angular-db": "^0.1.60", + "@tanstack/db": "^0.5.34", "rxjs": "^7.8.2", "tslib": "^2.8.1", "zone.js": "~0.15.0" diff --git a/examples/electron/offline-first/CHANGELOG.md b/examples/electron/offline-first/CHANGELOG.md new file mode 100644 index 000000000..7a6eea301 --- /dev/null +++ b/examples/electron/offline-first/CHANGELOG.md @@ -0,0 +1,12 @@ +# offline-first-electron + +## 1.0.1 + +### Patch Changes + +- Updated dependencies [[`85f5435`](https://github.com/TanStack/db/commit/85f54355a426baefc88ccc55179e0cfcb4dac168), [`d351c67`](https://github.com/TanStack/db/commit/d351c677d687e667450138f66ab3bd0e11e7e347), [`3d65bb1`](https://github.com/TanStack/db/commit/3d65bb149bfc544346b1bf3113f7fdfde6ea3a68), [`1654c41`](https://github.com/TanStack/db/commit/1654c41759e1caabcd5ddea8a433f0634be60f86)]: + - @tanstack/offline-transactions@1.0.25 + - @tanstack/query-db-collection@1.0.31 + - @tanstack/db-node-sqlite-persisted-collection@0.1.1 + - @tanstack/db-electron-sqlite-persisted-collection@0.1.1 + - @tanstack/react-db@0.1.78 diff --git a/examples/electron/offline-first/package.json b/examples/electron/offline-first/package.json index 8fdc35c2c..121f76020 100644 --- a/examples/electron/offline-first/package.json +++ b/examples/electron/offline-first/package.json @@ -1,6 +1,6 @@ { "name": "offline-first-electron", - "version": "1.0.0", + "version": "1.0.1", "private": true, "type": "module", "main": "electron/main.ts", @@ -13,11 +13,11 @@ "postinstall": "prebuild-install --runtime electron --target 40.2.1 --arch arm64 || echo 'prebuild-install failed, try: npx @electron/rebuild'" }, "dependencies": { - "@tanstack/db-electron-sqlite-persisted-collection": "workspace:*", - "@tanstack/db-node-sqlite-persisted-collection": "workspace:*", - "@tanstack/offline-transactions": "workspace:*", - "@tanstack/query-db-collection": "workspace:*", - "@tanstack/react-db": "workspace:*", + "@tanstack/db-electron-sqlite-persisted-collection": "^0.1.1", + "@tanstack/db-node-sqlite-persisted-collection": "^0.1.1", + "@tanstack/offline-transactions": "^1.0.25", + "@tanstack/query-db-collection": "^1.0.31", + "@tanstack/react-db": "^0.1.78", "@tanstack/react-query": "^5.90.20", "better-sqlite3": "^12.6.2", "react": "^19.2.4", diff --git a/examples/react-native/offline-transactions/CHANGELOG.md b/examples/react-native/offline-transactions/CHANGELOG.md index 7dec32109..02992805b 100644 --- a/examples/react-native/offline-transactions/CHANGELOG.md +++ b/examples/react-native/offline-transactions/CHANGELOG.md @@ -1,5 +1,16 @@ # offline-transactions-react-native +## 1.0.2 + +### Patch Changes + +- Updated dependencies [[`f60384b`](https://github.com/TanStack/db/commit/f60384b0fbde019865cbac5a7af341ff8a46d483), [`b8abc02`](https://github.com/TanStack/db/commit/b8abc0230096900746f92c51496489460b4d75e1), [`09c7afc`](https://github.com/TanStack/db/commit/09c7afc47a5ef3f3415ae601b6b00155ab64650b), [`bb09eb1`](https://github.com/TanStack/db/commit/bb09eb1eecbf680bb95a0bb08639f337e9982043), [`179d666`](https://github.com/TanStack/db/commit/179d66685449bcdf9f785c8765bc57cc19c2f7bd), [`43ecbfa`](https://github.com/TanStack/db/commit/43ecbfae5be5e59ffdce6c545d90ca5a810159e6), [`055fd94`](https://github.com/TanStack/db/commit/055fd94bd4654d27d5366af12a90da4c0e670fc0), [`055fd94`](https://github.com/TanStack/db/commit/055fd94bd4654d27d5366af12a90da4c0e670fc0), [`055fd94`](https://github.com/TanStack/db/commit/055fd94bd4654d27d5366af12a90da4c0e670fc0), [`055fd94`](https://github.com/TanStack/db/commit/055fd94bd4654d27d5366af12a90da4c0e670fc0), [`85f5435`](https://github.com/TanStack/db/commit/85f54355a426baefc88ccc55179e0cfcb4dac168), [`e0df07e`](https://github.com/TanStack/db/commit/e0df07e1eb2eefbc829407f337cee1d443a7e9b6), [`9952921`](https://github.com/TanStack/db/commit/9952921e02ed8bca5653f0afa64862fc22ffbf9d), [`d351c67`](https://github.com/TanStack/db/commit/d351c677d687e667450138f66ab3bd0e11e7e347), [`3d65bb1`](https://github.com/TanStack/db/commit/3d65bb149bfc544346b1bf3113f7fdfde6ea3a68), [`1654c41`](https://github.com/TanStack/db/commit/1654c41759e1caabcd5ddea8a433f0634be60f86)]: + - @tanstack/db@0.5.34 + - @tanstack/offline-transactions@1.0.25 + - @tanstack/query-db-collection@1.0.31 + - @tanstack/db-react-native-sqlite-persisted-collection@0.1.1 + - @tanstack/react-db@0.1.78 + ## 1.0.1 ### Patch Changes diff --git a/examples/react-native/offline-transactions/package.json b/examples/react-native/offline-transactions/package.json index a378784cd..6aa131314 100644 --- a/examples/react-native/offline-transactions/package.json +++ b/examples/react-native/offline-transactions/package.json @@ -1,6 +1,6 @@ { "name": "offline-transactions-react-native", - "version": "1.0.1", + "version": "1.0.2", "private": true, "main": "expo-router/entry", "scripts": { @@ -15,11 +15,11 @@ "@op-engineering/op-sqlite": "^15.2.5", "@react-native-async-storage/async-storage": "2.1.2", "@react-native-community/netinfo": "11.4.1", - "@tanstack/db": "workspace:*", - "@tanstack/db-react-native-sqlite-persisted-collection": "workspace:*", - "@tanstack/offline-transactions": "^1.0.24", - "@tanstack/query-db-collection": "^1.0.30", - "@tanstack/react-db": "^0.1.77", + "@tanstack/db": "^0.5.34", + "@tanstack/db-react-native-sqlite-persisted-collection": "^0.1.1", + "@tanstack/offline-transactions": "^1.0.25", + "@tanstack/query-db-collection": "^1.0.31", + "@tanstack/react-db": "^0.1.78", "@tanstack/react-query": "^5.90.20", "expo": "~53.0.26", "expo-constants": "~17.1.0", diff --git a/examples/react/offline-transactions/package.json b/examples/react/offline-transactions/package.json index 4af7dbde9..5b085f332 100644 --- a/examples/react/offline-transactions/package.json +++ b/examples/react/offline-transactions/package.json @@ -9,11 +9,11 @@ "start": "node .output/server/index.mjs" }, "dependencies": { - "@tanstack/db": "workspace:*", - "@tanstack/db-browser-wa-sqlite-persisted-collection": "workspace:*", - "@tanstack/offline-transactions": "^1.0.24", - "@tanstack/query-db-collection": "^1.0.30", - "@tanstack/react-db": "^0.1.77", + "@tanstack/db": "^0.5.34", + "@tanstack/db-browser-wa-sqlite-persisted-collection": "^0.1.1", + "@tanstack/offline-transactions": "^1.0.25", + "@tanstack/query-db-collection": "^1.0.31", + "@tanstack/react-db": "^0.1.78", "@tanstack/react-query": "^5.90.20", "@tanstack/react-router": "^1.159.5", "@tanstack/react-router-devtools": "^1.159.5", diff --git a/examples/react/paced-mutations-demo/package.json b/examples/react/paced-mutations-demo/package.json index 6a84515a6..f3acafe0a 100644 --- a/examples/react/paced-mutations-demo/package.json +++ b/examples/react/paced-mutations-demo/package.json @@ -9,8 +9,8 @@ "preview": "vite preview" }, "dependencies": { - "@tanstack/db": "^0.5.33", - "@tanstack/react-db": "^0.1.77", + "@tanstack/db": "^0.5.34", + "@tanstack/react-db": "^0.1.78", "mitt": "^3.0.1", "react": "^19.2.4", "react-dom": "^19.2.4" diff --git a/examples/react/projects/package.json b/examples/react/projects/package.json index b43f5b0c4..d617aa273 100644 --- a/examples/react/projects/package.json +++ b/examples/react/projects/package.json @@ -17,8 +17,8 @@ "dependencies": { "@tailwindcss/vite": "^4.1.18", "@tanstack/query-core": "^5.90.20", - "@tanstack/query-db-collection": "^1.0.30", - "@tanstack/react-db": "^0.1.77", + "@tanstack/query-db-collection": "^1.0.31", + "@tanstack/react-db": "^0.1.78", "@tanstack/react-router": "^1.159.5", "@tanstack/react-router-devtools": "^1.159.5", "@tanstack/react-router-with-query": "^1.130.17", diff --git a/examples/react/todo/package.json b/examples/react/todo/package.json index 881d4d387..0b8d5cb42 100644 --- a/examples/react/todo/package.json +++ b/examples/react/todo/package.json @@ -3,13 +3,13 @@ "private": true, "version": "0.1.24", "dependencies": { - "@tanstack/electric-db-collection": "^0.2.41", + "@tanstack/electric-db-collection": "^0.2.42", "@tanstack/query-core": "^5.90.20", - "@tanstack/query-db-collection": "^1.0.30", - "@tanstack/react-db": "^0.1.77", + "@tanstack/query-db-collection": "^1.0.31", + "@tanstack/react-db": "^0.1.78", "@tanstack/react-router": "^1.159.5", "@tanstack/react-start": "^1.159.5", - "@tanstack/trailbase-db-collection": "^0.1.77", + "@tanstack/trailbase-db-collection": "^0.1.78", "cors": "^2.8.6", "drizzle-orm": "^0.45.1", "drizzle-zod": "^0.8.3", diff --git a/examples/solid/todo/package.json b/examples/solid/todo/package.json index d02796963..f43654a40 100644 --- a/examples/solid/todo/package.json +++ b/examples/solid/todo/package.json @@ -3,13 +3,13 @@ "private": true, "version": "0.0.34", "dependencies": { - "@tanstack/electric-db-collection": "^0.2.41", + "@tanstack/electric-db-collection": "^0.2.42", "@tanstack/query-core": "^5.90.20", - "@tanstack/query-db-collection": "^1.0.30", - "@tanstack/solid-db": "^0.2.13", + "@tanstack/query-db-collection": "^1.0.31", + "@tanstack/solid-db": "^0.2.14", "@tanstack/solid-router": "^1.159.5", "@tanstack/solid-start": "^1.159.5", - "@tanstack/trailbase-db-collection": "^0.1.77", + "@tanstack/trailbase-db-collection": "^0.1.78", "cors": "^2.8.6", "drizzle-orm": "^0.45.1", "drizzle-zod": "^0.8.3", diff --git a/packages/angular-db/CHANGELOG.md b/packages/angular-db/CHANGELOG.md index 4a72ca3dd..e148b6919 100644 --- a/packages/angular-db/CHANGELOG.md +++ b/packages/angular-db/CHANGELOG.md @@ -1,5 +1,14 @@ # @tanstack/angular-db +## 0.1.60 + +### Patch Changes + +- fixing double reactive parameter tracking inside of injectLiveQuery ([#1252](https://github.com/TanStack/db/pull/1252)) + +- Updated dependencies [[`f60384b`](https://github.com/TanStack/db/commit/f60384b0fbde019865cbac5a7af341ff8a46d483), [`b8abc02`](https://github.com/TanStack/db/commit/b8abc0230096900746f92c51496489460b4d75e1), [`09c7afc`](https://github.com/TanStack/db/commit/09c7afc47a5ef3f3415ae601b6b00155ab64650b), [`bb09eb1`](https://github.com/TanStack/db/commit/bb09eb1eecbf680bb95a0bb08639f337e9982043), [`179d666`](https://github.com/TanStack/db/commit/179d66685449bcdf9f785c8765bc57cc19c2f7bd), [`43ecbfa`](https://github.com/TanStack/db/commit/43ecbfae5be5e59ffdce6c545d90ca5a810159e6), [`055fd94`](https://github.com/TanStack/db/commit/055fd94bd4654d27d5366af12a90da4c0e670fc0), [`055fd94`](https://github.com/TanStack/db/commit/055fd94bd4654d27d5366af12a90da4c0e670fc0), [`055fd94`](https://github.com/TanStack/db/commit/055fd94bd4654d27d5366af12a90da4c0e670fc0), [`055fd94`](https://github.com/TanStack/db/commit/055fd94bd4654d27d5366af12a90da4c0e670fc0), [`85f5435`](https://github.com/TanStack/db/commit/85f54355a426baefc88ccc55179e0cfcb4dac168), [`e0df07e`](https://github.com/TanStack/db/commit/e0df07e1eb2eefbc829407f337cee1d443a7e9b6), [`9952921`](https://github.com/TanStack/db/commit/9952921e02ed8bca5653f0afa64862fc22ffbf9d), [`d351c67`](https://github.com/TanStack/db/commit/d351c677d687e667450138f66ab3bd0e11e7e347)]: + - @tanstack/db@0.5.34 + ## 0.1.59 ### Patch Changes diff --git a/packages/angular-db/package.json b/packages/angular-db/package.json index e4226ae83..cc176f8b3 100644 --- a/packages/angular-db/package.json +++ b/packages/angular-db/package.json @@ -1,6 +1,6 @@ { "name": "@tanstack/angular-db", - "version": "0.1.59", + "version": "0.1.60", "description": "Angular integration for @tanstack/db", "author": "Ethan McDaniel", "license": "MIT", diff --git a/packages/db-browser-wa-sqlite-persisted-collection/CHANGELOG.md b/packages/db-browser-wa-sqlite-persisted-collection/CHANGELOG.md new file mode 100644 index 000000000..ffeed47cb --- /dev/null +++ b/packages/db-browser-wa-sqlite-persisted-collection/CHANGELOG.md @@ -0,0 +1,44 @@ +# @tanstack/db-browser-wa-sqlite-persisted-collection + +## 0.1.1 + +### Patch Changes + +- feat(persistence): add SQLite-based offline persistence for collections ([#1358](https://github.com/TanStack/db/pull/1358)) + + Adds a new persistence layer that durably stores collection data in SQLite, enabling applications to survive page reloads and app restarts across browser, Node, mobile, desktop, and edge runtimes. + + **Core persistence (`@tanstack/db-sqlite-persisted-collection-core`)** + - New package providing the shared SQLite persistence runtime: hydration, streaming, transaction tracking, and applied-tx pruning + - SQLite core adapter with full query compilation, index management, and schema migration support + - Portable conformance test contracts for runtime-specific adapters + + **Browser (`@tanstack/db-browser-wa-sqlite-persisted-collection`)** + - New package for browser persistence via wa-sqlite backed by OPFS + - Single-tab persistence with OPFS-based SQLite storage + - `BrowserCollectionCoordinator` for multi-tab leader-election and cross-tab sync + + **Cloudflare Durable Objects (`@tanstack/db-cloudflare-do-sqlite-persisted-collection`)** + - New package for SQLite persistence in Cloudflare Durable Objects runtimes + + **Node (`@tanstack/db-node-sqlite-persisted-collection`)** + - New package for Node persistence via SQLite + + **Electron (`@tanstack/db-electron-sqlite-persisted-collection`)** + - New package providing Electron main and renderer persistence bridge helpers + + **Expo (`@tanstack/db-expo-sqlite-persisted-collection`)** + - New package for Expo persistence via `expo-sqlite` + + **React Native (`@tanstack/db-react-native-sqlite-persisted-collection`)** + - New package for React Native persistence via op-sqlite + - Adapter with transaction deadlock prevention and runtime parity coverage + + **Capacitor (`@tanstack/db-capacitor-sqlite-persisted-collection`)** + - New package for Capacitor persistence via `@capacitor-community/sqlite` + + **Tauri (`@tanstack/db-tauri-sqlite-persisted-collection`)** + - New package for Tauri persistence via `@tauri-apps/plugin-sql` + +- Updated dependencies [[`e0df07e`](https://github.com/TanStack/db/commit/e0df07e1eb2eefbc829407f337cee1d443a7e9b6), [`d351c67`](https://github.com/TanStack/db/commit/d351c677d687e667450138f66ab3bd0e11e7e347)]: + - @tanstack/db-sqlite-persisted-collection-core@0.1.1 diff --git a/packages/db-browser-wa-sqlite-persisted-collection/package.json b/packages/db-browser-wa-sqlite-persisted-collection/package.json index f38019d56..67da79495 100644 --- a/packages/db-browser-wa-sqlite-persisted-collection/package.json +++ b/packages/db-browser-wa-sqlite-persisted-collection/package.json @@ -1,6 +1,6 @@ { "name": "@tanstack/db-browser-wa-sqlite-persisted-collection", - "version": "0.1.0", + "version": "0.1.1", "description": "Browser wa-sqlite persisted collection adapter for TanStack DB", "author": "TanStack Team", "license": "MIT", diff --git a/packages/db-capacitor-sqlite-persisted-collection/CHANGELOG.md b/packages/db-capacitor-sqlite-persisted-collection/CHANGELOG.md new file mode 100644 index 000000000..cccbfb711 --- /dev/null +++ b/packages/db-capacitor-sqlite-persisted-collection/CHANGELOG.md @@ -0,0 +1,44 @@ +# @tanstack/db-capacitor-sqlite-persisted-collection + +## 0.1.1 + +### Patch Changes + +- feat(persistence): add SQLite-based offline persistence for collections ([#1358](https://github.com/TanStack/db/pull/1358)) + + Adds a new persistence layer that durably stores collection data in SQLite, enabling applications to survive page reloads and app restarts across browser, Node, mobile, desktop, and edge runtimes. + + **Core persistence (`@tanstack/db-sqlite-persisted-collection-core`)** + - New package providing the shared SQLite persistence runtime: hydration, streaming, transaction tracking, and applied-tx pruning + - SQLite core adapter with full query compilation, index management, and schema migration support + - Portable conformance test contracts for runtime-specific adapters + + **Browser (`@tanstack/db-browser-wa-sqlite-persisted-collection`)** + - New package for browser persistence via wa-sqlite backed by OPFS + - Single-tab persistence with OPFS-based SQLite storage + - `BrowserCollectionCoordinator` for multi-tab leader-election and cross-tab sync + + **Cloudflare Durable Objects (`@tanstack/db-cloudflare-do-sqlite-persisted-collection`)** + - New package for SQLite persistence in Cloudflare Durable Objects runtimes + + **Node (`@tanstack/db-node-sqlite-persisted-collection`)** + - New package for Node persistence via SQLite + + **Electron (`@tanstack/db-electron-sqlite-persisted-collection`)** + - New package providing Electron main and renderer persistence bridge helpers + + **Expo (`@tanstack/db-expo-sqlite-persisted-collection`)** + - New package for Expo persistence via `expo-sqlite` + + **React Native (`@tanstack/db-react-native-sqlite-persisted-collection`)** + - New package for React Native persistence via op-sqlite + - Adapter with transaction deadlock prevention and runtime parity coverage + + **Capacitor (`@tanstack/db-capacitor-sqlite-persisted-collection`)** + - New package for Capacitor persistence via `@capacitor-community/sqlite` + + **Tauri (`@tanstack/db-tauri-sqlite-persisted-collection`)** + - New package for Tauri persistence via `@tauri-apps/plugin-sql` + +- Updated dependencies [[`e0df07e`](https://github.com/TanStack/db/commit/e0df07e1eb2eefbc829407f337cee1d443a7e9b6), [`d351c67`](https://github.com/TanStack/db/commit/d351c677d687e667450138f66ab3bd0e11e7e347)]: + - @tanstack/db-sqlite-persisted-collection-core@0.1.1 diff --git a/packages/db-capacitor-sqlite-persisted-collection/e2e/app/CHANGELOG.md b/packages/db-capacitor-sqlite-persisted-collection/e2e/app/CHANGELOG.md new file mode 100644 index 000000000..906ddc570 --- /dev/null +++ b/packages/db-capacitor-sqlite-persisted-collection/e2e/app/CHANGELOG.md @@ -0,0 +1,9 @@ +# @tanstack/db-capacitor-sqlite-persisted-collection-e2e-app + +## 0.0.1 + +### Patch Changes + +- Updated dependencies [[`f60384b`](https://github.com/TanStack/db/commit/f60384b0fbde019865cbac5a7af341ff8a46d483), [`b8abc02`](https://github.com/TanStack/db/commit/b8abc0230096900746f92c51496489460b4d75e1), [`09c7afc`](https://github.com/TanStack/db/commit/09c7afc47a5ef3f3415ae601b6b00155ab64650b), [`bb09eb1`](https://github.com/TanStack/db/commit/bb09eb1eecbf680bb95a0bb08639f337e9982043), [`179d666`](https://github.com/TanStack/db/commit/179d66685449bcdf9f785c8765bc57cc19c2f7bd), [`43ecbfa`](https://github.com/TanStack/db/commit/43ecbfae5be5e59ffdce6c545d90ca5a810159e6), [`055fd94`](https://github.com/TanStack/db/commit/055fd94bd4654d27d5366af12a90da4c0e670fc0), [`055fd94`](https://github.com/TanStack/db/commit/055fd94bd4654d27d5366af12a90da4c0e670fc0), [`055fd94`](https://github.com/TanStack/db/commit/055fd94bd4654d27d5366af12a90da4c0e670fc0), [`055fd94`](https://github.com/TanStack/db/commit/055fd94bd4654d27d5366af12a90da4c0e670fc0), [`85f5435`](https://github.com/TanStack/db/commit/85f54355a426baefc88ccc55179e0cfcb4dac168), [`e0df07e`](https://github.com/TanStack/db/commit/e0df07e1eb2eefbc829407f337cee1d443a7e9b6), [`9952921`](https://github.com/TanStack/db/commit/9952921e02ed8bca5653f0afa64862fc22ffbf9d), [`d351c67`](https://github.com/TanStack/db/commit/d351c677d687e667450138f66ab3bd0e11e7e347)]: + - @tanstack/db@0.5.34 + - @tanstack/db-capacitor-sqlite-persisted-collection@0.1.1 diff --git a/packages/db-capacitor-sqlite-persisted-collection/e2e/app/package.json b/packages/db-capacitor-sqlite-persisted-collection/e2e/app/package.json index abeb82f79..21a891633 100644 --- a/packages/db-capacitor-sqlite-persisted-collection/e2e/app/package.json +++ b/packages/db-capacitor-sqlite-persisted-collection/e2e/app/package.json @@ -1,7 +1,7 @@ { "name": "@tanstack/db-capacitor-sqlite-persisted-collection-e2e-app", "private": true, - "version": "0.0.0", + "version": "0.0.1", "type": "module", "scripts": { "build": "vite build", diff --git a/packages/db-capacitor-sqlite-persisted-collection/package.json b/packages/db-capacitor-sqlite-persisted-collection/package.json index bef0fe87a..8b8263b6d 100644 --- a/packages/db-capacitor-sqlite-persisted-collection/package.json +++ b/packages/db-capacitor-sqlite-persisted-collection/package.json @@ -1,6 +1,6 @@ { "name": "@tanstack/db-capacitor-sqlite-persisted-collection", - "version": "0.1.0", + "version": "0.1.1", "description": "Capacitor SQLite persisted collection adapter for TanStack DB", "author": "TanStack Team", "license": "MIT", diff --git a/packages/db-cloudflare-do-sqlite-persisted-collection/CHANGELOG.md b/packages/db-cloudflare-do-sqlite-persisted-collection/CHANGELOG.md new file mode 100644 index 000000000..38bfff779 --- /dev/null +++ b/packages/db-cloudflare-do-sqlite-persisted-collection/CHANGELOG.md @@ -0,0 +1,44 @@ +# @tanstack/db-cloudflare-do-sqlite-persisted-collection + +## 0.1.1 + +### Patch Changes + +- feat(persistence): add SQLite-based offline persistence for collections ([#1358](https://github.com/TanStack/db/pull/1358)) + + Adds a new persistence layer that durably stores collection data in SQLite, enabling applications to survive page reloads and app restarts across browser, Node, mobile, desktop, and edge runtimes. + + **Core persistence (`@tanstack/db-sqlite-persisted-collection-core`)** + - New package providing the shared SQLite persistence runtime: hydration, streaming, transaction tracking, and applied-tx pruning + - SQLite core adapter with full query compilation, index management, and schema migration support + - Portable conformance test contracts for runtime-specific adapters + + **Browser (`@tanstack/db-browser-wa-sqlite-persisted-collection`)** + - New package for browser persistence via wa-sqlite backed by OPFS + - Single-tab persistence with OPFS-based SQLite storage + - `BrowserCollectionCoordinator` for multi-tab leader-election and cross-tab sync + + **Cloudflare Durable Objects (`@tanstack/db-cloudflare-do-sqlite-persisted-collection`)** + - New package for SQLite persistence in Cloudflare Durable Objects runtimes + + **Node (`@tanstack/db-node-sqlite-persisted-collection`)** + - New package for Node persistence via SQLite + + **Electron (`@tanstack/db-electron-sqlite-persisted-collection`)** + - New package providing Electron main and renderer persistence bridge helpers + + **Expo (`@tanstack/db-expo-sqlite-persisted-collection`)** + - New package for Expo persistence via `expo-sqlite` + + **React Native (`@tanstack/db-react-native-sqlite-persisted-collection`)** + - New package for React Native persistence via op-sqlite + - Adapter with transaction deadlock prevention and runtime parity coverage + + **Capacitor (`@tanstack/db-capacitor-sqlite-persisted-collection`)** + - New package for Capacitor persistence via `@capacitor-community/sqlite` + + **Tauri (`@tanstack/db-tauri-sqlite-persisted-collection`)** + - New package for Tauri persistence via `@tauri-apps/plugin-sql` + +- Updated dependencies [[`e0df07e`](https://github.com/TanStack/db/commit/e0df07e1eb2eefbc829407f337cee1d443a7e9b6), [`d351c67`](https://github.com/TanStack/db/commit/d351c677d687e667450138f66ab3bd0e11e7e347)]: + - @tanstack/db-sqlite-persisted-collection-core@0.1.1 diff --git a/packages/db-cloudflare-do-sqlite-persisted-collection/package.json b/packages/db-cloudflare-do-sqlite-persisted-collection/package.json index 44ed62eda..380afea52 100644 --- a/packages/db-cloudflare-do-sqlite-persisted-collection/package.json +++ b/packages/db-cloudflare-do-sqlite-persisted-collection/package.json @@ -1,6 +1,6 @@ { "name": "@tanstack/db-cloudflare-do-sqlite-persisted-collection", - "version": "0.1.0", + "version": "0.1.1", "description": "Cloudflare Durable Object SQLite persisted collection adapter for TanStack DB", "author": "TanStack Team", "license": "MIT", diff --git a/packages/db-electron-sqlite-persisted-collection/CHANGELOG.md b/packages/db-electron-sqlite-persisted-collection/CHANGELOG.md new file mode 100644 index 000000000..29332ab83 --- /dev/null +++ b/packages/db-electron-sqlite-persisted-collection/CHANGELOG.md @@ -0,0 +1,44 @@ +# @tanstack/db-electron-sqlite-persisted-collection + +## 0.1.1 + +### Patch Changes + +- feat(persistence): add SQLite-based offline persistence for collections ([#1358](https://github.com/TanStack/db/pull/1358)) + + Adds a new persistence layer that durably stores collection data in SQLite, enabling applications to survive page reloads and app restarts across browser, Node, mobile, desktop, and edge runtimes. + + **Core persistence (`@tanstack/db-sqlite-persisted-collection-core`)** + - New package providing the shared SQLite persistence runtime: hydration, streaming, transaction tracking, and applied-tx pruning + - SQLite core adapter with full query compilation, index management, and schema migration support + - Portable conformance test contracts for runtime-specific adapters + + **Browser (`@tanstack/db-browser-wa-sqlite-persisted-collection`)** + - New package for browser persistence via wa-sqlite backed by OPFS + - Single-tab persistence with OPFS-based SQLite storage + - `BrowserCollectionCoordinator` for multi-tab leader-election and cross-tab sync + + **Cloudflare Durable Objects (`@tanstack/db-cloudflare-do-sqlite-persisted-collection`)** + - New package for SQLite persistence in Cloudflare Durable Objects runtimes + + **Node (`@tanstack/db-node-sqlite-persisted-collection`)** + - New package for Node persistence via SQLite + + **Electron (`@tanstack/db-electron-sqlite-persisted-collection`)** + - New package providing Electron main and renderer persistence bridge helpers + + **Expo (`@tanstack/db-expo-sqlite-persisted-collection`)** + - New package for Expo persistence via `expo-sqlite` + + **React Native (`@tanstack/db-react-native-sqlite-persisted-collection`)** + - New package for React Native persistence via op-sqlite + - Adapter with transaction deadlock prevention and runtime parity coverage + + **Capacitor (`@tanstack/db-capacitor-sqlite-persisted-collection`)** + - New package for Capacitor persistence via `@capacitor-community/sqlite` + + **Tauri (`@tanstack/db-tauri-sqlite-persisted-collection`)** + - New package for Tauri persistence via `@tauri-apps/plugin-sql` + +- Updated dependencies [[`e0df07e`](https://github.com/TanStack/db/commit/e0df07e1eb2eefbc829407f337cee1d443a7e9b6), [`d351c67`](https://github.com/TanStack/db/commit/d351c677d687e667450138f66ab3bd0e11e7e347)]: + - @tanstack/db-sqlite-persisted-collection-core@0.1.1 diff --git a/packages/db-electron-sqlite-persisted-collection/package.json b/packages/db-electron-sqlite-persisted-collection/package.json index 3e39b25a2..f051e7972 100644 --- a/packages/db-electron-sqlite-persisted-collection/package.json +++ b/packages/db-electron-sqlite-persisted-collection/package.json @@ -1,6 +1,6 @@ { "name": "@tanstack/db-electron-sqlite-persisted-collection", - "version": "0.1.0", + "version": "0.1.1", "description": "Electron SQLite persisted collection bridge for TanStack DB", "author": "TanStack Team", "license": "MIT", diff --git a/packages/db-expo-sqlite-persisted-collection/CHANGELOG.md b/packages/db-expo-sqlite-persisted-collection/CHANGELOG.md new file mode 100644 index 000000000..43b4fceac --- /dev/null +++ b/packages/db-expo-sqlite-persisted-collection/CHANGELOG.md @@ -0,0 +1,44 @@ +# @tanstack/db-expo-sqlite-persisted-collection + +## 0.1.1 + +### Patch Changes + +- feat(persistence): add SQLite-based offline persistence for collections ([#1358](https://github.com/TanStack/db/pull/1358)) + + Adds a new persistence layer that durably stores collection data in SQLite, enabling applications to survive page reloads and app restarts across browser, Node, mobile, desktop, and edge runtimes. + + **Core persistence (`@tanstack/db-sqlite-persisted-collection-core`)** + - New package providing the shared SQLite persistence runtime: hydration, streaming, transaction tracking, and applied-tx pruning + - SQLite core adapter with full query compilation, index management, and schema migration support + - Portable conformance test contracts for runtime-specific adapters + + **Browser (`@tanstack/db-browser-wa-sqlite-persisted-collection`)** + - New package for browser persistence via wa-sqlite backed by OPFS + - Single-tab persistence with OPFS-based SQLite storage + - `BrowserCollectionCoordinator` for multi-tab leader-election and cross-tab sync + + **Cloudflare Durable Objects (`@tanstack/db-cloudflare-do-sqlite-persisted-collection`)** + - New package for SQLite persistence in Cloudflare Durable Objects runtimes + + **Node (`@tanstack/db-node-sqlite-persisted-collection`)** + - New package for Node persistence via SQLite + + **Electron (`@tanstack/db-electron-sqlite-persisted-collection`)** + - New package providing Electron main and renderer persistence bridge helpers + + **Expo (`@tanstack/db-expo-sqlite-persisted-collection`)** + - New package for Expo persistence via `expo-sqlite` + + **React Native (`@tanstack/db-react-native-sqlite-persisted-collection`)** + - New package for React Native persistence via op-sqlite + - Adapter with transaction deadlock prevention and runtime parity coverage + + **Capacitor (`@tanstack/db-capacitor-sqlite-persisted-collection`)** + - New package for Capacitor persistence via `@capacitor-community/sqlite` + + **Tauri (`@tanstack/db-tauri-sqlite-persisted-collection`)** + - New package for Tauri persistence via `@tauri-apps/plugin-sql` + +- Updated dependencies [[`e0df07e`](https://github.com/TanStack/db/commit/e0df07e1eb2eefbc829407f337cee1d443a7e9b6), [`d351c67`](https://github.com/TanStack/db/commit/d351c677d687e667450138f66ab3bd0e11e7e347)]: + - @tanstack/db-sqlite-persisted-collection-core@0.1.1 diff --git a/packages/db-expo-sqlite-persisted-collection/e2e/expo-runtime-app/CHANGELOG.md b/packages/db-expo-sqlite-persisted-collection/e2e/expo-runtime-app/CHANGELOG.md new file mode 100644 index 000000000..02f2379e6 --- /dev/null +++ b/packages/db-expo-sqlite-persisted-collection/e2e/expo-runtime-app/CHANGELOG.md @@ -0,0 +1,9 @@ +# @tanstack/db-expo-sqlite-persisted-collection-e2e-app + +## 0.0.1 + +### Patch Changes + +- Updated dependencies [[`f60384b`](https://github.com/TanStack/db/commit/f60384b0fbde019865cbac5a7af341ff8a46d483), [`b8abc02`](https://github.com/TanStack/db/commit/b8abc0230096900746f92c51496489460b4d75e1), [`09c7afc`](https://github.com/TanStack/db/commit/09c7afc47a5ef3f3415ae601b6b00155ab64650b), [`bb09eb1`](https://github.com/TanStack/db/commit/bb09eb1eecbf680bb95a0bb08639f337e9982043), [`179d666`](https://github.com/TanStack/db/commit/179d66685449bcdf9f785c8765bc57cc19c2f7bd), [`43ecbfa`](https://github.com/TanStack/db/commit/43ecbfae5be5e59ffdce6c545d90ca5a810159e6), [`055fd94`](https://github.com/TanStack/db/commit/055fd94bd4654d27d5366af12a90da4c0e670fc0), [`055fd94`](https://github.com/TanStack/db/commit/055fd94bd4654d27d5366af12a90da4c0e670fc0), [`055fd94`](https://github.com/TanStack/db/commit/055fd94bd4654d27d5366af12a90da4c0e670fc0), [`055fd94`](https://github.com/TanStack/db/commit/055fd94bd4654d27d5366af12a90da4c0e670fc0), [`85f5435`](https://github.com/TanStack/db/commit/85f54355a426baefc88ccc55179e0cfcb4dac168), [`e0df07e`](https://github.com/TanStack/db/commit/e0df07e1eb2eefbc829407f337cee1d443a7e9b6), [`9952921`](https://github.com/TanStack/db/commit/9952921e02ed8bca5653f0afa64862fc22ffbf9d), [`d351c67`](https://github.com/TanStack/db/commit/d351c677d687e667450138f66ab3bd0e11e7e347)]: + - @tanstack/db@0.5.34 + - @tanstack/db-expo-sqlite-persisted-collection@0.1.1 diff --git a/packages/db-expo-sqlite-persisted-collection/e2e/expo-runtime-app/package.json b/packages/db-expo-sqlite-persisted-collection/e2e/expo-runtime-app/package.json index 89d937dbb..55f778fba 100644 --- a/packages/db-expo-sqlite-persisted-collection/e2e/expo-runtime-app/package.json +++ b/packages/db-expo-sqlite-persisted-collection/e2e/expo-runtime-app/package.json @@ -1,7 +1,7 @@ { "name": "@tanstack/db-expo-sqlite-persisted-collection-e2e-app", "private": true, - "version": "0.0.0", + "version": "0.0.1", "main": "index.js", "scripts": { "start": "expo start", diff --git a/packages/db-expo-sqlite-persisted-collection/package.json b/packages/db-expo-sqlite-persisted-collection/package.json index 7054b7b80..5dfb3afc7 100644 --- a/packages/db-expo-sqlite-persisted-collection/package.json +++ b/packages/db-expo-sqlite-persisted-collection/package.json @@ -1,6 +1,6 @@ { "name": "@tanstack/db-expo-sqlite-persisted-collection", - "version": "0.1.0", + "version": "0.1.1", "description": "Expo SQLite persisted collection adapter for TanStack DB", "author": "TanStack Team", "license": "MIT", diff --git a/packages/db-ivm/CHANGELOG.md b/packages/db-ivm/CHANGELOG.md index edb12e419..1eb5a3449 100644 --- a/packages/db-ivm/CHANGELOG.md +++ b/packages/db-ivm/CHANGELOG.md @@ -1,5 +1,11 @@ # @tanstack/db-ivm +## 0.1.18 + +### Patch Changes + +- Fix Temporal objects breaking live query updates when used with joins. Temporal objects (e.g. `Temporal.PlainDate`) have no enumerable properties, so the structural hash function produced identical hashes for all Temporal values, causing join index updates to be silently swallowed. Also add Temporal support to value normalization for join key matching and to the comparator for correct sort ordering. ([#1370](https://github.com/TanStack/db/pull/1370)) + ## 0.1.17 ### Patch Changes diff --git a/packages/db-ivm/package.json b/packages/db-ivm/package.json index ac529434e..4bd57398c 100644 --- a/packages/db-ivm/package.json +++ b/packages/db-ivm/package.json @@ -1,6 +1,6 @@ { "name": "@tanstack/db-ivm", - "version": "0.1.17", + "version": "0.1.18", "description": "Incremental View Maintenance for TanStack DB based on Differential Dataflow", "author": "Sam Willis", "license": "MIT", diff --git a/packages/db-node-sqlite-persisted-collection/CHANGELOG.md b/packages/db-node-sqlite-persisted-collection/CHANGELOG.md new file mode 100644 index 000000000..8f2cfd57a --- /dev/null +++ b/packages/db-node-sqlite-persisted-collection/CHANGELOG.md @@ -0,0 +1,44 @@ +# @tanstack/db-node-sqlite-persisted-collection + +## 0.1.1 + +### Patch Changes + +- feat(persistence): add SQLite-based offline persistence for collections ([#1358](https://github.com/TanStack/db/pull/1358)) + + Adds a new persistence layer that durably stores collection data in SQLite, enabling applications to survive page reloads and app restarts across browser, Node, mobile, desktop, and edge runtimes. + + **Core persistence (`@tanstack/db-sqlite-persisted-collection-core`)** + - New package providing the shared SQLite persistence runtime: hydration, streaming, transaction tracking, and applied-tx pruning + - SQLite core adapter with full query compilation, index management, and schema migration support + - Portable conformance test contracts for runtime-specific adapters + + **Browser (`@tanstack/db-browser-wa-sqlite-persisted-collection`)** + - New package for browser persistence via wa-sqlite backed by OPFS + - Single-tab persistence with OPFS-based SQLite storage + - `BrowserCollectionCoordinator` for multi-tab leader-election and cross-tab sync + + **Cloudflare Durable Objects (`@tanstack/db-cloudflare-do-sqlite-persisted-collection`)** + - New package for SQLite persistence in Cloudflare Durable Objects runtimes + + **Node (`@tanstack/db-node-sqlite-persisted-collection`)** + - New package for Node persistence via SQLite + + **Electron (`@tanstack/db-electron-sqlite-persisted-collection`)** + - New package providing Electron main and renderer persistence bridge helpers + + **Expo (`@tanstack/db-expo-sqlite-persisted-collection`)** + - New package for Expo persistence via `expo-sqlite` + + **React Native (`@tanstack/db-react-native-sqlite-persisted-collection`)** + - New package for React Native persistence via op-sqlite + - Adapter with transaction deadlock prevention and runtime parity coverage + + **Capacitor (`@tanstack/db-capacitor-sqlite-persisted-collection`)** + - New package for Capacitor persistence via `@capacitor-community/sqlite` + + **Tauri (`@tanstack/db-tauri-sqlite-persisted-collection`)** + - New package for Tauri persistence via `@tauri-apps/plugin-sql` + +- Updated dependencies [[`e0df07e`](https://github.com/TanStack/db/commit/e0df07e1eb2eefbc829407f337cee1d443a7e9b6), [`d351c67`](https://github.com/TanStack/db/commit/d351c677d687e667450138f66ab3bd0e11e7e347)]: + - @tanstack/db-sqlite-persisted-collection-core@0.1.1 diff --git a/packages/db-node-sqlite-persisted-collection/package.json b/packages/db-node-sqlite-persisted-collection/package.json index 727b95159..c3b3e984b 100644 --- a/packages/db-node-sqlite-persisted-collection/package.json +++ b/packages/db-node-sqlite-persisted-collection/package.json @@ -1,6 +1,6 @@ { "name": "@tanstack/db-node-sqlite-persisted-collection", - "version": "0.1.0", + "version": "0.1.1", "description": "Node SQLite persisted collection adapter for TanStack DB", "author": "TanStack Team", "license": "MIT", diff --git a/packages/db-react-native-sqlite-persisted-collection/CHANGELOG.md b/packages/db-react-native-sqlite-persisted-collection/CHANGELOG.md new file mode 100644 index 000000000..5de99074f --- /dev/null +++ b/packages/db-react-native-sqlite-persisted-collection/CHANGELOG.md @@ -0,0 +1,44 @@ +# @tanstack/db-react-native-sqlite-persisted-collection + +## 0.1.1 + +### Patch Changes + +- feat(persistence): add SQLite-based offline persistence for collections ([#1358](https://github.com/TanStack/db/pull/1358)) + + Adds a new persistence layer that durably stores collection data in SQLite, enabling applications to survive page reloads and app restarts across browser, Node, mobile, desktop, and edge runtimes. + + **Core persistence (`@tanstack/db-sqlite-persisted-collection-core`)** + - New package providing the shared SQLite persistence runtime: hydration, streaming, transaction tracking, and applied-tx pruning + - SQLite core adapter with full query compilation, index management, and schema migration support + - Portable conformance test contracts for runtime-specific adapters + + **Browser (`@tanstack/db-browser-wa-sqlite-persisted-collection`)** + - New package for browser persistence via wa-sqlite backed by OPFS + - Single-tab persistence with OPFS-based SQLite storage + - `BrowserCollectionCoordinator` for multi-tab leader-election and cross-tab sync + + **Cloudflare Durable Objects (`@tanstack/db-cloudflare-do-sqlite-persisted-collection`)** + - New package for SQLite persistence in Cloudflare Durable Objects runtimes + + **Node (`@tanstack/db-node-sqlite-persisted-collection`)** + - New package for Node persistence via SQLite + + **Electron (`@tanstack/db-electron-sqlite-persisted-collection`)** + - New package providing Electron main and renderer persistence bridge helpers + + **Expo (`@tanstack/db-expo-sqlite-persisted-collection`)** + - New package for Expo persistence via `expo-sqlite` + + **React Native (`@tanstack/db-react-native-sqlite-persisted-collection`)** + - New package for React Native persistence via op-sqlite + - Adapter with transaction deadlock prevention and runtime parity coverage + + **Capacitor (`@tanstack/db-capacitor-sqlite-persisted-collection`)** + - New package for Capacitor persistence via `@capacitor-community/sqlite` + + **Tauri (`@tanstack/db-tauri-sqlite-persisted-collection`)** + - New package for Tauri persistence via `@tauri-apps/plugin-sql` + +- Updated dependencies [[`e0df07e`](https://github.com/TanStack/db/commit/e0df07e1eb2eefbc829407f337cee1d443a7e9b6), [`d351c67`](https://github.com/TanStack/db/commit/d351c677d687e667450138f66ab3bd0e11e7e347)]: + - @tanstack/db-sqlite-persisted-collection-core@0.1.1 diff --git a/packages/db-react-native-sqlite-persisted-collection/package.json b/packages/db-react-native-sqlite-persisted-collection/package.json index 5cecaade5..35a176dfd 100644 --- a/packages/db-react-native-sqlite-persisted-collection/package.json +++ b/packages/db-react-native-sqlite-persisted-collection/package.json @@ -1,6 +1,6 @@ { "name": "@tanstack/db-react-native-sqlite-persisted-collection", - "version": "0.1.0", + "version": "0.1.1", "description": "React Native and Expo SQLite persisted collection adapter for TanStack DB", "author": "TanStack Team", "license": "MIT", diff --git a/packages/db-sqlite-persisted-collection-core/CHANGELOG.md b/packages/db-sqlite-persisted-collection-core/CHANGELOG.md new file mode 100644 index 000000000..6b9028b57 --- /dev/null +++ b/packages/db-sqlite-persisted-collection-core/CHANGELOG.md @@ -0,0 +1,51 @@ +# @tanstack/db-sqlite-persisted-collection-core + +## 0.1.1 + +### Patch Changes + +- fix(persistence): harden persisted startup, truncate metadata semantics, and resume identity matching ([#1380](https://github.com/TanStack/db/pull/1380)) + - Restore persisted wrapper `markReady` fallback behavior so startup failures do not leave collections stuck in loading state + - Replace load cancellation reference identity tracking with deterministic load keys for `loadSubset` / `unloadSubset` + - Document intentional truncate behavior where collection-scoped metadata writes are preserved across truncate transactions + - Tighten SQLite `applied_tx` migration handling to only ignore duplicate-column add errors + - Stabilize Electric shape identity serialization so persisted resume compatibility does not depend on object key insertion order + +- feat(persistence): add SQLite-based offline persistence for collections ([#1358](https://github.com/TanStack/db/pull/1358)) + + Adds a new persistence layer that durably stores collection data in SQLite, enabling applications to survive page reloads and app restarts across browser, Node, mobile, desktop, and edge runtimes. + + **Core persistence (`@tanstack/db-sqlite-persisted-collection-core`)** + - New package providing the shared SQLite persistence runtime: hydration, streaming, transaction tracking, and applied-tx pruning + - SQLite core adapter with full query compilation, index management, and schema migration support + - Portable conformance test contracts for runtime-specific adapters + + **Browser (`@tanstack/db-browser-wa-sqlite-persisted-collection`)** + - New package for browser persistence via wa-sqlite backed by OPFS + - Single-tab persistence with OPFS-based SQLite storage + - `BrowserCollectionCoordinator` for multi-tab leader-election and cross-tab sync + + **Cloudflare Durable Objects (`@tanstack/db-cloudflare-do-sqlite-persisted-collection`)** + - New package for SQLite persistence in Cloudflare Durable Objects runtimes + + **Node (`@tanstack/db-node-sqlite-persisted-collection`)** + - New package for Node persistence via SQLite + + **Electron (`@tanstack/db-electron-sqlite-persisted-collection`)** + - New package providing Electron main and renderer persistence bridge helpers + + **Expo (`@tanstack/db-expo-sqlite-persisted-collection`)** + - New package for Expo persistence via `expo-sqlite` + + **React Native (`@tanstack/db-react-native-sqlite-persisted-collection`)** + - New package for React Native persistence via op-sqlite + - Adapter with transaction deadlock prevention and runtime parity coverage + + **Capacitor (`@tanstack/db-capacitor-sqlite-persisted-collection`)** + - New package for Capacitor persistence via `@capacitor-community/sqlite` + + **Tauri (`@tanstack/db-tauri-sqlite-persisted-collection`)** + - New package for Tauri persistence via `@tauri-apps/plugin-sql` + +- Updated dependencies [[`f60384b`](https://github.com/TanStack/db/commit/f60384b0fbde019865cbac5a7af341ff8a46d483), [`b8abc02`](https://github.com/TanStack/db/commit/b8abc0230096900746f92c51496489460b4d75e1), [`09c7afc`](https://github.com/TanStack/db/commit/09c7afc47a5ef3f3415ae601b6b00155ab64650b), [`bb09eb1`](https://github.com/TanStack/db/commit/bb09eb1eecbf680bb95a0bb08639f337e9982043), [`179d666`](https://github.com/TanStack/db/commit/179d66685449bcdf9f785c8765bc57cc19c2f7bd), [`43ecbfa`](https://github.com/TanStack/db/commit/43ecbfae5be5e59ffdce6c545d90ca5a810159e6), [`055fd94`](https://github.com/TanStack/db/commit/055fd94bd4654d27d5366af12a90da4c0e670fc0), [`055fd94`](https://github.com/TanStack/db/commit/055fd94bd4654d27d5366af12a90da4c0e670fc0), [`055fd94`](https://github.com/TanStack/db/commit/055fd94bd4654d27d5366af12a90da4c0e670fc0), [`055fd94`](https://github.com/TanStack/db/commit/055fd94bd4654d27d5366af12a90da4c0e670fc0), [`85f5435`](https://github.com/TanStack/db/commit/85f54355a426baefc88ccc55179e0cfcb4dac168), [`e0df07e`](https://github.com/TanStack/db/commit/e0df07e1eb2eefbc829407f337cee1d443a7e9b6), [`9952921`](https://github.com/TanStack/db/commit/9952921e02ed8bca5653f0afa64862fc22ffbf9d), [`d351c67`](https://github.com/TanStack/db/commit/d351c677d687e667450138f66ab3bd0e11e7e347)]: + - @tanstack/db@0.5.34 diff --git a/packages/db-sqlite-persisted-collection-core/package.json b/packages/db-sqlite-persisted-collection-core/package.json index 26a550831..2890c9d74 100644 --- a/packages/db-sqlite-persisted-collection-core/package.json +++ b/packages/db-sqlite-persisted-collection-core/package.json @@ -1,6 +1,6 @@ { "name": "@tanstack/db-sqlite-persisted-collection-core", - "version": "0.1.0", + "version": "0.1.1", "description": "SQLite persisted collection core for TanStack DB", "author": "TanStack Team", "license": "MIT", diff --git a/packages/db-tauri-sqlite-persisted-collection/CHANGELOG.md b/packages/db-tauri-sqlite-persisted-collection/CHANGELOG.md new file mode 100644 index 000000000..789699c6b --- /dev/null +++ b/packages/db-tauri-sqlite-persisted-collection/CHANGELOG.md @@ -0,0 +1,44 @@ +# @tanstack/db-tauri-sqlite-persisted-collection + +## 0.1.1 + +### Patch Changes + +- feat(persistence): add SQLite-based offline persistence for collections ([#1358](https://github.com/TanStack/db/pull/1358)) + + Adds a new persistence layer that durably stores collection data in SQLite, enabling applications to survive page reloads and app restarts across browser, Node, mobile, desktop, and edge runtimes. + + **Core persistence (`@tanstack/db-sqlite-persisted-collection-core`)** + - New package providing the shared SQLite persistence runtime: hydration, streaming, transaction tracking, and applied-tx pruning + - SQLite core adapter with full query compilation, index management, and schema migration support + - Portable conformance test contracts for runtime-specific adapters + + **Browser (`@tanstack/db-browser-wa-sqlite-persisted-collection`)** + - New package for browser persistence via wa-sqlite backed by OPFS + - Single-tab persistence with OPFS-based SQLite storage + - `BrowserCollectionCoordinator` for multi-tab leader-election and cross-tab sync + + **Cloudflare Durable Objects (`@tanstack/db-cloudflare-do-sqlite-persisted-collection`)** + - New package for SQLite persistence in Cloudflare Durable Objects runtimes + + **Node (`@tanstack/db-node-sqlite-persisted-collection`)** + - New package for Node persistence via SQLite + + **Electron (`@tanstack/db-electron-sqlite-persisted-collection`)** + - New package providing Electron main and renderer persistence bridge helpers + + **Expo (`@tanstack/db-expo-sqlite-persisted-collection`)** + - New package for Expo persistence via `expo-sqlite` + + **React Native (`@tanstack/db-react-native-sqlite-persisted-collection`)** + - New package for React Native persistence via op-sqlite + - Adapter with transaction deadlock prevention and runtime parity coverage + + **Capacitor (`@tanstack/db-capacitor-sqlite-persisted-collection`)** + - New package for Capacitor persistence via `@capacitor-community/sqlite` + + **Tauri (`@tanstack/db-tauri-sqlite-persisted-collection`)** + - New package for Tauri persistence via `@tauri-apps/plugin-sql` + +- Updated dependencies [[`e0df07e`](https://github.com/TanStack/db/commit/e0df07e1eb2eefbc829407f337cee1d443a7e9b6), [`d351c67`](https://github.com/TanStack/db/commit/d351c677d687e667450138f66ab3bd0e11e7e347)]: + - @tanstack/db-sqlite-persisted-collection-core@0.1.1 diff --git a/packages/db-tauri-sqlite-persisted-collection/e2e/app/CHANGELOG.md b/packages/db-tauri-sqlite-persisted-collection/e2e/app/CHANGELOG.md new file mode 100644 index 000000000..8ba7454de --- /dev/null +++ b/packages/db-tauri-sqlite-persisted-collection/e2e/app/CHANGELOG.md @@ -0,0 +1,9 @@ +# @tanstack/db-tauri-sqlite-persisted-collection-e2e-app + +## 0.0.1 + +### Patch Changes + +- Updated dependencies [[`f60384b`](https://github.com/TanStack/db/commit/f60384b0fbde019865cbac5a7af341ff8a46d483), [`b8abc02`](https://github.com/TanStack/db/commit/b8abc0230096900746f92c51496489460b4d75e1), [`09c7afc`](https://github.com/TanStack/db/commit/09c7afc47a5ef3f3415ae601b6b00155ab64650b), [`bb09eb1`](https://github.com/TanStack/db/commit/bb09eb1eecbf680bb95a0bb08639f337e9982043), [`179d666`](https://github.com/TanStack/db/commit/179d66685449bcdf9f785c8765bc57cc19c2f7bd), [`43ecbfa`](https://github.com/TanStack/db/commit/43ecbfae5be5e59ffdce6c545d90ca5a810159e6), [`055fd94`](https://github.com/TanStack/db/commit/055fd94bd4654d27d5366af12a90da4c0e670fc0), [`055fd94`](https://github.com/TanStack/db/commit/055fd94bd4654d27d5366af12a90da4c0e670fc0), [`055fd94`](https://github.com/TanStack/db/commit/055fd94bd4654d27d5366af12a90da4c0e670fc0), [`055fd94`](https://github.com/TanStack/db/commit/055fd94bd4654d27d5366af12a90da4c0e670fc0), [`85f5435`](https://github.com/TanStack/db/commit/85f54355a426baefc88ccc55179e0cfcb4dac168), [`e0df07e`](https://github.com/TanStack/db/commit/e0df07e1eb2eefbc829407f337cee1d443a7e9b6), [`9952921`](https://github.com/TanStack/db/commit/9952921e02ed8bca5653f0afa64862fc22ffbf9d), [`d351c67`](https://github.com/TanStack/db/commit/d351c677d687e667450138f66ab3bd0e11e7e347)]: + - @tanstack/db@0.5.34 + - @tanstack/db-tauri-sqlite-persisted-collection@0.1.1 diff --git a/packages/db-tauri-sqlite-persisted-collection/e2e/app/package.json b/packages/db-tauri-sqlite-persisted-collection/e2e/app/package.json index 053802d95..140c71036 100644 --- a/packages/db-tauri-sqlite-persisted-collection/e2e/app/package.json +++ b/packages/db-tauri-sqlite-persisted-collection/e2e/app/package.json @@ -1,7 +1,7 @@ { "name": "@tanstack/db-tauri-sqlite-persisted-collection-e2e-app", "private": true, - "version": "0.0.0", + "version": "0.0.1", "type": "module", "scripts": { "build": "vite build", diff --git a/packages/db-tauri-sqlite-persisted-collection/package.json b/packages/db-tauri-sqlite-persisted-collection/package.json index 6ccbe5f65..204904a4c 100644 --- a/packages/db-tauri-sqlite-persisted-collection/package.json +++ b/packages/db-tauri-sqlite-persisted-collection/package.json @@ -1,6 +1,6 @@ { "name": "@tanstack/db-tauri-sqlite-persisted-collection", - "version": "0.1.0", + "version": "0.1.1", "description": "Tauri SQLite persisted collection adapter for TanStack DB", "author": "TanStack Team", "license": "MIT", diff --git a/packages/db/CHANGELOG.md b/packages/db/CHANGELOG.md index 88af48563..fa5ff8187 100644 --- a/packages/db/CHANGELOG.md +++ b/packages/db/CHANGELOG.md @@ -1,5 +1,90 @@ # @tanstack/db +## 0.5.34 + +### Patch Changes + +- Fix BTree index receiving the wrong comparator when a query uses multiple `orderBy` columns. The multi-column array comparator was passed to `ensureIndexForField` to create a single-column index, causing the BTree to treat all indexed values as equal. This collapsed the index to a single entry, making `takeFromStart()` return at most 1 key and breaking live query subscriptions that relied on the index for pagination (e.g. `useLiveInfiniteQuery` with `.orderBy(col1).orderBy(col2).limit(n)`). The fix passes a proper single-column comparator built from the first `orderBy` column's compare options. ([#1401](https://github.com/TanStack/db/pull/1401)) + +- fix(db): preserve null in coalesce() return type when no guaranteed non-null arg is present ([#1342](https://github.com/TanStack/db/pull/1342)) + + `coalesce()` was typed as returning `BasicExpression`, losing all type information. The signature now infers types from all arguments via tuple generics, returns the union of non-null arg types, and only removes nullability when at least one argument is statically guaranteed non-null. + +- fix(db): treat objects with `Symbol.toStringTag` as leaf values in `IsPlainObject` ([#1373](https://github.com/TanStack/db/pull/1373)) + + Temporal types (e.g. `Temporal.PlainDate`, `Temporal.ZonedDateTime`) have `Symbol.toStringTag` set to a string. Previously, `IsPlainObject` would return `true` for these types because they are objects and not in the `JsBuiltIns` union. This caused the `Ref` mapped type to recursively walk Temporal methods, mangling them to `{}`. + + The fix adds a `T extends { readonly [Symbol.toStringTag]: string }` check before returning `true`, causing all class instances with `Symbol.toStringTag` (Temporal types, etc.) to be treated as leaf values with their types fully preserved. + + Fixes #1372 + +- Fix Temporal objects breaking live query updates when used with joins. Temporal objects (e.g. `Temporal.PlainDate`) have no enumerable properties, so the structural hash function produced identical hashes for all Temporal values, causing join index updates to be silently swallowed. Also add Temporal support to value normalization for join key matching and to the comparator for correct sort ordering. ([#1370](https://github.com/TanStack/db/pull/1370)) + +- Fix `loadSubset` dedupe follow-up edge cases and add regression coverage. ([#1352](https://github.com/TanStack/db/pull/1352)) + +- fix: Optimized unmount performance by batching cleanup tasks in a central queue. ([#1326](https://github.com/TanStack/db/pull/1326)) + +- fix: support aggregates (e.g. count) in child/includes subqueries with per-parent scoping ([#1294](https://github.com/TanStack/db/pull/1294)) + +- feat: support parent-referencing WHERE filters in includes child queries ([#1294](https://github.com/TanStack/db/pull/1294)) + +- feat: support for subqueries for including hierarchical data in live queries ([#1294](https://github.com/TanStack/db/pull/1294)) + +- feat: add `toArray()` wrapper for includes subqueries to materialize child results as plain arrays instead of live Collections ([#1294](https://github.com/TanStack/db/pull/1294)) + +- fix: prevent stale query refreshes from overwriting optimistic offline changes on reconnect ([#1390](https://github.com/TanStack/db/pull/1390)) + + When reconnecting with pending offline transactions, query-backed collections now defer processing query refreshes until queued writes finish replaying, avoiding temporary reverts to stale server data. + +- fix(persistence): harden persisted startup, truncate metadata semantics, and resume identity matching ([#1380](https://github.com/TanStack/db/pull/1380)) + - Restore persisted wrapper `markReady` fallback behavior so startup failures do not leave collections stuck in loading state + - Replace load cancellation reference identity tracking with deterministic load keys for `loadSubset` / `unloadSubset` + - Document intentional truncate behavior where collection-scoped metadata writes are preserved across truncate transactions + - Tighten SQLite `applied_tx` migration handling to only ignore duplicate-column add errors + - Stabilize Electric shape identity serialization so persisted resume compatibility does not depend on object key insertion order + +- Implement virtual properties end-to-end, including live query behavior and ([#1213](https://github.com/TanStack/db/pull/1213)) + typing support for virtual metadata on rows. + +- feat(persistence): add SQLite-based offline persistence for collections ([#1358](https://github.com/TanStack/db/pull/1358)) + + Adds a new persistence layer that durably stores collection data in SQLite, enabling applications to survive page reloads and app restarts across browser, Node, mobile, desktop, and edge runtimes. + + **Core persistence (`@tanstack/db-sqlite-persisted-collection-core`)** + - New package providing the shared SQLite persistence runtime: hydration, streaming, transaction tracking, and applied-tx pruning + - SQLite core adapter with full query compilation, index management, and schema migration support + - Portable conformance test contracts for runtime-specific adapters + + **Browser (`@tanstack/db-browser-wa-sqlite-persisted-collection`)** + - New package for browser persistence via wa-sqlite backed by OPFS + - Single-tab persistence with OPFS-based SQLite storage + - `BrowserCollectionCoordinator` for multi-tab leader-election and cross-tab sync + + **Cloudflare Durable Objects (`@tanstack/db-cloudflare-do-sqlite-persisted-collection`)** + - New package for SQLite persistence in Cloudflare Durable Objects runtimes + + **Node (`@tanstack/db-node-sqlite-persisted-collection`)** + - New package for Node persistence via SQLite + + **Electron (`@tanstack/db-electron-sqlite-persisted-collection`)** + - New package providing Electron main and renderer persistence bridge helpers + + **Expo (`@tanstack/db-expo-sqlite-persisted-collection`)** + - New package for Expo persistence via `expo-sqlite` + + **React Native (`@tanstack/db-react-native-sqlite-persisted-collection`)** + - New package for React Native persistence via op-sqlite + - Adapter with transaction deadlock prevention and runtime parity coverage + + **Capacitor (`@tanstack/db-capacitor-sqlite-persisted-collection`)** + - New package for Capacitor persistence via `@capacitor-community/sqlite` + + **Tauri (`@tanstack/db-tauri-sqlite-persisted-collection`)** + - New package for Tauri persistence via `@tauri-apps/plugin-sql` + +- Updated dependencies [[`bb09eb1`](https://github.com/TanStack/db/commit/bb09eb1eecbf680bb95a0bb08639f337e9982043)]: + - @tanstack/db-ivm@0.1.18 + ## 0.5.33 ### Patch Changes diff --git a/packages/db/package.json b/packages/db/package.json index bc5528cae..12d7a4d26 100644 --- a/packages/db/package.json +++ b/packages/db/package.json @@ -1,6 +1,6 @@ { "name": "@tanstack/db", - "version": "0.5.33", + "version": "0.5.34", "description": "A reactive client store for building super fast apps on sync", "author": "Kyle Mathews", "license": "MIT", diff --git a/packages/electric-db-collection/CHANGELOG.md b/packages/electric-db-collection/CHANGELOG.md index b43fde782..96a6be731 100644 --- a/packages/electric-db-collection/CHANGELOG.md +++ b/packages/electric-db-collection/CHANGELOG.md @@ -1,5 +1,21 @@ # @tanstack/electric-db-collection +## 0.2.42 + +### Patch Changes + +- fix(persistence): harden persisted startup, truncate metadata semantics, and resume identity matching ([#1380](https://github.com/TanStack/db/pull/1380)) + - Restore persisted wrapper `markReady` fallback behavior so startup failures do not leave collections stuck in loading state + - Replace load cancellation reference identity tracking with deterministic load keys for `loadSubset` / `unloadSubset` + - Document intentional truncate behavior where collection-scoped metadata writes are preserved across truncate transactions + - Tighten SQLite `applied_tx` migration handling to only ignore duplicate-column add errors + - Stabilize Electric shape identity serialization so persisted resume compatibility does not depend on object key insertion order + +- Update dependencies across workspace to resolve version mismatches: `@electric-sql/client` ^1.5.13, `@tanstack/store` ^0.9.2, `pg` ^8.20.0. Adapt subscription cleanup to `@tanstack/store` 0.9.x API which returns `Subscription` objects instead of unsubscribe functions. ([#1381](https://github.com/TanStack/db/pull/1381)) + +- Updated dependencies [[`f60384b`](https://github.com/TanStack/db/commit/f60384b0fbde019865cbac5a7af341ff8a46d483), [`b8abc02`](https://github.com/TanStack/db/commit/b8abc0230096900746f92c51496489460b4d75e1), [`09c7afc`](https://github.com/TanStack/db/commit/09c7afc47a5ef3f3415ae601b6b00155ab64650b), [`bb09eb1`](https://github.com/TanStack/db/commit/bb09eb1eecbf680bb95a0bb08639f337e9982043), [`179d666`](https://github.com/TanStack/db/commit/179d66685449bcdf9f785c8765bc57cc19c2f7bd), [`43ecbfa`](https://github.com/TanStack/db/commit/43ecbfae5be5e59ffdce6c545d90ca5a810159e6), [`055fd94`](https://github.com/TanStack/db/commit/055fd94bd4654d27d5366af12a90da4c0e670fc0), [`055fd94`](https://github.com/TanStack/db/commit/055fd94bd4654d27d5366af12a90da4c0e670fc0), [`055fd94`](https://github.com/TanStack/db/commit/055fd94bd4654d27d5366af12a90da4c0e670fc0), [`055fd94`](https://github.com/TanStack/db/commit/055fd94bd4654d27d5366af12a90da4c0e670fc0), [`85f5435`](https://github.com/TanStack/db/commit/85f54355a426baefc88ccc55179e0cfcb4dac168), [`e0df07e`](https://github.com/TanStack/db/commit/e0df07e1eb2eefbc829407f337cee1d443a7e9b6), [`9952921`](https://github.com/TanStack/db/commit/9952921e02ed8bca5653f0afa64862fc22ffbf9d), [`d351c67`](https://github.com/TanStack/db/commit/d351c677d687e667450138f66ab3bd0e11e7e347)]: + - @tanstack/db@0.5.34 + ## 0.2.41 ### Patch Changes diff --git a/packages/electric-db-collection/package.json b/packages/electric-db-collection/package.json index 264e6eeb6..a4773caa5 100644 --- a/packages/electric-db-collection/package.json +++ b/packages/electric-db-collection/package.json @@ -1,6 +1,6 @@ { "name": "@tanstack/electric-db-collection", - "version": "0.2.41", + "version": "0.2.42", "description": "ElectricSQL collection for TanStack DB", "author": "Kyle Mathews", "license": "MIT", diff --git a/packages/offline-transactions/CHANGELOG.md b/packages/offline-transactions/CHANGELOG.md index 24425e7ab..0d757fc8c 100644 --- a/packages/offline-transactions/CHANGELOG.md +++ b/packages/offline-transactions/CHANGELOG.md @@ -1,5 +1,16 @@ # @tanstack/offline-transactions +## 1.0.25 + +### Patch Changes + +- fix: prevent stale query refreshes from overwriting optimistic offline changes on reconnect ([#1390](https://github.com/TanStack/db/pull/1390)) + + When reconnecting with pending offline transactions, query-backed collections now defer processing query refreshes until queued writes finish replaying, avoiding temporary reverts to stale server data. + +- Updated dependencies [[`f60384b`](https://github.com/TanStack/db/commit/f60384b0fbde019865cbac5a7af341ff8a46d483), [`b8abc02`](https://github.com/TanStack/db/commit/b8abc0230096900746f92c51496489460b4d75e1), [`09c7afc`](https://github.com/TanStack/db/commit/09c7afc47a5ef3f3415ae601b6b00155ab64650b), [`bb09eb1`](https://github.com/TanStack/db/commit/bb09eb1eecbf680bb95a0bb08639f337e9982043), [`179d666`](https://github.com/TanStack/db/commit/179d66685449bcdf9f785c8765bc57cc19c2f7bd), [`43ecbfa`](https://github.com/TanStack/db/commit/43ecbfae5be5e59ffdce6c545d90ca5a810159e6), [`055fd94`](https://github.com/TanStack/db/commit/055fd94bd4654d27d5366af12a90da4c0e670fc0), [`055fd94`](https://github.com/TanStack/db/commit/055fd94bd4654d27d5366af12a90da4c0e670fc0), [`055fd94`](https://github.com/TanStack/db/commit/055fd94bd4654d27d5366af12a90da4c0e670fc0), [`055fd94`](https://github.com/TanStack/db/commit/055fd94bd4654d27d5366af12a90da4c0e670fc0), [`85f5435`](https://github.com/TanStack/db/commit/85f54355a426baefc88ccc55179e0cfcb4dac168), [`e0df07e`](https://github.com/TanStack/db/commit/e0df07e1eb2eefbc829407f337cee1d443a7e9b6), [`9952921`](https://github.com/TanStack/db/commit/9952921e02ed8bca5653f0afa64862fc22ffbf9d), [`d351c67`](https://github.com/TanStack/db/commit/d351c677d687e667450138f66ab3bd0e11e7e347)]: + - @tanstack/db@0.5.34 + ## 1.0.24 ### Patch Changes diff --git a/packages/offline-transactions/package.json b/packages/offline-transactions/package.json index 689b6f837..e52533b2b 100644 --- a/packages/offline-transactions/package.json +++ b/packages/offline-transactions/package.json @@ -1,6 +1,6 @@ { "name": "@tanstack/offline-transactions", - "version": "1.0.24", + "version": "1.0.25", "description": "Offline-first transaction capabilities for TanStack DB", "author": "TanStack", "license": "MIT", diff --git a/packages/powersync-db-collection/CHANGELOG.md b/packages/powersync-db-collection/CHANGELOG.md index cc483f6f6..c5f24d4ca 100644 --- a/packages/powersync-db-collection/CHANGELOG.md +++ b/packages/powersync-db-collection/CHANGELOG.md @@ -1,5 +1,16 @@ # @tanstack/powersync-db-collection +## 0.1.38 + +### Patch Changes + +- Added 'on-demand' `syncMode` option which makes the collection work with a query-driven sync approach. ([#1356](https://github.com/TanStack/db/pull/1356)) + +- Update dependencies across workspace to resolve version mismatches: `@electric-sql/client` ^1.5.13, `@tanstack/store` ^0.9.2, `pg` ^8.20.0. Adapt subscription cleanup to `@tanstack/store` 0.9.x API which returns `Subscription` objects instead of unsubscribe functions. ([#1381](https://github.com/TanStack/db/pull/1381)) + +- Updated dependencies [[`f60384b`](https://github.com/TanStack/db/commit/f60384b0fbde019865cbac5a7af341ff8a46d483), [`b8abc02`](https://github.com/TanStack/db/commit/b8abc0230096900746f92c51496489460b4d75e1), [`09c7afc`](https://github.com/TanStack/db/commit/09c7afc47a5ef3f3415ae601b6b00155ab64650b), [`bb09eb1`](https://github.com/TanStack/db/commit/bb09eb1eecbf680bb95a0bb08639f337e9982043), [`179d666`](https://github.com/TanStack/db/commit/179d66685449bcdf9f785c8765bc57cc19c2f7bd), [`43ecbfa`](https://github.com/TanStack/db/commit/43ecbfae5be5e59ffdce6c545d90ca5a810159e6), [`055fd94`](https://github.com/TanStack/db/commit/055fd94bd4654d27d5366af12a90da4c0e670fc0), [`055fd94`](https://github.com/TanStack/db/commit/055fd94bd4654d27d5366af12a90da4c0e670fc0), [`055fd94`](https://github.com/TanStack/db/commit/055fd94bd4654d27d5366af12a90da4c0e670fc0), [`055fd94`](https://github.com/TanStack/db/commit/055fd94bd4654d27d5366af12a90da4c0e670fc0), [`85f5435`](https://github.com/TanStack/db/commit/85f54355a426baefc88ccc55179e0cfcb4dac168), [`e0df07e`](https://github.com/TanStack/db/commit/e0df07e1eb2eefbc829407f337cee1d443a7e9b6), [`9952921`](https://github.com/TanStack/db/commit/9952921e02ed8bca5653f0afa64862fc22ffbf9d), [`d351c67`](https://github.com/TanStack/db/commit/d351c677d687e667450138f66ab3bd0e11e7e347)]: + - @tanstack/db@0.5.34 + ## 0.1.37 ### Patch Changes diff --git a/packages/powersync-db-collection/package.json b/packages/powersync-db-collection/package.json index fe88b218f..d380f2011 100644 --- a/packages/powersync-db-collection/package.json +++ b/packages/powersync-db-collection/package.json @@ -1,6 +1,6 @@ { "name": "@tanstack/powersync-db-collection", - "version": "0.1.37", + "version": "0.1.38", "description": "PowerSync collection for TanStack DB", "author": "POWERSYNC", "license": "MIT", diff --git a/packages/query-db-collection/CHANGELOG.md b/packages/query-db-collection/CHANGELOG.md index 84dee484a..8c4a69f99 100644 --- a/packages/query-db-collection/CHANGELOG.md +++ b/packages/query-db-collection/CHANGELOG.md @@ -1,5 +1,18 @@ # @tanstack/query-db-collection +## 1.0.31 + +### Patch Changes + +- fix: prevent stale query refreshes from overwriting optimistic offline changes on reconnect ([#1390](https://github.com/TanStack/db/pull/1390)) + + When reconnecting with pending offline transactions, query-backed collections now defer processing query refreshes until queued writes finish replaying, avoiding temporary reverts to stale server data. + +- fix: Prevent stale query cache from re-inserting deleted items when a destroyed observer is recreated with gcTime > 0. ([#1387](https://github.com/TanStack/db/pull/1387)) + +- Updated dependencies [[`f60384b`](https://github.com/TanStack/db/commit/f60384b0fbde019865cbac5a7af341ff8a46d483), [`b8abc02`](https://github.com/TanStack/db/commit/b8abc0230096900746f92c51496489460b4d75e1), [`09c7afc`](https://github.com/TanStack/db/commit/09c7afc47a5ef3f3415ae601b6b00155ab64650b), [`bb09eb1`](https://github.com/TanStack/db/commit/bb09eb1eecbf680bb95a0bb08639f337e9982043), [`179d666`](https://github.com/TanStack/db/commit/179d66685449bcdf9f785c8765bc57cc19c2f7bd), [`43ecbfa`](https://github.com/TanStack/db/commit/43ecbfae5be5e59ffdce6c545d90ca5a810159e6), [`055fd94`](https://github.com/TanStack/db/commit/055fd94bd4654d27d5366af12a90da4c0e670fc0), [`055fd94`](https://github.com/TanStack/db/commit/055fd94bd4654d27d5366af12a90da4c0e670fc0), [`055fd94`](https://github.com/TanStack/db/commit/055fd94bd4654d27d5366af12a90da4c0e670fc0), [`055fd94`](https://github.com/TanStack/db/commit/055fd94bd4654d27d5366af12a90da4c0e670fc0), [`85f5435`](https://github.com/TanStack/db/commit/85f54355a426baefc88ccc55179e0cfcb4dac168), [`e0df07e`](https://github.com/TanStack/db/commit/e0df07e1eb2eefbc829407f337cee1d443a7e9b6), [`9952921`](https://github.com/TanStack/db/commit/9952921e02ed8bca5653f0afa64862fc22ffbf9d), [`d351c67`](https://github.com/TanStack/db/commit/d351c677d687e667450138f66ab3bd0e11e7e347)]: + - @tanstack/db@0.5.34 + ## 1.0.30 ### Patch Changes diff --git a/packages/query-db-collection/package.json b/packages/query-db-collection/package.json index 87da1ac72..7e3e41d21 100644 --- a/packages/query-db-collection/package.json +++ b/packages/query-db-collection/package.json @@ -1,6 +1,6 @@ { "name": "@tanstack/query-db-collection", - "version": "1.0.30", + "version": "1.0.31", "description": "TanStack Query collection for TanStack DB", "author": "Kyle Mathews", "license": "MIT", diff --git a/packages/react-db/CHANGELOG.md b/packages/react-db/CHANGELOG.md index 8944dd25d..c65a19bc9 100644 --- a/packages/react-db/CHANGELOG.md +++ b/packages/react-db/CHANGELOG.md @@ -1,5 +1,14 @@ # @tanstack/react-db +## 0.1.78 + +### Patch Changes + +- Update dependencies across workspace to resolve version mismatches: `@electric-sql/client` ^1.5.13, `@tanstack/store` ^0.9.2, `pg` ^8.20.0. Adapt subscription cleanup to `@tanstack/store` 0.9.x API which returns `Subscription` objects instead of unsubscribe functions. ([#1381](https://github.com/TanStack/db/pull/1381)) + +- Updated dependencies [[`f60384b`](https://github.com/TanStack/db/commit/f60384b0fbde019865cbac5a7af341ff8a46d483), [`b8abc02`](https://github.com/TanStack/db/commit/b8abc0230096900746f92c51496489460b4d75e1), [`09c7afc`](https://github.com/TanStack/db/commit/09c7afc47a5ef3f3415ae601b6b00155ab64650b), [`bb09eb1`](https://github.com/TanStack/db/commit/bb09eb1eecbf680bb95a0bb08639f337e9982043), [`179d666`](https://github.com/TanStack/db/commit/179d66685449bcdf9f785c8765bc57cc19c2f7bd), [`43ecbfa`](https://github.com/TanStack/db/commit/43ecbfae5be5e59ffdce6c545d90ca5a810159e6), [`055fd94`](https://github.com/TanStack/db/commit/055fd94bd4654d27d5366af12a90da4c0e670fc0), [`055fd94`](https://github.com/TanStack/db/commit/055fd94bd4654d27d5366af12a90da4c0e670fc0), [`055fd94`](https://github.com/TanStack/db/commit/055fd94bd4654d27d5366af12a90da4c0e670fc0), [`055fd94`](https://github.com/TanStack/db/commit/055fd94bd4654d27d5366af12a90da4c0e670fc0), [`85f5435`](https://github.com/TanStack/db/commit/85f54355a426baefc88ccc55179e0cfcb4dac168), [`e0df07e`](https://github.com/TanStack/db/commit/e0df07e1eb2eefbc829407f337cee1d443a7e9b6), [`9952921`](https://github.com/TanStack/db/commit/9952921e02ed8bca5653f0afa64862fc22ffbf9d), [`d351c67`](https://github.com/TanStack/db/commit/d351c677d687e667450138f66ab3bd0e11e7e347)]: + - @tanstack/db@0.5.34 + ## 0.1.77 ### Patch Changes diff --git a/packages/react-db/package.json b/packages/react-db/package.json index 3a957cf2d..9af037fc6 100644 --- a/packages/react-db/package.json +++ b/packages/react-db/package.json @@ -1,6 +1,6 @@ { "name": "@tanstack/react-db", - "version": "0.1.77", + "version": "0.1.78", "description": "React integration for @tanstack/db", "author": "Kyle Mathews", "license": "MIT", diff --git a/packages/rxdb-db-collection/CHANGELOG.md b/packages/rxdb-db-collection/CHANGELOG.md index 1ffa2a101..5f900b151 100644 --- a/packages/rxdb-db-collection/CHANGELOG.md +++ b/packages/rxdb-db-collection/CHANGELOG.md @@ -1,5 +1,14 @@ # @tanstack/rxdb-db-collection +## 0.1.66 + +### Patch Changes + +- Update dependencies across workspace to resolve version mismatches: `@electric-sql/client` ^1.5.13, `@tanstack/store` ^0.9.2, `pg` ^8.20.0. Adapt subscription cleanup to `@tanstack/store` 0.9.x API which returns `Subscription` objects instead of unsubscribe functions. ([#1381](https://github.com/TanStack/db/pull/1381)) + +- Updated dependencies [[`f60384b`](https://github.com/TanStack/db/commit/f60384b0fbde019865cbac5a7af341ff8a46d483), [`b8abc02`](https://github.com/TanStack/db/commit/b8abc0230096900746f92c51496489460b4d75e1), [`09c7afc`](https://github.com/TanStack/db/commit/09c7afc47a5ef3f3415ae601b6b00155ab64650b), [`bb09eb1`](https://github.com/TanStack/db/commit/bb09eb1eecbf680bb95a0bb08639f337e9982043), [`179d666`](https://github.com/TanStack/db/commit/179d66685449bcdf9f785c8765bc57cc19c2f7bd), [`43ecbfa`](https://github.com/TanStack/db/commit/43ecbfae5be5e59ffdce6c545d90ca5a810159e6), [`055fd94`](https://github.com/TanStack/db/commit/055fd94bd4654d27d5366af12a90da4c0e670fc0), [`055fd94`](https://github.com/TanStack/db/commit/055fd94bd4654d27d5366af12a90da4c0e670fc0), [`055fd94`](https://github.com/TanStack/db/commit/055fd94bd4654d27d5366af12a90da4c0e670fc0), [`055fd94`](https://github.com/TanStack/db/commit/055fd94bd4654d27d5366af12a90da4c0e670fc0), [`85f5435`](https://github.com/TanStack/db/commit/85f54355a426baefc88ccc55179e0cfcb4dac168), [`e0df07e`](https://github.com/TanStack/db/commit/e0df07e1eb2eefbc829407f337cee1d443a7e9b6), [`9952921`](https://github.com/TanStack/db/commit/9952921e02ed8bca5653f0afa64862fc22ffbf9d), [`d351c67`](https://github.com/TanStack/db/commit/d351c677d687e667450138f66ab3bd0e11e7e347)]: + - @tanstack/db@0.5.34 + ## 0.1.65 ### Patch Changes diff --git a/packages/rxdb-db-collection/package.json b/packages/rxdb-db-collection/package.json index 1d99a6c5c..1b053d452 100644 --- a/packages/rxdb-db-collection/package.json +++ b/packages/rxdb-db-collection/package.json @@ -1,6 +1,6 @@ { "name": "@tanstack/rxdb-db-collection", - "version": "0.1.65", + "version": "0.1.66", "description": "Reactive, Offline-First adapter for TanStack DB using RxDB. Sync, Replication and Local-First support.", "author": "Kyle Mathews", "license": "MIT", diff --git a/packages/solid-db/CHANGELOG.md b/packages/solid-db/CHANGELOG.md index 4b4a0c37e..1915305d6 100644 --- a/packages/solid-db/CHANGELOG.md +++ b/packages/solid-db/CHANGELOG.md @@ -1,5 +1,14 @@ # @tanstack/react-db +## 0.2.14 + +### Patch Changes + +- Update dependencies across workspace to resolve version mismatches: `@electric-sql/client` ^1.5.13, `@tanstack/store` ^0.9.2, `pg` ^8.20.0. Adapt subscription cleanup to `@tanstack/store` 0.9.x API which returns `Subscription` objects instead of unsubscribe functions. ([#1381](https://github.com/TanStack/db/pull/1381)) + +- Updated dependencies [[`f60384b`](https://github.com/TanStack/db/commit/f60384b0fbde019865cbac5a7af341ff8a46d483), [`b8abc02`](https://github.com/TanStack/db/commit/b8abc0230096900746f92c51496489460b4d75e1), [`09c7afc`](https://github.com/TanStack/db/commit/09c7afc47a5ef3f3415ae601b6b00155ab64650b), [`bb09eb1`](https://github.com/TanStack/db/commit/bb09eb1eecbf680bb95a0bb08639f337e9982043), [`179d666`](https://github.com/TanStack/db/commit/179d66685449bcdf9f785c8765bc57cc19c2f7bd), [`43ecbfa`](https://github.com/TanStack/db/commit/43ecbfae5be5e59ffdce6c545d90ca5a810159e6), [`055fd94`](https://github.com/TanStack/db/commit/055fd94bd4654d27d5366af12a90da4c0e670fc0), [`055fd94`](https://github.com/TanStack/db/commit/055fd94bd4654d27d5366af12a90da4c0e670fc0), [`055fd94`](https://github.com/TanStack/db/commit/055fd94bd4654d27d5366af12a90da4c0e670fc0), [`055fd94`](https://github.com/TanStack/db/commit/055fd94bd4654d27d5366af12a90da4c0e670fc0), [`85f5435`](https://github.com/TanStack/db/commit/85f54355a426baefc88ccc55179e0cfcb4dac168), [`e0df07e`](https://github.com/TanStack/db/commit/e0df07e1eb2eefbc829407f337cee1d443a7e9b6), [`9952921`](https://github.com/TanStack/db/commit/9952921e02ed8bca5653f0afa64862fc22ffbf9d), [`d351c67`](https://github.com/TanStack/db/commit/d351c677d687e667450138f66ab3bd0e11e7e347)]: + - @tanstack/db@0.5.34 + ## 0.2.13 ### Patch Changes diff --git a/packages/solid-db/package.json b/packages/solid-db/package.json index 81597f252..4e5b1e35a 100644 --- a/packages/solid-db/package.json +++ b/packages/solid-db/package.json @@ -1,6 +1,6 @@ { "name": "@tanstack/solid-db", - "version": "0.2.13", + "version": "0.2.14", "description": "Solid integration for @tanstack/db", "author": "Kyle Mathews", "license": "MIT", diff --git a/packages/svelte-db/CHANGELOG.md b/packages/svelte-db/CHANGELOG.md index bf9524c01..3d8f5839b 100644 --- a/packages/svelte-db/CHANGELOG.md +++ b/packages/svelte-db/CHANGELOG.md @@ -1,5 +1,12 @@ # @tanstack/svelte-db +## 0.1.77 + +### Patch Changes + +- Updated dependencies [[`f60384b`](https://github.com/TanStack/db/commit/f60384b0fbde019865cbac5a7af341ff8a46d483), [`b8abc02`](https://github.com/TanStack/db/commit/b8abc0230096900746f92c51496489460b4d75e1), [`09c7afc`](https://github.com/TanStack/db/commit/09c7afc47a5ef3f3415ae601b6b00155ab64650b), [`bb09eb1`](https://github.com/TanStack/db/commit/bb09eb1eecbf680bb95a0bb08639f337e9982043), [`179d666`](https://github.com/TanStack/db/commit/179d66685449bcdf9f785c8765bc57cc19c2f7bd), [`43ecbfa`](https://github.com/TanStack/db/commit/43ecbfae5be5e59ffdce6c545d90ca5a810159e6), [`055fd94`](https://github.com/TanStack/db/commit/055fd94bd4654d27d5366af12a90da4c0e670fc0), [`055fd94`](https://github.com/TanStack/db/commit/055fd94bd4654d27d5366af12a90da4c0e670fc0), [`055fd94`](https://github.com/TanStack/db/commit/055fd94bd4654d27d5366af12a90da4c0e670fc0), [`055fd94`](https://github.com/TanStack/db/commit/055fd94bd4654d27d5366af12a90da4c0e670fc0), [`85f5435`](https://github.com/TanStack/db/commit/85f54355a426baefc88ccc55179e0cfcb4dac168), [`e0df07e`](https://github.com/TanStack/db/commit/e0df07e1eb2eefbc829407f337cee1d443a7e9b6), [`9952921`](https://github.com/TanStack/db/commit/9952921e02ed8bca5653f0afa64862fc22ffbf9d), [`d351c67`](https://github.com/TanStack/db/commit/d351c677d687e667450138f66ab3bd0e11e7e347)]: + - @tanstack/db@0.5.34 + ## 0.1.76 ### Patch Changes diff --git a/packages/svelte-db/package.json b/packages/svelte-db/package.json index 16a3a2dcf..5156771e0 100644 --- a/packages/svelte-db/package.json +++ b/packages/svelte-db/package.json @@ -1,6 +1,6 @@ { "name": "@tanstack/svelte-db", - "version": "0.1.76", + "version": "0.1.77", "description": "Svelte integration for @tanstack/db", "author": "Kyle Mathews", "license": "MIT", diff --git a/packages/trailbase-db-collection/CHANGELOG.md b/packages/trailbase-db-collection/CHANGELOG.md index f086b257e..0148c314c 100644 --- a/packages/trailbase-db-collection/CHANGELOG.md +++ b/packages/trailbase-db-collection/CHANGELOG.md @@ -1,5 +1,20 @@ # @tanstack/trailbase-db-collection +## 0.1.78 + +### Patch Changes + +- Add TrailBase `syncMode` support and end-to-end coverage for eager and on-demand collection syncing. ([#1098](https://github.com/TanStack/db/pull/1098)) + +- Add a wider range of subset queries for TrailBase integration, including pagination, ordering, and basic `where` support. ([#1101](https://github.com/TanStack/db/pull/1101)) + +- Update dependencies across workspace to resolve version mismatches: `@electric-sql/client` ^1.5.13, `@tanstack/store` ^0.9.2, `pg` ^8.20.0. Adapt subscription cleanup to `@tanstack/store` 0.9.x API which returns `Subscription` objects instead of unsubscribe functions. ([#1381](https://github.com/TanStack/db/pull/1381)) + +- Update TrailBase's client to v0.10 and lock-down server version for e2e tests. ([#1398](https://github.com/TanStack/db/pull/1398)) + +- Updated dependencies [[`f60384b`](https://github.com/TanStack/db/commit/f60384b0fbde019865cbac5a7af341ff8a46d483), [`b8abc02`](https://github.com/TanStack/db/commit/b8abc0230096900746f92c51496489460b4d75e1), [`09c7afc`](https://github.com/TanStack/db/commit/09c7afc47a5ef3f3415ae601b6b00155ab64650b), [`bb09eb1`](https://github.com/TanStack/db/commit/bb09eb1eecbf680bb95a0bb08639f337e9982043), [`179d666`](https://github.com/TanStack/db/commit/179d66685449bcdf9f785c8765bc57cc19c2f7bd), [`43ecbfa`](https://github.com/TanStack/db/commit/43ecbfae5be5e59ffdce6c545d90ca5a810159e6), [`055fd94`](https://github.com/TanStack/db/commit/055fd94bd4654d27d5366af12a90da4c0e670fc0), [`055fd94`](https://github.com/TanStack/db/commit/055fd94bd4654d27d5366af12a90da4c0e670fc0), [`055fd94`](https://github.com/TanStack/db/commit/055fd94bd4654d27d5366af12a90da4c0e670fc0), [`055fd94`](https://github.com/TanStack/db/commit/055fd94bd4654d27d5366af12a90da4c0e670fc0), [`85f5435`](https://github.com/TanStack/db/commit/85f54355a426baefc88ccc55179e0cfcb4dac168), [`e0df07e`](https://github.com/TanStack/db/commit/e0df07e1eb2eefbc829407f337cee1d443a7e9b6), [`9952921`](https://github.com/TanStack/db/commit/9952921e02ed8bca5653f0afa64862fc22ffbf9d), [`d351c67`](https://github.com/TanStack/db/commit/d351c677d687e667450138f66ab3bd0e11e7e347)]: + - @tanstack/db@0.5.34 + ## 0.1.77 ### Patch Changes diff --git a/packages/trailbase-db-collection/package.json b/packages/trailbase-db-collection/package.json index dda793e70..76ea60068 100644 --- a/packages/trailbase-db-collection/package.json +++ b/packages/trailbase-db-collection/package.json @@ -1,6 +1,6 @@ { "name": "@tanstack/trailbase-db-collection", - "version": "0.1.77", + "version": "0.1.78", "description": "TrailBase collection for TanStack DB", "author": "Sebastian Jeltsch", "license": "MIT", diff --git a/packages/vue-db/CHANGELOG.md b/packages/vue-db/CHANGELOG.md index b6203062e..59a4d4aa9 100644 --- a/packages/vue-db/CHANGELOG.md +++ b/packages/vue-db/CHANGELOG.md @@ -1,5 +1,14 @@ # @tanstack/vue-db +## 0.0.111 + +### Patch Changes + +- Update dependencies across workspace to resolve version mismatches: `@electric-sql/client` ^1.5.13, `@tanstack/store` ^0.9.2, `pg` ^8.20.0. Adapt subscription cleanup to `@tanstack/store` 0.9.x API which returns `Subscription` objects instead of unsubscribe functions. ([#1381](https://github.com/TanStack/db/pull/1381)) + +- Updated dependencies [[`f60384b`](https://github.com/TanStack/db/commit/f60384b0fbde019865cbac5a7af341ff8a46d483), [`b8abc02`](https://github.com/TanStack/db/commit/b8abc0230096900746f92c51496489460b4d75e1), [`09c7afc`](https://github.com/TanStack/db/commit/09c7afc47a5ef3f3415ae601b6b00155ab64650b), [`bb09eb1`](https://github.com/TanStack/db/commit/bb09eb1eecbf680bb95a0bb08639f337e9982043), [`179d666`](https://github.com/TanStack/db/commit/179d66685449bcdf9f785c8765bc57cc19c2f7bd), [`43ecbfa`](https://github.com/TanStack/db/commit/43ecbfae5be5e59ffdce6c545d90ca5a810159e6), [`055fd94`](https://github.com/TanStack/db/commit/055fd94bd4654d27d5366af12a90da4c0e670fc0), [`055fd94`](https://github.com/TanStack/db/commit/055fd94bd4654d27d5366af12a90da4c0e670fc0), [`055fd94`](https://github.com/TanStack/db/commit/055fd94bd4654d27d5366af12a90da4c0e670fc0), [`055fd94`](https://github.com/TanStack/db/commit/055fd94bd4654d27d5366af12a90da4c0e670fc0), [`85f5435`](https://github.com/TanStack/db/commit/85f54355a426baefc88ccc55179e0cfcb4dac168), [`e0df07e`](https://github.com/TanStack/db/commit/e0df07e1eb2eefbc829407f337cee1d443a7e9b6), [`9952921`](https://github.com/TanStack/db/commit/9952921e02ed8bca5653f0afa64862fc22ffbf9d), [`d351c67`](https://github.com/TanStack/db/commit/d351c677d687e667450138f66ab3bd0e11e7e347)]: + - @tanstack/db@0.5.34 + ## 0.0.110 ### Patch Changes diff --git a/packages/vue-db/package.json b/packages/vue-db/package.json index 423093f73..a96ba97d3 100644 --- a/packages/vue-db/package.json +++ b/packages/vue-db/package.json @@ -1,6 +1,6 @@ { "name": "@tanstack/vue-db", - "version": "0.0.110", + "version": "0.0.111", "description": "Vue integration for @tanstack/db", "author": "Kyle Mathews", "license": "MIT", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index b84a83ad1..2f5d60d14 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -135,10 +135,10 @@ importers: specifier: ^20.3.16 version: 20.3.17(@angular/common@20.3.17(@angular/core@20.3.17(@angular/compiler@20.3.17)(rxjs@7.8.2)(zone.js@0.15.1))(rxjs@7.8.2))(@angular/core@20.3.17(@angular/compiler@20.3.17)(rxjs@7.8.2)(zone.js@0.15.1))(@angular/platform-browser@20.3.17(@angular/common@20.3.17(@angular/core@20.3.17(@angular/compiler@20.3.17)(rxjs@7.8.2)(zone.js@0.15.1))(rxjs@7.8.2))(@angular/core@20.3.17(@angular/compiler@20.3.17)(rxjs@7.8.2)(zone.js@0.15.1)))(rxjs@7.8.2) '@tanstack/angular-db': - specifier: ^0.1.59 + specifier: ^0.1.60 version: link:../../../packages/angular-db '@tanstack/db': - specifier: ^0.5.33 + specifier: ^0.5.34 version: link:../../../packages/db rxjs: specifier: ^7.8.2 @@ -196,19 +196,19 @@ importers: examples/electron/offline-first: dependencies: '@tanstack/db-electron-sqlite-persisted-collection': - specifier: workspace:* + specifier: ^0.1.1 version: link:../../../packages/db-electron-sqlite-persisted-collection '@tanstack/db-node-sqlite-persisted-collection': - specifier: workspace:* + specifier: ^0.1.1 version: link:../../../packages/db-node-sqlite-persisted-collection '@tanstack/offline-transactions': - specifier: workspace:* + specifier: ^1.0.25 version: link:../../../packages/offline-transactions '@tanstack/query-db-collection': - specifier: workspace:* + specifier: ^1.0.31 version: link:../../../packages/query-db-collection '@tanstack/react-db': - specifier: workspace:* + specifier: ^0.1.78 version: link:../../../packages/react-db '@tanstack/react-query': specifier: ^5.90.20 @@ -287,19 +287,19 @@ importers: specifier: 11.4.1 version: 11.4.1(react-native@0.79.6(@babel/core@7.29.0)(@types/react@19.2.14)(react@19.0.0)) '@tanstack/db': - specifier: workspace:* + specifier: ^0.5.34 version: link:../../../packages/db '@tanstack/db-react-native-sqlite-persisted-collection': - specifier: workspace:* + specifier: ^0.1.1 version: link:../../../packages/db-react-native-sqlite-persisted-collection '@tanstack/offline-transactions': - specifier: ^1.0.24 + specifier: ^1.0.25 version: link:../../../packages/offline-transactions '@tanstack/query-db-collection': - specifier: ^1.0.30 + specifier: ^1.0.31 version: link:../../../packages/query-db-collection '@tanstack/react-db': - specifier: ^0.1.77 + specifier: ^0.1.78 version: link:../../../packages/react-db '@tanstack/react-query': specifier: ^5.90.20 @@ -366,19 +366,19 @@ importers: examples/react/offline-transactions: dependencies: '@tanstack/db': - specifier: workspace:* + specifier: ^0.5.34 version: link:../../../packages/db '@tanstack/db-browser-wa-sqlite-persisted-collection': - specifier: workspace:* + specifier: ^0.1.1 version: link:../../../packages/db-browser-wa-sqlite-persisted-collection '@tanstack/offline-transactions': - specifier: ^1.0.24 + specifier: ^1.0.25 version: link:../../../packages/offline-transactions '@tanstack/query-db-collection': - specifier: ^1.0.30 + specifier: ^1.0.31 version: link:../../../packages/query-db-collection '@tanstack/react-db': - specifier: ^0.1.77 + specifier: ^0.1.78 version: link:../../../packages/react-db '@tanstack/react-query': specifier: ^5.90.20 @@ -439,10 +439,10 @@ importers: examples/react/paced-mutations-demo: dependencies: '@tanstack/db': - specifier: ^0.5.33 + specifier: ^0.5.34 version: link:../../../packages/db '@tanstack/react-db': - specifier: ^0.1.77 + specifier: ^0.1.78 version: link:../../../packages/react-db mitt: specifier: ^3.0.1 @@ -479,10 +479,10 @@ importers: specifier: ^5.90.20 version: 5.90.20 '@tanstack/query-db-collection': - specifier: ^1.0.30 + specifier: ^1.0.31 version: link:../../../packages/query-db-collection '@tanstack/react-db': - specifier: ^0.1.77 + specifier: ^0.1.78 version: link:../../../packages/react-db '@tanstack/react-router': specifier: ^1.159.5 @@ -612,16 +612,16 @@ importers: examples/react/todo: dependencies: '@tanstack/electric-db-collection': - specifier: ^0.2.41 + specifier: ^0.2.42 version: link:../../../packages/electric-db-collection '@tanstack/query-core': specifier: ^5.90.20 version: 5.90.20 '@tanstack/query-db-collection': - specifier: ^1.0.30 + specifier: ^1.0.31 version: link:../../../packages/query-db-collection '@tanstack/react-db': - specifier: ^0.1.77 + specifier: ^0.1.78 version: link:../../../packages/react-db '@tanstack/react-router': specifier: ^1.159.5 @@ -630,7 +630,7 @@ importers: specifier: ^1.159.5 version: 1.163.5(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(vite-plugin-solid@2.11.10(@testing-library/jest-dom@6.9.1)(solid-js@1.9.11)(vite@7.3.1(@types/node@25.2.2)(jiti@2.6.1)(lightningcss@1.31.1)(sass@1.90.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.1)))(vite@7.3.1(@types/node@25.2.2)(jiti@2.6.1)(lightningcss@1.31.1)(sass@1.90.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.1)) '@tanstack/trailbase-db-collection': - specifier: ^0.1.77 + specifier: ^0.1.78 version: link:../../../packages/trailbase-db-collection cors: specifier: ^2.8.6 @@ -733,16 +733,16 @@ importers: examples/solid/todo: dependencies: '@tanstack/electric-db-collection': - specifier: ^0.2.41 + specifier: ^0.2.42 version: link:../../../packages/electric-db-collection '@tanstack/query-core': specifier: ^5.90.20 version: 5.90.20 '@tanstack/query-db-collection': - specifier: ^1.0.30 + specifier: ^1.0.31 version: link:../../../packages/query-db-collection '@tanstack/solid-db': - specifier: ^0.2.13 + specifier: ^0.2.14 version: link:../../../packages/solid-db '@tanstack/solid-router': specifier: ^1.159.5 @@ -751,7 +751,7 @@ importers: specifier: ^1.159.5 version: 1.163.5(@tanstack/react-router@1.163.3(react-dom@19.2.4(react@19.2.4))(react@19.2.4))(solid-js@1.9.11)(vite-plugin-solid@2.11.10(@testing-library/jest-dom@6.9.1)(solid-js@1.9.11)(vite@7.3.1(@types/node@25.2.2)(jiti@2.6.1)(lightningcss@1.31.1)(sass@1.90.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.1)))(vite@7.3.1(@types/node@25.2.2)(jiti@2.6.1)(lightningcss@1.31.1)(sass@1.90.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.1)) '@tanstack/trailbase-db-collection': - specifier: ^0.1.77 + specifier: ^0.1.78 version: link:../../../packages/trailbase-db-collection cors: specifier: ^2.8.6