diff --git a/.changeset/chilly-parts-rush.md b/.changeset/chilly-parts-rush.md deleted file mode 100644 index 39ea6f7a08..0000000000 --- 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 ff6a61c314..0000000000 --- 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 f52b10f2d2..0000000000 --- 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-solid-db-findone.md b/.changeset/fix-solid-db-findone.md deleted file mode 100644 index 2c6bc42812..0000000000 --- a/.changeset/fix-solid-db-findone.md +++ /dev/null @@ -1,9 +0,0 @@ ---- -'@tanstack/solid-db': patch ---- - -fix(solid-db): support findOne in useLiveQuery - -`useLiveQuery` with `.findOne()` returned an array instead of a single object. Updated type overloads to use `InferResultType` so findOne queries return `T | undefined`, and added a runtime `singleResult` check to return the first element instead of the full array. - -Fixes #1399 diff --git a/.changeset/fix-temporal-isplainobject.md b/.changeset/fix-temporal-isplainobject.md deleted file mode 100644 index 19f2f12f6e..0000000000 --- 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 3b8e13b453..0000000000 --- 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 9dcabc55a3..0000000000 --- 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 3f822b5a9e..0000000000 --- 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 5c12e70c77..0000000000 --- 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 c846a6a60c..0000000000 --- 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 78d209ad55..0000000000 --- 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 950d94d522..0000000000 --- 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 fd59eaea3d..0000000000 --- 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 7136baf786..0000000000 --- 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 624ca768c6..0000000000 --- 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/optional-indexing.md b/.changeset/optional-indexing.md deleted file mode 100644 index 2e72f3d92e..0000000000 --- a/.changeset/optional-indexing.md +++ /dev/null @@ -1,66 +0,0 @@ ---- -'@tanstack/db': minor ---- - -Make indexing explicit with two index types for different use cases - -**Breaking Changes:** - -- `autoIndex` now defaults to `off` instead of `eager` -- `BTreeIndex` is no longer exported from `@tanstack/db` main entry point -- To use `createIndex()` or `autoIndex: 'eager'`, you must set `defaultIndexType` on the collection - -**Changes:** - -- New `@tanstack/db/indexing` entry point for tree-shakeable indexing -- **BasicIndex** - Lightweight index using Map + sorted Array for both equality and range queries (`eq`, `in`, `gt`, `gte`, `lt`, `lte`). O(n) updates but fast reads. -- **BTreeIndex** - Full-featured index with O(log n) updates and sorted iteration for ORDER BY optimization on large collections (10k+ items) -- Dev mode suggestions (ON by default) warn when indexes would help - -**Migration:** - -If you were relying on auto-indexing, set `defaultIndexType` on your collections: - -1. **Lightweight indexing** (good for most use cases): - -```ts -import { BasicIndex } from '@tanstack/db/indexing' - -const collection = createCollection({ - defaultIndexType: BasicIndex, - autoIndex: 'eager', - // ... -}) -``` - -2. **Full BTree indexing** (for ORDER BY optimization on large collections): - -```ts -import { BTreeIndex } from '@tanstack/db/indexing' - -const collection = createCollection({ - defaultIndexType: BTreeIndex, - autoIndex: 'eager', - // ... -}) -``` - -3. **Per-index explicit type** (mix index types): - -```ts -import { BasicIndex, BTreeIndex } from '@tanstack/db/indexing' - -const collection = createCollection({ - defaultIndexType: BasicIndex, // Default for createIndex() - // ... -}) - -// Override for specific indexes -collection.createIndex((row) => row.date, { indexType: BTreeIndex }) -``` - -**Bundle Size Impact:** - -- No indexing: ~30% smaller bundle -- BasicIndex: ~5 KB (~1.3 KB gzipped) -- BTreeIndex: ~33 KB (~7.8 KB gzipped) diff --git a/.changeset/persisted-metadata-followups.md b/.changeset/persisted-metadata-followups.md deleted file mode 100644 index f48f322a54..0000000000 --- a/.changeset/persisted-metadata-followups.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -'@tanstack/db': patch -'@tanstack/db-sqlite-persistence-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 ec90e87ad1..0000000000 --- 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/small-mice-fold.md b/.changeset/small-mice-fold.md deleted file mode 100644 index 61b875e861..0000000000 --- a/.changeset/small-mice-fold.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -'@tanstack/query-db-collection': patch ---- - -fix: default persisted query retention to gcTime when omitted - -When `persistedGcTime` is not provided, query collections now use the query's effective `gcTime` as the persisted retention TTL. This prevents unexpectedly early cleanup of persisted rows. diff --git a/.changeset/sqlite-persistence.md b/.changeset/sqlite-persistence.md deleted file mode 100644 index e3fb13cb2c..0000000000 --- a/.changeset/sqlite-persistence.md +++ /dev/null @@ -1,57 +0,0 @@ ---- -'@tanstack/db': patch -'@tanstack/db-sqlite-persistence-core': patch -'@tanstack/browser-db-sqlite-persistence': patch -'@tanstack/cloudflare-durable-objects-db-sqlite-persistence': patch -'@tanstack/node-db-sqlite-persistence': patch -'@tanstack/electron-db-sqlite-persistence': patch -'@tanstack/expo-db-sqlite-persistence': patch -'@tanstack/react-native-db-sqlite-persistence': patch -'@tanstack/capacitor-db-sqlite-persistence': patch -'@tanstack/tauri-db-sqlite-persistence': 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-persistence-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/browser-db-sqlite-persistence`)** - -- 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/cloudflare-durable-objects-db-sqlite-persistence`)** - -- New package for SQLite persistence in Cloudflare Durable Objects runtimes - -**Node (`@tanstack/node-db-sqlite-persistence`)** - -- New package for Node persistence via SQLite - -**Electron (`@tanstack/electron-db-sqlite-persistence`)** - -- New package providing Electron main and renderer persistence bridge helpers - -**Expo (`@tanstack/expo-db-sqlite-persistence`)** - -- New package for Expo persistence via `expo-sqlite` - -**React Native (`@tanstack/react-native-db-sqlite-persistence`)** - -- New package for React Native persistence via op-sqlite -- Adapter with transaction deadlock prevention and runtime parity coverage - -**Capacitor (`@tanstack/capacitor-db-sqlite-persistence`)** - -- New package for Capacitor persistence via `@capacitor-community/sqlite` - -**Tauri (`@tanstack/tauri-db-sqlite-persistence`)** - -- 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 f405b28da5..0000000000 --- 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 9065df26a6..0000000000 --- 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 f8636de20a..0000000000 --- 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 f91299a419..0000000000 --- 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/CHANGELOG.md b/examples/angular/todos/CHANGELOG.md index 0fca3a4288..95bcec8e9b 100644 --- a/examples/angular/todos/CHANGELOG.md +++ b/examples/angular/todos/CHANGELOG.md @@ -1,5 +1,13 @@ # todos +## 0.0.18 + +### 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), [`0183e90`](https://github.com/TanStack/db/commit/0183e9008a4abb07b2d79f510859603fada6768d), [`85f5435`](https://github.com/TanStack/db/commit/85f54355a426baefc88ccc55179e0cfcb4dac168), [`b65d8f7`](https://github.com/TanStack/db/commit/b65d8f767dafb1aeede26766c644f9ef0694f20c), [`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.6.0 + - @tanstack/angular-db@0.1.60 + ## 0.0.17 ### Patch Changes diff --git a/examples/angular/todos/package.json b/examples/angular/todos/package.json index 1fbb48baa1..4e5200c60b 100644 --- a/examples/angular/todos/package.json +++ b/examples/angular/todos/package.json @@ -1,6 +1,6 @@ { "name": "todos", - "version": "0.0.17", + "version": "0.0.18", "scripts": { "ng": "ng", "start": "ng serve", @@ -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.6.0", "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 0000000000..3e6ab610df --- /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), [`e21ef32`](https://github.com/TanStack/db/commit/e21ef3246e80decbf57134defbc0e41230363360), [`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/node-db-sqlite-persistence@0.1.1 + - @tanstack/electron-db-sqlite-persistence@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 57d66a055a..92778683b0 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/electron-db-sqlite-persistence": "workspace:*", - "@tanstack/node-db-sqlite-persistence": "workspace:*", - "@tanstack/offline-transactions": "workspace:*", - "@tanstack/query-db-collection": "workspace:*", - "@tanstack/react-db": "workspace:*", + "@tanstack/electron-db-sqlite-persistence": "^0.1.1", + "@tanstack/node-db-sqlite-persistence": "^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 7dec321092..aa56d938bb 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), [`b65d8f7`](https://github.com/TanStack/db/commit/b65d8f767dafb1aeede26766c644f9ef0694f20c), [`e0df07e`](https://github.com/TanStack/db/commit/e0df07e1eb2eefbc829407f337cee1d443a7e9b6), [`9952921`](https://github.com/TanStack/db/commit/9952921e02ed8bca5653f0afa64862fc22ffbf9d), [`e21ef32`](https://github.com/TanStack/db/commit/e21ef3246e80decbf57134defbc0e41230363360), [`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.6.0 + - @tanstack/offline-transactions@1.0.25 + - @tanstack/query-db-collection@1.0.31 + - @tanstack/react-native-db-sqlite-persistence@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 aace07ae9d..fb6308d561 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/offline-transactions": "^1.0.24", - "@tanstack/query-db-collection": "^1.0.30", - "@tanstack/react-db": "^0.1.77", - "@tanstack/react-native-db-sqlite-persistence": "workspace:*", + "@tanstack/db": "^0.6.0", + "@tanstack/offline-transactions": "^1.0.25", + "@tanstack/query-db-collection": "^1.0.31", + "@tanstack/react-db": "^0.1.78", + "@tanstack/react-native-db-sqlite-persistence": "^0.1.1", "@tanstack/react-query": "^5.90.20", "expo": "~53.0.26", "expo-constants": "~17.1.0", diff --git a/examples/react-native/shopping-list/CHANGELOG.md b/examples/react-native/shopping-list/CHANGELOG.md new file mode 100644 index 0000000000..a2a1a091ad --- /dev/null +++ b/examples/react-native/shopping-list/CHANGELOG.md @@ -0,0 +1,12 @@ +# shopping-list-react-native + +## 1.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), [`b65d8f7`](https://github.com/TanStack/db/commit/b65d8f767dafb1aeede26766c644f9ef0694f20c), [`e0df07e`](https://github.com/TanStack/db/commit/e0df07e1eb2eefbc829407f337cee1d443a7e9b6), [`9952921`](https://github.com/TanStack/db/commit/9952921e02ed8bca5653f0afa64862fc22ffbf9d), [`d351c67`](https://github.com/TanStack/db/commit/d351c677d687e667450138f66ab3bd0e11e7e347), [`1654c41`](https://github.com/TanStack/db/commit/1654c41759e1caabcd5ddea8a433f0634be60f86)]: + - @tanstack/db@0.6.0 + - @tanstack/offline-transactions@1.0.25 + - @tanstack/electric-db-collection@0.2.42 + - @tanstack/react-native-db-sqlite-persistence@0.1.1 + - @tanstack/react-db@0.1.78 diff --git a/examples/react-native/shopping-list/package.json b/examples/react-native/shopping-list/package.json index b13490d400..f2e85f8066 100644 --- a/examples/react-native/shopping-list/package.json +++ b/examples/react-native/shopping-list/package.json @@ -1,6 +1,6 @@ { "name": "shopping-list-react-native", - "version": "1.0.0", + "version": "1.0.1", "private": true, "main": "expo-router/entry", "scripts": { @@ -18,11 +18,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/electric-db-collection": "workspace:*", - "@tanstack/offline-transactions": "^1.0.24", - "@tanstack/react-db": "^0.1.77", - "@tanstack/react-native-db-sqlite-persistence": "workspace:*", + "@tanstack/db": "^0.6.0", + "@tanstack/electric-db-collection": "^0.2.42", + "@tanstack/offline-transactions": "^1.0.25", + "@tanstack/react-db": "^0.1.78", + "@tanstack/react-native-db-sqlite-persistence": "^0.1.1", "@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 434a4fab6a..a8cc42f2fb 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/browser-db-sqlite-persistence": "workspace:*", - "@tanstack/db": "workspace:*", - "@tanstack/offline-transactions": "^1.0.24", - "@tanstack/query-db-collection": "^1.0.30", - "@tanstack/react-db": "^0.1.77", + "@tanstack/browser-db-sqlite-persistence": "^0.1.1", + "@tanstack/db": "^0.6.0", + "@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/CHANGELOG.md b/examples/react/paced-mutations-demo/CHANGELOG.md index 5364f9eba2..bca3fcf4b4 100644 --- a/examples/react/paced-mutations-demo/CHANGELOG.md +++ b/examples/react/paced-mutations-demo/CHANGELOG.md @@ -1,5 +1,13 @@ # @tanstack/db-example-paced-mutations-demo +## 0.0.8 + +### 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), [`b65d8f7`](https://github.com/TanStack/db/commit/b65d8f767dafb1aeede26766c644f9ef0694f20c), [`e0df07e`](https://github.com/TanStack/db/commit/e0df07e1eb2eefbc829407f337cee1d443a7e9b6), [`9952921`](https://github.com/TanStack/db/commit/9952921e02ed8bca5653f0afa64862fc22ffbf9d), [`d351c67`](https://github.com/TanStack/db/commit/d351c677d687e667450138f66ab3bd0e11e7e347), [`1654c41`](https://github.com/TanStack/db/commit/1654c41759e1caabcd5ddea8a433f0634be60f86)]: + - @tanstack/db@0.6.0 + - @tanstack/react-db@0.1.78 + ## 0.0.7 ### Patch Changes diff --git a/examples/react/paced-mutations-demo/package.json b/examples/react/paced-mutations-demo/package.json index 6a84515a6d..e4c4dc2c6f 100644 --- a/examples/react/paced-mutations-demo/package.json +++ b/examples/react/paced-mutations-demo/package.json @@ -1,6 +1,6 @@ { "name": "@tanstack/db-example-paced-mutations-demo", - "version": "0.0.7", + "version": "0.0.8", "private": true, "type": "module", "scripts": { @@ -9,8 +9,8 @@ "preview": "vite preview" }, "dependencies": { - "@tanstack/db": "^0.5.33", - "@tanstack/react-db": "^0.1.77", + "@tanstack/db": "^0.6.0", + "@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 b43f5b0c49..d617aa2732 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 881d4d3877..0b8d5cb428 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 d027969636..f43654a404 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 4a72ca3dd6..b4d6fe3011 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), [`b65d8f7`](https://github.com/TanStack/db/commit/b65d8f767dafb1aeede26766c644f9ef0694f20c), [`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.6.0 + ## 0.1.59 ### Patch Changes diff --git a/packages/angular-db/package.json b/packages/angular-db/package.json index e4226ae833..cc176f8b39 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/browser-db-sqlite-persistence/CHANGELOG.md b/packages/browser-db-sqlite-persistence/CHANGELOG.md new file mode 100644 index 0000000000..f7b4942fd7 --- /dev/null +++ b/packages/browser-db-sqlite-persistence/CHANGELOG.md @@ -0,0 +1,44 @@ +# @tanstack/browser-db-sqlite-persistence + +## 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-persistence-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/browser-db-sqlite-persistence`)** + - 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/cloudflare-durable-objects-db-sqlite-persistence`)** + - New package for SQLite persistence in Cloudflare Durable Objects runtimes + + **Node (`@tanstack/node-db-sqlite-persistence`)** + - New package for Node persistence via SQLite + + **Electron (`@tanstack/electron-db-sqlite-persistence`)** + - New package providing Electron main and renderer persistence bridge helpers + + **Expo (`@tanstack/expo-db-sqlite-persistence`)** + - New package for Expo persistence via `expo-sqlite` + + **React Native (`@tanstack/react-native-db-sqlite-persistence`)** + - New package for React Native persistence via op-sqlite + - Adapter with transaction deadlock prevention and runtime parity coverage + + **Capacitor (`@tanstack/capacitor-db-sqlite-persistence`)** + - New package for Capacitor persistence via `@capacitor-community/sqlite` + + **Tauri (`@tanstack/tauri-db-sqlite-persistence`)** + - 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-persistence-core@0.1.1 diff --git a/packages/browser-db-sqlite-persistence/package.json b/packages/browser-db-sqlite-persistence/package.json index f4e43700c2..e14fa8bcc6 100644 --- a/packages/browser-db-sqlite-persistence/package.json +++ b/packages/browser-db-sqlite-persistence/package.json @@ -1,6 +1,6 @@ { "name": "@tanstack/browser-db-sqlite-persistence", - "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/capacitor-db-sqlite-persistence/CHANGELOG.md b/packages/capacitor-db-sqlite-persistence/CHANGELOG.md new file mode 100644 index 0000000000..e80df99356 --- /dev/null +++ b/packages/capacitor-db-sqlite-persistence/CHANGELOG.md @@ -0,0 +1,44 @@ +# @tanstack/capacitor-db-sqlite-persistence + +## 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-persistence-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/browser-db-sqlite-persistence`)** + - 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/cloudflare-durable-objects-db-sqlite-persistence`)** + - New package for SQLite persistence in Cloudflare Durable Objects runtimes + + **Node (`@tanstack/node-db-sqlite-persistence`)** + - New package for Node persistence via SQLite + + **Electron (`@tanstack/electron-db-sqlite-persistence`)** + - New package providing Electron main and renderer persistence bridge helpers + + **Expo (`@tanstack/expo-db-sqlite-persistence`)** + - New package for Expo persistence via `expo-sqlite` + + **React Native (`@tanstack/react-native-db-sqlite-persistence`)** + - New package for React Native persistence via op-sqlite + - Adapter with transaction deadlock prevention and runtime parity coverage + + **Capacitor (`@tanstack/capacitor-db-sqlite-persistence`)** + - New package for Capacitor persistence via `@capacitor-community/sqlite` + + **Tauri (`@tanstack/tauri-db-sqlite-persistence`)** + - 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-persistence-core@0.1.1 diff --git a/packages/capacitor-db-sqlite-persistence/e2e/app/CHANGELOG.md b/packages/capacitor-db-sqlite-persistence/e2e/app/CHANGELOG.md new file mode 100644 index 0000000000..f09857318f --- /dev/null +++ b/packages/capacitor-db-sqlite-persistence/e2e/app/CHANGELOG.md @@ -0,0 +1,9 @@ +# @tanstack/capacitor-db-sqlite-persistence-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), [`b65d8f7`](https://github.com/TanStack/db/commit/b65d8f767dafb1aeede26766c644f9ef0694f20c), [`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.6.0 + - @tanstack/capacitor-db-sqlite-persistence@0.1.1 diff --git a/packages/capacitor-db-sqlite-persistence/e2e/app/package.json b/packages/capacitor-db-sqlite-persistence/e2e/app/package.json index cb76d7f5d8..3a15d123a8 100644 --- a/packages/capacitor-db-sqlite-persistence/e2e/app/package.json +++ b/packages/capacitor-db-sqlite-persistence/e2e/app/package.json @@ -1,7 +1,7 @@ { "name": "@tanstack/capacitor-db-sqlite-persistence-e2e-app", "private": true, - "version": "0.0.0", + "version": "0.0.1", "type": "module", "scripts": { "build": "vite build", diff --git a/packages/capacitor-db-sqlite-persistence/package.json b/packages/capacitor-db-sqlite-persistence/package.json index 094b39e4cf..91a8925e20 100644 --- a/packages/capacitor-db-sqlite-persistence/package.json +++ b/packages/capacitor-db-sqlite-persistence/package.json @@ -1,6 +1,6 @@ { "name": "@tanstack/capacitor-db-sqlite-persistence", - "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/cloudflare-durable-objects-db-sqlite-persistence/CHANGELOG.md b/packages/cloudflare-durable-objects-db-sqlite-persistence/CHANGELOG.md new file mode 100644 index 0000000000..0cc2ff8247 --- /dev/null +++ b/packages/cloudflare-durable-objects-db-sqlite-persistence/CHANGELOG.md @@ -0,0 +1,44 @@ +# @tanstack/cloudflare-durable-objects-db-sqlite-persistence + +## 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-persistence-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/browser-db-sqlite-persistence`)** + - 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/cloudflare-durable-objects-db-sqlite-persistence`)** + - New package for SQLite persistence in Cloudflare Durable Objects runtimes + + **Node (`@tanstack/node-db-sqlite-persistence`)** + - New package for Node persistence via SQLite + + **Electron (`@tanstack/electron-db-sqlite-persistence`)** + - New package providing Electron main and renderer persistence bridge helpers + + **Expo (`@tanstack/expo-db-sqlite-persistence`)** + - New package for Expo persistence via `expo-sqlite` + + **React Native (`@tanstack/react-native-db-sqlite-persistence`)** + - New package for React Native persistence via op-sqlite + - Adapter with transaction deadlock prevention and runtime parity coverage + + **Capacitor (`@tanstack/capacitor-db-sqlite-persistence`)** + - New package for Capacitor persistence via `@capacitor-community/sqlite` + + **Tauri (`@tanstack/tauri-db-sqlite-persistence`)** + - 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-persistence-core@0.1.1 diff --git a/packages/cloudflare-durable-objects-db-sqlite-persistence/package.json b/packages/cloudflare-durable-objects-db-sqlite-persistence/package.json index cf14bec8c9..6a6c5ed910 100644 --- a/packages/cloudflare-durable-objects-db-sqlite-persistence/package.json +++ b/packages/cloudflare-durable-objects-db-sqlite-persistence/package.json @@ -1,6 +1,6 @@ { "name": "@tanstack/cloudflare-durable-objects-db-sqlite-persistence", - "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-ivm/CHANGELOG.md b/packages/db-ivm/CHANGELOG.md index edb12e4193..1eb5a34491 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 ac529434ed..4bd57398ce 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-sqlite-persistence-core/CHANGELOG.md b/packages/db-sqlite-persistence-core/CHANGELOG.md new file mode 100644 index 0000000000..d440ec73f0 --- /dev/null +++ b/packages/db-sqlite-persistence-core/CHANGELOG.md @@ -0,0 +1,51 @@ +# @tanstack/db-sqlite-persistence-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-persistence-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/browser-db-sqlite-persistence`)** + - 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/cloudflare-durable-objects-db-sqlite-persistence`)** + - New package for SQLite persistence in Cloudflare Durable Objects runtimes + + **Node (`@tanstack/node-db-sqlite-persistence`)** + - New package for Node persistence via SQLite + + **Electron (`@tanstack/electron-db-sqlite-persistence`)** + - New package providing Electron main and renderer persistence bridge helpers + + **Expo (`@tanstack/expo-db-sqlite-persistence`)** + - New package for Expo persistence via `expo-sqlite` + + **React Native (`@tanstack/react-native-db-sqlite-persistence`)** + - New package for React Native persistence via op-sqlite + - Adapter with transaction deadlock prevention and runtime parity coverage + + **Capacitor (`@tanstack/capacitor-db-sqlite-persistence`)** + - New package for Capacitor persistence via `@capacitor-community/sqlite` + + **Tauri (`@tanstack/tauri-db-sqlite-persistence`)** + - 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), [`b65d8f7`](https://github.com/TanStack/db/commit/b65d8f767dafb1aeede26766c644f9ef0694f20c), [`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.6.0 diff --git a/packages/db-sqlite-persistence-core/package.json b/packages/db-sqlite-persistence-core/package.json index a23786df34..866baf5d34 100644 --- a/packages/db-sqlite-persistence-core/package.json +++ b/packages/db-sqlite-persistence-core/package.json @@ -1,6 +1,6 @@ { "name": "@tanstack/db-sqlite-persistence-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/CHANGELOG.md b/packages/db/CHANGELOG.md index 88af485632..3664d0ac6e 100644 --- a/packages/db/CHANGELOG.md +++ b/packages/db/CHANGELOG.md @@ -1,5 +1,151 @@ # @tanstack/db +## 0.6.0 + +### Minor Changes + +- Make indexing explicit with two index types for different use cases ([#1353](https://github.com/TanStack/db/pull/1353)) + + **Breaking Changes:** + - `autoIndex` now defaults to `off` instead of `eager` + - `BTreeIndex` is no longer exported from `@tanstack/db` main entry point + - To use `createIndex()` or `autoIndex: 'eager'`, you must set `defaultIndexType` on the collection + + **Changes:** + - New `@tanstack/db/indexing` entry point for tree-shakeable indexing + - **BasicIndex** - Lightweight index using Map + sorted Array for both equality and range queries (`eq`, `in`, `gt`, `gte`, `lt`, `lte`). O(n) updates but fast reads. + - **BTreeIndex** - Full-featured index with O(log n) updates and sorted iteration for ORDER BY optimization on large collections (10k+ items) + - Dev mode suggestions (ON by default) warn when indexes would help + + **Migration:** + + If you were relying on auto-indexing, set `defaultIndexType` on your collections: + 1. **Lightweight indexing** (good for most use cases): + + ```ts + import { BasicIndex } from '@tanstack/db/indexing' + + const collection = createCollection({ + defaultIndexType: BasicIndex, + autoIndex: 'eager', + // ... + }) + ``` + + 2. **Full BTree indexing** (for ORDER BY optimization on large collections): + + ```ts + import { BTreeIndex } from '@tanstack/db/indexing' + + const collection = createCollection({ + defaultIndexType: BTreeIndex, + autoIndex: 'eager', + // ... + }) + ``` + + 3. **Per-index explicit type** (mix index types): + + ```ts + import { BasicIndex, BTreeIndex } from '@tanstack/db/indexing' + + const collection = createCollection({ + defaultIndexType: BasicIndex, // Default for createIndex() + // ... + }) + + // Override for specific indexes + collection.createIndex((row) => row.date, { indexType: BTreeIndex }) + ``` + + **Bundle Size Impact:** + - No indexing: ~30% smaller bundle + - BasicIndex: ~5 KB (~1.3 KB gzipped) + - BTreeIndex: ~33 KB (~7.8 KB gzipped) + +### 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-persistence-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/browser-db-sqlite-persistence`)** + - 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/cloudflare-durable-objects-db-sqlite-persistence`)** + - New package for SQLite persistence in Cloudflare Durable Objects runtimes + + **Node (`@tanstack/node-db-sqlite-persistence`)** + - New package for Node persistence via SQLite + + **Electron (`@tanstack/electron-db-sqlite-persistence`)** + - New package providing Electron main and renderer persistence bridge helpers + + **Expo (`@tanstack/expo-db-sqlite-persistence`)** + - New package for Expo persistence via `expo-sqlite` + + **React Native (`@tanstack/react-native-db-sqlite-persistence`)** + - New package for React Native persistence via op-sqlite + - Adapter with transaction deadlock prevention and runtime parity coverage + + **Capacitor (`@tanstack/capacitor-db-sqlite-persistence`)** + - New package for Capacitor persistence via `@capacitor-community/sqlite` + + **Tauri (`@tanstack/tauri-db-sqlite-persistence`)** + - 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 bc5528caef..4c3c053de2 100644 --- a/packages/db/package.json +++ b/packages/db/package.json @@ -1,6 +1,6 @@ { "name": "@tanstack/db", - "version": "0.5.33", + "version": "0.6.0", "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 b43fde782b..d4ccb25068 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), [`b65d8f7`](https://github.com/TanStack/db/commit/b65d8f767dafb1aeede26766c644f9ef0694f20c), [`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.6.0 + ## 0.2.41 ### Patch Changes diff --git a/packages/electric-db-collection/package.json b/packages/electric-db-collection/package.json index 264e6eeb64..a4773caa54 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/electron-db-sqlite-persistence/CHANGELOG.md b/packages/electron-db-sqlite-persistence/CHANGELOG.md new file mode 100644 index 0000000000..4d77dd8fcb --- /dev/null +++ b/packages/electron-db-sqlite-persistence/CHANGELOG.md @@ -0,0 +1,44 @@ +# @tanstack/electron-db-sqlite-persistence + +## 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-persistence-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/browser-db-sqlite-persistence`)** + - 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/cloudflare-durable-objects-db-sqlite-persistence`)** + - New package for SQLite persistence in Cloudflare Durable Objects runtimes + + **Node (`@tanstack/node-db-sqlite-persistence`)** + - New package for Node persistence via SQLite + + **Electron (`@tanstack/electron-db-sqlite-persistence`)** + - New package providing Electron main and renderer persistence bridge helpers + + **Expo (`@tanstack/expo-db-sqlite-persistence`)** + - New package for Expo persistence via `expo-sqlite` + + **React Native (`@tanstack/react-native-db-sqlite-persistence`)** + - New package for React Native persistence via op-sqlite + - Adapter with transaction deadlock prevention and runtime parity coverage + + **Capacitor (`@tanstack/capacitor-db-sqlite-persistence`)** + - New package for Capacitor persistence via `@capacitor-community/sqlite` + + **Tauri (`@tanstack/tauri-db-sqlite-persistence`)** + - 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-persistence-core@0.1.1 diff --git a/packages/electron-db-sqlite-persistence/package.json b/packages/electron-db-sqlite-persistence/package.json index 7864e9483c..556e638f96 100644 --- a/packages/electron-db-sqlite-persistence/package.json +++ b/packages/electron-db-sqlite-persistence/package.json @@ -1,6 +1,6 @@ { "name": "@tanstack/electron-db-sqlite-persistence", - "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/expo-db-sqlite-persistence/CHANGELOG.md b/packages/expo-db-sqlite-persistence/CHANGELOG.md new file mode 100644 index 0000000000..fa0c2d3059 --- /dev/null +++ b/packages/expo-db-sqlite-persistence/CHANGELOG.md @@ -0,0 +1,44 @@ +# @tanstack/expo-db-sqlite-persistence + +## 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-persistence-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/browser-db-sqlite-persistence`)** + - 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/cloudflare-durable-objects-db-sqlite-persistence`)** + - New package for SQLite persistence in Cloudflare Durable Objects runtimes + + **Node (`@tanstack/node-db-sqlite-persistence`)** + - New package for Node persistence via SQLite + + **Electron (`@tanstack/electron-db-sqlite-persistence`)** + - New package providing Electron main and renderer persistence bridge helpers + + **Expo (`@tanstack/expo-db-sqlite-persistence`)** + - New package for Expo persistence via `expo-sqlite` + + **React Native (`@tanstack/react-native-db-sqlite-persistence`)** + - New package for React Native persistence via op-sqlite + - Adapter with transaction deadlock prevention and runtime parity coverage + + **Capacitor (`@tanstack/capacitor-db-sqlite-persistence`)** + - New package for Capacitor persistence via `@capacitor-community/sqlite` + + **Tauri (`@tanstack/tauri-db-sqlite-persistence`)** + - 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-persistence-core@0.1.1 diff --git a/packages/expo-db-sqlite-persistence/e2e/expo-runtime-app/CHANGELOG.md b/packages/expo-db-sqlite-persistence/e2e/expo-runtime-app/CHANGELOG.md new file mode 100644 index 0000000000..96672d09e8 --- /dev/null +++ b/packages/expo-db-sqlite-persistence/e2e/expo-runtime-app/CHANGELOG.md @@ -0,0 +1,9 @@ +# @tanstack/expo-db-sqlite-persistence-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), [`b65d8f7`](https://github.com/TanStack/db/commit/b65d8f767dafb1aeede26766c644f9ef0694f20c), [`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.6.0 + - @tanstack/expo-db-sqlite-persistence@0.1.1 diff --git a/packages/expo-db-sqlite-persistence/e2e/expo-runtime-app/package.json b/packages/expo-db-sqlite-persistence/e2e/expo-runtime-app/package.json index 971cc13b23..a6e93965f8 100644 --- a/packages/expo-db-sqlite-persistence/e2e/expo-runtime-app/package.json +++ b/packages/expo-db-sqlite-persistence/e2e/expo-runtime-app/package.json @@ -1,7 +1,7 @@ { "name": "@tanstack/expo-db-sqlite-persistence-e2e-app", "private": true, - "version": "0.0.0", + "version": "0.0.1", "main": "index.js", "scripts": { "start": "expo start", diff --git a/packages/expo-db-sqlite-persistence/package.json b/packages/expo-db-sqlite-persistence/package.json index 9f1b03396d..83ccc99e74 100644 --- a/packages/expo-db-sqlite-persistence/package.json +++ b/packages/expo-db-sqlite-persistence/package.json @@ -1,6 +1,6 @@ { "name": "@tanstack/expo-db-sqlite-persistence", - "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/node-db-sqlite-persistence/CHANGELOG.md b/packages/node-db-sqlite-persistence/CHANGELOG.md new file mode 100644 index 0000000000..8b4c2c1ccc --- /dev/null +++ b/packages/node-db-sqlite-persistence/CHANGELOG.md @@ -0,0 +1,44 @@ +# @tanstack/node-db-sqlite-persistence + +## 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-persistence-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/browser-db-sqlite-persistence`)** + - 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/cloudflare-durable-objects-db-sqlite-persistence`)** + - New package for SQLite persistence in Cloudflare Durable Objects runtimes + + **Node (`@tanstack/node-db-sqlite-persistence`)** + - New package for Node persistence via SQLite + + **Electron (`@tanstack/electron-db-sqlite-persistence`)** + - New package providing Electron main and renderer persistence bridge helpers + + **Expo (`@tanstack/expo-db-sqlite-persistence`)** + - New package for Expo persistence via `expo-sqlite` + + **React Native (`@tanstack/react-native-db-sqlite-persistence`)** + - New package for React Native persistence via op-sqlite + - Adapter with transaction deadlock prevention and runtime parity coverage + + **Capacitor (`@tanstack/capacitor-db-sqlite-persistence`)** + - New package for Capacitor persistence via `@capacitor-community/sqlite` + + **Tauri (`@tanstack/tauri-db-sqlite-persistence`)** + - 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-persistence-core@0.1.1 diff --git a/packages/node-db-sqlite-persistence/package.json b/packages/node-db-sqlite-persistence/package.json index aaec289d87..c2f3773099 100644 --- a/packages/node-db-sqlite-persistence/package.json +++ b/packages/node-db-sqlite-persistence/package.json @@ -1,6 +1,6 @@ { "name": "@tanstack/node-db-sqlite-persistence", - "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/offline-transactions/CHANGELOG.md b/packages/offline-transactions/CHANGELOG.md index 24425e7ab0..66de608d97 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), [`b65d8f7`](https://github.com/TanStack/db/commit/b65d8f767dafb1aeede26766c644f9ef0694f20c), [`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.6.0 + ## 1.0.24 ### Patch Changes diff --git a/packages/offline-transactions/package.json b/packages/offline-transactions/package.json index 689b6f8378..e52533b2b0 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 cc483f6f69..4ee092c356 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), [`b65d8f7`](https://github.com/TanStack/db/commit/b65d8f767dafb1aeede26766c644f9ef0694f20c), [`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.6.0 + ## 0.1.37 ### Patch Changes diff --git a/packages/powersync-db-collection/package.json b/packages/powersync-db-collection/package.json index fe88b218f6..d380f20114 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 84dee484ac..4cedc9ff7d 100644 --- a/packages/query-db-collection/CHANGELOG.md +++ b/packages/query-db-collection/CHANGELOG.md @@ -1,5 +1,22 @@ # @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: default persisted query retention to gcTime when omitted ([#1400](https://github.com/TanStack/db/pull/1400)) + + When `persistedGcTime` is not provided, query collections now use the query's effective `gcTime` as the persisted retention TTL. This prevents unexpectedly early cleanup of persisted rows. + +- 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), [`b65d8f7`](https://github.com/TanStack/db/commit/b65d8f767dafb1aeede26766c644f9ef0694f20c), [`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.6.0 + ## 1.0.30 ### Patch Changes diff --git a/packages/query-db-collection/package.json b/packages/query-db-collection/package.json index 87da1ac72d..7e3e41d21b 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 8944dd25dc..dbb4845795 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), [`b65d8f7`](https://github.com/TanStack/db/commit/b65d8f767dafb1aeede26766c644f9ef0694f20c), [`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.6.0 + ## 0.1.77 ### Patch Changes diff --git a/packages/react-db/package.json b/packages/react-db/package.json index 3a957cf2df..9af037fc60 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/react-native-db-sqlite-persistence/CHANGELOG.md b/packages/react-native-db-sqlite-persistence/CHANGELOG.md new file mode 100644 index 0000000000..aaeac91466 --- /dev/null +++ b/packages/react-native-db-sqlite-persistence/CHANGELOG.md @@ -0,0 +1,44 @@ +# @tanstack/react-native-db-sqlite-persistence + +## 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-persistence-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/browser-db-sqlite-persistence`)** + - 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/cloudflare-durable-objects-db-sqlite-persistence`)** + - New package for SQLite persistence in Cloudflare Durable Objects runtimes + + **Node (`@tanstack/node-db-sqlite-persistence`)** + - New package for Node persistence via SQLite + + **Electron (`@tanstack/electron-db-sqlite-persistence`)** + - New package providing Electron main and renderer persistence bridge helpers + + **Expo (`@tanstack/expo-db-sqlite-persistence`)** + - New package for Expo persistence via `expo-sqlite` + + **React Native (`@tanstack/react-native-db-sqlite-persistence`)** + - New package for React Native persistence via op-sqlite + - Adapter with transaction deadlock prevention and runtime parity coverage + + **Capacitor (`@tanstack/capacitor-db-sqlite-persistence`)** + - New package for Capacitor persistence via `@capacitor-community/sqlite` + + **Tauri (`@tanstack/tauri-db-sqlite-persistence`)** + - 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-persistence-core@0.1.1 diff --git a/packages/react-native-db-sqlite-persistence/package.json b/packages/react-native-db-sqlite-persistence/package.json index ed84a3ee13..25e38259ee 100644 --- a/packages/react-native-db-sqlite-persistence/package.json +++ b/packages/react-native-db-sqlite-persistence/package.json @@ -1,6 +1,6 @@ { "name": "@tanstack/react-native-db-sqlite-persistence", - "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/rxdb-db-collection/CHANGELOG.md b/packages/rxdb-db-collection/CHANGELOG.md index 1ffa2a101f..ac56aa857e 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), [`b65d8f7`](https://github.com/TanStack/db/commit/b65d8f767dafb1aeede26766c644f9ef0694f20c), [`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.6.0 + ## 0.1.65 ### Patch Changes diff --git a/packages/rxdb-db-collection/package.json b/packages/rxdb-db-collection/package.json index 1d99a6c5cb..1b053d4522 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 4b4a0c37ea..f6b0332d76 100644 --- a/packages/solid-db/CHANGELOG.md +++ b/packages/solid-db/CHANGELOG.md @@ -1,5 +1,20 @@ # @tanstack/react-db +## 0.2.14 + +### Patch Changes + +- fix(solid-db): support findOne in useLiveQuery ([#1403](https://github.com/TanStack/db/pull/1403)) + + `useLiveQuery` with `.findOne()` returned an array instead of a single object. Updated type overloads to use `InferResultType` so findOne queries return `T | undefined`, and added a runtime `singleResult` check to return the first element instead of the full array. + + Fixes #1399 + +- 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), [`b65d8f7`](https://github.com/TanStack/db/commit/b65d8f767dafb1aeede26766c644f9ef0694f20c), [`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.6.0 + ## 0.2.13 ### Patch Changes diff --git a/packages/solid-db/package.json b/packages/solid-db/package.json index 81597f2523..4e5b1e35ab 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 bf9524c014..01f37907f8 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), [`b65d8f7`](https://github.com/TanStack/db/commit/b65d8f767dafb1aeede26766c644f9ef0694f20c), [`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.6.0 + ## 0.1.76 ### Patch Changes diff --git a/packages/svelte-db/package.json b/packages/svelte-db/package.json index 16a3a2dcff..5156771e0a 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/tauri-db-sqlite-persistence/CHANGELOG.md b/packages/tauri-db-sqlite-persistence/CHANGELOG.md new file mode 100644 index 0000000000..00ab8164e8 --- /dev/null +++ b/packages/tauri-db-sqlite-persistence/CHANGELOG.md @@ -0,0 +1,44 @@ +# @tanstack/tauri-db-sqlite-persistence + +## 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-persistence-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/browser-db-sqlite-persistence`)** + - 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/cloudflare-durable-objects-db-sqlite-persistence`)** + - New package for SQLite persistence in Cloudflare Durable Objects runtimes + + **Node (`@tanstack/node-db-sqlite-persistence`)** + - New package for Node persistence via SQLite + + **Electron (`@tanstack/electron-db-sqlite-persistence`)** + - New package providing Electron main and renderer persistence bridge helpers + + **Expo (`@tanstack/expo-db-sqlite-persistence`)** + - New package for Expo persistence via `expo-sqlite` + + **React Native (`@tanstack/react-native-db-sqlite-persistence`)** + - New package for React Native persistence via op-sqlite + - Adapter with transaction deadlock prevention and runtime parity coverage + + **Capacitor (`@tanstack/capacitor-db-sqlite-persistence`)** + - New package for Capacitor persistence via `@capacitor-community/sqlite` + + **Tauri (`@tanstack/tauri-db-sqlite-persistence`)** + - 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-persistence-core@0.1.1 diff --git a/packages/tauri-db-sqlite-persistence/e2e/app/CHANGELOG.md b/packages/tauri-db-sqlite-persistence/e2e/app/CHANGELOG.md new file mode 100644 index 0000000000..9cd74f8f03 --- /dev/null +++ b/packages/tauri-db-sqlite-persistence/e2e/app/CHANGELOG.md @@ -0,0 +1,9 @@ +# @tanstack/tauri-db-sqlite-persistence-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), [`b65d8f7`](https://github.com/TanStack/db/commit/b65d8f767dafb1aeede26766c644f9ef0694f20c), [`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.6.0 + - @tanstack/tauri-db-sqlite-persistence@0.1.1 diff --git a/packages/tauri-db-sqlite-persistence/e2e/app/package.json b/packages/tauri-db-sqlite-persistence/e2e/app/package.json index 8798423450..e30ebe7ea1 100644 --- a/packages/tauri-db-sqlite-persistence/e2e/app/package.json +++ b/packages/tauri-db-sqlite-persistence/e2e/app/package.json @@ -1,7 +1,7 @@ { "name": "@tanstack/tauri-db-sqlite-persistence-e2e-app", "private": true, - "version": "0.0.0", + "version": "0.0.1", "type": "module", "scripts": { "build": "vite build", diff --git a/packages/tauri-db-sqlite-persistence/package.json b/packages/tauri-db-sqlite-persistence/package.json index 9774ebab8d..6e35140013 100644 --- a/packages/tauri-db-sqlite-persistence/package.json +++ b/packages/tauri-db-sqlite-persistence/package.json @@ -1,6 +1,6 @@ { "name": "@tanstack/tauri-db-sqlite-persistence", - "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/trailbase-db-collection/CHANGELOG.md b/packages/trailbase-db-collection/CHANGELOG.md index f086b257e4..3f88d1773d 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), [`b65d8f7`](https://github.com/TanStack/db/commit/b65d8f767dafb1aeede26766c644f9ef0694f20c), [`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.6.0 + ## 0.1.77 ### Patch Changes diff --git a/packages/trailbase-db-collection/package.json b/packages/trailbase-db-collection/package.json index dda793e707..76ea600686 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 b6203062e3..89c7a0acc2 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), [`b65d8f7`](https://github.com/TanStack/db/commit/b65d8f767dafb1aeede26766c644f9ef0694f20c), [`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.6.0 + ## 0.0.110 ### Patch Changes diff --git a/packages/vue-db/package.json b/packages/vue-db/package.json index 423093f73e..a96ba97d34 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 10318ff191..072bb6b5ab 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -148,10 +148,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.6.0 version: link:../../../packages/db rxjs: specifier: ^7.8.2 @@ -209,19 +209,19 @@ importers: examples/electron/offline-first: dependencies: '@tanstack/electron-db-sqlite-persistence': - specifier: workspace:* + specifier: ^0.1.1 version: link:../../../packages/electron-db-sqlite-persistence '@tanstack/node-db-sqlite-persistence': - specifier: workspace:* + specifier: ^0.1.1 version: link:../../../packages/node-db-sqlite-persistence '@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 @@ -300,19 +300,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.6.0 version: link:../../../packages/db '@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-native-db-sqlite-persistence': - specifier: workspace:* + specifier: ^0.1.1 version: link:../../../packages/react-native-db-sqlite-persistence '@tanstack/react-query': specifier: ^5.90.20 @@ -397,19 +397,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.6.0 version: link:../../../packages/db '@tanstack/electric-db-collection': - specifier: workspace:* + specifier: ^0.2.42 version: link:../../../packages/electric-db-collection '@tanstack/offline-transactions': - specifier: ^1.0.24 + specifier: ^1.0.25 version: link:../../../packages/offline-transactions '@tanstack/react-db': - specifier: ^0.1.77 + specifier: ^0.1.78 version: link:../../../packages/react-db '@tanstack/react-native-db-sqlite-persistence': - specifier: workspace:* + specifier: ^0.1.1 version: link:../../../packages/react-native-db-sqlite-persistence '@tanstack/react-query': specifier: ^5.90.20 @@ -482,19 +482,19 @@ importers: examples/react/offline-transactions: dependencies: '@tanstack/browser-db-sqlite-persistence': - specifier: workspace:* + specifier: ^0.1.1 version: link:../../../packages/browser-db-sqlite-persistence '@tanstack/db': - specifier: workspace:* + specifier: ^0.6.0 version: link:../../../packages/db '@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 @@ -555,10 +555,10 @@ importers: examples/react/paced-mutations-demo: dependencies: '@tanstack/db': - specifier: ^0.5.33 + specifier: ^0.6.0 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 @@ -595,10 +595,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 @@ -728,16 +728,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 @@ -746,7 +746,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 @@ -849,16 +849,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 @@ -867,7 +867,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