From f988720c6b83e7b0cfa27643b0dd60043bb9b9ba Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Wed, 14 Oct 2026 01:43:55 +0000 Subject: [PATCH] ci: Version Packages --- .changeset/electric-retry-is-success.md | 7 -- .changeset/electric-scoped-recovery.md | 16 ---- .changeset/fix-basic-index-nullish-build.md | 5 -- .../fix-direct-write-subscriber-throw.md | 5 -- ...ix-empty-transaction-rollback-rejection.md | 5 -- .changeset/fix-facade-retire-leftover-rows.md | 11 --- .changeset/fix-hash-key-collation.md | 5 -- .changeset/fix-joined-filter-window-gap.md | 8 -- .../fix-offline-autocommit-rejection.md | 7 -- .../fix-offline-empty-transaction-waiter.md | 7 -- .changeset/fix-offline-late-waiter.md | 5 -- .changeset/fix-on-demand-source-readiness.md | 14 ---- .changeset/fix-retired-replay-stale-rows.md | 5 -- .changeset/fix-single-group-select-fields.md | 9 --- .../fix-snapshot-callback-key-tracking.md | 5 -- .../keep-sqlite-persistence-demand-scoped.md | 6 -- .changeset/outer-join-lexical-bindings.md | 5 -- .changeset/perf-d2-index-reduce.md | 5 -- .../perf-group-contribution-identity.md | 6 -- .changeset/perf-include-rows-skip-hashing.md | 5 -- ...persisted-follower-applies-before-ready.md | 9 --- .changeset/remove-offline-telemetry-shim.md | 5 -- .changeset/remove-unused-db-ivm-operators.md | 12 --- .changeset/restore-direct-write-no-refetch.md | 8 -- .changeset/reuse-complete-query-source.md | 11 --- .changeset/standalone-descriptor-queries.md | 9 --- .../trailbase-on-demand-subscription.md | 5 -- examples/angular/todos/CHANGELOG.md | 8 ++ examples/angular/todos/package.json | 6 +- examples/electron/offline-first/package.json | 10 +-- .../offline-transactions/CHANGELOG.md | 11 +++ .../offline-transactions/package.json | 12 +-- .../react-native/shopping-list/CHANGELOG.md | 11 +++ .../react-native/shopping-list/package.json | 12 +-- .../react/action-enforcement/package.json | 4 +- examples/react/next-ssr-e2e/CHANGELOG.md | 8 ++ examples/react/next-ssr-e2e/package.json | 6 +- .../react/offline-transactions/package.json | 10 +-- .../react/paced-mutations-demo/CHANGELOG.md | 8 ++ .../react/paced-mutations-demo/package.json | 6 +- examples/react/projects/package.json | 4 +- examples/react/start-ssr-e2e/package.json | 2 +- examples/react/todo/CHANGELOG.md | 10 +++ examples/react/todo/package.json | 10 +-- examples/solid/todo/CHANGELOG.md | 10 +++ examples/solid/todo/package.json | 10 +-- packages/angular-db/CHANGELOG.md | 7 ++ packages/angular-db/package.json | 2 +- .../CHANGELOG.md | 9 +++ .../package.json | 2 +- .../CHANGELOG.md | 9 +++ .../e2e/app/CHANGELOG.md | 8 ++ .../e2e/app/package.json | 2 +- .../package.json | 2 +- .../CHANGELOG.md | 9 +++ .../package.json | 2 +- packages/db-ivm/CHANGELOG.md | 25 ++++++ packages/db-ivm/package.json | 2 +- .../db-sqlite-persistence-core/CHANGELOG.md | 17 ++++ .../db-sqlite-persistence-core/package.json | 2 +- packages/db/CHANGELOG.md | 61 +++++++++++++++ packages/db/package.json | 2 +- packages/electric-db-collection/CHANGELOG.md | 25 ++++++ packages/electric-db-collection/package.json | 2 +- .../CHANGELOG.md | 9 +++ .../package.json | 2 +- .../expo-db-sqlite-persistence/CHANGELOG.md | 9 +++ .../e2e/expo-runtime-app/CHANGELOG.md | 8 ++ .../e2e/expo-runtime-app/package.json | 2 +- .../expo-db-sqlite-persistence/package.json | 2 +- .../node-db-sqlite-persistence/CHANGELOG.md | 9 +++ .../node-db-sqlite-persistence/package.json | 2 +- packages/offline-transactions/CHANGELOG.md | 19 +++++ packages/offline-transactions/package.json | 2 +- packages/powersync-db-collection/CHANGELOG.md | 7 ++ packages/powersync-db-collection/package.json | 2 +- packages/query-db-collection/CHANGELOG.md | 21 +++++ packages/query-db-collection/package.json | 2 +- packages/react-db/CHANGELOG.md | 11 +++ packages/react-db/package.json | 2 +- .../CHANGELOG.md | 9 +++ .../package.json | 2 +- packages/rxdb-db-collection/CHANGELOG.md | 7 ++ packages/rxdb-db-collection/package.json | 2 +- packages/solid-db/CHANGELOG.md | 7 ++ packages/solid-db/package.json | 2 +- packages/svelte-db/CHANGELOG.md | 11 +++ packages/svelte-db/package.json | 2 +- .../tauri-db-sqlite-persistence/CHANGELOG.md | 9 +++ .../e2e/app/CHANGELOG.md | 8 ++ .../e2e/app/package.json | 2 +- .../tauri-db-sqlite-persistence/package.json | 2 +- packages/trailbase-db-collection/CHANGELOG.md | 9 +++ packages/trailbase-db-collection/package.json | 2 +- packages/vue-db/CHANGELOG.md | 7 ++ packages/vue-db/package.json | 2 +- pnpm-lock.yaml | 78 +++++++++---------- 97 files changed, 506 insertions(+), 310 deletions(-) delete mode 100644 .changeset/electric-retry-is-success.md delete mode 100644 .changeset/electric-scoped-recovery.md delete mode 100644 .changeset/fix-basic-index-nullish-build.md delete mode 100644 .changeset/fix-direct-write-subscriber-throw.md delete mode 100644 .changeset/fix-empty-transaction-rollback-rejection.md delete mode 100644 .changeset/fix-facade-retire-leftover-rows.md delete mode 100644 .changeset/fix-hash-key-collation.md delete mode 100644 .changeset/fix-joined-filter-window-gap.md delete mode 100644 .changeset/fix-offline-autocommit-rejection.md delete mode 100644 .changeset/fix-offline-empty-transaction-waiter.md delete mode 100644 .changeset/fix-offline-late-waiter.md delete mode 100644 .changeset/fix-on-demand-source-readiness.md delete mode 100644 .changeset/fix-retired-replay-stale-rows.md delete mode 100644 .changeset/fix-single-group-select-fields.md delete mode 100644 .changeset/fix-snapshot-callback-key-tracking.md delete mode 100644 .changeset/keep-sqlite-persistence-demand-scoped.md delete mode 100644 .changeset/outer-join-lexical-bindings.md delete mode 100644 .changeset/perf-d2-index-reduce.md delete mode 100644 .changeset/perf-group-contribution-identity.md delete mode 100644 .changeset/perf-include-rows-skip-hashing.md delete mode 100644 .changeset/persisted-follower-applies-before-ready.md delete mode 100644 .changeset/remove-offline-telemetry-shim.md delete mode 100644 .changeset/remove-unused-db-ivm-operators.md delete mode 100644 .changeset/restore-direct-write-no-refetch.md delete mode 100644 .changeset/reuse-complete-query-source.md delete mode 100644 .changeset/standalone-descriptor-queries.md delete mode 100644 .changeset/trailbase-on-demand-subscription.md diff --git a/.changeset/electric-retry-is-success.md b/.changeset/electric-retry-is-success.md deleted file mode 100644 index eb93e0cbbf..0000000000 --- a/.changeset/electric-retry-is-success.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -'@tanstack/electric-db-collection': minor ---- - -A stream error that `onError` retries no longer fails the initial sync or the subset loads that are waiting for it. The collection stays `loading` while `onError` decides, and waiting loads settle when the retried stream delivers its snapshot. Before, the collection entered `error` and waiting loads rejected even when the retry succeeded, which could leave a joined or included live query in error for good. A stream error without `onError`, or one where `onError` gives up or throws, still fails the initial sync and its waiting loads. The initial sync also fails when the Electric client gives up by itself after `onError` asked for a retry, for example on a response without Electric headers or after its retry limit, and when the stream's external `signal` aborts before the first ready. Before, the collection stayed `loading` in both cases. When the initial sync fails, waiting loads and readiness waits such as `preload()` now reject with the same cause, including when `onError` throws. A status listener that cleans the Collection up while it enters `error` no longer makes a waiting load succeed without rows. Once the first up-to-date is committed, its persistence step alone decides the initial sync: the Collection becomes ready when that snapshot is accepted, even after a retry or a give-up, and fails with the persistence error when it is not. - -Migration note: while `onError` decides whether to retry, the Collection now stays `loading`, and `preload()` and other readiness waits stay pending. Before, they entered `error` and rejected at once, even when the retry later succeeded. Code that showed a reconnecting state on `status === 'error'` during a retry should read `onError` itself instead. diff --git a/.changeset/electric-scoped-recovery.md b/.changeset/electric-scoped-recovery.md deleted file mode 100644 index ef74a5c755..0000000000 --- a/.changeset/electric-scoped-recovery.md +++ /dev/null @@ -1,16 +0,0 @@ ---- -'@tanstack/db': patch -'@tanstack/db-sqlite-persistence-core': patch -'@tanstack/electric-db-collection': patch -'@tanstack/query-db-collection': patch -'@tanstack/browser-db-sqlite-persistence': patch -'@tanstack/node-db-sqlite-persistence': patch -'@tanstack/expo-db-sqlite-persistence': patch -'@tanstack/react-native-db-sqlite-persistence': patch -'@tanstack/electron-db-sqlite-persistence': patch -'@tanstack/capacitor-db-sqlite-persistence': patch -'@tanstack/tauri-db-sqlite-persistence': patch -'@tanstack/cloudflare-durable-objects-db-sqlite-persistence': patch ---- - -Recover persisted on-demand Electric and Query collections after cache claim loss by rotating their SQLite cache and reloading active subsets. Fence retired provider work and expired claims, preserve warm runs on their claimed cache generation, and forward claim lifetime options through SQLite host factories. Require explicit eager or claim-bound managed targets for SQLite adapter data operations, and forward them through Electron IPC protocol v6. Bare collection IDs no longer work at this lower-level adapter boundary. diff --git a/.changeset/fix-basic-index-nullish-build.md b/.changeset/fix-basic-index-nullish-build.md deleted file mode 100644 index e5553a1c33..0000000000 --- a/.changeset/fix-basic-index-nullish-build.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@tanstack/db': patch ---- - -Keep `undefined` in the configured nulls-first position when BasicIndex builds from existing rows. Preserve indexed key ownership and public query order across mixed and prefixed values. Make Duration equality follow its fields; order indexed ZonedDateTimes by instant, PlainDates by calendar, and time-only Durations by elapsed time; and preserve required errors for mixed or unordered Temporal values. Keep custom index callback inputs consistent across index types and ignore a manual index whose order conflicts with a limited public read. diff --git a/.changeset/fix-direct-write-subscriber-throw.md b/.changeset/fix-direct-write-subscriber-throw.md deleted file mode 100644 index fc95df0668..0000000000 --- a/.changeset/fix-direct-write-subscriber-throw.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@tanstack/db': patch ---- - -A direct write (`insert`, `update` or `delete` outside a transaction) whose change subscriber throws no longer leaves a pending transaction behind. Before, the write's transaction stayed pending with its optimistic row visible, its handler never ran, and the Collection kept tracking it. The write now rolls back its own transaction, without rolling back other transactions, and rethrows the subscriber's error. A local-only direct write that takes the fast path (the Collection has no handler for that operation and no other pending or persisting transaction) stores its rows when it publishes them, so it completes its transaction and rethrows. On the transaction path it rolls back and rethrows, as any other direct write does. diff --git a/.changeset/fix-empty-transaction-rollback-rejection.md b/.changeset/fix-empty-transaction-rollback-rejection.md deleted file mode 100644 index d1b32bea7c..0000000000 --- a/.changeset/fix-empty-transaction-rollback-rejection.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@tanstack/db': patch ---- - -Rolling back a transaction that has no mutations no longer causes an unhandled promise rejection. Such a transaction is tracked by no Collection, so nothing else observed its receipt, and Node reported the rejection. Every transaction now marks its receipt as observed when it is created. A caller that reads `when('settled')` still receives the rejection. diff --git a/.changeset/fix-facade-retire-leftover-rows.md b/.changeset/fix-facade-retire-leftover-rows.md deleted file mode 100644 index dd5967c6ca..0000000000 --- a/.changeset/fix-facade-retire-leftover-rows.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -'@tanstack/db': patch ---- - -A live query with included child collections now throws when the query graph retires a child collection that still has rows the graph never removed. The graph always removes a child collection's rows before it retires it, so this is an internal invariant violation. Before, the rows were removed silently, which hid the fault. The failed flush restores the child collections, as for any failed flush. - -Calling `cleanup()` on a child collection of a live query now returns a rejected promise. The live query owns its child collections, and several parent rows can share one. Before, a cleanup stopped the child collection for every parent that shared it, so they never saw its rows again. Clean up the live query instead. Ordinary Collections are not affected. - -An optimistic update of a row in a child collection no longer throws "Bucket facade row has no public key". Each child row now carries its key in `$key`, so the copy that an update makes keeps it. - -Also fix a lost child row behind a persisting transaction. When a user transaction on a child collection was persisting, an update to a child row that an earlier flush had written was applied as a delete, so the row disappeared when the transaction settled. A rollback in that state could also delete such a row. The adapter now decides each write from the child collection's synced rows, including writes that a persisting transaction holds, not from the rows the child collection shows. diff --git a/.changeset/fix-hash-key-collation.md b/.changeset/fix-hash-key-collation.md deleted file mode 100644 index f603f447b6..0000000000 --- a/.changeset/fix-hash-key-collation.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@tanstack/db-ivm': patch ---- - -Structural hashing now gives equal objects the same hash when two of their keys are distinct strings that locale collation ranks as equal, such as a precomposed `Å` and `A` followed by a combining ring. Before, the hash sorted keys with `localeCompare`, so the hash of such an object depended on the order its keys were inserted, and two equal rows could fail to consolidate in a live query. Keys now sort by UTF-16 code unit, which is a total order. This changes the digest of objects whose keys sort differently by code unit than by locale, for example `{ a: 1, B: 2 }`. Digests are per process, so no stored value depends on them. Hashing also writes whole 32-bit words to the hash stream, which makes hashing rows faster. The stream still hashes the same bytes. diff --git a/.changeset/fix-joined-filter-window-gap.md b/.changeset/fix-joined-filter-window-gap.md deleted file mode 100644 index aa1c4d8c44..0000000000 --- a/.changeset/fix-joined-filter-window-gap.md +++ /dev/null @@ -1,8 +0,0 @@ ---- -'@tanstack/db': patch -'@tanstack/db-ivm': patch ---- - -An ordered, limited live query or Effect filtered through a LEFT join no longer shows a later row in place of an earlier one. The query loads a bounded prefix of root rows, and a row inserted after that prefix could enter the query's input. When a row left the window without a root delete, for example because its joined row was deleted or inserted, or its join key changed, the later row filled the window while an earlier eligible row was never loaded. A window row after the loaded prefix no longer counts toward a full window, so the query loads the next page first. - -An ordered, limited query with a full, outer or cross join now reads its full source, as inner and right joins already did. A full join loaded a bounded prefix of root rows, so a joined row whose root match had not loaded yet looked unmatched and could take a place in the window. diff --git a/.changeset/fix-offline-autocommit-rejection.md b/.changeset/fix-offline-autocommit-rejection.md deleted file mode 100644 index f181c86ba4..0000000000 --- a/.changeset/fix-offline-autocommit-rejection.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -'@tanstack/offline-transactions': patch ---- - -A failed auto-commit of an offline transaction no longer causes an unhandled promise rejection. `mutate()` with `autoCommit` (the default) committed through its own copy of the auto-commit logic, which logged the failure and then rethrew it inside a `.catch`, so every failed auto-commit reached `unhandledRejection`. The offline transaction now passes `autoCommit` to its TanStack DB transaction, which reports the failure through `when('settled')` without an unhandled rejection. The extra `Auto-commit failed:` console error is gone. - -`createOfflineAction` also commits through the TanStack DB auto-commit and no longer prints debug messages (`createOfflineAction 2`, `mutate`, `offlineAction committed`) to the console. diff --git a/.changeset/fix-offline-empty-transaction-waiter.md b/.changeset/fix-offline-empty-transaction-waiter.md deleted file mode 100644 index a80509cf6b..0000000000 --- a/.changeset/fix-offline-empty-transaction-waiter.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -'@tanstack/offline-transactions': patch ---- - -`waitForTransactionCompletion` now settles for an offline transaction whose `mutate()` callback writes nothing. Such a transaction completes without running its mutation function, so before this change the executor never settled its waiter, and the promise stayed pending forever. It also settles for a transaction that is rolled back before it commits: the waiter rejects with the rollback's error, or with an Error that names the rollback when `rollback()` gives none. A transaction rolled back while it persists still reports the executor's outcome. A callback that throws still leaves its transaction pending, as a core transaction does, so its waiter also stays pending until the transaction commits. - -On a tab without offline leadership, `createOfflineTransaction` returns a plain transaction that the executor does not track, so `waitForTransactionCompletion` does not apply there. diff --git a/.changeset/fix-offline-late-waiter.md b/.changeset/fix-offline-late-waiter.md deleted file mode 100644 index 51ef22e9b0..0000000000 --- a/.changeset/fix-offline-late-waiter.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@tanstack/offline-transactions': patch ---- - -`waitForTransactionCompletion(id)` no longer waits forever for a transaction that the executor already settled. Such a waiter now rejects with an error that says the transaction already settled. The executor remembers the last 1,000 transactions it settled. A waiter for an id that the executor does not know yet keeps waiting, because another tab can still queue that transaction. diff --git a/.changeset/fix-on-demand-source-readiness.md b/.changeset/fix-on-demand-source-readiness.md deleted file mode 100644 index 56715c3565..0000000000 --- a/.changeset/fix-on-demand-source-readiness.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -'@tanstack/db': patch -'@tanstack/electric-db-collection': patch ---- - -A live query over a progressive Electric collection is now ready once its own snapshot loads. Before, it stayed loading until the collection's background full sync completed, so `preload()`, `isReady`, and `useLiveSuspenseQuery` waited for the whole dataset even when the query's rows were already present. A live query now waits for an eager source to be ready and for an on-demand source's subset loads to settle. An on-demand source's own readiness no longer gates the query. - -An effect with `skipInitial: true` ends its initial suppression at the same point. Before, an effect over an on-demand source that was already ready reported its initial rows as `enter` events. - -A live query no longer enters an error state when a truncate of a lazily loaded source (a joined or included collection) aborts that source's pending load during the initial load. The truncate's replacement load now decides the demand. - -A progressive Electric load that arrives while a must-refetch is replacing the initial snapshot now settles when the replacement completes. Before, it settled at once without loading rows, which the new readiness rule would have reported as a ready, empty query. After a stream error that `onError` retries, later progressive loads settle once the stream recovers. - -`toArrayWhenReady()` and `stateWhenReady()` now resolve when `preload()` does. Before, they resolved as soon as the collection held any row, so on a live query they could resolve before the query was ready. diff --git a/.changeset/fix-retired-replay-stale-rows.md b/.changeset/fix-retired-replay-stale-rows.md deleted file mode 100644 index 058554c6f0..0000000000 --- a/.changeset/fix-retired-replay-stale-rows.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@tanstack/db': patch ---- - -A subscriber no longer keeps stale rows after a truncate replay that loses its last demand. When the last requested subset is released while the replay is still loading, nothing can complete the replay. If its current attempt has not failed, the subscriber now receives the rows the source wrote, replaced or deleted during it, instead of keeping the values from before the truncate. A replay whose attempt failed still keeps the last complete snapshot, as before, and a later request updates any row it still shows at an older value. diff --git a/.changeset/fix-single-group-select-fields.md b/.changeset/fix-single-group-select-fields.md deleted file mode 100644 index 39abbd77ea..0000000000 --- a/.changeset/fix-single-group-select-fields.md +++ /dev/null @@ -1,9 +0,0 @@ ---- -'@tanstack/db': patch ---- - -An aggregate query without `groupBy` no longer drops its other select fields silently. Inside an include, a literal or a parent field now appears beside the aggregate, for example `{ n: count(c.id), px: issue.x }`. Before, `px` was `undefined`. A field of the query's own source has no single value for the group, so it now throws `NonAggregateExpressionNotInGroupByError`, as it already did with `groupBy`. Before, it was `undefined`. This also applies to a source field outside the aggregates of a wrapped, conditional or nested value, such as `add(count(c.id), c.v)`, and to a spread such as `{ ...c, n: count(c.id) }`. Aggregate the field (for example with `max`) or add it to `groupBy`. - -With `groupBy`, a literal or a parent field beside the aggregate is now accepted and published, because it has one value per group. Before, it threw. A nested include in a grouped or aggregate select now throws. Before, it was `null` without `groupBy`. - -A HAVING condition that compares a group key, such as `having(({ c }) => eq(c.k, 'a'))`, now keeps the matching groups. Before, it removed every group. A HAVING condition that reads another source field outside an aggregate now throws `NonAggregateExpressionNotInGroupByError`. Before, it removed every group. A grouped select that repeats a `groupBy` expression with an array, Date or `NaN` literal no longer throws, and a parent field is accepted when the include's source reuses the parent's alias. The error message no longer says "in SELECT", because it also applies to HAVING. An aggregate query without `groupBy` whose select only wraps its aggregate, such as `{ n: add(count(c.id), 1) }`, now accepts HAVING on its selected values, parent fields and literals. Before, it threw `HavingRequiresGroupByError`. An aggregate inside HAVING must still be a top-level select field. The same rule applies after `unionAll`: a field of the union's rows outside an aggregate throws. A grouped row keeps the select's field order. diff --git a/.changeset/fix-snapshot-callback-key-tracking.md b/.changeset/fix-snapshot-callback-key-tracking.md deleted file mode 100644 index fa27559c8f..0000000000 --- a/.changeset/fix-snapshot-callback-key-tracking.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@tanstack/db': patch ---- - -Keep ordered snapshots from resending rows already delivered by full-state or skip-filtering subscriptions. Release deleted keys from snapshot tracking. Preserve provider coverage when pending optimistic changes hide rows or change an ordered window. diff --git a/.changeset/keep-sqlite-persistence-demand-scoped.md b/.changeset/keep-sqlite-persistence-demand-scoped.md deleted file mode 100644 index 5e89f92f31..0000000000 --- a/.changeset/keep-sqlite-persistence-demand-scoped.md +++ /dev/null @@ -1,6 +0,0 @@ ---- -'@tanstack/db': patch -'@tanstack/db-sqlite-persistence-core': patch ---- - -Reject reuse of mutable persisted and LocalStorage sync options across Collections while keeping DbClient materializations independent. Pass fresh options to each direct `createCollection(...)`; DbClient descriptors remain reusable. Keep on-demand peer reloads and schema resets scoped to active demand and previously visible rows. Refresh or delete visible rows from durable evidence without replacing unconfirmed DbClient hydration rows or metadata. Resolve targeted peer updates from storage when their notice cannot distinguish a replacing insert from a partial update. diff --git a/.changeset/outer-join-lexical-bindings.md b/.changeset/outer-join-lexical-bindings.md deleted file mode 100644 index 6823a7efb6..0000000000 --- a/.changeset/outer-join-lexical-bindings.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@tanstack/db': patch ---- - -Preserve lexical source bindings when a correlated right or full join has an absent side, and allow captured ancestor references in join conditions. diff --git a/.changeset/perf-d2-index-reduce.md b/.changeset/perf-d2-index-reduce.md deleted file mode 100644 index ca2cc07be1..0000000000 --- a/.changeset/perf-d2-index-reduce.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@tanstack/db-ivm': patch ---- - -`reduce`, `groupBy`, and the joins they feed do less work per changed key: a reduce whose key has at most one output before and after compares the two directly instead of building two maps, its state no longer keeps a per-key presence count that only joins read, and index reads build their result directly. Live queries with includes hydrate slightly faster. diff --git a/.changeset/perf-group-contribution-identity.md b/.changeset/perf-group-contribution-identity.md deleted file mode 100644 index 425f42acc1..0000000000 --- a/.changeset/perf-group-contribution-identity.md +++ /dev/null @@ -1,6 +0,0 @@ ---- -'@tanstack/db-ivm': patch -'@tanstack/db': patch ---- - -Aggregate queries hydrate and update faster. `groupBy` merges equal contributions to a group, and it used to find them by hashing every contribution. Each contribution now leads with an identity string built from its group key and its pre-aggregate values, and the reduce index merges contributions with equal identities without hashing them. D2 value identity (`equalHashValues`) defines the identity: two values get the same identity string exactly when D2 treats them as equal. Primitives, arrays, plain and class-instance objects, Dates, RegExps, Maps, Sets and Uint8Arrays get an identity. A contribution that holds anything else, a value nested more than four levels deep, or an object with an enumerable symbol key still goes through the structural hash. A grouped count or min over 10,000 rows hydrates about 2× faster. diff --git a/.changeset/perf-include-rows-skip-hashing.md b/.changeset/perf-include-rows-skip-hashing.md deleted file mode 100644 index d5214ac6c4..0000000000 --- a/.changeset/perf-include-rows-skip-hashing.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@tanstack/db': patch ---- - -Live queries with includes hydrate faster. The rows that the include graph keeps in its join and reduce state now lead with their key, so the dataflow index tells them apart by key and hashes a whole row only to match it against a row with the same key, such as its own retraction. On a 10,000-issue benchmark, an issue-to-creator include hydrates about 30% faster and a two-level include about 33% faster. diff --git a/.changeset/persisted-follower-applies-before-ready.md b/.changeset/persisted-follower-applies-before-ready.md deleted file mode 100644 index fa1edf15e9..0000000000 --- a/.changeset/persisted-follower-applies-before-ready.md +++ /dev/null @@ -1,9 +0,0 @@ ---- -'@tanstack/db-sqlite-persistence-core': patch ---- - -In a follower tab, an on-demand load that the leader fetches now settles only after the follower applies the leader's committed rows. Before, the leader's reply could settle the load while the follower was still applying the broadcast commit, so a live query in the follower tab could first be ready without those rows. A follower load now rejects, and releases its acquisition, when the leader's broadcast commit fails to apply in the follower, instead of settling without rows. - -A follower now replaces its rows in place when it applies the leader's commits, instead of replaying its demand to a leader that commits again on every load. It also requests its demand again after the leader resets the collection, instead of showing an empty ready result. If its cache claim renewal fails transiently while a load waits for the leader's rows, the load rejects and the demand is retried, as after a failed request to the leader. - -Any persisted collection, not only a follower, now keeps commit notices that arrive while its cache claim is expired and applies them in arrival order once the claim is renewed or rotated; before, they were dropped. A commit that fails to apply from the queue now makes the collection fail, as a commit applied when it arrives already did. diff --git a/.changeset/remove-offline-telemetry-shim.md b/.changeset/remove-offline-telemetry-shim.md deleted file mode 100644 index 95b2aa1f74..0000000000 --- a/.changeset/remove-offline-telemetry-shim.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@tanstack/offline-transactions': patch ---- - -Remove the no-op telemetry wrappers that remained after telemetry was removed. No behavior change is intended. Some operations can settle in fewer microtasks because the wrappers no longer add awaits. diff --git a/.changeset/remove-unused-db-ivm-operators.md b/.changeset/remove-unused-db-ivm-operators.md deleted file mode 100644 index 2277eee351..0000000000 --- a/.changeset/remove-unused-db-ivm-operators.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -'@tanstack/db-ivm': minor ---- - -Remove operators and helpers that `@tanstack/db` does not use. This is a breaking change for code that imports them from `@tanstack/db-ivm` directly: - -- `topK`, `topKWithIndex`, `orderBy`, `orderByWithIndex` and `orderByWithFractionalIndexBase`. Use `orderByWithFractionalIndex` or `groupedOrderByWithFractionalIndex`. -- `innerJoin`, `leftJoin`, `rightJoin`, `fullJoin` and `antiJoin`. Use `join(other, type)`. Its result values are typed as nullable for every join type, so code that used the precise `innerJoin` result type needs a cast or a null check. -- The `count`, `negate`, `debug`, `filterBy`, `keyBy`, `unkey` and `rekey` operators. The `count` aggregate in `groupByOperators` is unchanged. -- The never-implemented piped aggregates in `groupBy`. An aggregate must supply `preMap` and `reduce`; an object with only `pipe` now fails when the graph runs, where it was ignored before. - -The package also no longer depends on `sorted-btree`, which only an internal B+ tree top-K used. diff --git a/.changeset/restore-direct-write-no-refetch.md b/.changeset/restore-direct-write-no-refetch.md deleted file mode 100644 index 4f5da34017..0000000000 --- a/.changeset/restore-direct-write-no-refetch.md +++ /dev/null @@ -1,8 +0,0 @@ ---- -'@tanstack/query-db-collection': patch ---- - -Prevent direct writes from automatically refetching active Query subsets. On-demand writes patch changed keys already present in active raw arrays or directly selected response arrays, except when the Query is shared with another Collection. Eager writes patch representable rows in a shared Query cache, so Collections using the same Query project those edits. In both modes, cache patches preserve Query error, invalidation, and freshness state; an idle eager cache seed moves from pending to success without advancing its freshness timestamp. Direct writes no longer clear a prior fetch error or mark stale data fresh. Older in-flight or queued results cannot undo an accepted write, and derived cache responses are not replayed over it on resubscribe. A later-started successful subset fetch controls a shared row's value over an older request that settles afterward. Callers choose when to request current server rows; a complete matching on-demand result can remove an omitted ownerless direct row. Query Core 5.90.15 or later is required for post-write refetch replacement and error-state recovery. - -An eager Collection that later joins a Query patched by another eager Collection projects the cached edit without starting a request, including when disabled. An on-demand Collection still revalidates an unverified cache edit before accepting it for a subset. A fresh persisted Collection refetches on a cached-row collision when it cannot recover the order of its stored direct write and that Query result. -Inactive Query entries under the Collection key prefix may be removed after a direct write. A physical Query whose stored key is outside that prefix remains in the cache, even when a custom hash aliases it with a Collection key; callers can explicitly evict or refetch that entry. diff --git a/.changeset/reuse-complete-query-source.md b/.changeset/reuse-complete-query-source.md deleted file mode 100644 index df9e64840d..0000000000 --- a/.changeset/reuse-complete-query-source.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -'@tanstack/query-db-collection': patch ---- - -A completed, active full-source Query Collection load can now serve later -filtered or windowed live queries when the collection uses a static query key. -The narrower queries retain the full Query until their final owner releases, -so the original full view can unmount without dropping their rows or stopping -later invalidation updates. Incomplete full loads and explicit subset refetches -keep their own request paths. A narrower scope with retained persisted ownership -makes an exact request to revalidate its rows and owners. diff --git a/.changeset/standalone-descriptor-queries.md b/.changeset/standalone-descriptor-queries.md deleted file mode 100644 index 39c334e7ac..0000000000 --- a/.changeset/standalone-descriptor-queries.md +++ /dev/null @@ -1,9 +0,0 @@ ---- -'@tanstack/db': minor -'@tanstack/react-db': patch -'@tanstack/svelte-db': patch ---- - -Allow a `Query` built with Collection descriptors outside a `DbClient` to bind its sources when a client consumes it. Building or extending a query keeps descriptors unbound until that consumption. A reusable factory descriptor can now serve the same prebuilt query in separate client scopes, including React providers and server preloads. A prepared query is a bound snapshot; reuse the original unbound query across clients. The exported IR now represents an unbound descriptor with `DescriptorRef`; visitors of `IR.From` must handle the `descriptorRef` variant. - -React hooks bind standalone descriptor queries through their `DbProvider` client and report a provider hint when no client is available. Svelte hooks bind through their client and release deferred sources after failed query setup. diff --git a/.changeset/trailbase-on-demand-subscription.md b/.changeset/trailbase-on-demand-subscription.md deleted file mode 100644 index 35c8ab1638..0000000000 --- a/.changeset/trailbase-on-demand-subscription.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@tanstack/trailbase-db-collection': patch ---- - -An on-demand TrailBase load now waits for the change subscription before it fetches rows. Before, a live query could become ready before the subscription started, and a change committed after the fetch but before the subscription was lost. diff --git a/examples/angular/todos/CHANGELOG.md b/examples/angular/todos/CHANGELOG.md index e8a5c5e8bc..75ae3c41da 100644 --- a/examples/angular/todos/CHANGELOG.md +++ b/examples/angular/todos/CHANGELOG.md @@ -1,5 +1,13 @@ # todos +## 0.0.26 + +### Patch Changes + +- Updated dependencies [[`cda9d6a`](https://github.com/TanStack/db/commit/cda9d6a731e93777f1c8bfdab7d9e22f70e80dc6), [`2f928e6`](https://github.com/TanStack/db/commit/2f928e6f240adb8874a6537905000009a2e9b53f), [`dfec42e`](https://github.com/TanStack/db/commit/dfec42e4a78ef609f9aa2f2c0f863a1e4f1ae1e3), [`1a65c2c`](https://github.com/TanStack/db/commit/1a65c2c63db9ad14c08d35b09d0081ecc121fbfc), [`1b4ee8d`](https://github.com/TanStack/db/commit/1b4ee8d57168978847687e75dbc1c33ddb935ed3), [`bbbf017`](https://github.com/TanStack/db/commit/bbbf017ef5b3884515295a4225faacdfd814499e), [`bc6f30e`](https://github.com/TanStack/db/commit/bc6f30e716aeb26c13b6a0e9ba00a27edc72a4d7), [`fade2e2`](https://github.com/TanStack/db/commit/fade2e24cfb9922b9b172f96194f7b6246731f50), [`bbe9327`](https://github.com/TanStack/db/commit/bbe9327ce90ab587ee6ef24e0030f79291f3057d), [`b34a579`](https://github.com/TanStack/db/commit/b34a579762b36dd49a89e11eacd7788f1df89453), [`6fa60aa`](https://github.com/TanStack/db/commit/6fa60aa7ada4d418f85cd745c9eea0af3de0efb4), [`f84387c`](https://github.com/TanStack/db/commit/f84387cd8220e8603dc24a99fe4881fa4cd5ddcd), [`be4a3d6`](https://github.com/TanStack/db/commit/be4a3d642c6d292150f7ff4e041442338e5a2de2), [`0dc696a`](https://github.com/TanStack/db/commit/0dc696a64901973d8025cb1a40af34c68c856855), [`fd13e3c`](https://github.com/TanStack/db/commit/fd13e3cc9d3302e7598a78ac8f49d06dbbde7e08)]: + - @tanstack/db@0.14.0 + - @tanstack/angular-db@0.2.9 + ## 0.0.25 ### Patch Changes diff --git a/examples/angular/todos/package.json b/examples/angular/todos/package.json index 0ce61c4c89..f98737e701 100644 --- a/examples/angular/todos/package.json +++ b/examples/angular/todos/package.json @@ -1,6 +1,6 @@ { "name": "todos", - "version": "0.0.25", + "version": "0.0.26", "scripts": { "ng": "ng", "start": "ng serve", @@ -27,8 +27,8 @@ "@angular/forms": "^20.3.16", "@angular/platform-browser": "^20.3.16", "@angular/router": "^20.3.16", - "@tanstack/angular-db": "^0.2.8", - "@tanstack/db": "^0.13.0", + "@tanstack/angular-db": "^0.2.9", + "@tanstack/db": "^0.14.0", "rxjs": "^7.8.2", "tslib": "^2.8.1", "zone.js": "~0.15.0" diff --git a/examples/electron/offline-first/package.json b/examples/electron/offline-first/package.json index c3cc6f994c..d2b5388b6f 100644 --- a/examples/electron/offline-first/package.json +++ b/examples/electron/offline-first/package.json @@ -13,11 +13,11 @@ "postinstall": "prebuild-install --runtime electron --target 41.0.0 --arch arm64 || echo 'prebuild-install failed, try: npx @electron/rebuild'" }, "dependencies": { - "@tanstack/electron-db-sqlite-persistence": "^0.2.9", - "@tanstack/node-db-sqlite-persistence": "^0.2.33", - "@tanstack/offline-transactions": "^1.1.0", - "@tanstack/query-db-collection": "^1.4.3", - "@tanstack/react-db": "^0.5.8", + "@tanstack/electron-db-sqlite-persistence": "^0.2.10", + "@tanstack/node-db-sqlite-persistence": "^0.2.34", + "@tanstack/offline-transactions": "^1.1.1", + "@tanstack/query-db-collection": "^1.4.4", + "@tanstack/react-db": "^0.5.9", "@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 013ce1fa9a..333da51984 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.13 + +### Patch Changes + +- Updated dependencies [[`cda9d6a`](https://github.com/TanStack/db/commit/cda9d6a731e93777f1c8bfdab7d9e22f70e80dc6), [`2f928e6`](https://github.com/TanStack/db/commit/2f928e6f240adb8874a6537905000009a2e9b53f), [`dfec42e`](https://github.com/TanStack/db/commit/dfec42e4a78ef609f9aa2f2c0f863a1e4f1ae1e3), [`1a65c2c`](https://github.com/TanStack/db/commit/1a65c2c63db9ad14c08d35b09d0081ecc121fbfc), [`1b4ee8d`](https://github.com/TanStack/db/commit/1b4ee8d57168978847687e75dbc1c33ddb935ed3), [`bbbf017`](https://github.com/TanStack/db/commit/bbbf017ef5b3884515295a4225faacdfd814499e), [`9b17253`](https://github.com/TanStack/db/commit/9b1725370606c2347a6027a857a77a68aa4d1bf3), [`d83b6cd`](https://github.com/TanStack/db/commit/d83b6cd473f3bdfb1f6388cc96b273574f25ba8c), [`cd63c6c`](https://github.com/TanStack/db/commit/cd63c6cb74aaa91e8d5bc634e0726a81b977cd43), [`bc6f30e`](https://github.com/TanStack/db/commit/bc6f30e716aeb26c13b6a0e9ba00a27edc72a4d7), [`fade2e2`](https://github.com/TanStack/db/commit/fade2e24cfb9922b9b172f96194f7b6246731f50), [`bbe9327`](https://github.com/TanStack/db/commit/bbe9327ce90ab587ee6ef24e0030f79291f3057d), [`b34a579`](https://github.com/TanStack/db/commit/b34a579762b36dd49a89e11eacd7788f1df89453), [`6fa60aa`](https://github.com/TanStack/db/commit/6fa60aa7ada4d418f85cd745c9eea0af3de0efb4), [`f84387c`](https://github.com/TanStack/db/commit/f84387cd8220e8603dc24a99fe4881fa4cd5ddcd), [`be4a3d6`](https://github.com/TanStack/db/commit/be4a3d642c6d292150f7ff4e041442338e5a2de2), [`0dc696a`](https://github.com/TanStack/db/commit/0dc696a64901973d8025cb1a40af34c68c856855), [`cd92156`](https://github.com/TanStack/db/commit/cd92156d61a50e570dbf2bfb490969ff41b40e74), [`d0dfcda`](https://github.com/TanStack/db/commit/d0dfcdae6c354a8e424c1f083ee989e9874e714e), [`16a34c9`](https://github.com/TanStack/db/commit/16a34c9f5843c9edbb6d5c2fb52b02d65d602b28), [`fd13e3c`](https://github.com/TanStack/db/commit/fd13e3cc9d3302e7598a78ac8f49d06dbbde7e08)]: + - @tanstack/db@0.14.0 + - @tanstack/query-db-collection@1.4.4 + - @tanstack/react-native-db-sqlite-persistence@0.2.34 + - @tanstack/offline-transactions@1.1.1 + - @tanstack/react-db@0.5.9 + ## 1.0.12 ### Patch Changes diff --git a/examples/react-native/offline-transactions/package.json b/examples/react-native/offline-transactions/package.json index e7b5fbaee1..0aa6a7eb17 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.12", + "version": "1.0.13", "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": "^0.13.0", - "@tanstack/offline-transactions": "^1.1.0", - "@tanstack/query-db-collection": "^1.4.3", - "@tanstack/react-db": "^0.5.8", - "@tanstack/react-native-db-sqlite-persistence": "^0.2.33", + "@tanstack/db": "^0.14.0", + "@tanstack/offline-transactions": "^1.1.1", + "@tanstack/query-db-collection": "^1.4.4", + "@tanstack/react-db": "^0.5.9", + "@tanstack/react-native-db-sqlite-persistence": "^0.2.34", "@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 index 43c4d285bd..0bcfb2164a 100644 --- a/examples/react-native/shopping-list/CHANGELOG.md +++ b/examples/react-native/shopping-list/CHANGELOG.md @@ -1,5 +1,16 @@ # shopping-list-react-native +## 1.0.13 + +### Patch Changes + +- Updated dependencies [[`a920d02`](https://github.com/TanStack/db/commit/a920d02fa59de3a1dfa409ffdc5325cbd984cb97), [`cda9d6a`](https://github.com/TanStack/db/commit/cda9d6a731e93777f1c8bfdab7d9e22f70e80dc6), [`2f928e6`](https://github.com/TanStack/db/commit/2f928e6f240adb8874a6537905000009a2e9b53f), [`dfec42e`](https://github.com/TanStack/db/commit/dfec42e4a78ef609f9aa2f2c0f863a1e4f1ae1e3), [`1a65c2c`](https://github.com/TanStack/db/commit/1a65c2c63db9ad14c08d35b09d0081ecc121fbfc), [`1b4ee8d`](https://github.com/TanStack/db/commit/1b4ee8d57168978847687e75dbc1c33ddb935ed3), [`bbbf017`](https://github.com/TanStack/db/commit/bbbf017ef5b3884515295a4225faacdfd814499e), [`9b17253`](https://github.com/TanStack/db/commit/9b1725370606c2347a6027a857a77a68aa4d1bf3), [`d83b6cd`](https://github.com/TanStack/db/commit/d83b6cd473f3bdfb1f6388cc96b273574f25ba8c), [`cd63c6c`](https://github.com/TanStack/db/commit/cd63c6cb74aaa91e8d5bc634e0726a81b977cd43), [`bc6f30e`](https://github.com/TanStack/db/commit/bc6f30e716aeb26c13b6a0e9ba00a27edc72a4d7), [`fade2e2`](https://github.com/TanStack/db/commit/fade2e24cfb9922b9b172f96194f7b6246731f50), [`bbe9327`](https://github.com/TanStack/db/commit/bbe9327ce90ab587ee6ef24e0030f79291f3057d), [`b34a579`](https://github.com/TanStack/db/commit/b34a579762b36dd49a89e11eacd7788f1df89453), [`6fa60aa`](https://github.com/TanStack/db/commit/6fa60aa7ada4d418f85cd745c9eea0af3de0efb4), [`f84387c`](https://github.com/TanStack/db/commit/f84387cd8220e8603dc24a99fe4881fa4cd5ddcd), [`be4a3d6`](https://github.com/TanStack/db/commit/be4a3d642c6d292150f7ff4e041442338e5a2de2), [`0dc696a`](https://github.com/TanStack/db/commit/0dc696a64901973d8025cb1a40af34c68c856855), [`cd92156`](https://github.com/TanStack/db/commit/cd92156d61a50e570dbf2bfb490969ff41b40e74), [`fd13e3c`](https://github.com/TanStack/db/commit/fd13e3cc9d3302e7598a78ac8f49d06dbbde7e08)]: + - @tanstack/electric-db-collection@0.6.0 + - @tanstack/db@0.14.0 + - @tanstack/react-native-db-sqlite-persistence@0.2.34 + - @tanstack/offline-transactions@1.1.1 + - @tanstack/react-db@0.5.9 + ## 1.0.12 ### Patch Changes diff --git a/examples/react-native/shopping-list/package.json b/examples/react-native/shopping-list/package.json index d8659c628c..f96031a0a3 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.12", + "version": "1.0.13", "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": "^0.13.0", - "@tanstack/electric-db-collection": "^0.5.9", - "@tanstack/offline-transactions": "^1.1.0", - "@tanstack/react-db": "^0.5.8", - "@tanstack/react-native-db-sqlite-persistence": "^0.2.33", + "@tanstack/db": "^0.14.0", + "@tanstack/electric-db-collection": "^0.6.0", + "@tanstack/offline-transactions": "^1.1.1", + "@tanstack/react-db": "^0.5.9", + "@tanstack/react-native-db-sqlite-persistence": "^0.2.34", "@tanstack/react-query": "^5.90.20", "expo": "~53.0.26", "expo-constants": "~17.1.0", diff --git a/examples/react/action-enforcement/package.json b/examples/react/action-enforcement/package.json index 0b50a72a7f..01e781fdcf 100644 --- a/examples/react/action-enforcement/package.json +++ b/examples/react/action-enforcement/package.json @@ -12,8 +12,8 @@ }, "dependencies": { "@tanstack/query-core": "^5.90.20", - "@tanstack/query-db-collection": "^1.4.3", - "@tanstack/react-db": "^0.5.8", + "@tanstack/query-db-collection": "^1.4.4", + "@tanstack/react-db": "^0.5.9", "react": "^19.2.4", "react-dom": "^19.2.4" }, diff --git a/examples/react/next-ssr-e2e/CHANGELOG.md b/examples/react/next-ssr-e2e/CHANGELOG.md index 1646e11f34..90865464de 100644 --- a/examples/react/next-ssr-e2e/CHANGELOG.md +++ b/examples/react/next-ssr-e2e/CHANGELOG.md @@ -1,5 +1,13 @@ # @tanstack/db-example-react-next-ssr-e2e +## 0.0.8 + +### Patch Changes + +- Updated dependencies [[`cda9d6a`](https://github.com/TanStack/db/commit/cda9d6a731e93777f1c8bfdab7d9e22f70e80dc6), [`2f928e6`](https://github.com/TanStack/db/commit/2f928e6f240adb8874a6537905000009a2e9b53f), [`dfec42e`](https://github.com/TanStack/db/commit/dfec42e4a78ef609f9aa2f2c0f863a1e4f1ae1e3), [`1a65c2c`](https://github.com/TanStack/db/commit/1a65c2c63db9ad14c08d35b09d0081ecc121fbfc), [`1b4ee8d`](https://github.com/TanStack/db/commit/1b4ee8d57168978847687e75dbc1c33ddb935ed3), [`bbbf017`](https://github.com/TanStack/db/commit/bbbf017ef5b3884515295a4225faacdfd814499e), [`bc6f30e`](https://github.com/TanStack/db/commit/bc6f30e716aeb26c13b6a0e9ba00a27edc72a4d7), [`fade2e2`](https://github.com/TanStack/db/commit/fade2e24cfb9922b9b172f96194f7b6246731f50), [`bbe9327`](https://github.com/TanStack/db/commit/bbe9327ce90ab587ee6ef24e0030f79291f3057d), [`b34a579`](https://github.com/TanStack/db/commit/b34a579762b36dd49a89e11eacd7788f1df89453), [`6fa60aa`](https://github.com/TanStack/db/commit/6fa60aa7ada4d418f85cd745c9eea0af3de0efb4), [`f84387c`](https://github.com/TanStack/db/commit/f84387cd8220e8603dc24a99fe4881fa4cd5ddcd), [`be4a3d6`](https://github.com/TanStack/db/commit/be4a3d642c6d292150f7ff4e041442338e5a2de2), [`0dc696a`](https://github.com/TanStack/db/commit/0dc696a64901973d8025cb1a40af34c68c856855), [`fd13e3c`](https://github.com/TanStack/db/commit/fd13e3cc9d3302e7598a78ac8f49d06dbbde7e08)]: + - @tanstack/db@0.14.0 + - @tanstack/react-db@0.5.9 + ## 0.0.7 ### Patch Changes diff --git a/examples/react/next-ssr-e2e/package.json b/examples/react/next-ssr-e2e/package.json index c817f75bdd..6e06808408 100644 --- a/examples/react/next-ssr-e2e/package.json +++ b/examples/react/next-ssr-e2e/package.json @@ -1,7 +1,7 @@ { "name": "@tanstack/db-example-react-next-ssr-e2e", "private": true, - "version": "0.0.7", + "version": "0.0.8", "scripts": { "build": "next build", "dev": "next dev", @@ -9,8 +9,8 @@ "test:e2e": "pnpm --filter @tanstack/db build && pnpm --filter @tanstack/react-db build && playwright test" }, "dependencies": { - "@tanstack/db": "^0.13.0", - "@tanstack/react-db": "^0.5.8", + "@tanstack/db": "^0.14.0", + "@tanstack/react-db": "^0.5.9", "next": "^16.3.1", "react": "^19.2.4", "react-dom": "^19.2.4" diff --git a/examples/react/offline-transactions/package.json b/examples/react/offline-transactions/package.json index 8b9c91bc14..6d05bd08d4 100644 --- a/examples/react/offline-transactions/package.json +++ b/examples/react/offline-transactions/package.json @@ -8,11 +8,11 @@ "build": "vite build && tsc --noEmit" }, "dependencies": { - "@tanstack/browser-db-sqlite-persistence": "^0.2.33", - "@tanstack/db": "^0.13.0", - "@tanstack/offline-transactions": "^1.1.0", - "@tanstack/query-db-collection": "^1.4.3", - "@tanstack/react-db": "^0.5.8", + "@tanstack/browser-db-sqlite-persistence": "^0.2.34", + "@tanstack/db": "^0.14.0", + "@tanstack/offline-transactions": "^1.1.1", + "@tanstack/query-db-collection": "^1.4.4", + "@tanstack/react-db": "^0.5.9", "@tanstack/react-query": "^5.90.20", "@tanstack/react-router": "^1.170.41", "@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 8415dd7df6..063d77415a 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.18 + +### Patch Changes + +- Updated dependencies [[`cda9d6a`](https://github.com/TanStack/db/commit/cda9d6a731e93777f1c8bfdab7d9e22f70e80dc6), [`2f928e6`](https://github.com/TanStack/db/commit/2f928e6f240adb8874a6537905000009a2e9b53f), [`dfec42e`](https://github.com/TanStack/db/commit/dfec42e4a78ef609f9aa2f2c0f863a1e4f1ae1e3), [`1a65c2c`](https://github.com/TanStack/db/commit/1a65c2c63db9ad14c08d35b09d0081ecc121fbfc), [`1b4ee8d`](https://github.com/TanStack/db/commit/1b4ee8d57168978847687e75dbc1c33ddb935ed3), [`bbbf017`](https://github.com/TanStack/db/commit/bbbf017ef5b3884515295a4225faacdfd814499e), [`bc6f30e`](https://github.com/TanStack/db/commit/bc6f30e716aeb26c13b6a0e9ba00a27edc72a4d7), [`fade2e2`](https://github.com/TanStack/db/commit/fade2e24cfb9922b9b172f96194f7b6246731f50), [`bbe9327`](https://github.com/TanStack/db/commit/bbe9327ce90ab587ee6ef24e0030f79291f3057d), [`b34a579`](https://github.com/TanStack/db/commit/b34a579762b36dd49a89e11eacd7788f1df89453), [`6fa60aa`](https://github.com/TanStack/db/commit/6fa60aa7ada4d418f85cd745c9eea0af3de0efb4), [`f84387c`](https://github.com/TanStack/db/commit/f84387cd8220e8603dc24a99fe4881fa4cd5ddcd), [`be4a3d6`](https://github.com/TanStack/db/commit/be4a3d642c6d292150f7ff4e041442338e5a2de2), [`0dc696a`](https://github.com/TanStack/db/commit/0dc696a64901973d8025cb1a40af34c68c856855), [`fd13e3c`](https://github.com/TanStack/db/commit/fd13e3cc9d3302e7598a78ac8f49d06dbbde7e08)]: + - @tanstack/db@0.14.0 + - @tanstack/react-db@0.5.9 + ## 0.0.17 ### Patch Changes diff --git a/examples/react/paced-mutations-demo/package.json b/examples/react/paced-mutations-demo/package.json index a2b9309fce..7811aa0637 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.17", + "version": "0.0.18", "private": true, "type": "module", "scripts": { @@ -9,8 +9,8 @@ "preview": "vite preview" }, "dependencies": { - "@tanstack/db": "^0.13.0", - "@tanstack/react-db": "^0.5.8", + "@tanstack/db": "^0.14.0", + "@tanstack/react-db": "^0.5.9", "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 b166b479f7..ff4a56ef3a 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.4.3", - "@tanstack/react-db": "^0.5.8", + "@tanstack/query-db-collection": "^1.4.4", + "@tanstack/react-db": "^0.5.9", "@tanstack/react-router": "^1.170.41", "@tanstack/react-router-devtools": "^1.159.5", "@tanstack/react-router-with-query": "^1.130.17", diff --git a/examples/react/start-ssr-e2e/package.json b/examples/react/start-ssr-e2e/package.json index dac359c3b3..8f6f27d6bd 100644 --- a/examples/react/start-ssr-e2e/package.json +++ b/examples/react/start-ssr-e2e/package.json @@ -10,7 +10,7 @@ "test:e2e:hosted": "playwright test" }, "dependencies": { - "@tanstack/react-db": "^0.5.8", + "@tanstack/react-db": "^0.5.9", "@tanstack/react-router": "^1.170.41", "@tanstack/react-router-with-db": "^0.1.0", "@tanstack/react-start": "^1.168.60", diff --git a/examples/react/todo/CHANGELOG.md b/examples/react/todo/CHANGELOG.md index e0f7e3afd8..6c6500991b 100644 --- a/examples/react/todo/CHANGELOG.md +++ b/examples/react/todo/CHANGELOG.md @@ -1,5 +1,15 @@ # examples/react/todo +## 0.1.31 + +### Patch Changes + +- Updated dependencies [[`a920d02`](https://github.com/TanStack/db/commit/a920d02fa59de3a1dfa409ffdc5325cbd984cb97), [`cda9d6a`](https://github.com/TanStack/db/commit/cda9d6a731e93777f1c8bfdab7d9e22f70e80dc6), [`bc6f30e`](https://github.com/TanStack/db/commit/bc6f30e716aeb26c13b6a0e9ba00a27edc72a4d7), [`d0dfcda`](https://github.com/TanStack/db/commit/d0dfcdae6c354a8e424c1f083ee989e9874e714e), [`16a34c9`](https://github.com/TanStack/db/commit/16a34c9f5843c9edbb6d5c2fb52b02d65d602b28), [`fd13e3c`](https://github.com/TanStack/db/commit/fd13e3cc9d3302e7598a78ac8f49d06dbbde7e08), [`477afa4`](https://github.com/TanStack/db/commit/477afa48da2dbdbccb7c412c8069474300a2b789)]: + - @tanstack/electric-db-collection@0.6.0 + - @tanstack/query-db-collection@1.4.4 + - @tanstack/react-db@0.5.9 + - @tanstack/trailbase-db-collection@0.1.120 + ## 0.1.30 ### Patch Changes diff --git a/examples/react/todo/package.json b/examples/react/todo/package.json index e8fc98bfba..070b66481d 100644 --- a/examples/react/todo/package.json +++ b/examples/react/todo/package.json @@ -1,15 +1,15 @@ { "name": "@tanstack/db-example-react-todo", "private": true, - "version": "0.1.30", + "version": "0.1.31", "dependencies": { - "@tanstack/electric-db-collection": "^0.5.9", + "@tanstack/electric-db-collection": "^0.6.0", "@tanstack/query-core": "^5.90.20", - "@tanstack/query-db-collection": "^1.4.3", - "@tanstack/react-db": "^0.5.8", + "@tanstack/query-db-collection": "^1.4.4", + "@tanstack/react-db": "^0.5.9", "@tanstack/react-router": "^1.170.41", "@tanstack/react-start": "^1.168.60", - "@tanstack/trailbase-db-collection": "^0.1.119", + "@tanstack/trailbase-db-collection": "^0.1.120", "cors": "^2.8.6", "drizzle-orm": "^0.45.1", "drizzle-zod": "^0.8.3", diff --git a/examples/solid/todo/CHANGELOG.md b/examples/solid/todo/CHANGELOG.md index ac4aff4177..d3f34d27fb 100644 --- a/examples/solid/todo/CHANGELOG.md +++ b/examples/solid/todo/CHANGELOG.md @@ -1,5 +1,15 @@ # examples/react/todo +## 0.0.39 + +### Patch Changes + +- Updated dependencies [[`a920d02`](https://github.com/TanStack/db/commit/a920d02fa59de3a1dfa409ffdc5325cbd984cb97), [`cda9d6a`](https://github.com/TanStack/db/commit/cda9d6a731e93777f1c8bfdab7d9e22f70e80dc6), [`bc6f30e`](https://github.com/TanStack/db/commit/bc6f30e716aeb26c13b6a0e9ba00a27edc72a4d7), [`d0dfcda`](https://github.com/TanStack/db/commit/d0dfcdae6c354a8e424c1f083ee989e9874e714e), [`16a34c9`](https://github.com/TanStack/db/commit/16a34c9f5843c9edbb6d5c2fb52b02d65d602b28), [`477afa4`](https://github.com/TanStack/db/commit/477afa48da2dbdbccb7c412c8069474300a2b789)]: + - @tanstack/electric-db-collection@0.6.0 + - @tanstack/query-db-collection@1.4.4 + - @tanstack/trailbase-db-collection@0.1.120 + - @tanstack/solid-db@0.3.9 + ## 0.0.38 ### Patch Changes diff --git a/examples/solid/todo/package.json b/examples/solid/todo/package.json index 3a1cc9a278..9dab72851f 100644 --- a/examples/solid/todo/package.json +++ b/examples/solid/todo/package.json @@ -1,15 +1,15 @@ { "name": "@tanstack/db-example-solid-todo", "private": true, - "version": "0.0.38", + "version": "0.0.39", "dependencies": { - "@tanstack/electric-db-collection": "^0.5.9", + "@tanstack/electric-db-collection": "^0.6.0", "@tanstack/query-core": "^5.90.20", - "@tanstack/query-db-collection": "^1.4.3", - "@tanstack/solid-db": "^0.3.8", + "@tanstack/query-db-collection": "^1.4.4", + "@tanstack/solid-db": "^0.3.9", "@tanstack/solid-router": "^1.170.38", "@tanstack/solid-start": "^1.168.57", - "@tanstack/trailbase-db-collection": "^0.1.119", + "@tanstack/trailbase-db-collection": "^0.1.120", "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 d46501839b..dffa9af775 100644 --- a/packages/angular-db/CHANGELOG.md +++ b/packages/angular-db/CHANGELOG.md @@ -1,5 +1,12 @@ # @tanstack/angular-db +## 0.2.9 + +### Patch Changes + +- Updated dependencies [[`cda9d6a`](https://github.com/TanStack/db/commit/cda9d6a731e93777f1c8bfdab7d9e22f70e80dc6), [`2f928e6`](https://github.com/TanStack/db/commit/2f928e6f240adb8874a6537905000009a2e9b53f), [`dfec42e`](https://github.com/TanStack/db/commit/dfec42e4a78ef609f9aa2f2c0f863a1e4f1ae1e3), [`1a65c2c`](https://github.com/TanStack/db/commit/1a65c2c63db9ad14c08d35b09d0081ecc121fbfc), [`1b4ee8d`](https://github.com/TanStack/db/commit/1b4ee8d57168978847687e75dbc1c33ddb935ed3), [`bbbf017`](https://github.com/TanStack/db/commit/bbbf017ef5b3884515295a4225faacdfd814499e), [`bc6f30e`](https://github.com/TanStack/db/commit/bc6f30e716aeb26c13b6a0e9ba00a27edc72a4d7), [`fade2e2`](https://github.com/TanStack/db/commit/fade2e24cfb9922b9b172f96194f7b6246731f50), [`bbe9327`](https://github.com/TanStack/db/commit/bbe9327ce90ab587ee6ef24e0030f79291f3057d), [`b34a579`](https://github.com/TanStack/db/commit/b34a579762b36dd49a89e11eacd7788f1df89453), [`6fa60aa`](https://github.com/TanStack/db/commit/6fa60aa7ada4d418f85cd745c9eea0af3de0efb4), [`f84387c`](https://github.com/TanStack/db/commit/f84387cd8220e8603dc24a99fe4881fa4cd5ddcd), [`be4a3d6`](https://github.com/TanStack/db/commit/be4a3d642c6d292150f7ff4e041442338e5a2de2), [`0dc696a`](https://github.com/TanStack/db/commit/0dc696a64901973d8025cb1a40af34c68c856855), [`fd13e3c`](https://github.com/TanStack/db/commit/fd13e3cc9d3302e7598a78ac8f49d06dbbde7e08)]: + - @tanstack/db@0.14.0 + ## 0.2.8 ### Patch Changes diff --git a/packages/angular-db/package.json b/packages/angular-db/package.json index ed0340849e..2b6a43362c 100644 --- a/packages/angular-db/package.json +++ b/packages/angular-db/package.json @@ -1,6 +1,6 @@ { "name": "@tanstack/angular-db", - "version": "0.2.8", + "version": "0.2.9", "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 index 82b7086e37..c09256f944 100644 --- a/packages/browser-db-sqlite-persistence/CHANGELOG.md +++ b/packages/browser-db-sqlite-persistence/CHANGELOG.md @@ -1,5 +1,14 @@ # @tanstack/browser-db-sqlite-persistence +## 0.2.34 + +### Patch Changes + +- Recover persisted on-demand Electric and Query collections after cache claim loss by rotating their SQLite cache and reloading active subsets. Fence retired provider work and expired claims, preserve warm runs on their claimed cache generation, and forward claim lifetime options through SQLite host factories. Require explicit eager or claim-bound managed targets for SQLite adapter data operations, and forward them through Electron IPC protocol v6. Bare collection IDs no longer work at this lower-level adapter boundary. ([#2069](https://github.com/TanStack/db/pull/2069)) + +- Updated dependencies [[`cda9d6a`](https://github.com/TanStack/db/commit/cda9d6a731e93777f1c8bfdab7d9e22f70e80dc6), [`6fa60aa`](https://github.com/TanStack/db/commit/6fa60aa7ada4d418f85cd745c9eea0af3de0efb4), [`5d2a4b0`](https://github.com/TanStack/db/commit/5d2a4b00cffa8d8b9a1b89f708b4b71c2ff46ff3)]: + - @tanstack/db-sqlite-persistence-core@0.4.9 + ## 0.2.33 ### Patch Changes diff --git a/packages/browser-db-sqlite-persistence/package.json b/packages/browser-db-sqlite-persistence/package.json index baa4b98afd..84b0417f63 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.2.33", + "version": "0.2.34", "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 index a89b2ee845..171e1f5c3b 100644 --- a/packages/capacitor-db-sqlite-persistence/CHANGELOG.md +++ b/packages/capacitor-db-sqlite-persistence/CHANGELOG.md @@ -1,5 +1,14 @@ # @tanstack/capacitor-db-sqlite-persistence +## 0.2.34 + +### Patch Changes + +- Recover persisted on-demand Electric and Query collections after cache claim loss by rotating their SQLite cache and reloading active subsets. Fence retired provider work and expired claims, preserve warm runs on their claimed cache generation, and forward claim lifetime options through SQLite host factories. Require explicit eager or claim-bound managed targets for SQLite adapter data operations, and forward them through Electron IPC protocol v6. Bare collection IDs no longer work at this lower-level adapter boundary. ([#2069](https://github.com/TanStack/db/pull/2069)) + +- Updated dependencies [[`cda9d6a`](https://github.com/TanStack/db/commit/cda9d6a731e93777f1c8bfdab7d9e22f70e80dc6), [`6fa60aa`](https://github.com/TanStack/db/commit/6fa60aa7ada4d418f85cd745c9eea0af3de0efb4), [`5d2a4b0`](https://github.com/TanStack/db/commit/5d2a4b00cffa8d8b9a1b89f708b4b71c2ff46ff3)]: + - @tanstack/db-sqlite-persistence-core@0.4.9 + ## 0.2.33 ### Patch Changes diff --git a/packages/capacitor-db-sqlite-persistence/e2e/app/CHANGELOG.md b/packages/capacitor-db-sqlite-persistence/e2e/app/CHANGELOG.md index e143b85c8d..d3dffd56bf 100644 --- a/packages/capacitor-db-sqlite-persistence/e2e/app/CHANGELOG.md +++ b/packages/capacitor-db-sqlite-persistence/e2e/app/CHANGELOG.md @@ -1,5 +1,13 @@ # @tanstack/capacitor-db-sqlite-persistence-e2e-app +## 0.0.46 + +### Patch Changes + +- Updated dependencies [[`cda9d6a`](https://github.com/TanStack/db/commit/cda9d6a731e93777f1c8bfdab7d9e22f70e80dc6), [`2f928e6`](https://github.com/TanStack/db/commit/2f928e6f240adb8874a6537905000009a2e9b53f), [`dfec42e`](https://github.com/TanStack/db/commit/dfec42e4a78ef609f9aa2f2c0f863a1e4f1ae1e3), [`1a65c2c`](https://github.com/TanStack/db/commit/1a65c2c63db9ad14c08d35b09d0081ecc121fbfc), [`1b4ee8d`](https://github.com/TanStack/db/commit/1b4ee8d57168978847687e75dbc1c33ddb935ed3), [`bbbf017`](https://github.com/TanStack/db/commit/bbbf017ef5b3884515295a4225faacdfd814499e), [`bc6f30e`](https://github.com/TanStack/db/commit/bc6f30e716aeb26c13b6a0e9ba00a27edc72a4d7), [`fade2e2`](https://github.com/TanStack/db/commit/fade2e24cfb9922b9b172f96194f7b6246731f50), [`bbe9327`](https://github.com/TanStack/db/commit/bbe9327ce90ab587ee6ef24e0030f79291f3057d), [`b34a579`](https://github.com/TanStack/db/commit/b34a579762b36dd49a89e11eacd7788f1df89453), [`6fa60aa`](https://github.com/TanStack/db/commit/6fa60aa7ada4d418f85cd745c9eea0af3de0efb4), [`f84387c`](https://github.com/TanStack/db/commit/f84387cd8220e8603dc24a99fe4881fa4cd5ddcd), [`be4a3d6`](https://github.com/TanStack/db/commit/be4a3d642c6d292150f7ff4e041442338e5a2de2), [`0dc696a`](https://github.com/TanStack/db/commit/0dc696a64901973d8025cb1a40af34c68c856855), [`fd13e3c`](https://github.com/TanStack/db/commit/fd13e3cc9d3302e7598a78ac8f49d06dbbde7e08)]: + - @tanstack/db@0.14.0 + - @tanstack/capacitor-db-sqlite-persistence@0.2.34 + ## 0.0.45 ### Patch Changes diff --git a/packages/capacitor-db-sqlite-persistence/e2e/app/package.json b/packages/capacitor-db-sqlite-persistence/e2e/app/package.json index 5ad10682e8..48960c10b2 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.45", + "version": "0.0.46", "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 16ee4cbf4c..2ef62242e1 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.2.33", + "version": "0.2.34", "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 index a1f641ffb3..af93efa4af 100644 --- a/packages/cloudflare-durable-objects-db-sqlite-persistence/CHANGELOG.md +++ b/packages/cloudflare-durable-objects-db-sqlite-persistence/CHANGELOG.md @@ -1,5 +1,14 @@ # @tanstack/cloudflare-durable-objects-db-sqlite-persistence +## 0.2.34 + +### Patch Changes + +- Recover persisted on-demand Electric and Query collections after cache claim loss by rotating their SQLite cache and reloading active subsets. Fence retired provider work and expired claims, preserve warm runs on their claimed cache generation, and forward claim lifetime options through SQLite host factories. Require explicit eager or claim-bound managed targets for SQLite adapter data operations, and forward them through Electron IPC protocol v6. Bare collection IDs no longer work at this lower-level adapter boundary. ([#2069](https://github.com/TanStack/db/pull/2069)) + +- Updated dependencies [[`cda9d6a`](https://github.com/TanStack/db/commit/cda9d6a731e93777f1c8bfdab7d9e22f70e80dc6), [`6fa60aa`](https://github.com/TanStack/db/commit/6fa60aa7ada4d418f85cd745c9eea0af3de0efb4), [`5d2a4b0`](https://github.com/TanStack/db/commit/5d2a4b00cffa8d8b9a1b89f708b4b71c2ff46ff3)]: + - @tanstack/db-sqlite-persistence-core@0.4.9 + ## 0.2.33 ### Patch Changes diff --git a/packages/cloudflare-durable-objects-db-sqlite-persistence/package.json b/packages/cloudflare-durable-objects-db-sqlite-persistence/package.json index 28a912f012..57be3aa2e0 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.2.33", + "version": "0.2.34", "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 ce1644fa1e..0397d463ea 100644 --- a/packages/db-ivm/CHANGELOG.md +++ b/packages/db-ivm/CHANGELOG.md @@ -1,5 +1,30 @@ # @tanstack/db-ivm +## 0.2.0 + +### Minor Changes + +- Remove operators and helpers that `@tanstack/db` does not use. This is a breaking change for code that imports them from `@tanstack/db-ivm` directly: ([#2133](https://github.com/TanStack/db/pull/2133)) + + - `topK`, `topKWithIndex`, `orderBy`, `orderByWithIndex` and `orderByWithFractionalIndexBase`. Use `orderByWithFractionalIndex` or `groupedOrderByWithFractionalIndex`. + - `innerJoin`, `leftJoin`, `rightJoin`, `fullJoin` and `antiJoin`. Use `join(other, type)`. Its result values are typed as nullable for every join type, so code that used the precise `innerJoin` result type needs a cast or a null check. + - The `count`, `negate`, `debug`, `filterBy`, `keyBy`, `unkey` and `rekey` operators. The `count` aggregate in `groupByOperators` is unchanged. + - The never-implemented piped aggregates in `groupBy`. An aggregate must supply `preMap` and `reduce`; an object with only `pipe` now fails when the graph runs, where it was ignored before. + + The package also no longer depends on `sorted-btree`, which only an internal B+ tree top-K used. + +### Patch Changes + +- Structural hashing now gives equal objects the same hash when two of their keys are distinct strings that locale collation ranks as equal, such as a precomposed `Å` and `A` followed by a combining ring. Before, the hash sorted keys with `localeCompare`, so the hash of such an object depended on the order its keys were inserted, and two equal rows could fail to consolidate in a live query. Keys now sort by UTF-16 code unit, which is a total order. This changes the digest of objects whose keys sort differently by code unit than by locale, for example `{ a: 1, B: 2 }`. Digests are per process, so no stored value depends on them. Hashing also writes whole 32-bit words to the hash stream, which makes hashing rows faster. The stream still hashes the same bytes. ([#2108](https://github.com/TanStack/db/pull/2108)) + +- An ordered, limited live query or Effect filtered through a LEFT join no longer shows a later row in place of an earlier one. The query loads a bounded prefix of root rows, and a row inserted after that prefix could enter the query's input. When a row left the window without a root delete, for example because its joined row was deleted or inserted, or its join key changed, the later row filled the window while an earlier eligible row was never loaded. A window row after the loaded prefix no longer counts toward a full window, so the query loads the next page first. ([#2122](https://github.com/TanStack/db/pull/2122)) + + An ordered, limited query with a full, outer or cross join now reads its full source, as inner and right joins already did. A full join loaded a bounded prefix of root rows, so a joined row whose root match had not loaded yet looked unmatched and could take a place in the window. + +- `reduce`, `groupBy`, and the joins they feed do less work per changed key: a reduce whose key has at most one output before and after compares the two directly instead of building two maps, its state no longer keeps a per-key presence count that only joins read, and index reads build their result directly. Live queries with includes hydrate slightly faster. ([#2114](https://github.com/TanStack/db/pull/2114)) + +- Aggregate queries hydrate and update faster. `groupBy` merges equal contributions to a group, and it used to find them by hashing every contribution. Each contribution now leads with an identity string built from its group key and its pre-aggregate values, and the reduce index merges contributions with equal identities without hashing them. D2 value identity (`equalHashValues`) defines the identity: two values get the same identity string exactly when D2 treats them as equal. Primitives, arrays, plain and class-instance objects, Dates, RegExps, Maps, Sets and Uint8Arrays get an identity. A contribution that holds anything else, a value nested more than four levels deep, or an object with an enumerable symbol key still goes through the structural hash. A grouped count or min over 10,000 rows hydrates about 2× faster. ([#2112](https://github.com/TanStack/db/pull/2112)) + ## 0.1.26 ### Patch Changes diff --git a/packages/db-ivm/package.json b/packages/db-ivm/package.json index 9379dc2c11..be7413db8c 100644 --- a/packages/db-ivm/package.json +++ b/packages/db-ivm/package.json @@ -1,6 +1,6 @@ { "name": "@tanstack/db-ivm", - "version": "0.1.26", + "version": "0.2.0", "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 index 5b8bff44a6..efd0f00a2b 100644 --- a/packages/db-sqlite-persistence-core/CHANGELOG.md +++ b/packages/db-sqlite-persistence-core/CHANGELOG.md @@ -1,5 +1,22 @@ # @tanstack/db-sqlite-persistence-core +## 0.4.9 + +### Patch Changes + +- Recover persisted on-demand Electric and Query collections after cache claim loss by rotating their SQLite cache and reloading active subsets. Fence retired provider work and expired claims, preserve warm runs on their claimed cache generation, and forward claim lifetime options through SQLite host factories. Require explicit eager or claim-bound managed targets for SQLite adapter data operations, and forward them through Electron IPC protocol v6. Bare collection IDs no longer work at this lower-level adapter boundary. ([#2069](https://github.com/TanStack/db/pull/2069)) + +- Reject reuse of mutable persisted and LocalStorage sync options across Collections while keeping DbClient materializations independent. Pass fresh options to each direct `createCollection(...)`; DbClient descriptors remain reusable. Keep on-demand peer reloads and schema resets scoped to active demand and previously visible rows. Refresh or delete visible rows from durable evidence without replacing unconfirmed DbClient hydration rows or metadata. Resolve targeted peer updates from storage when their notice cannot distinguish a replacing insert from a partial update. ([#2096](https://github.com/TanStack/db/pull/2096)) + +- In a follower tab, an on-demand load that the leader fetches now settles only after the follower applies the leader's committed rows. Before, the leader's reply could settle the load while the follower was still applying the broadcast commit, so a live query in the follower tab could first be ready without those rows. A follower load now rejects, and releases its acquisition, when the leader's broadcast commit fails to apply in the follower, instead of settling without rows. ([#2128](https://github.com/TanStack/db/pull/2128)) + + A follower now replaces its rows in place when it applies the leader's commits, instead of replaying its demand to a leader that commits again on every load. It also requests its demand again after the leader resets the collection, instead of showing an empty ready result. If its cache claim renewal fails transiently while a load waits for the leader's rows, the load rejects and the demand is retried, as after a failed request to the leader. + + Any persisted collection, not only a follower, now keeps commit notices that arrive while its cache claim is expired and applies them in arrival order once the claim is renewed or rotated; before, they were dropped. A commit that fails to apply from the queue now makes the collection fail, as a commit applied when it arrives already did. + +- Updated dependencies [[`cda9d6a`](https://github.com/TanStack/db/commit/cda9d6a731e93777f1c8bfdab7d9e22f70e80dc6), [`2f928e6`](https://github.com/TanStack/db/commit/2f928e6f240adb8874a6537905000009a2e9b53f), [`dfec42e`](https://github.com/TanStack/db/commit/dfec42e4a78ef609f9aa2f2c0f863a1e4f1ae1e3), [`1a65c2c`](https://github.com/TanStack/db/commit/1a65c2c63db9ad14c08d35b09d0081ecc121fbfc), [`1b4ee8d`](https://github.com/TanStack/db/commit/1b4ee8d57168978847687e75dbc1c33ddb935ed3), [`bbbf017`](https://github.com/TanStack/db/commit/bbbf017ef5b3884515295a4225faacdfd814499e), [`bc6f30e`](https://github.com/TanStack/db/commit/bc6f30e716aeb26c13b6a0e9ba00a27edc72a4d7), [`fade2e2`](https://github.com/TanStack/db/commit/fade2e24cfb9922b9b172f96194f7b6246731f50), [`bbe9327`](https://github.com/TanStack/db/commit/bbe9327ce90ab587ee6ef24e0030f79291f3057d), [`b34a579`](https://github.com/TanStack/db/commit/b34a579762b36dd49a89e11eacd7788f1df89453), [`6fa60aa`](https://github.com/TanStack/db/commit/6fa60aa7ada4d418f85cd745c9eea0af3de0efb4), [`f84387c`](https://github.com/TanStack/db/commit/f84387cd8220e8603dc24a99fe4881fa4cd5ddcd), [`be4a3d6`](https://github.com/TanStack/db/commit/be4a3d642c6d292150f7ff4e041442338e5a2de2), [`0dc696a`](https://github.com/TanStack/db/commit/0dc696a64901973d8025cb1a40af34c68c856855), [`fd13e3c`](https://github.com/TanStack/db/commit/fd13e3cc9d3302e7598a78ac8f49d06dbbde7e08)]: + - @tanstack/db@0.14.0 + ## 0.4.8 ### Patch Changes diff --git a/packages/db-sqlite-persistence-core/package.json b/packages/db-sqlite-persistence-core/package.json index 8421d0c674..6e538517c7 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.4.8", + "version": "0.4.9", "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 ae9bc5c6ab..0ed85f6e81 100644 --- a/packages/db/CHANGELOG.md +++ b/packages/db/CHANGELOG.md @@ -1,5 +1,66 @@ # @tanstack/db +## 0.14.0 + +### Minor Changes + +- Allow a `Query` built with Collection descriptors outside a `DbClient` to bind its sources when a client consumes it. Building or extending a query keeps descriptors unbound until that consumption. A reusable factory descriptor can now serve the same prebuilt query in separate client scopes, including React providers and server preloads. A prepared query is a bound snapshot; reuse the original unbound query across clients. The exported IR now represents an unbound descriptor with `DescriptorRef`; visitors of `IR.From` must handle the `descriptorRef` variant. ([#2077](https://github.com/TanStack/db/pull/2077)) + + React hooks bind standalone descriptor queries through their `DbProvider` client and report a provider hint when no client is available. Svelte hooks bind through their client and release deferred sources after failed query setup. + +### Patch Changes + +- Recover persisted on-demand Electric and Query collections after cache claim loss by rotating their SQLite cache and reloading active subsets. Fence retired provider work and expired claims, preserve warm runs on their claimed cache generation, and forward claim lifetime options through SQLite host factories. Require explicit eager or claim-bound managed targets for SQLite adapter data operations, and forward them through Electron IPC protocol v6. Bare collection IDs no longer work at this lower-level adapter boundary. ([#2069](https://github.com/TanStack/db/pull/2069)) + +- Keep `undefined` in the configured nulls-first position when BasicIndex builds from existing rows. Preserve indexed key ownership and public query order across mixed and prefixed values. Make Duration equality follow its fields; order indexed ZonedDateTimes by instant, PlainDates by calendar, and time-only Durations by elapsed time; and preserve required errors for mixed or unordered Temporal values. Keep custom index callback inputs consistent across index types and ignore a manual index whose order conflicts with a limited public read. ([#2116](https://github.com/TanStack/db/pull/2116)) + +- A direct write (`insert`, `update` or `delete` outside a transaction) whose change subscriber throws no longer leaves a pending transaction behind. Before, the write's transaction stayed pending with its optimistic row visible, its handler never ran, and the Collection kept tracking it. The write now rolls back its own transaction, without rolling back other transactions, and rethrows the subscriber's error. A local-only direct write that takes the fast path (the Collection has no handler for that operation and no other pending or persisting transaction) stores its rows when it publishes them, so it completes its transaction and rethrows. On the transaction path it rolls back and rethrows, as any other direct write does. ([#2091](https://github.com/TanStack/db/pull/2091)) + +- Rolling back a transaction that has no mutations no longer causes an unhandled promise rejection. Such a transaction is tracked by no Collection, so nothing else observed its receipt, and Node reported the rejection. Every transaction now marks its receipt as observed when it is created. A caller that reads `when('settled')` still receives the rejection. ([#2104](https://github.com/TanStack/db/pull/2104)) + +- A live query with included child collections now throws when the query graph retires a child collection that still has rows the graph never removed. The graph always removes a child collection's rows before it retires it, so this is an internal invariant violation. Before, the rows were removed silently, which hid the fault. The failed flush restores the child collections, as for any failed flush. ([#2092](https://github.com/TanStack/db/pull/2092)) + + Calling `cleanup()` on a child collection of a live query now returns a rejected promise. The live query owns its child collections, and several parent rows can share one. Before, a cleanup stopped the child collection for every parent that shared it, so they never saw its rows again. Clean up the live query instead. Ordinary Collections are not affected. + + An optimistic update of a row in a child collection no longer throws "Bucket facade row has no public key". Each child row now carries its key in `$key`, so the copy that an update makes keeps it. + + Also fix a lost child row behind a persisting transaction. When a user transaction on a child collection was persisting, an update to a child row that an earlier flush had written was applied as a delete, so the row disappeared when the transaction settled. A rollback in that state could also delete such a row. The adapter now decides each write from the child collection's synced rows, including writes that a persisting transaction holds, not from the rows the child collection shows. + +- An ordered, limited live query or Effect filtered through a LEFT join no longer shows a later row in place of an earlier one. The query loads a bounded prefix of root rows, and a row inserted after that prefix could enter the query's input. When a row left the window without a root delete, for example because its joined row was deleted or inserted, or its join key changed, the later row filled the window while an earlier eligible row was never loaded. A window row after the loaded prefix no longer counts toward a full window, so the query loads the next page first. ([#2122](https://github.com/TanStack/db/pull/2122)) + + An ordered, limited query with a full, outer or cross join now reads its full source, as inner and right joins already did. A full join loaded a bounded prefix of root rows, so a joined row whose root match had not loaded yet looked unmatched and could take a place in the window. + +- A live query over a progressive Electric collection is now ready once its own snapshot loads. Before, it stayed loading until the collection's background full sync completed, so `preload()`, `isReady`, and `useLiveSuspenseQuery` waited for the whole dataset even when the query's rows were already present. A live query now waits for an eager source to be ready and for an on-demand source's subset loads to settle. An on-demand source's own readiness no longer gates the query. ([#2115](https://github.com/TanStack/db/pull/2115)) + + An effect with `skipInitial: true` ends its initial suppression at the same point. Before, an effect over an on-demand source that was already ready reported its initial rows as `enter` events. + + A live query no longer enters an error state when a truncate of a lazily loaded source (a joined or included collection) aborts that source's pending load during the initial load. The truncate's replacement load now decides the demand. + + A progressive Electric load that arrives while a must-refetch is replacing the initial snapshot now settles when the replacement completes. Before, it settled at once without loading rows, which the new readiness rule would have reported as a ready, empty query. After a stream error that `onError` retries, later progressive loads settle once the stream recovers. + + `toArrayWhenReady()` and `stateWhenReady()` now resolve when `preload()` does. Before, they resolved as soon as the collection held any row, so on a live query they could resolve before the query was ready. + +- A subscriber no longer keeps stale rows after a truncate replay that loses its last demand. When the last requested subset is released while the replay is still loading, nothing can complete the replay. If its current attempt has not failed, the subscriber now receives the rows the source wrote, replaced or deleted during it, instead of keeping the values from before the truncate. A replay whose attempt failed still keeps the last complete snapshot, as before, and a later request updates any row it still shows at an older value. ([#2121](https://github.com/TanStack/db/pull/2121)) + +- An aggregate query without `groupBy` no longer drops its other select fields silently. Inside an include, a literal or a parent field now appears beside the aggregate, for example `{ n: count(c.id), px: issue.x }`. Before, `px` was `undefined`. A field of the query's own source has no single value for the group, so it now throws `NonAggregateExpressionNotInGroupByError`, as it already did with `groupBy`. Before, it was `undefined`. This also applies to a source field outside the aggregates of a wrapped, conditional or nested value, such as `add(count(c.id), c.v)`, and to a spread such as `{ ...c, n: count(c.id) }`. Aggregate the field (for example with `max`) or add it to `groupBy`. ([#2094](https://github.com/TanStack/db/pull/2094)) + + With `groupBy`, a literal or a parent field beside the aggregate is now accepted and published, because it has one value per group. Before, it threw. A nested include in a grouped or aggregate select now throws. Before, it was `null` without `groupBy`. + + A HAVING condition that compares a group key, such as `having(({ c }) => eq(c.k, 'a'))`, now keeps the matching groups. Before, it removed every group. A HAVING condition that reads another source field outside an aggregate now throws `NonAggregateExpressionNotInGroupByError`. Before, it removed every group. A grouped select that repeats a `groupBy` expression with an array, Date or `NaN` literal no longer throws, and a parent field is accepted when the include's source reuses the parent's alias. The error message no longer says "in SELECT", because it also applies to HAVING. An aggregate query without `groupBy` whose select only wraps its aggregate, such as `{ n: add(count(c.id), 1) }`, now accepts HAVING on its selected values, parent fields and literals. Before, it threw `HavingRequiresGroupByError`. An aggregate inside HAVING must still be a top-level select field. The same rule applies after `unionAll`: a field of the union's rows outside an aggregate throws. A grouped row keeps the select's field order. + +- Keep ordered snapshots from resending rows already delivered by full-state or skip-filtering subscriptions. Release deleted keys from snapshot tracking. Preserve provider coverage when pending optimistic changes hide rows or change an ordered window. ([#2086](https://github.com/TanStack/db/pull/2086)) + +- Reject reuse of mutable persisted and LocalStorage sync options across Collections while keeping DbClient materializations independent. Pass fresh options to each direct `createCollection(...)`; DbClient descriptors remain reusable. Keep on-demand peer reloads and schema resets scoped to active demand and previously visible rows. Refresh or delete visible rows from durable evidence without replacing unconfirmed DbClient hydration rows or metadata. Resolve targeted peer updates from storage when their notice cannot distinguish a replacing insert from a partial update. ([#2096](https://github.com/TanStack/db/pull/2096)) + +- Preserve lexical source bindings when a correlated right or full join has an absent side, and allow captured ancestor references in join conditions. ([#2095](https://github.com/TanStack/db/pull/2095)) + +- Aggregate queries hydrate and update faster. `groupBy` merges equal contributions to a group, and it used to find them by hashing every contribution. Each contribution now leads with an identity string built from its group key and its pre-aggregate values, and the reduce index merges contributions with equal identities without hashing them. D2 value identity (`equalHashValues`) defines the identity: two values get the same identity string exactly when D2 treats them as equal. Primitives, arrays, plain and class-instance objects, Dates, RegExps, Maps, Sets and Uint8Arrays get an identity. A contribution that holds anything else, a value nested more than four levels deep, or an object with an enumerable symbol key still goes through the structural hash. A grouped count or min over 10,000 rows hydrates about 2× faster. ([#2112](https://github.com/TanStack/db/pull/2112)) + +- Live queries with includes hydrate faster. The rows that the include graph keeps in its join and reduce state now lead with their key, so the dataflow index tells them apart by key and hashes a whole row only to match it against a row with the same key, such as its own retraction. On a 10,000-issue benchmark, an issue-to-creator include hydrates about 30% faster and a two-level include about 33% faster. ([#2109](https://github.com/TanStack/db/pull/2109)) + +- Updated dependencies [[`cf07eec`](https://github.com/TanStack/db/commit/cf07eec6bd9c3e33851a3b2068b16eeda7bf8a37), [`bbbf017`](https://github.com/TanStack/db/commit/bbbf017ef5b3884515295a4225faacdfd814499e), [`8b6b21d`](https://github.com/TanStack/db/commit/8b6b21dbe2cfb072589e25f80dd72d1150503fb6), [`be4a3d6`](https://github.com/TanStack/db/commit/be4a3d642c6d292150f7ff4e041442338e5a2de2), [`cd92156`](https://github.com/TanStack/db/commit/cd92156d61a50e570dbf2bfb490969ff41b40e74)]: + - @tanstack/db-ivm@0.2.0 + ## 0.13.0 ### Minor Changes diff --git a/packages/db/package.json b/packages/db/package.json index 92d04b8bb1..c88a107617 100644 --- a/packages/db/package.json +++ b/packages/db/package.json @@ -1,6 +1,6 @@ { "name": "@tanstack/db", - "version": "0.13.0", + "version": "0.14.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 b46d18c600..5e55405c89 100644 --- a/packages/electric-db-collection/CHANGELOG.md +++ b/packages/electric-db-collection/CHANGELOG.md @@ -1,5 +1,30 @@ # @tanstack/electric-db-collection +## 0.6.0 + +### Minor Changes + +- A stream error that `onError` retries no longer fails the initial sync or the subset loads that are waiting for it. The collection stays `loading` while `onError` decides, and waiting loads settle when the retried stream delivers its snapshot. Before, the collection entered `error` and waiting loads rejected even when the retry succeeded, which could leave a joined or included live query in error for good. A stream error without `onError`, or one where `onError` gives up or throws, still fails the initial sync and its waiting loads. The initial sync also fails when the Electric client gives up by itself after `onError` asked for a retry, for example on a response without Electric headers or after its retry limit, and when the stream's external `signal` aborts before the first ready. Before, the collection stayed `loading` in both cases. When the initial sync fails, waiting loads and readiness waits such as `preload()` now reject with the same cause, including when `onError` throws. A status listener that cleans the Collection up while it enters `error` no longer makes a waiting load succeed without rows. Once the first up-to-date is committed, its persistence step alone decides the initial sync: the Collection becomes ready when that snapshot is accepted, even after a retry or a give-up, and fails with the persistence error when it is not. ([#2127](https://github.com/TanStack/db/pull/2127)) + + Migration note: while `onError` decides whether to retry, the Collection now stays `loading`, and `preload()` and other readiness waits stay pending. Before, they entered `error` and rejected at once, even when the retry later succeeded. Code that showed a reconnecting state on `status === 'error'` during a retry should read `onError` itself instead. + +### Patch Changes + +- Recover persisted on-demand Electric and Query collections after cache claim loss by rotating their SQLite cache and reloading active subsets. Fence retired provider work and expired claims, preserve warm runs on their claimed cache generation, and forward claim lifetime options through SQLite host factories. Require explicit eager or claim-bound managed targets for SQLite adapter data operations, and forward them through Electron IPC protocol v6. Bare collection IDs no longer work at this lower-level adapter boundary. ([#2069](https://github.com/TanStack/db/pull/2069)) + +- A live query over a progressive Electric collection is now ready once its own snapshot loads. Before, it stayed loading until the collection's background full sync completed, so `preload()`, `isReady`, and `useLiveSuspenseQuery` waited for the whole dataset even when the query's rows were already present. A live query now waits for an eager source to be ready and for an on-demand source's subset loads to settle. An on-demand source's own readiness no longer gates the query. ([#2115](https://github.com/TanStack/db/pull/2115)) + + An effect with `skipInitial: true` ends its initial suppression at the same point. Before, an effect over an on-demand source that was already ready reported its initial rows as `enter` events. + + A live query no longer enters an error state when a truncate of a lazily loaded source (a joined or included collection) aborts that source's pending load during the initial load. The truncate's replacement load now decides the demand. + + A progressive Electric load that arrives while a must-refetch is replacing the initial snapshot now settles when the replacement completes. Before, it settled at once without loading rows, which the new readiness rule would have reported as a ready, empty query. After a stream error that `onError` retries, later progressive loads settle once the stream recovers. + + `toArrayWhenReady()` and `stateWhenReady()` now resolve when `preload()` does. Before, they resolved as soon as the collection held any row, so on a live query they could resolve before the query was ready. + +- Updated dependencies [[`cda9d6a`](https://github.com/TanStack/db/commit/cda9d6a731e93777f1c8bfdab7d9e22f70e80dc6), [`2f928e6`](https://github.com/TanStack/db/commit/2f928e6f240adb8874a6537905000009a2e9b53f), [`dfec42e`](https://github.com/TanStack/db/commit/dfec42e4a78ef609f9aa2f2c0f863a1e4f1ae1e3), [`1a65c2c`](https://github.com/TanStack/db/commit/1a65c2c63db9ad14c08d35b09d0081ecc121fbfc), [`1b4ee8d`](https://github.com/TanStack/db/commit/1b4ee8d57168978847687e75dbc1c33ddb935ed3), [`bbbf017`](https://github.com/TanStack/db/commit/bbbf017ef5b3884515295a4225faacdfd814499e), [`bc6f30e`](https://github.com/TanStack/db/commit/bc6f30e716aeb26c13b6a0e9ba00a27edc72a4d7), [`fade2e2`](https://github.com/TanStack/db/commit/fade2e24cfb9922b9b172f96194f7b6246731f50), [`bbe9327`](https://github.com/TanStack/db/commit/bbe9327ce90ab587ee6ef24e0030f79291f3057d), [`b34a579`](https://github.com/TanStack/db/commit/b34a579762b36dd49a89e11eacd7788f1df89453), [`6fa60aa`](https://github.com/TanStack/db/commit/6fa60aa7ada4d418f85cd745c9eea0af3de0efb4), [`f84387c`](https://github.com/TanStack/db/commit/f84387cd8220e8603dc24a99fe4881fa4cd5ddcd), [`be4a3d6`](https://github.com/TanStack/db/commit/be4a3d642c6d292150f7ff4e041442338e5a2de2), [`0dc696a`](https://github.com/TanStack/db/commit/0dc696a64901973d8025cb1a40af34c68c856855), [`fd13e3c`](https://github.com/TanStack/db/commit/fd13e3cc9d3302e7598a78ac8f49d06dbbde7e08)]: + - @tanstack/db@0.14.0 + ## 0.5.9 ### Patch Changes diff --git a/packages/electric-db-collection/package.json b/packages/electric-db-collection/package.json index 9577514971..ab7721abd7 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.5.9", + "version": "0.6.0", "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 index ad2b94b890..1f121a677f 100644 --- a/packages/electron-db-sqlite-persistence/CHANGELOG.md +++ b/packages/electron-db-sqlite-persistence/CHANGELOG.md @@ -1,5 +1,14 @@ # @tanstack/electron-db-sqlite-persistence +## 0.2.10 + +### Patch Changes + +- Recover persisted on-demand Electric and Query collections after cache claim loss by rotating their SQLite cache and reloading active subsets. Fence retired provider work and expired claims, preserve warm runs on their claimed cache generation, and forward claim lifetime options through SQLite host factories. Require explicit eager or claim-bound managed targets for SQLite adapter data operations, and forward them through Electron IPC protocol v6. Bare collection IDs no longer work at this lower-level adapter boundary. ([#2069](https://github.com/TanStack/db/pull/2069)) + +- Updated dependencies [[`cda9d6a`](https://github.com/TanStack/db/commit/cda9d6a731e93777f1c8bfdab7d9e22f70e80dc6), [`6fa60aa`](https://github.com/TanStack/db/commit/6fa60aa7ada4d418f85cd745c9eea0af3de0efb4), [`5d2a4b0`](https://github.com/TanStack/db/commit/5d2a4b00cffa8d8b9a1b89f708b4b71c2ff46ff3)]: + - @tanstack/db-sqlite-persistence-core@0.4.9 + ## 0.2.9 ### Patch Changes diff --git a/packages/electron-db-sqlite-persistence/package.json b/packages/electron-db-sqlite-persistence/package.json index 95d8df709d..875e4b2577 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.2.9", + "version": "0.2.10", "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 index 4354dd3088..43b65baf05 100644 --- a/packages/expo-db-sqlite-persistence/CHANGELOG.md +++ b/packages/expo-db-sqlite-persistence/CHANGELOG.md @@ -1,5 +1,14 @@ # @tanstack/expo-db-sqlite-persistence +## 0.2.34 + +### Patch Changes + +- Recover persisted on-demand Electric and Query collections after cache claim loss by rotating their SQLite cache and reloading active subsets. Fence retired provider work and expired claims, preserve warm runs on their claimed cache generation, and forward claim lifetime options through SQLite host factories. Require explicit eager or claim-bound managed targets for SQLite adapter data operations, and forward them through Electron IPC protocol v6. Bare collection IDs no longer work at this lower-level adapter boundary. ([#2069](https://github.com/TanStack/db/pull/2069)) + +- Updated dependencies [[`cda9d6a`](https://github.com/TanStack/db/commit/cda9d6a731e93777f1c8bfdab7d9e22f70e80dc6), [`6fa60aa`](https://github.com/TanStack/db/commit/6fa60aa7ada4d418f85cd745c9eea0af3de0efb4), [`5d2a4b0`](https://github.com/TanStack/db/commit/5d2a4b00cffa8d8b9a1b89f708b4b71c2ff46ff3)]: + - @tanstack/db-sqlite-persistence-core@0.4.9 + ## 0.2.33 ### Patch Changes 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 index 2c7b838e64..b30c843521 100644 --- a/packages/expo-db-sqlite-persistence/e2e/expo-runtime-app/CHANGELOG.md +++ b/packages/expo-db-sqlite-persistence/e2e/expo-runtime-app/CHANGELOG.md @@ -1,5 +1,13 @@ # @tanstack/expo-db-sqlite-persistence-e2e-app +## 0.0.46 + +### Patch Changes + +- Updated dependencies [[`cda9d6a`](https://github.com/TanStack/db/commit/cda9d6a731e93777f1c8bfdab7d9e22f70e80dc6), [`2f928e6`](https://github.com/TanStack/db/commit/2f928e6f240adb8874a6537905000009a2e9b53f), [`dfec42e`](https://github.com/TanStack/db/commit/dfec42e4a78ef609f9aa2f2c0f863a1e4f1ae1e3), [`1a65c2c`](https://github.com/TanStack/db/commit/1a65c2c63db9ad14c08d35b09d0081ecc121fbfc), [`1b4ee8d`](https://github.com/TanStack/db/commit/1b4ee8d57168978847687e75dbc1c33ddb935ed3), [`bbbf017`](https://github.com/TanStack/db/commit/bbbf017ef5b3884515295a4225faacdfd814499e), [`bc6f30e`](https://github.com/TanStack/db/commit/bc6f30e716aeb26c13b6a0e9ba00a27edc72a4d7), [`fade2e2`](https://github.com/TanStack/db/commit/fade2e24cfb9922b9b172f96194f7b6246731f50), [`bbe9327`](https://github.com/TanStack/db/commit/bbe9327ce90ab587ee6ef24e0030f79291f3057d), [`b34a579`](https://github.com/TanStack/db/commit/b34a579762b36dd49a89e11eacd7788f1df89453), [`6fa60aa`](https://github.com/TanStack/db/commit/6fa60aa7ada4d418f85cd745c9eea0af3de0efb4), [`f84387c`](https://github.com/TanStack/db/commit/f84387cd8220e8603dc24a99fe4881fa4cd5ddcd), [`be4a3d6`](https://github.com/TanStack/db/commit/be4a3d642c6d292150f7ff4e041442338e5a2de2), [`0dc696a`](https://github.com/TanStack/db/commit/0dc696a64901973d8025cb1a40af34c68c856855), [`fd13e3c`](https://github.com/TanStack/db/commit/fd13e3cc9d3302e7598a78ac8f49d06dbbde7e08)]: + - @tanstack/db@0.14.0 + - @tanstack/expo-db-sqlite-persistence@0.2.34 + ## 0.0.45 ### Patch Changes 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 bb44f45a63..dc6de0a187 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.45", + "version": "0.0.46", "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 4d5053094e..548866d0b9 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.2.33", + "version": "0.2.34", "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 index 437fe85202..a3aa1639c2 100644 --- a/packages/node-db-sqlite-persistence/CHANGELOG.md +++ b/packages/node-db-sqlite-persistence/CHANGELOG.md @@ -1,5 +1,14 @@ # @tanstack/node-db-sqlite-persistence +## 0.2.34 + +### Patch Changes + +- Recover persisted on-demand Electric and Query collections after cache claim loss by rotating their SQLite cache and reloading active subsets. Fence retired provider work and expired claims, preserve warm runs on their claimed cache generation, and forward claim lifetime options through SQLite host factories. Require explicit eager or claim-bound managed targets for SQLite adapter data operations, and forward them through Electron IPC protocol v6. Bare collection IDs no longer work at this lower-level adapter boundary. ([#2069](https://github.com/TanStack/db/pull/2069)) + +- Updated dependencies [[`cda9d6a`](https://github.com/TanStack/db/commit/cda9d6a731e93777f1c8bfdab7d9e22f70e80dc6), [`6fa60aa`](https://github.com/TanStack/db/commit/6fa60aa7ada4d418f85cd745c9eea0af3de0efb4), [`5d2a4b0`](https://github.com/TanStack/db/commit/5d2a4b00cffa8d8b9a1b89f708b4b71c2ff46ff3)]: + - @tanstack/db-sqlite-persistence-core@0.4.9 + ## 0.2.33 ### Patch Changes diff --git a/packages/node-db-sqlite-persistence/package.json b/packages/node-db-sqlite-persistence/package.json index 499901b7d2..0fc083275b 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.2.33", + "version": "0.2.34", "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 7e5532e043..704732229d 100644 --- a/packages/offline-transactions/CHANGELOG.md +++ b/packages/offline-transactions/CHANGELOG.md @@ -1,5 +1,24 @@ # @tanstack/offline-transactions +## 1.1.1 + +### Patch Changes + +- A failed auto-commit of an offline transaction no longer causes an unhandled promise rejection. `mutate()` with `autoCommit` (the default) committed through its own copy of the auto-commit logic, which logged the failure and then rethrew it inside a `.catch`, so every failed auto-commit reached `unhandledRejection`. The offline transaction now passes `autoCommit` to its TanStack DB transaction, which reports the failure through `when('settled')` without an unhandled rejection. The extra `Auto-commit failed:` console error is gone. ([#2090](https://github.com/TanStack/db/pull/2090)) + + `createOfflineAction` also commits through the TanStack DB auto-commit and no longer prints debug messages (`createOfflineAction 2`, `mutate`, `offlineAction committed`) to the console. + +- `waitForTransactionCompletion` now settles for an offline transaction whose `mutate()` callback writes nothing. Such a transaction completes without running its mutation function, so before this change the executor never settled its waiter, and the promise stayed pending forever. It also settles for a transaction that is rolled back before it commits: the waiter rejects with the rollback's error, or with an Error that names the rollback when `rollback()` gives none. A transaction rolled back while it persists still reports the executor's outcome. A callback that throws still leaves its transaction pending, as a core transaction does, so its waiter also stays pending until the transaction commits. ([#2100](https://github.com/TanStack/db/pull/2100)) + + On a tab without offline leadership, `createOfflineTransaction` returns a plain transaction that the executor does not track, so `waitForTransactionCompletion` does not apply there. + +- `waitForTransactionCompletion(id)` no longer waits forever for a transaction that the executor already settled. Such a waiter now rejects with an error that says the transaction already settled. The executor remembers the last 1,000 transactions it settled. A waiter for an id that the executor does not know yet keeps waiting, because another tab can still queue that transaction. ([#2105](https://github.com/TanStack/db/pull/2105)) + +- Remove the no-op telemetry wrappers that remained after telemetry was removed. No behavior change is intended. Some operations can settle in fewer microtasks because the wrappers no longer add awaits. ([#2133](https://github.com/TanStack/db/pull/2133)) + +- Updated dependencies [[`cda9d6a`](https://github.com/TanStack/db/commit/cda9d6a731e93777f1c8bfdab7d9e22f70e80dc6), [`2f928e6`](https://github.com/TanStack/db/commit/2f928e6f240adb8874a6537905000009a2e9b53f), [`dfec42e`](https://github.com/TanStack/db/commit/dfec42e4a78ef609f9aa2f2c0f863a1e4f1ae1e3), [`1a65c2c`](https://github.com/TanStack/db/commit/1a65c2c63db9ad14c08d35b09d0081ecc121fbfc), [`1b4ee8d`](https://github.com/TanStack/db/commit/1b4ee8d57168978847687e75dbc1c33ddb935ed3), [`bbbf017`](https://github.com/TanStack/db/commit/bbbf017ef5b3884515295a4225faacdfd814499e), [`bc6f30e`](https://github.com/TanStack/db/commit/bc6f30e716aeb26c13b6a0e9ba00a27edc72a4d7), [`fade2e2`](https://github.com/TanStack/db/commit/fade2e24cfb9922b9b172f96194f7b6246731f50), [`bbe9327`](https://github.com/TanStack/db/commit/bbe9327ce90ab587ee6ef24e0030f79291f3057d), [`b34a579`](https://github.com/TanStack/db/commit/b34a579762b36dd49a89e11eacd7788f1df89453), [`6fa60aa`](https://github.com/TanStack/db/commit/6fa60aa7ada4d418f85cd745c9eea0af3de0efb4), [`f84387c`](https://github.com/TanStack/db/commit/f84387cd8220e8603dc24a99fe4881fa4cd5ddcd), [`be4a3d6`](https://github.com/TanStack/db/commit/be4a3d642c6d292150f7ff4e041442338e5a2de2), [`0dc696a`](https://github.com/TanStack/db/commit/0dc696a64901973d8025cb1a40af34c68c856855), [`fd13e3c`](https://github.com/TanStack/db/commit/fd13e3cc9d3302e7598a78ac8f49d06dbbde7e08)]: + - @tanstack/db@0.14.0 + ## 1.1.0 ### Minor Changes diff --git a/packages/offline-transactions/package.json b/packages/offline-transactions/package.json index 23a220b4d3..713d30d9c8 100644 --- a/packages/offline-transactions/package.json +++ b/packages/offline-transactions/package.json @@ -1,6 +1,6 @@ { "name": "@tanstack/offline-transactions", - "version": "1.1.0", + "version": "1.1.1", "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 f1b3f7ba16..d17e5d51a1 100644 --- a/packages/powersync-db-collection/CHANGELOG.md +++ b/packages/powersync-db-collection/CHANGELOG.md @@ -1,5 +1,12 @@ # @tanstack/powersync-db-collection +## 0.2.10 + +### Patch Changes + +- Updated dependencies [[`cda9d6a`](https://github.com/TanStack/db/commit/cda9d6a731e93777f1c8bfdab7d9e22f70e80dc6), [`2f928e6`](https://github.com/TanStack/db/commit/2f928e6f240adb8874a6537905000009a2e9b53f), [`dfec42e`](https://github.com/TanStack/db/commit/dfec42e4a78ef609f9aa2f2c0f863a1e4f1ae1e3), [`1a65c2c`](https://github.com/TanStack/db/commit/1a65c2c63db9ad14c08d35b09d0081ecc121fbfc), [`1b4ee8d`](https://github.com/TanStack/db/commit/1b4ee8d57168978847687e75dbc1c33ddb935ed3), [`bbbf017`](https://github.com/TanStack/db/commit/bbbf017ef5b3884515295a4225faacdfd814499e), [`bc6f30e`](https://github.com/TanStack/db/commit/bc6f30e716aeb26c13b6a0e9ba00a27edc72a4d7), [`fade2e2`](https://github.com/TanStack/db/commit/fade2e24cfb9922b9b172f96194f7b6246731f50), [`bbe9327`](https://github.com/TanStack/db/commit/bbe9327ce90ab587ee6ef24e0030f79291f3057d), [`b34a579`](https://github.com/TanStack/db/commit/b34a579762b36dd49a89e11eacd7788f1df89453), [`6fa60aa`](https://github.com/TanStack/db/commit/6fa60aa7ada4d418f85cd745c9eea0af3de0efb4), [`f84387c`](https://github.com/TanStack/db/commit/f84387cd8220e8603dc24a99fe4881fa4cd5ddcd), [`be4a3d6`](https://github.com/TanStack/db/commit/be4a3d642c6d292150f7ff4e041442338e5a2de2), [`0dc696a`](https://github.com/TanStack/db/commit/0dc696a64901973d8025cb1a40af34c68c856855), [`fd13e3c`](https://github.com/TanStack/db/commit/fd13e3cc9d3302e7598a78ac8f49d06dbbde7e08)]: + - @tanstack/db@0.14.0 + ## 0.2.9 ### Patch Changes diff --git a/packages/powersync-db-collection/package.json b/packages/powersync-db-collection/package.json index 1441762923..795442595b 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.2.9", + "version": "0.2.10", "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 95ec7e3347..5ce62763fb 100644 --- a/packages/query-db-collection/CHANGELOG.md +++ b/packages/query-db-collection/CHANGELOG.md @@ -1,5 +1,26 @@ # @tanstack/query-db-collection +## 1.4.4 + +### Patch Changes + +- Recover persisted on-demand Electric and Query collections after cache claim loss by rotating their SQLite cache and reloading active subsets. Fence retired provider work and expired claims, preserve warm runs on their claimed cache generation, and forward claim lifetime options through SQLite host factories. Require explicit eager or claim-bound managed targets for SQLite adapter data operations, and forward them through Electron IPC protocol v6. Bare collection IDs no longer work at this lower-level adapter boundary. ([#2069](https://github.com/TanStack/db/pull/2069)) + +- Prevent direct writes from automatically refetching active Query subsets. On-demand writes patch changed keys already present in active raw arrays or directly selected response arrays, except when the Query is shared with another Collection. Eager writes patch representable rows in a shared Query cache, so Collections using the same Query project those edits. In both modes, cache patches preserve Query error, invalidation, and freshness state; an idle eager cache seed moves from pending to success without advancing its freshness timestamp. Direct writes no longer clear a prior fetch error or mark stale data fresh. Older in-flight or queued results cannot undo an accepted write, and derived cache responses are not replayed over it on resubscribe. A later-started successful subset fetch controls a shared row's value over an older request that settles afterward. Callers choose when to request current server rows; a complete matching on-demand result can remove an omitted ownerless direct row. Query Core 5.90.15 or later is required for post-write refetch replacement and error-state recovery. ([#2065](https://github.com/TanStack/db/pull/2065)) + + An eager Collection that later joins a Query patched by another eager Collection projects the cached edit without starting a request, including when disabled. An on-demand Collection still revalidates an unverified cache edit before accepting it for a subset. A fresh persisted Collection refetches on a cached-row collision when it cannot recover the order of its stored direct write and that Query result. + Inactive Query entries under the Collection key prefix may be removed after a direct write. A physical Query whose stored key is outside that prefix remains in the cache, even when a custom hash aliases it with a Collection key; callers can explicitly evict or refetch that entry. + +- A completed, active full-source Query Collection load can now serve later ([#2135](https://github.com/TanStack/db/pull/2135)) + filtered or windowed live queries when the collection uses a static query key. + The narrower queries retain the full Query until their final owner releases, + so the original full view can unmount without dropping their rows or stopping + later invalidation updates. Incomplete full loads and explicit subset refetches + keep their own request paths. A narrower scope with retained persisted ownership + makes an exact request to revalidate its rows and owners. +- Updated dependencies [[`cda9d6a`](https://github.com/TanStack/db/commit/cda9d6a731e93777f1c8bfdab7d9e22f70e80dc6), [`2f928e6`](https://github.com/TanStack/db/commit/2f928e6f240adb8874a6537905000009a2e9b53f), [`dfec42e`](https://github.com/TanStack/db/commit/dfec42e4a78ef609f9aa2f2c0f863a1e4f1ae1e3), [`1a65c2c`](https://github.com/TanStack/db/commit/1a65c2c63db9ad14c08d35b09d0081ecc121fbfc), [`1b4ee8d`](https://github.com/TanStack/db/commit/1b4ee8d57168978847687e75dbc1c33ddb935ed3), [`bbbf017`](https://github.com/TanStack/db/commit/bbbf017ef5b3884515295a4225faacdfd814499e), [`bc6f30e`](https://github.com/TanStack/db/commit/bc6f30e716aeb26c13b6a0e9ba00a27edc72a4d7), [`fade2e2`](https://github.com/TanStack/db/commit/fade2e24cfb9922b9b172f96194f7b6246731f50), [`bbe9327`](https://github.com/TanStack/db/commit/bbe9327ce90ab587ee6ef24e0030f79291f3057d), [`b34a579`](https://github.com/TanStack/db/commit/b34a579762b36dd49a89e11eacd7788f1df89453), [`6fa60aa`](https://github.com/TanStack/db/commit/6fa60aa7ada4d418f85cd745c9eea0af3de0efb4), [`f84387c`](https://github.com/TanStack/db/commit/f84387cd8220e8603dc24a99fe4881fa4cd5ddcd), [`be4a3d6`](https://github.com/TanStack/db/commit/be4a3d642c6d292150f7ff4e041442338e5a2de2), [`0dc696a`](https://github.com/TanStack/db/commit/0dc696a64901973d8025cb1a40af34c68c856855), [`fd13e3c`](https://github.com/TanStack/db/commit/fd13e3cc9d3302e7598a78ac8f49d06dbbde7e08)]: + - @tanstack/db@0.14.0 + ## 1.4.3 ### Patch Changes diff --git a/packages/query-db-collection/package.json b/packages/query-db-collection/package.json index adbb13b7df..a97e1fcecf 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.4.3", + "version": "1.4.4", "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 ef57ec20b2..351db0fb03 100644 --- a/packages/react-db/CHANGELOG.md +++ b/packages/react-db/CHANGELOG.md @@ -1,5 +1,16 @@ # @tanstack/react-db +## 0.5.9 + +### Patch Changes + +- Allow a `Query` built with Collection descriptors outside a `DbClient` to bind its sources when a client consumes it. Building or extending a query keeps descriptors unbound until that consumption. A reusable factory descriptor can now serve the same prebuilt query in separate client scopes, including React providers and server preloads. A prepared query is a bound snapshot; reuse the original unbound query across clients. The exported IR now represents an unbound descriptor with `DescriptorRef`; visitors of `IR.From` must handle the `descriptorRef` variant. ([#2077](https://github.com/TanStack/db/pull/2077)) + + React hooks bind standalone descriptor queries through their `DbProvider` client and report a provider hint when no client is available. Svelte hooks bind through their client and release deferred sources after failed query setup. + +- Updated dependencies [[`cda9d6a`](https://github.com/TanStack/db/commit/cda9d6a731e93777f1c8bfdab7d9e22f70e80dc6), [`2f928e6`](https://github.com/TanStack/db/commit/2f928e6f240adb8874a6537905000009a2e9b53f), [`dfec42e`](https://github.com/TanStack/db/commit/dfec42e4a78ef609f9aa2f2c0f863a1e4f1ae1e3), [`1a65c2c`](https://github.com/TanStack/db/commit/1a65c2c63db9ad14c08d35b09d0081ecc121fbfc), [`1b4ee8d`](https://github.com/TanStack/db/commit/1b4ee8d57168978847687e75dbc1c33ddb935ed3), [`bbbf017`](https://github.com/TanStack/db/commit/bbbf017ef5b3884515295a4225faacdfd814499e), [`bc6f30e`](https://github.com/TanStack/db/commit/bc6f30e716aeb26c13b6a0e9ba00a27edc72a4d7), [`fade2e2`](https://github.com/TanStack/db/commit/fade2e24cfb9922b9b172f96194f7b6246731f50), [`bbe9327`](https://github.com/TanStack/db/commit/bbe9327ce90ab587ee6ef24e0030f79291f3057d), [`b34a579`](https://github.com/TanStack/db/commit/b34a579762b36dd49a89e11eacd7788f1df89453), [`6fa60aa`](https://github.com/TanStack/db/commit/6fa60aa7ada4d418f85cd745c9eea0af3de0efb4), [`f84387c`](https://github.com/TanStack/db/commit/f84387cd8220e8603dc24a99fe4881fa4cd5ddcd), [`be4a3d6`](https://github.com/TanStack/db/commit/be4a3d642c6d292150f7ff4e041442338e5a2de2), [`0dc696a`](https://github.com/TanStack/db/commit/0dc696a64901973d8025cb1a40af34c68c856855), [`fd13e3c`](https://github.com/TanStack/db/commit/fd13e3cc9d3302e7598a78ac8f49d06dbbde7e08)]: + - @tanstack/db@0.14.0 + ## 0.5.8 ### Patch Changes diff --git a/packages/react-db/package.json b/packages/react-db/package.json index 9c9230364b..9cf2f942ec 100644 --- a/packages/react-db/package.json +++ b/packages/react-db/package.json @@ -1,6 +1,6 @@ { "name": "@tanstack/react-db", - "version": "0.5.8", + "version": "0.5.9", "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 index 9936086f5d..4f9226b7a9 100644 --- a/packages/react-native-db-sqlite-persistence/CHANGELOG.md +++ b/packages/react-native-db-sqlite-persistence/CHANGELOG.md @@ -1,5 +1,14 @@ # @tanstack/react-native-db-sqlite-persistence +## 0.2.34 + +### Patch Changes + +- Recover persisted on-demand Electric and Query collections after cache claim loss by rotating their SQLite cache and reloading active subsets. Fence retired provider work and expired claims, preserve warm runs on their claimed cache generation, and forward claim lifetime options through SQLite host factories. Require explicit eager or claim-bound managed targets for SQLite adapter data operations, and forward them through Electron IPC protocol v6. Bare collection IDs no longer work at this lower-level adapter boundary. ([#2069](https://github.com/TanStack/db/pull/2069)) + +- Updated dependencies [[`cda9d6a`](https://github.com/TanStack/db/commit/cda9d6a731e93777f1c8bfdab7d9e22f70e80dc6), [`6fa60aa`](https://github.com/TanStack/db/commit/6fa60aa7ada4d418f85cd745c9eea0af3de0efb4), [`5d2a4b0`](https://github.com/TanStack/db/commit/5d2a4b00cffa8d8b9a1b89f708b4b71c2ff46ff3)]: + - @tanstack/db-sqlite-persistence-core@0.4.9 + ## 0.2.33 ### Patch Changes diff --git a/packages/react-native-db-sqlite-persistence/package.json b/packages/react-native-db-sqlite-persistence/package.json index 659fb82410..4b36474c91 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.2.33", + "version": "0.2.34", "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 1205f78f91..7b92ff0310 100644 --- a/packages/rxdb-db-collection/CHANGELOG.md +++ b/packages/rxdb-db-collection/CHANGELOG.md @@ -1,5 +1,12 @@ # @tanstack/rxdb-db-collection +## 0.1.108 + +### Patch Changes + +- Updated dependencies [[`cda9d6a`](https://github.com/TanStack/db/commit/cda9d6a731e93777f1c8bfdab7d9e22f70e80dc6), [`2f928e6`](https://github.com/TanStack/db/commit/2f928e6f240adb8874a6537905000009a2e9b53f), [`dfec42e`](https://github.com/TanStack/db/commit/dfec42e4a78ef609f9aa2f2c0f863a1e4f1ae1e3), [`1a65c2c`](https://github.com/TanStack/db/commit/1a65c2c63db9ad14c08d35b09d0081ecc121fbfc), [`1b4ee8d`](https://github.com/TanStack/db/commit/1b4ee8d57168978847687e75dbc1c33ddb935ed3), [`bbbf017`](https://github.com/TanStack/db/commit/bbbf017ef5b3884515295a4225faacdfd814499e), [`bc6f30e`](https://github.com/TanStack/db/commit/bc6f30e716aeb26c13b6a0e9ba00a27edc72a4d7), [`fade2e2`](https://github.com/TanStack/db/commit/fade2e24cfb9922b9b172f96194f7b6246731f50), [`bbe9327`](https://github.com/TanStack/db/commit/bbe9327ce90ab587ee6ef24e0030f79291f3057d), [`b34a579`](https://github.com/TanStack/db/commit/b34a579762b36dd49a89e11eacd7788f1df89453), [`6fa60aa`](https://github.com/TanStack/db/commit/6fa60aa7ada4d418f85cd745c9eea0af3de0efb4), [`f84387c`](https://github.com/TanStack/db/commit/f84387cd8220e8603dc24a99fe4881fa4cd5ddcd), [`be4a3d6`](https://github.com/TanStack/db/commit/be4a3d642c6d292150f7ff4e041442338e5a2de2), [`0dc696a`](https://github.com/TanStack/db/commit/0dc696a64901973d8025cb1a40af34c68c856855), [`fd13e3c`](https://github.com/TanStack/db/commit/fd13e3cc9d3302e7598a78ac8f49d06dbbde7e08)]: + - @tanstack/db@0.14.0 + ## 0.1.107 ### Patch Changes diff --git a/packages/rxdb-db-collection/package.json b/packages/rxdb-db-collection/package.json index e8fa2193bc..ab8d1c1d8d 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.107", + "version": "0.1.108", "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 fff7b77b7a..56e93b9bb6 100644 --- a/packages/solid-db/CHANGELOG.md +++ b/packages/solid-db/CHANGELOG.md @@ -1,5 +1,12 @@ # @tanstack/react-db +## 0.3.9 + +### Patch Changes + +- Updated dependencies [[`cda9d6a`](https://github.com/TanStack/db/commit/cda9d6a731e93777f1c8bfdab7d9e22f70e80dc6), [`2f928e6`](https://github.com/TanStack/db/commit/2f928e6f240adb8874a6537905000009a2e9b53f), [`dfec42e`](https://github.com/TanStack/db/commit/dfec42e4a78ef609f9aa2f2c0f863a1e4f1ae1e3), [`1a65c2c`](https://github.com/TanStack/db/commit/1a65c2c63db9ad14c08d35b09d0081ecc121fbfc), [`1b4ee8d`](https://github.com/TanStack/db/commit/1b4ee8d57168978847687e75dbc1c33ddb935ed3), [`bbbf017`](https://github.com/TanStack/db/commit/bbbf017ef5b3884515295a4225faacdfd814499e), [`bc6f30e`](https://github.com/TanStack/db/commit/bc6f30e716aeb26c13b6a0e9ba00a27edc72a4d7), [`fade2e2`](https://github.com/TanStack/db/commit/fade2e24cfb9922b9b172f96194f7b6246731f50), [`bbe9327`](https://github.com/TanStack/db/commit/bbe9327ce90ab587ee6ef24e0030f79291f3057d), [`b34a579`](https://github.com/TanStack/db/commit/b34a579762b36dd49a89e11eacd7788f1df89453), [`6fa60aa`](https://github.com/TanStack/db/commit/6fa60aa7ada4d418f85cd745c9eea0af3de0efb4), [`f84387c`](https://github.com/TanStack/db/commit/f84387cd8220e8603dc24a99fe4881fa4cd5ddcd), [`be4a3d6`](https://github.com/TanStack/db/commit/be4a3d642c6d292150f7ff4e041442338e5a2de2), [`0dc696a`](https://github.com/TanStack/db/commit/0dc696a64901973d8025cb1a40af34c68c856855), [`fd13e3c`](https://github.com/TanStack/db/commit/fd13e3cc9d3302e7598a78ac8f49d06dbbde7e08)]: + - @tanstack/db@0.14.0 + ## 0.3.8 ### Patch Changes diff --git a/packages/solid-db/package.json b/packages/solid-db/package.json index 692e168cc4..053471b5a2 100644 --- a/packages/solid-db/package.json +++ b/packages/solid-db/package.json @@ -1,6 +1,6 @@ { "name": "@tanstack/solid-db", - "version": "0.3.8", + "version": "0.3.9", "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 a0d12df93c..b45215b082 100644 --- a/packages/svelte-db/CHANGELOG.md +++ b/packages/svelte-db/CHANGELOG.md @@ -1,5 +1,16 @@ # @tanstack/svelte-db +## 0.5.9 + +### Patch Changes + +- Allow a `Query` built with Collection descriptors outside a `DbClient` to bind its sources when a client consumes it. Building or extending a query keeps descriptors unbound until that consumption. A reusable factory descriptor can now serve the same prebuilt query in separate client scopes, including React providers and server preloads. A prepared query is a bound snapshot; reuse the original unbound query across clients. The exported IR now represents an unbound descriptor with `DescriptorRef`; visitors of `IR.From` must handle the `descriptorRef` variant. ([#2077](https://github.com/TanStack/db/pull/2077)) + + React hooks bind standalone descriptor queries through their `DbProvider` client and report a provider hint when no client is available. Svelte hooks bind through their client and release deferred sources after failed query setup. + +- Updated dependencies [[`cda9d6a`](https://github.com/TanStack/db/commit/cda9d6a731e93777f1c8bfdab7d9e22f70e80dc6), [`2f928e6`](https://github.com/TanStack/db/commit/2f928e6f240adb8874a6537905000009a2e9b53f), [`dfec42e`](https://github.com/TanStack/db/commit/dfec42e4a78ef609f9aa2f2c0f863a1e4f1ae1e3), [`1a65c2c`](https://github.com/TanStack/db/commit/1a65c2c63db9ad14c08d35b09d0081ecc121fbfc), [`1b4ee8d`](https://github.com/TanStack/db/commit/1b4ee8d57168978847687e75dbc1c33ddb935ed3), [`bbbf017`](https://github.com/TanStack/db/commit/bbbf017ef5b3884515295a4225faacdfd814499e), [`bc6f30e`](https://github.com/TanStack/db/commit/bc6f30e716aeb26c13b6a0e9ba00a27edc72a4d7), [`fade2e2`](https://github.com/TanStack/db/commit/fade2e24cfb9922b9b172f96194f7b6246731f50), [`bbe9327`](https://github.com/TanStack/db/commit/bbe9327ce90ab587ee6ef24e0030f79291f3057d), [`b34a579`](https://github.com/TanStack/db/commit/b34a579762b36dd49a89e11eacd7788f1df89453), [`6fa60aa`](https://github.com/TanStack/db/commit/6fa60aa7ada4d418f85cd745c9eea0af3de0efb4), [`f84387c`](https://github.com/TanStack/db/commit/f84387cd8220e8603dc24a99fe4881fa4cd5ddcd), [`be4a3d6`](https://github.com/TanStack/db/commit/be4a3d642c6d292150f7ff4e041442338e5a2de2), [`0dc696a`](https://github.com/TanStack/db/commit/0dc696a64901973d8025cb1a40af34c68c856855), [`fd13e3c`](https://github.com/TanStack/db/commit/fd13e3cc9d3302e7598a78ac8f49d06dbbde7e08)]: + - @tanstack/db@0.14.0 + ## 0.5.8 ### Patch Changes diff --git a/packages/svelte-db/package.json b/packages/svelte-db/package.json index 5d9be483cc..7dc6a7b54e 100644 --- a/packages/svelte-db/package.json +++ b/packages/svelte-db/package.json @@ -1,6 +1,6 @@ { "name": "@tanstack/svelte-db", - "version": "0.5.8", + "version": "0.5.9", "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 index a4c6da763b..59644f5f29 100644 --- a/packages/tauri-db-sqlite-persistence/CHANGELOG.md +++ b/packages/tauri-db-sqlite-persistence/CHANGELOG.md @@ -1,5 +1,14 @@ # @tanstack/tauri-db-sqlite-persistence +## 0.2.34 + +### Patch Changes + +- Recover persisted on-demand Electric and Query collections after cache claim loss by rotating their SQLite cache and reloading active subsets. Fence retired provider work and expired claims, preserve warm runs on their claimed cache generation, and forward claim lifetime options through SQLite host factories. Require explicit eager or claim-bound managed targets for SQLite adapter data operations, and forward them through Electron IPC protocol v6. Bare collection IDs no longer work at this lower-level adapter boundary. ([#2069](https://github.com/TanStack/db/pull/2069)) + +- Updated dependencies [[`cda9d6a`](https://github.com/TanStack/db/commit/cda9d6a731e93777f1c8bfdab7d9e22f70e80dc6), [`6fa60aa`](https://github.com/TanStack/db/commit/6fa60aa7ada4d418f85cd745c9eea0af3de0efb4), [`5d2a4b0`](https://github.com/TanStack/db/commit/5d2a4b00cffa8d8b9a1b89f708b4b71c2ff46ff3)]: + - @tanstack/db-sqlite-persistence-core@0.4.9 + ## 0.2.33 ### Patch Changes diff --git a/packages/tauri-db-sqlite-persistence/e2e/app/CHANGELOG.md b/packages/tauri-db-sqlite-persistence/e2e/app/CHANGELOG.md index 5d677989f8..3b11e2357b 100644 --- a/packages/tauri-db-sqlite-persistence/e2e/app/CHANGELOG.md +++ b/packages/tauri-db-sqlite-persistence/e2e/app/CHANGELOG.md @@ -1,5 +1,13 @@ # @tanstack/tauri-db-sqlite-persistence-e2e-app +## 0.0.46 + +### Patch Changes + +- Updated dependencies [[`cda9d6a`](https://github.com/TanStack/db/commit/cda9d6a731e93777f1c8bfdab7d9e22f70e80dc6), [`2f928e6`](https://github.com/TanStack/db/commit/2f928e6f240adb8874a6537905000009a2e9b53f), [`dfec42e`](https://github.com/TanStack/db/commit/dfec42e4a78ef609f9aa2f2c0f863a1e4f1ae1e3), [`1a65c2c`](https://github.com/TanStack/db/commit/1a65c2c63db9ad14c08d35b09d0081ecc121fbfc), [`1b4ee8d`](https://github.com/TanStack/db/commit/1b4ee8d57168978847687e75dbc1c33ddb935ed3), [`bbbf017`](https://github.com/TanStack/db/commit/bbbf017ef5b3884515295a4225faacdfd814499e), [`bc6f30e`](https://github.com/TanStack/db/commit/bc6f30e716aeb26c13b6a0e9ba00a27edc72a4d7), [`fade2e2`](https://github.com/TanStack/db/commit/fade2e24cfb9922b9b172f96194f7b6246731f50), [`bbe9327`](https://github.com/TanStack/db/commit/bbe9327ce90ab587ee6ef24e0030f79291f3057d), [`b34a579`](https://github.com/TanStack/db/commit/b34a579762b36dd49a89e11eacd7788f1df89453), [`6fa60aa`](https://github.com/TanStack/db/commit/6fa60aa7ada4d418f85cd745c9eea0af3de0efb4), [`f84387c`](https://github.com/TanStack/db/commit/f84387cd8220e8603dc24a99fe4881fa4cd5ddcd), [`be4a3d6`](https://github.com/TanStack/db/commit/be4a3d642c6d292150f7ff4e041442338e5a2de2), [`0dc696a`](https://github.com/TanStack/db/commit/0dc696a64901973d8025cb1a40af34c68c856855), [`fd13e3c`](https://github.com/TanStack/db/commit/fd13e3cc9d3302e7598a78ac8f49d06dbbde7e08)]: + - @tanstack/db@0.14.0 + - @tanstack/tauri-db-sqlite-persistence@0.2.34 + ## 0.0.45 ### Patch Changes diff --git a/packages/tauri-db-sqlite-persistence/e2e/app/package.json b/packages/tauri-db-sqlite-persistence/e2e/app/package.json index 16b54cc28f..ff90dda183 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.45", + "version": "0.0.46", "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 2e42eae516..2e01cc7a13 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.2.33", + "version": "0.2.34", "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 793a16e40e..cb49c3df80 100644 --- a/packages/trailbase-db-collection/CHANGELOG.md +++ b/packages/trailbase-db-collection/CHANGELOG.md @@ -1,5 +1,14 @@ # @tanstack/trailbase-db-collection +## 0.1.120 + +### Patch Changes + +- An on-demand TrailBase load now waits for the change subscription before it fetches rows. Before, a live query could become ready before the subscription started, and a change committed after the fetch but before the subscription was lost. ([#2126](https://github.com/TanStack/db/pull/2126)) + +- Updated dependencies [[`cda9d6a`](https://github.com/TanStack/db/commit/cda9d6a731e93777f1c8bfdab7d9e22f70e80dc6), [`2f928e6`](https://github.com/TanStack/db/commit/2f928e6f240adb8874a6537905000009a2e9b53f), [`dfec42e`](https://github.com/TanStack/db/commit/dfec42e4a78ef609f9aa2f2c0f863a1e4f1ae1e3), [`1a65c2c`](https://github.com/TanStack/db/commit/1a65c2c63db9ad14c08d35b09d0081ecc121fbfc), [`1b4ee8d`](https://github.com/TanStack/db/commit/1b4ee8d57168978847687e75dbc1c33ddb935ed3), [`bbbf017`](https://github.com/TanStack/db/commit/bbbf017ef5b3884515295a4225faacdfd814499e), [`bc6f30e`](https://github.com/TanStack/db/commit/bc6f30e716aeb26c13b6a0e9ba00a27edc72a4d7), [`fade2e2`](https://github.com/TanStack/db/commit/fade2e24cfb9922b9b172f96194f7b6246731f50), [`bbe9327`](https://github.com/TanStack/db/commit/bbe9327ce90ab587ee6ef24e0030f79291f3057d), [`b34a579`](https://github.com/TanStack/db/commit/b34a579762b36dd49a89e11eacd7788f1df89453), [`6fa60aa`](https://github.com/TanStack/db/commit/6fa60aa7ada4d418f85cd745c9eea0af3de0efb4), [`f84387c`](https://github.com/TanStack/db/commit/f84387cd8220e8603dc24a99fe4881fa4cd5ddcd), [`be4a3d6`](https://github.com/TanStack/db/commit/be4a3d642c6d292150f7ff4e041442338e5a2de2), [`0dc696a`](https://github.com/TanStack/db/commit/0dc696a64901973d8025cb1a40af34c68c856855), [`fd13e3c`](https://github.com/TanStack/db/commit/fd13e3cc9d3302e7598a78ac8f49d06dbbde7e08)]: + - @tanstack/db@0.14.0 + ## 0.1.119 ### Patch Changes diff --git a/packages/trailbase-db-collection/package.json b/packages/trailbase-db-collection/package.json index 7f9a5d508b..c5bb8b7e67 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.119", + "version": "0.1.120", "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 ffa13e86a0..1fda27ac38 100644 --- a/packages/vue-db/CHANGELOG.md +++ b/packages/vue-db/CHANGELOG.md @@ -1,5 +1,12 @@ # @tanstack/vue-db +## 0.3.9 + +### Patch Changes + +- Updated dependencies [[`cda9d6a`](https://github.com/TanStack/db/commit/cda9d6a731e93777f1c8bfdab7d9e22f70e80dc6), [`2f928e6`](https://github.com/TanStack/db/commit/2f928e6f240adb8874a6537905000009a2e9b53f), [`dfec42e`](https://github.com/TanStack/db/commit/dfec42e4a78ef609f9aa2f2c0f863a1e4f1ae1e3), [`1a65c2c`](https://github.com/TanStack/db/commit/1a65c2c63db9ad14c08d35b09d0081ecc121fbfc), [`1b4ee8d`](https://github.com/TanStack/db/commit/1b4ee8d57168978847687e75dbc1c33ddb935ed3), [`bbbf017`](https://github.com/TanStack/db/commit/bbbf017ef5b3884515295a4225faacdfd814499e), [`bc6f30e`](https://github.com/TanStack/db/commit/bc6f30e716aeb26c13b6a0e9ba00a27edc72a4d7), [`fade2e2`](https://github.com/TanStack/db/commit/fade2e24cfb9922b9b172f96194f7b6246731f50), [`bbe9327`](https://github.com/TanStack/db/commit/bbe9327ce90ab587ee6ef24e0030f79291f3057d), [`b34a579`](https://github.com/TanStack/db/commit/b34a579762b36dd49a89e11eacd7788f1df89453), [`6fa60aa`](https://github.com/TanStack/db/commit/6fa60aa7ada4d418f85cd745c9eea0af3de0efb4), [`f84387c`](https://github.com/TanStack/db/commit/f84387cd8220e8603dc24a99fe4881fa4cd5ddcd), [`be4a3d6`](https://github.com/TanStack/db/commit/be4a3d642c6d292150f7ff4e041442338e5a2de2), [`0dc696a`](https://github.com/TanStack/db/commit/0dc696a64901973d8025cb1a40af34c68c856855), [`fd13e3c`](https://github.com/TanStack/db/commit/fd13e3cc9d3302e7598a78ac8f49d06dbbde7e08)]: + - @tanstack/db@0.14.0 + ## 0.3.8 ### Patch Changes diff --git a/packages/vue-db/package.json b/packages/vue-db/package.json index d5d310fd2c..6de782b892 100644 --- a/packages/vue-db/package.json +++ b/packages/vue-db/package.json @@ -1,6 +1,6 @@ { "name": "@tanstack/vue-db", - "version": "0.3.8", + "version": "0.3.9", "description": "Vue integration for @tanstack/db", "author": "Kyle Mathews", "license": "MIT", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index c10069d695..d99fe752d8 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -150,10 +150,10 @@ importers: specifier: ^20.3.16 version: 20.3.32(@angular/common@20.3.32(@angular/core@20.3.32(@angular/compiler@20.3.32)(rxjs@7.8.2)(zone.js@0.15.1))(rxjs@7.8.2))(@angular/core@20.3.32(@angular/compiler@20.3.32)(rxjs@7.8.2)(zone.js@0.15.1))(@angular/platform-browser@20.3.32(@angular/common@20.3.32(@angular/core@20.3.32(@angular/compiler@20.3.32)(rxjs@7.8.2)(zone.js@0.15.1))(rxjs@7.8.2))(@angular/core@20.3.32(@angular/compiler@20.3.32)(rxjs@7.8.2)(zone.js@0.15.1)))(rxjs@7.8.2) '@tanstack/angular-db': - specifier: ^0.2.8 + specifier: ^0.2.9 version: link:../../../packages/angular-db '@tanstack/db': - specifier: ^0.13.0 + specifier: ^0.14.0 version: link:../../../packages/db rxjs: specifier: ^7.8.2 @@ -190,19 +190,19 @@ importers: examples/electron/offline-first: dependencies: '@tanstack/electron-db-sqlite-persistence': - specifier: ^0.2.9 + specifier: ^0.2.10 version: link:../../../packages/electron-db-sqlite-persistence '@tanstack/node-db-sqlite-persistence': - specifier: ^0.2.33 + specifier: ^0.2.34 version: link:../../../packages/node-db-sqlite-persistence '@tanstack/offline-transactions': - specifier: ^1.1.0 + specifier: ^1.1.1 version: link:../../../packages/offline-transactions '@tanstack/query-db-collection': - specifier: ^1.4.3 + specifier: ^1.4.4 version: link:../../../packages/query-db-collection '@tanstack/react-db': - specifier: ^0.5.8 + specifier: ^0.5.9 version: link:../../../packages/react-db '@tanstack/react-query': specifier: ^5.90.20 @@ -281,19 +281,19 @@ importers: specifier: 11.4.1 version: 11.4.1(react-native@0.79.6(@babel/core@7.29.7)(@types/react@19.2.13)(react@19.0.0)) '@tanstack/db': - specifier: ^0.13.0 + specifier: ^0.14.0 version: link:../../../packages/db '@tanstack/offline-transactions': - specifier: ^1.1.0 + specifier: ^1.1.1 version: link:../../../packages/offline-transactions '@tanstack/query-db-collection': - specifier: ^1.4.3 + specifier: ^1.4.4 version: link:../../../packages/query-db-collection '@tanstack/react-db': - specifier: ^0.5.8 + specifier: ^0.5.9 version: link:../../../packages/react-db '@tanstack/react-native-db-sqlite-persistence': - specifier: ^0.2.33 + specifier: ^0.2.34 version: link:../../../packages/react-native-db-sqlite-persistence '@tanstack/react-query': specifier: ^5.90.20 @@ -378,19 +378,19 @@ importers: specifier: 11.4.1 version: 11.4.1(react-native@0.79.6(@babel/core@7.29.7)(@types/react@19.2.13)(react@19.0.0)) '@tanstack/db': - specifier: ^0.13.0 + specifier: ^0.14.0 version: link:../../../packages/db '@tanstack/electric-db-collection': - specifier: ^0.5.9 + specifier: ^0.6.0 version: link:../../../packages/electric-db-collection '@tanstack/offline-transactions': - specifier: ^1.1.0 + specifier: ^1.1.1 version: link:../../../packages/offline-transactions '@tanstack/react-db': - specifier: ^0.5.8 + specifier: ^0.5.9 version: link:../../../packages/react-db '@tanstack/react-native-db-sqlite-persistence': - specifier: ^0.2.33 + specifier: ^0.2.34 version: link:../../../packages/react-native-db-sqlite-persistence '@tanstack/react-query': specifier: ^5.90.20 @@ -466,10 +466,10 @@ importers: specifier: ^5.90.20 version: 5.90.20 '@tanstack/query-db-collection': - specifier: ^1.4.3 + specifier: ^1.4.4 version: link:../../../packages/query-db-collection '@tanstack/react-db': - specifier: ^0.5.8 + specifier: ^0.5.9 version: link:../../../packages/react-db react: specifier: ^19.2.4 @@ -518,10 +518,10 @@ importers: examples/react/next-ssr-e2e: dependencies: '@tanstack/db': - specifier: ^0.13.0 + specifier: ^0.14.0 version: link:../../../packages/db '@tanstack/react-db': - specifier: ^0.5.8 + specifier: ^0.5.9 version: link:../../../packages/react-db next: specifier: ^16.3.1 @@ -552,19 +552,19 @@ importers: examples/react/offline-transactions: dependencies: '@tanstack/browser-db-sqlite-persistence': - specifier: ^0.2.33 + specifier: ^0.2.34 version: link:../../../packages/browser-db-sqlite-persistence '@tanstack/db': - specifier: ^0.13.0 + specifier: ^0.14.0 version: link:../../../packages/db '@tanstack/offline-transactions': - specifier: ^1.1.0 + specifier: ^1.1.1 version: link:../../../packages/offline-transactions '@tanstack/query-db-collection': - specifier: ^1.4.3 + specifier: ^1.4.4 version: link:../../../packages/query-db-collection '@tanstack/react-db': - specifier: ^0.5.8 + specifier: ^0.5.9 version: link:../../../packages/react-db '@tanstack/react-query': specifier: ^5.90.20 @@ -622,10 +622,10 @@ importers: examples/react/paced-mutations-demo: dependencies: '@tanstack/db': - specifier: ^0.13.0 + specifier: ^0.14.0 version: link:../../../packages/db '@tanstack/react-db': - specifier: ^0.5.8 + specifier: ^0.5.9 version: link:../../../packages/react-db mitt: specifier: ^3.0.1 @@ -662,10 +662,10 @@ importers: specifier: ^5.90.20 version: 5.90.20 '@tanstack/query-db-collection': - specifier: ^1.4.3 + specifier: ^1.4.4 version: link:../../../packages/query-db-collection '@tanstack/react-db': - specifier: ^0.5.8 + specifier: ^0.5.9 version: link:../../../packages/react-db '@tanstack/react-router': specifier: ^1.170.41 @@ -795,7 +795,7 @@ importers: examples/react/start-ssr-e2e: dependencies: '@tanstack/react-db': - specifier: ^0.5.8 + specifier: ^0.5.9 version: link:../../../packages/react-db '@tanstack/react-router': specifier: ^1.170.41 @@ -841,16 +841,16 @@ importers: examples/react/todo: dependencies: '@tanstack/electric-db-collection': - specifier: ^0.5.9 + specifier: ^0.6.0 version: link:../../../packages/electric-db-collection '@tanstack/query-core': specifier: ^5.90.20 version: 5.90.20 '@tanstack/query-db-collection': - specifier: ^1.4.3 + specifier: ^1.4.4 version: link:../../../packages/query-db-collection '@tanstack/react-db': - specifier: ^0.5.8 + specifier: ^0.5.9 version: link:../../../packages/react-db '@tanstack/react-router': specifier: ^1.170.41 @@ -859,7 +859,7 @@ importers: specifier: ^1.168.60 version: 1.168.60(esbuild@0.28.1)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(rollup@4.64.0)(vite-plugin-solid@2.11.10(@testing-library/jest-dom@6.9.1)(solid-js@1.9.11)(vite@7.3.6(@types/node@25.2.2)(jiti@2.7.0)(lightningcss@1.33.0)(sass@1.90.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.1)))(vite@7.3.6(@types/node@25.2.2)(jiti@2.7.0)(lightningcss@1.33.0)(sass@1.90.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.1)) '@tanstack/trailbase-db-collection': - specifier: ^0.1.119 + specifier: ^0.1.120 version: link:../../../packages/trailbase-db-collection cors: specifier: ^2.8.6 @@ -962,16 +962,16 @@ importers: examples/solid/todo: dependencies: '@tanstack/electric-db-collection': - specifier: ^0.5.9 + specifier: ^0.6.0 version: link:../../../packages/electric-db-collection '@tanstack/query-core': specifier: ^5.90.20 version: 5.90.20 '@tanstack/query-db-collection': - specifier: ^1.4.3 + specifier: ^1.4.4 version: link:../../../packages/query-db-collection '@tanstack/solid-db': - specifier: ^0.3.8 + specifier: ^0.3.9 version: link:../../../packages/solid-db '@tanstack/solid-router': specifier: ^1.170.38 @@ -980,7 +980,7 @@ importers: specifier: ^1.168.57 version: 1.168.57(@tanstack/react-router@1.170.41(react-dom@19.2.4(react@19.2.4))(react@19.2.4))(esbuild@0.28.1)(rollup@4.64.0)(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.6(@types/node@25.2.2)(jiti@2.7.0)(lightningcss@1.33.0)(sass@1.90.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.1)))(vite@7.3.6(@types/node@25.2.2)(jiti@2.7.0)(lightningcss@1.33.0)(sass@1.90.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.1)) '@tanstack/trailbase-db-collection': - specifier: ^0.1.119 + specifier: ^0.1.120 version: link:../../../packages/trailbase-db-collection cors: specifier: ^2.8.6