diff --git a/.changeset/brave-pens-sleep.md b/.changeset/brave-pens-sleep.md deleted file mode 100644 index 2c54e114a7..0000000000 --- a/.changeset/brave-pens-sleep.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -'@tanstack/db': patch ---- - -fix: prevent duplicate inserts from reaching D2 pipeline in live queries - -Added defensive measures to prevent duplicate INSERT events from reaching the D2 (differential dataflow) pipeline, which could cause items to not disappear when deleted (due to multiplicity going from 2 to 1 instead of 1 to 0). - -Changes: - -- Added `sentToD2Keys` tracking in `CollectionSubscriber` to filter duplicate inserts at the D2 pipeline entry point -- Fixed `includeInitialState` handling to only pass when `true`, preventing internal lazy-loading subscriptions from incorrectly disabling filtering -- Clear `sentToD2Keys` on truncate to allow re-inserts after collection reset diff --git a/examples/react/offline-transactions/package.json b/examples/react/offline-transactions/package.json index 000c70934f..7616b0c170 100644 --- a/examples/react/offline-transactions/package.json +++ b/examples/react/offline-transactions/package.json @@ -9,9 +9,9 @@ "start": "node .output/server/index.mjs" }, "dependencies": { - "@tanstack/offline-transactions": "^1.0.4", - "@tanstack/query-db-collection": "^1.0.10", - "@tanstack/react-db": "^0.1.58", + "@tanstack/offline-transactions": "^1.0.5", + "@tanstack/query-db-collection": "^1.0.11", + "@tanstack/react-db": "^0.1.59", "@tanstack/react-query": "^5.90.12", "@tanstack/react-router": "^1.140.0", "@tanstack/react-router-devtools": "^1.140.0", diff --git a/examples/react/projects/package.json b/examples/react/projects/package.json index 16dc5d768c..70cf796499 100644 --- a/examples/react/projects/package.json +++ b/examples/react/projects/package.json @@ -17,8 +17,8 @@ "dependencies": { "@tailwindcss/vite": "^4.1.17", "@tanstack/query-core": "^5.90.12", - "@tanstack/query-db-collection": "^1.0.10", - "@tanstack/react-db": "^0.1.58", + "@tanstack/query-db-collection": "^1.0.11", + "@tanstack/react-db": "^0.1.59", "@tanstack/react-router": "^1.140.0", "@tanstack/react-router-devtools": "^1.140.0", "@tanstack/react-router-with-query": "^1.130.17", diff --git a/packages/angular-db/CHANGELOG.md b/packages/angular-db/CHANGELOG.md index c4c7812a74..9be532a273 100644 --- a/packages/angular-db/CHANGELOG.md +++ b/packages/angular-db/CHANGELOG.md @@ -1,5 +1,12 @@ # @tanstack/angular-db +## 0.1.41 + +### Patch Changes + +- Updated dependencies [[`32ec4d8`](https://github.com/TanStack/db/commit/32ec4d8478cca96f76f3a49efc259c95b85baa40)]: + - @tanstack/db@0.5.15 + ## 0.1.40 ### Patch Changes diff --git a/packages/angular-db/package.json b/packages/angular-db/package.json index 5d3b7cd36b..201f900a81 100644 --- a/packages/angular-db/package.json +++ b/packages/angular-db/package.json @@ -1,6 +1,6 @@ { "name": "@tanstack/angular-db", - "version": "0.1.40", + "version": "0.1.41", "description": "Angular integration for @tanstack/db", "author": "Ethan McDaniel", "license": "MIT", diff --git a/packages/db/CHANGELOG.md b/packages/db/CHANGELOG.md index 1d71b3d785..98213d4091 100644 --- a/packages/db/CHANGELOG.md +++ b/packages/db/CHANGELOG.md @@ -1,5 +1,18 @@ # @tanstack/db +## 0.5.15 + +### Patch Changes + +- fix: prevent duplicate inserts from reaching D2 pipeline in live queries ([#1054](https://github.com/TanStack/db/pull/1054)) + + Added defensive measures to prevent duplicate INSERT events from reaching the D2 (differential dataflow) pipeline, which could cause items to not disappear when deleted (due to multiplicity going from 2 to 1 instead of 1 to 0). + + Changes: + - Added `sentToD2Keys` tracking in `CollectionSubscriber` to filter duplicate inserts at the D2 pipeline entry point + - Fixed `includeInitialState` handling to only pass when `true`, preventing internal lazy-loading subscriptions from incorrectly disabling filtering + - Clear `sentToD2Keys` on truncate to allow re-inserts after collection reset + ## 0.5.14 ### Patch Changes diff --git a/packages/db/package.json b/packages/db/package.json index a8a136a2f8..d6ae8cc528 100644 --- a/packages/db/package.json +++ b/packages/db/package.json @@ -1,6 +1,6 @@ { "name": "@tanstack/db", - "version": "0.5.14", + "version": "0.5.15", "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 e82b4674d4..eb184bf76b 100644 --- a/packages/electric-db-collection/CHANGELOG.md +++ b/packages/electric-db-collection/CHANGELOG.md @@ -1,5 +1,12 @@ # @tanstack/electric-db-collection +## 0.2.18 + +### Patch Changes + +- Updated dependencies [[`32ec4d8`](https://github.com/TanStack/db/commit/32ec4d8478cca96f76f3a49efc259c95b85baa40)]: + - @tanstack/db@0.5.15 + ## 0.2.17 ### Patch Changes diff --git a/packages/electric-db-collection/package.json b/packages/electric-db-collection/package.json index 0b4921e2cf..6a1c21104c 100644 --- a/packages/electric-db-collection/package.json +++ b/packages/electric-db-collection/package.json @@ -1,6 +1,6 @@ { "name": "@tanstack/electric-db-collection", - "version": "0.2.17", + "version": "0.2.18", "description": "ElectricSQL collection for TanStack DB", "author": "Kyle Mathews", "license": "MIT", diff --git a/packages/offline-transactions/CHANGELOG.md b/packages/offline-transactions/CHANGELOG.md index 349dce71a2..0cffd04ed8 100644 --- a/packages/offline-transactions/CHANGELOG.md +++ b/packages/offline-transactions/CHANGELOG.md @@ -1,5 +1,12 @@ # @tanstack/offline-transactions +## 1.0.5 + +### Patch Changes + +- Updated dependencies [[`32ec4d8`](https://github.com/TanStack/db/commit/32ec4d8478cca96f76f3a49efc259c95b85baa40)]: + - @tanstack/db@0.5.15 + ## 1.0.4 ### Patch Changes diff --git a/packages/offline-transactions/package.json b/packages/offline-transactions/package.json index 4bc151d1fd..663d838d90 100644 --- a/packages/offline-transactions/package.json +++ b/packages/offline-transactions/package.json @@ -1,6 +1,6 @@ { "name": "@tanstack/offline-transactions", - "version": "1.0.4", + "version": "1.0.5", "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 21ee7e3f60..be379775a5 100644 --- a/packages/powersync-db-collection/CHANGELOG.md +++ b/packages/powersync-db-collection/CHANGELOG.md @@ -1,5 +1,12 @@ # @tanstack/powersync-db-collection +## 0.1.19 + +### Patch Changes + +- Updated dependencies [[`32ec4d8`](https://github.com/TanStack/db/commit/32ec4d8478cca96f76f3a49efc259c95b85baa40)]: + - @tanstack/db@0.5.15 + ## 0.1.18 ### Patch Changes diff --git a/packages/powersync-db-collection/package.json b/packages/powersync-db-collection/package.json index 76ec86620a..65d388a373 100644 --- a/packages/powersync-db-collection/package.json +++ b/packages/powersync-db-collection/package.json @@ -1,6 +1,6 @@ { "name": "@tanstack/powersync-db-collection", - "version": "0.1.18", + "version": "0.1.19", "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 2e1ed372a1..73e708ccbc 100644 --- a/packages/query-db-collection/CHANGELOG.md +++ b/packages/query-db-collection/CHANGELOG.md @@ -1,5 +1,12 @@ # @tanstack/query-db-collection +## 1.0.11 + +### Patch Changes + +- Updated dependencies [[`32ec4d8`](https://github.com/TanStack/db/commit/32ec4d8478cca96f76f3a49efc259c95b85baa40)]: + - @tanstack/db@0.5.15 + ## 1.0.10 ### Patch Changes diff --git a/packages/query-db-collection/package.json b/packages/query-db-collection/package.json index 55b5056928..0068c3a2db 100644 --- a/packages/query-db-collection/package.json +++ b/packages/query-db-collection/package.json @@ -1,6 +1,6 @@ { "name": "@tanstack/query-db-collection", - "version": "1.0.10", + "version": "1.0.11", "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 2cb77adbf7..8f2f8cb2ff 100644 --- a/packages/react-db/CHANGELOG.md +++ b/packages/react-db/CHANGELOG.md @@ -1,5 +1,12 @@ # @tanstack/react-db +## 0.1.59 + +### Patch Changes + +- Updated dependencies [[`32ec4d8`](https://github.com/TanStack/db/commit/32ec4d8478cca96f76f3a49efc259c95b85baa40)]: + - @tanstack/db@0.5.15 + ## 0.1.58 ### Patch Changes diff --git a/packages/react-db/package.json b/packages/react-db/package.json index d310dd44ba..42f910c717 100644 --- a/packages/react-db/package.json +++ b/packages/react-db/package.json @@ -1,6 +1,6 @@ { "name": "@tanstack/react-db", - "version": "0.1.58", + "version": "0.1.59", "description": "React integration for @tanstack/db", "author": "Kyle Mathews", "license": "MIT", diff --git a/packages/rxdb-db-collection/CHANGELOG.md b/packages/rxdb-db-collection/CHANGELOG.md index 3d885a561b..af90cbe786 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.47 + +### Patch Changes + +- Updated dependencies [[`32ec4d8`](https://github.com/TanStack/db/commit/32ec4d8478cca96f76f3a49efc259c95b85baa40)]: + - @tanstack/db@0.5.15 + ## 0.1.46 ### Patch Changes diff --git a/packages/rxdb-db-collection/package.json b/packages/rxdb-db-collection/package.json index e6f9a640cd..e83bd57e02 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.46", + "version": "0.1.47", "description": "RxDB collection for TanStack DB", "author": "Kyle Mathews", "license": "MIT", diff --git a/packages/solid-db/CHANGELOG.md b/packages/solid-db/CHANGELOG.md index 4ee5f21642..bcf19eaf34 100644 --- a/packages/solid-db/CHANGELOG.md +++ b/packages/solid-db/CHANGELOG.md @@ -1,5 +1,12 @@ # @tanstack/react-db +## 0.1.58 + +### Patch Changes + +- Updated dependencies [[`32ec4d8`](https://github.com/TanStack/db/commit/32ec4d8478cca96f76f3a49efc259c95b85baa40)]: + - @tanstack/db@0.5.15 + ## 0.1.57 ### Patch Changes diff --git a/packages/solid-db/package.json b/packages/solid-db/package.json index 8181443c7e..26c1f432e9 100644 --- a/packages/solid-db/package.json +++ b/packages/solid-db/package.json @@ -1,6 +1,6 @@ { "name": "@tanstack/solid-db", - "version": "0.1.57", + "version": "0.1.58", "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 2fc9b41ae9..6447176320 100644 --- a/packages/svelte-db/CHANGELOG.md +++ b/packages/svelte-db/CHANGELOG.md @@ -1,5 +1,12 @@ # @tanstack/svelte-db +## 0.1.58 + +### Patch Changes + +- Updated dependencies [[`32ec4d8`](https://github.com/TanStack/db/commit/32ec4d8478cca96f76f3a49efc259c95b85baa40)]: + - @tanstack/db@0.5.15 + ## 0.1.57 ### Patch Changes diff --git a/packages/svelte-db/package.json b/packages/svelte-db/package.json index e584921f7d..846dc7749d 100644 --- a/packages/svelte-db/package.json +++ b/packages/svelte-db/package.json @@ -1,6 +1,6 @@ { "name": "@tanstack/svelte-db", - "version": "0.1.57", + "version": "0.1.58", "description": "Svelte integration for @tanstack/db", "author": "Kyle Mathews", "license": "MIT", diff --git a/packages/trailbase-db-collection/CHANGELOG.md b/packages/trailbase-db-collection/CHANGELOG.md index 73ea75102d..12de03e24d 100644 --- a/packages/trailbase-db-collection/CHANGELOG.md +++ b/packages/trailbase-db-collection/CHANGELOG.md @@ -1,5 +1,12 @@ # @tanstack/trailbase-db-collection +## 0.1.59 + +### Patch Changes + +- Updated dependencies [[`32ec4d8`](https://github.com/TanStack/db/commit/32ec4d8478cca96f76f3a49efc259c95b85baa40)]: + - @tanstack/db@0.5.15 + ## 0.1.58 ### Patch Changes diff --git a/packages/trailbase-db-collection/package.json b/packages/trailbase-db-collection/package.json index 512c85be8d..db35799020 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.58", + "version": "0.1.59", "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 e9ee0bec93..f656272391 100644 --- a/packages/vue-db/CHANGELOG.md +++ b/packages/vue-db/CHANGELOG.md @@ -1,5 +1,12 @@ # @tanstack/vue-db +## 0.0.91 + +### Patch Changes + +- Updated dependencies [[`32ec4d8`](https://github.com/TanStack/db/commit/32ec4d8478cca96f76f3a49efc259c95b85baa40)]: + - @tanstack/db@0.5.15 + ## 0.0.90 ### Patch Changes diff --git a/packages/vue-db/package.json b/packages/vue-db/package.json index 6a6c13e9bc..857118f17a 100644 --- a/packages/vue-db/package.json +++ b/packages/vue-db/package.json @@ -1,6 +1,6 @@ { "name": "@tanstack/vue-db", - "version": "0.0.90", + "version": "0.0.91", "description": "Vue integration for @tanstack/db", "author": "Kyle Mathews", "license": "MIT", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 2e21485664..c628ad1155 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -184,18 +184,16 @@ importers: specifier: ^5.9.2 version: 5.9.3 - examples/react/linearlarge: {} - examples/react/offline-transactions: dependencies: '@tanstack/offline-transactions': - specifier: ^1.0.4 + specifier: ^1.0.5 version: link:../../../packages/offline-transactions '@tanstack/query-db-collection': - specifier: ^1.0.10 + specifier: ^1.0.11 version: link:../../../packages/query-db-collection '@tanstack/react-db': - specifier: ^0.1.58 + specifier: ^0.1.59 version: link:../../../packages/react-db '@tanstack/react-query': specifier: ^5.90.12 @@ -296,10 +294,10 @@ importers: specifier: ^5.90.12 version: 5.90.12 '@tanstack/query-db-collection': - specifier: ^1.0.10 + specifier: ^1.0.11 version: link:../../../packages/query-db-collection '@tanstack/react-db': - specifier: ^0.1.58 + specifier: ^0.1.59 version: link:../../../packages/react-db '@tanstack/react-router': specifier: ^1.140.0 @@ -684,8 +682,6 @@ importers: specifier: ^0.16.0 version: 0.16.0 - packages/benchmarks: {} - packages/db: dependencies: '@standard-schema/spec': @@ -751,8 +747,6 @@ importers: specifier: ^3.2.4 version: 3.2.4(@types/debug@4.1.12)(@types/node@24.7.0)(@vitest/ui@3.2.4)(jiti@2.6.1)(jsdom@27.2.0(postcss@8.5.6))(lightningcss@1.30.2)(sass@1.90.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.1) - packages/db-devtools: {} - packages/db-ivm: dependencies: fractional-indexing: @@ -772,8 +766,6 @@ importers: specifier: ^3.2.4 version: 3.2.4(vitest@3.2.4) - packages/db-tracing: {} - packages/electric-db-collection: dependencies: '@electric-sql/client': @@ -908,8 +900,6 @@ importers: specifier: ^19.2.1 version: 19.2.1(react@19.2.1) - packages/rss-db-collection: {} - packages/rxdb-db-collection: dependencies: '@standard-schema/spec': @@ -941,8 +931,6 @@ importers: specifier: ^3.2.4 version: 3.2.4(vitest@3.2.4) - packages/shared-types: {} - packages/solid-db: dependencies: '@solid-primitives/map':