diff --git a/.changeset/shy-wings-buy.md b/.changeset/shy-wings-buy.md
new file mode 100644
index 00000000000..7710365f635
--- /dev/null
+++ b/.changeset/shy-wings-buy.md
@@ -0,0 +1,5 @@
+---
+'@tanstack/query-core': patch
+---
+
+Fix bugs where hydrating queries with promises that had already resolved could cause queries to briefly and incorrectly show as pending/fetching
diff --git a/docs/eslint/no-unstable-deps.md b/docs/eslint/no-unstable-deps.md
index 529f82def67..a3f006d9b73 100644
--- a/docs/eslint/no-unstable-deps.md
+++ b/docs/eslint/no-unstable-deps.md
@@ -22,7 +22,7 @@ Examples of **incorrect** code for this rule:
```tsx
/* eslint "@tanstack/query/no-unstable-deps": "warn" */
-import { useCallback } from 'React'
+import { useCallback } from 'react'
import { useMutation } from '@tanstack/react-query'
function Component() {
@@ -38,7 +38,7 @@ Examples of **correct** code for this rule:
```tsx
/* eslint "@tanstack/query/no-unstable-deps": "warn" */
-import { useCallback } from 'React'
+import { useCallback } from 'react'
import { useMutation } from '@tanstack/react-query'
function Component() {
diff --git a/docs/framework/react/reference/useQuery.md b/docs/framework/react/reference/useQuery.md
index c17fe8b79db..b02775a62cf 100644
--- a/docs/framework/react/reference/useQuery.md
+++ b/docs/framework/react/reference/useQuery.md
@@ -86,8 +86,9 @@ const {
- If set to a `number`, e.g. `3`, failed queries will retry until the failed query count meets that number.
- If set to a function, it will be called with `failureCount` (starting at `0` for the first retry) and `error` to determine if a retry should be attempted.
- defaults to `3` on the client and `0` on the server
-- `retryOnMount: boolean`
- - If set to `false`, the query will not be retried on mount if it contains an error. Defaults to `true`.
+- `retryOnMount: boolean | (query: Query) => boolean`
+ - If set to `false`, the query will not be retried on mount if it contains an error and has no data. Defaults to `true`.
+ - If set to a function, the function will be executed with the query to compute the value.
- `retryDelay: number | (retryAttempt: number, error: TError) => number`
- This function receives a `retryAttempt` integer and the actual Error and returns the delay to apply before the next attempt in milliseconds.
- A function like `attempt => Math.min(attempt > 1 ? 2 ** attempt * 1000 : 1000, 30 * 1000)` applies exponential backoff.
diff --git a/docs/framework/solid/reference/useQuery.md b/docs/framework/solid/reference/useQuery.md
index 38b9751d758..876c5c99729 100644
--- a/docs/framework/solid/reference/useQuery.md
+++ b/docs/framework/solid/reference/useQuery.md
@@ -277,8 +277,9 @@ function App() {
- If `true`, failed queries will retry infinitely.
- If set to a `number`, e.g. `3`, failed queries will retry until the failed query count meets that number.
- defaults to `3` on the client and `0` on the server
- - ##### `retryOnMount: boolean`
- - If set to `false`, the query will not be retried on mount if it contains an error. Defaults to `true`.
+ - ##### `retryOnMount: boolean | (query: Query) => boolean`
+ - If set to `false`, the query will not be retried on mount if it contains an error and has no data. Defaults to `true`.
+ - If set to a function, the function will be executed with the query to compute the value.
- ##### `retryDelay: number | (retryAttempt: number, error: TError) => number`
- This function receives a `retryAttempt` integer and the actual Error and returns the delay to apply before the next attempt in milliseconds.
- A function like `attempt => Math.min(attempt > 1 ? 2 ** attempt * 1000 : 1000, 30 * 1000)` applies exponential backoff.
diff --git a/examples/angular/auto-refetching/package.json b/examples/angular/auto-refetching/package.json
index d979cc0914e..22e554cad2a 100644
--- a/examples/angular/auto-refetching/package.json
+++ b/examples/angular/auto-refetching/package.json
@@ -13,7 +13,7 @@
"@angular/compiler": "^20.0.0",
"@angular/core": "^20.0.0",
"@angular/platform-browser": "^20.0.0",
- "@tanstack/angular-query-experimental": "^5.99.2",
+ "@tanstack/angular-query-experimental": "^5.100.0",
"rxjs": "^7.8.2",
"tslib": "^2.8.1",
"zone.js": "0.15.0"
diff --git a/examples/angular/basic-persister/package.json b/examples/angular/basic-persister/package.json
index 5fe9eb11073..eb543473f9e 100644
--- a/examples/angular/basic-persister/package.json
+++ b/examples/angular/basic-persister/package.json
@@ -13,9 +13,9 @@
"@angular/compiler": "^20.0.0",
"@angular/core": "^20.0.0",
"@angular/platform-browser": "^20.0.0",
- "@tanstack/angular-query-experimental": "^5.99.2",
- "@tanstack/angular-query-persist-client": "^5.99.2",
- "@tanstack/query-async-storage-persister": "^5.99.2",
+ "@tanstack/angular-query-experimental": "^5.100.0",
+ "@tanstack/angular-query-persist-client": "^5.100.0",
+ "@tanstack/query-async-storage-persister": "^5.100.0",
"rxjs": "^7.8.2",
"tslib": "^2.8.1",
"zone.js": "0.15.0"
diff --git a/examples/angular/basic/package.json b/examples/angular/basic/package.json
index 689629dedea..95daf083023 100644
--- a/examples/angular/basic/package.json
+++ b/examples/angular/basic/package.json
@@ -13,7 +13,7 @@
"@angular/compiler": "^20.0.0",
"@angular/core": "^20.0.0",
"@angular/platform-browser": "^20.0.0",
- "@tanstack/angular-query-experimental": "^5.99.2",
+ "@tanstack/angular-query-experimental": "^5.100.0",
"rxjs": "^7.8.2",
"tslib": "^2.8.1",
"zone.js": "0.15.0"
diff --git a/examples/angular/devtools-panel/package.json b/examples/angular/devtools-panel/package.json
index ebd3f539252..056006e31c2 100644
--- a/examples/angular/devtools-panel/package.json
+++ b/examples/angular/devtools-panel/package.json
@@ -14,7 +14,7 @@
"@angular/core": "^20.0.0",
"@angular/platform-browser": "^20.0.0",
"@angular/router": "^20.0.0",
- "@tanstack/angular-query-experimental": "^5.99.2",
+ "@tanstack/angular-query-experimental": "^5.100.0",
"rxjs": "^7.8.2",
"tslib": "^2.8.1",
"zone.js": "0.15.0"
diff --git a/examples/angular/infinite-query-with-max-pages/package.json b/examples/angular/infinite-query-with-max-pages/package.json
index 185f4699db9..65b24302224 100644
--- a/examples/angular/infinite-query-with-max-pages/package.json
+++ b/examples/angular/infinite-query-with-max-pages/package.json
@@ -13,7 +13,7 @@
"@angular/compiler": "^20.0.0",
"@angular/core": "^20.0.0",
"@angular/platform-browser": "^20.0.0",
- "@tanstack/angular-query-experimental": "^5.99.2",
+ "@tanstack/angular-query-experimental": "^5.100.0",
"rxjs": "^7.8.2",
"tslib": "^2.8.1",
"zone.js": "0.15.0"
diff --git a/examples/angular/optimistic-updates/package.json b/examples/angular/optimistic-updates/package.json
index 54ae397c878..e3d58648e7b 100644
--- a/examples/angular/optimistic-updates/package.json
+++ b/examples/angular/optimistic-updates/package.json
@@ -14,7 +14,7 @@
"@angular/core": "^20.0.0",
"@angular/forms": "^20.0.0",
"@angular/platform-browser": "^20.0.0",
- "@tanstack/angular-query-experimental": "^5.99.2",
+ "@tanstack/angular-query-experimental": "^5.100.0",
"rxjs": "^7.8.2",
"tslib": "^2.8.1",
"zone.js": "0.15.0"
diff --git a/examples/angular/pagination/package.json b/examples/angular/pagination/package.json
index cffeab04ac0..970f50290e7 100644
--- a/examples/angular/pagination/package.json
+++ b/examples/angular/pagination/package.json
@@ -13,7 +13,7 @@
"@angular/compiler": "^20.0.0",
"@angular/core": "^20.0.0",
"@angular/platform-browser": "^20.0.0",
- "@tanstack/angular-query-experimental": "^5.99.2",
+ "@tanstack/angular-query-experimental": "^5.100.0",
"rxjs": "^7.8.2",
"tslib": "^2.8.1",
"zone.js": "0.15.0"
diff --git a/examples/angular/query-options-from-a-service/package.json b/examples/angular/query-options-from-a-service/package.json
index f33d877dc2e..f345831bab9 100644
--- a/examples/angular/query-options-from-a-service/package.json
+++ b/examples/angular/query-options-from-a-service/package.json
@@ -14,7 +14,7 @@
"@angular/core": "^20.0.0",
"@angular/platform-browser": "^20.0.0",
"@angular/router": "^20.0.0",
- "@tanstack/angular-query-experimental": "^5.99.2",
+ "@tanstack/angular-query-experimental": "^5.100.0",
"rxjs": "^7.8.2",
"tslib": "^2.8.1",
"zone.js": "0.15.0"
diff --git a/examples/angular/router/package.json b/examples/angular/router/package.json
index dd224e80df3..67b3a3e4176 100644
--- a/examples/angular/router/package.json
+++ b/examples/angular/router/package.json
@@ -14,7 +14,7 @@
"@angular/core": "^20.0.0",
"@angular/platform-browser": "^20.0.0",
"@angular/router": "^20.0.0",
- "@tanstack/angular-query-experimental": "^5.99.2",
+ "@tanstack/angular-query-experimental": "^5.100.0",
"rxjs": "^7.8.2",
"tslib": "^2.8.1",
"zone.js": "0.15.0"
diff --git a/examples/angular/rxjs/package.json b/examples/angular/rxjs/package.json
index 2dd24f9c0be..695f9e3b38b 100644
--- a/examples/angular/rxjs/package.json
+++ b/examples/angular/rxjs/package.json
@@ -14,7 +14,7 @@
"@angular/core": "^20.0.0",
"@angular/forms": "^20.0.0",
"@angular/platform-browser": "^20.0.0",
- "@tanstack/angular-query-experimental": "^5.99.2",
+ "@tanstack/angular-query-experimental": "^5.100.0",
"rxjs": "^7.8.2",
"tslib": "^2.8.1",
"zone.js": "0.15.0"
diff --git a/examples/angular/simple/package.json b/examples/angular/simple/package.json
index 71a88482471..dc6d7b223ad 100644
--- a/examples/angular/simple/package.json
+++ b/examples/angular/simple/package.json
@@ -13,7 +13,7 @@
"@angular/compiler": "^20.0.0",
"@angular/core": "^20.0.0",
"@angular/platform-browser": "^20.0.0",
- "@tanstack/angular-query-experimental": "^5.99.2",
+ "@tanstack/angular-query-experimental": "^5.100.0",
"rxjs": "^7.8.2",
"tslib": "^2.8.1",
"zone.js": "0.15.0"
diff --git a/examples/preact/simple/package.json b/examples/preact/simple/package.json
index 66ffa9a29d0..102ff2aa93f 100644
--- a/examples/preact/simple/package.json
+++ b/examples/preact/simple/package.json
@@ -8,7 +8,7 @@
"preview": "vite preview"
},
"dependencies": {
- "@tanstack/preact-query": "^5.99.2",
+ "@tanstack/preact-query": "^5.100.0",
"preact": "^10.28.0"
},
"devDependencies": {
diff --git a/examples/react/algolia/package.json b/examples/react/algolia/package.json
index 671c736b50e..057c2887739 100644
--- a/examples/react/algolia/package.json
+++ b/examples/react/algolia/package.json
@@ -9,13 +9,13 @@
},
"dependencies": {
"@algolia/client-search": "5.2.1",
- "@tanstack/react-query": "^5.99.2",
- "@tanstack/react-query-devtools": "^5.99.2",
+ "@tanstack/react-query": "^5.100.0",
+ "@tanstack/react-query-devtools": "^5.100.0",
"react": "^19.0.0",
"react-dom": "^19.0.0"
},
"devDependencies": {
- "@tanstack/eslint-plugin-query": "^5.99.2",
+ "@tanstack/eslint-plugin-query": "^5.100.0",
"@types/react": "^18.2.79",
"@types/react-dom": "^18.2.25",
"@vitejs/plugin-react": "^4.3.4",
diff --git a/examples/react/auto-refetching/package.json b/examples/react/auto-refetching/package.json
index 7ab5a241e19..4cf50777512 100644
--- a/examples/react/auto-refetching/package.json
+++ b/examples/react/auto-refetching/package.json
@@ -8,8 +8,8 @@
"start": "next start"
},
"dependencies": {
- "@tanstack/react-query": "^5.99.2",
- "@tanstack/react-query-devtools": "^5.99.2",
+ "@tanstack/react-query": "^5.100.0",
+ "@tanstack/react-query-devtools": "^5.100.0",
"next": "^16.0.7",
"react": "^19.2.1",
"react-dom": "^19.2.1"
diff --git a/examples/react/basic-graphql-request/package.json b/examples/react/basic-graphql-request/package.json
index 7afae88dff6..05af98ac90b 100644
--- a/examples/react/basic-graphql-request/package.json
+++ b/examples/react/basic-graphql-request/package.json
@@ -8,8 +8,8 @@
"preview": "vite preview"
},
"dependencies": {
- "@tanstack/react-query": "^5.99.2",
- "@tanstack/react-query-devtools": "^5.99.2",
+ "@tanstack/react-query": "^5.100.0",
+ "@tanstack/react-query-devtools": "^5.100.0",
"graphql": "^16.9.0",
"graphql-request": "^7.1.2",
"react": "^19.0.0",
diff --git a/examples/react/basic/package.json b/examples/react/basic/package.json
index cac587d40a6..54540ec2027 100644
--- a/examples/react/basic/package.json
+++ b/examples/react/basic/package.json
@@ -9,15 +9,15 @@
"test:eslint": "eslint ./src"
},
"dependencies": {
- "@tanstack/query-async-storage-persister": "^5.99.2",
- "@tanstack/react-query": "^5.99.2",
- "@tanstack/react-query-devtools": "^5.99.2",
- "@tanstack/react-query-persist-client": "^5.99.2",
+ "@tanstack/query-async-storage-persister": "^5.100.0",
+ "@tanstack/react-query": "^5.100.0",
+ "@tanstack/react-query-devtools": "^5.100.0",
+ "@tanstack/react-query-persist-client": "^5.100.0",
"react": "^19.0.0",
"react-dom": "^19.0.0"
},
"devDependencies": {
- "@tanstack/eslint-plugin-query": "^5.99.2",
+ "@tanstack/eslint-plugin-query": "^5.100.0",
"@types/react": "^18.2.79",
"@types/react-dom": "^18.2.25",
"@vitejs/plugin-react": "^4.3.4",
diff --git a/examples/react/chat/package.json b/examples/react/chat/package.json
index 332f4f545f4..29ab2eb56ad 100644
--- a/examples/react/chat/package.json
+++ b/examples/react/chat/package.json
@@ -8,8 +8,8 @@
"preview": "vite preview"
},
"dependencies": {
- "@tanstack/react-query": "^5.99.2",
- "@tanstack/react-query-devtools": "^5.99.2",
+ "@tanstack/react-query": "^5.100.0",
+ "@tanstack/react-query-devtools": "^5.100.0",
"react": "^19.0.0",
"react-dom": "^19.0.0"
},
diff --git a/examples/react/default-query-function/package.json b/examples/react/default-query-function/package.json
index 3c2dd5572c7..046aeb4a766 100644
--- a/examples/react/default-query-function/package.json
+++ b/examples/react/default-query-function/package.json
@@ -8,8 +8,8 @@
"preview": "vite preview"
},
"dependencies": {
- "@tanstack/react-query": "^5.99.2",
- "@tanstack/react-query-devtools": "^5.99.2",
+ "@tanstack/react-query": "^5.100.0",
+ "@tanstack/react-query-devtools": "^5.100.0",
"react": "^19.0.0",
"react-dom": "^19.0.0"
},
diff --git a/examples/react/devtools-panel/package.json b/examples/react/devtools-panel/package.json
index 5d0e8e3f794..2c570b3c6e4 100644
--- a/examples/react/devtools-panel/package.json
+++ b/examples/react/devtools-panel/package.json
@@ -8,8 +8,8 @@
"preview": "vite preview"
},
"dependencies": {
- "@tanstack/react-query": "^5.99.2",
- "@tanstack/react-query-devtools": "^5.99.2",
+ "@tanstack/react-query": "^5.100.0",
+ "@tanstack/react-query-devtools": "^5.100.0",
"react": "^19.0.0",
"react-dom": "^19.0.0"
},
diff --git a/examples/react/eslint-legacy/package.json b/examples/react/eslint-legacy/package.json
index cf05a1c395e..47be07cd227 100644
--- a/examples/react/eslint-legacy/package.json
+++ b/examples/react/eslint-legacy/package.json
@@ -9,15 +9,15 @@
"test:eslint": "ESLINT_USE_FLAT_CONFIG=false eslint ./src/**/*.tsx"
},
"dependencies": {
- "@tanstack/query-async-storage-persister": "^5.99.2",
- "@tanstack/react-query": "^5.99.2",
- "@tanstack/react-query-devtools": "^5.99.2",
- "@tanstack/react-query-persist-client": "^5.99.2",
+ "@tanstack/query-async-storage-persister": "^5.100.0",
+ "@tanstack/react-query": "^5.100.0",
+ "@tanstack/react-query-devtools": "^5.100.0",
+ "@tanstack/react-query-persist-client": "^5.100.0",
"react": "^19.0.0",
"react-dom": "^19.0.0"
},
"devDependencies": {
- "@tanstack/eslint-plugin-query": "^5.99.2",
+ "@tanstack/eslint-plugin-query": "^5.100.0",
"@types/react": "^18.2.79",
"@types/react-dom": "^18.2.25",
"@vitejs/plugin-react": "^4.3.4",
diff --git a/examples/react/eslint-plugin-demo/package.json b/examples/react/eslint-plugin-demo/package.json
index b13de5b7f54..6fb6946ecec 100644
--- a/examples/react/eslint-plugin-demo/package.json
+++ b/examples/react/eslint-plugin-demo/package.json
@@ -6,11 +6,11 @@
"test:eslint": "eslint ./src"
},
"dependencies": {
- "@tanstack/react-query": "^5.99.2",
+ "@tanstack/react-query": "^5.100.0",
"react": "^19.0.0"
},
"devDependencies": {
- "@tanstack/eslint-plugin-query": "^5.99.2",
+ "@tanstack/eslint-plugin-query": "^5.100.0",
"eslint": "^9.39.0",
"typescript": "5.8.3",
"typescript-eslint": "^8.48.0"
diff --git a/examples/react/infinite-query-with-max-pages/package.json b/examples/react/infinite-query-with-max-pages/package.json
index 88858e7e5cb..51fd4f6d3a9 100644
--- a/examples/react/infinite-query-with-max-pages/package.json
+++ b/examples/react/infinite-query-with-max-pages/package.json
@@ -8,8 +8,8 @@
"start": "next start"
},
"dependencies": {
- "@tanstack/react-query": "^5.99.2",
- "@tanstack/react-query-devtools": "^5.99.2",
+ "@tanstack/react-query": "^5.100.0",
+ "@tanstack/react-query-devtools": "^5.100.0",
"next": "^16.0.7",
"react": "^19.2.1",
"react-dom": "^19.2.1"
diff --git a/examples/react/load-more-infinite-scroll/package.json b/examples/react/load-more-infinite-scroll/package.json
index 242fab9b063..6bc866dc261 100644
--- a/examples/react/load-more-infinite-scroll/package.json
+++ b/examples/react/load-more-infinite-scroll/package.json
@@ -8,8 +8,8 @@
"start": "next start"
},
"dependencies": {
- "@tanstack/react-query": "^5.99.2",
- "@tanstack/react-query-devtools": "^5.99.2",
+ "@tanstack/react-query": "^5.100.0",
+ "@tanstack/react-query-devtools": "^5.100.0",
"next": "^16.0.7",
"react": "^19.2.1",
"react-dom": "^19.2.1",
diff --git a/examples/react/nextjs-app-prefetching/package.json b/examples/react/nextjs-app-prefetching/package.json
index 4de42b8709f..758055bccb6 100644
--- a/examples/react/nextjs-app-prefetching/package.json
+++ b/examples/react/nextjs-app-prefetching/package.json
@@ -8,8 +8,8 @@
"start": "next start"
},
"dependencies": {
- "@tanstack/react-query": "^5.99.2",
- "@tanstack/react-query-devtools": "^5.99.2",
+ "@tanstack/react-query": "^5.100.0",
+ "@tanstack/react-query-devtools": "^5.100.0",
"next": "^16.0.7",
"react": "^19.2.1",
"react-dom": "^19.2.1"
diff --git a/examples/react/nextjs-suspense-streaming/package.json b/examples/react/nextjs-suspense-streaming/package.json
index 4ded0473c38..456ff2d6271 100644
--- a/examples/react/nextjs-suspense-streaming/package.json
+++ b/examples/react/nextjs-suspense-streaming/package.json
@@ -8,9 +8,9 @@
"start": "next start"
},
"dependencies": {
- "@tanstack/react-query": "^5.99.2",
- "@tanstack/react-query-devtools": "^5.99.2",
- "@tanstack/react-query-next-experimental": "^5.99.2",
+ "@tanstack/react-query": "^5.100.0",
+ "@tanstack/react-query-devtools": "^5.100.0",
+ "@tanstack/react-query-next-experimental": "^5.100.0",
"next": "^16.0.7",
"react": "^19.2.1",
"react-dom": "^19.2.1"
diff --git a/examples/react/nextjs/package.json b/examples/react/nextjs/package.json
index ec1cce036ac..55bfcd6b982 100644
--- a/examples/react/nextjs/package.json
+++ b/examples/react/nextjs/package.json
@@ -8,8 +8,8 @@
"start": "next start"
},
"dependencies": {
- "@tanstack/react-query": "^5.99.2",
- "@tanstack/react-query-devtools": "^5.99.2",
+ "@tanstack/react-query": "^5.100.0",
+ "@tanstack/react-query-devtools": "^5.100.0",
"next": "^16.0.7",
"react": "^19.2.1",
"react-dom": "^19.2.1"
diff --git a/examples/react/offline/package.json b/examples/react/offline/package.json
index 3907a2c0ea4..319618c579e 100644
--- a/examples/react/offline/package.json
+++ b/examples/react/offline/package.json
@@ -8,11 +8,11 @@
"preview": "vite preview"
},
"dependencies": {
- "@tanstack/query-async-storage-persister": "^5.99.2",
+ "@tanstack/query-async-storage-persister": "^5.100.0",
"@tanstack/react-location": "^3.7.4",
- "@tanstack/react-query": "^5.99.2",
- "@tanstack/react-query-devtools": "^5.99.2",
- "@tanstack/react-query-persist-client": "^5.99.2",
+ "@tanstack/react-query": "^5.100.0",
+ "@tanstack/react-query-devtools": "^5.100.0",
+ "@tanstack/react-query-persist-client": "^5.100.0",
"msw": "^2.6.6",
"react": "^19.0.0",
"react-dom": "^19.0.0",
diff --git a/examples/react/optimistic-updates-cache/package.json b/examples/react/optimistic-updates-cache/package.json
index bda889c091f..b7814836855 100755
--- a/examples/react/optimistic-updates-cache/package.json
+++ b/examples/react/optimistic-updates-cache/package.json
@@ -8,8 +8,8 @@
"start": "next start"
},
"dependencies": {
- "@tanstack/react-query": "^5.99.2",
- "@tanstack/react-query-devtools": "^5.99.2",
+ "@tanstack/react-query": "^5.100.0",
+ "@tanstack/react-query-devtools": "^5.100.0",
"next": "^16.0.7",
"react": "^19.2.1",
"react-dom": "^19.2.1"
diff --git a/examples/react/optimistic-updates-ui/package.json b/examples/react/optimistic-updates-ui/package.json
index 1b45c5aea16..13749f473b5 100755
--- a/examples/react/optimistic-updates-ui/package.json
+++ b/examples/react/optimistic-updates-ui/package.json
@@ -8,8 +8,8 @@
"start": "next start"
},
"dependencies": {
- "@tanstack/react-query": "^5.99.2",
- "@tanstack/react-query-devtools": "^5.99.2",
+ "@tanstack/react-query": "^5.100.0",
+ "@tanstack/react-query-devtools": "^5.100.0",
"next": "^16.0.7",
"react": "^19.2.1",
"react-dom": "^19.2.1"
diff --git a/examples/react/pagination/package.json b/examples/react/pagination/package.json
index 5847159f17f..5e627335d53 100644
--- a/examples/react/pagination/package.json
+++ b/examples/react/pagination/package.json
@@ -8,8 +8,8 @@
"start": "next start"
},
"dependencies": {
- "@tanstack/react-query": "^5.99.2",
- "@tanstack/react-query-devtools": "^5.99.2",
+ "@tanstack/react-query": "^5.100.0",
+ "@tanstack/react-query-devtools": "^5.100.0",
"next": "^16.0.7",
"react": "^19.2.1",
"react-dom": "^19.2.1"
diff --git a/examples/react/playground/package.json b/examples/react/playground/package.json
index 5b363cc524c..47dd9f0faec 100644
--- a/examples/react/playground/package.json
+++ b/examples/react/playground/package.json
@@ -8,8 +8,8 @@
"preview": "vite preview"
},
"dependencies": {
- "@tanstack/react-query": "^5.99.2",
- "@tanstack/react-query-devtools": "^5.99.2",
+ "@tanstack/react-query": "^5.100.0",
+ "@tanstack/react-query-devtools": "^5.100.0",
"react": "^19.0.0",
"react-dom": "^19.0.0"
},
diff --git a/examples/react/prefetching/package.json b/examples/react/prefetching/package.json
index f1e8e149d92..e72e032d24c 100644
--- a/examples/react/prefetching/package.json
+++ b/examples/react/prefetching/package.json
@@ -8,8 +8,8 @@
"start": "next start"
},
"dependencies": {
- "@tanstack/react-query": "^5.99.2",
- "@tanstack/react-query-devtools": "^5.99.2",
+ "@tanstack/react-query": "^5.100.0",
+ "@tanstack/react-query-devtools": "^5.100.0",
"next": "^16.0.7",
"react": "^19.2.1",
"react-dom": "^19.2.1"
diff --git a/examples/react/react-native/package.json b/examples/react/react-native/package.json
index 6eed8920cd4..b33ecdbc0a8 100644
--- a/examples/react/react-native/package.json
+++ b/examples/react/react-native/package.json
@@ -14,8 +14,8 @@
"@react-native-community/netinfo": "^11.4.1",
"@react-navigation/native": "^6.1.18",
"@react-navigation/stack": "^6.4.1",
- "@tanstack/react-query": "^5.99.2",
- "@tanstack/react-query-devtools": "^5.99.2",
+ "@tanstack/react-query": "^5.100.0",
+ "@tanstack/react-query-devtools": "^5.100.0",
"expo": "^52.0.11",
"expo-constants": "^17.0.3",
"expo-status-bar": "^2.0.0",
diff --git a/examples/react/react-router/package.json b/examples/react/react-router/package.json
index 7a746dbc0c0..d2e4ef6fd34 100644
--- a/examples/react/react-router/package.json
+++ b/examples/react/react-router/package.json
@@ -8,8 +8,8 @@
"preview": "vite preview"
},
"dependencies": {
- "@tanstack/react-query": "^5.99.2",
- "@tanstack/react-query-devtools": "^5.99.2",
+ "@tanstack/react-query": "^5.100.0",
+ "@tanstack/react-query-devtools": "^5.100.0",
"localforage": "^1.10.0",
"match-sorter": "^6.3.4",
"react": "^19.0.0",
diff --git a/examples/react/rick-morty/package.json b/examples/react/rick-morty/package.json
index b2eb96cf05e..2975cd1414c 100644
--- a/examples/react/rick-morty/package.json
+++ b/examples/react/rick-morty/package.json
@@ -8,8 +8,8 @@
"preview": "vite preview"
},
"dependencies": {
- "@tanstack/react-query": "^5.99.2",
- "@tanstack/react-query-devtools": "^5.99.2",
+ "@tanstack/react-query": "^5.100.0",
+ "@tanstack/react-query-devtools": "^5.100.0",
"react": "^19.0.0",
"react-dom": "^19.0.0",
"react-router": "^6.25.1",
diff --git a/examples/react/shadow-dom/package.json b/examples/react/shadow-dom/package.json
index 3adaa520674..462ca2fb083 100644
--- a/examples/react/shadow-dom/package.json
+++ b/examples/react/shadow-dom/package.json
@@ -8,8 +8,8 @@
"preview": "vite preview"
},
"dependencies": {
- "@tanstack/react-query": "^5.99.2",
- "@tanstack/react-query-devtools": "^5.99.2",
+ "@tanstack/react-query": "^5.100.0",
+ "@tanstack/react-query-devtools": "^5.100.0",
"react": "^19.0.0",
"react-dom": "^19.0.0"
},
diff --git a/examples/react/simple/package.json b/examples/react/simple/package.json
index 1c78cfbdb6c..d82284e73d8 100644
--- a/examples/react/simple/package.json
+++ b/examples/react/simple/package.json
@@ -8,8 +8,8 @@
"preview": "vite preview"
},
"dependencies": {
- "@tanstack/react-query": "^5.99.2",
- "@tanstack/react-query-devtools": "^5.99.2",
+ "@tanstack/react-query": "^5.100.0",
+ "@tanstack/react-query-devtools": "^5.100.0",
"react": "^19.0.0",
"react-dom": "^19.0.0"
},
diff --git a/examples/react/star-wars/package.json b/examples/react/star-wars/package.json
index 5a9dc31e182..6e757d4d227 100644
--- a/examples/react/star-wars/package.json
+++ b/examples/react/star-wars/package.json
@@ -8,8 +8,8 @@
"preview": "vite preview"
},
"dependencies": {
- "@tanstack/react-query": "^5.99.2",
- "@tanstack/react-query-devtools": "^5.99.2",
+ "@tanstack/react-query": "^5.100.0",
+ "@tanstack/react-query-devtools": "^5.100.0",
"react": "^19.0.0",
"react-dom": "^19.0.0",
"react-router": "^6.25.1",
diff --git a/examples/react/suspense/package.json b/examples/react/suspense/package.json
index 3f00ec47d5e..47e374359be 100644
--- a/examples/react/suspense/package.json
+++ b/examples/react/suspense/package.json
@@ -8,8 +8,8 @@
"preview": "vite preview"
},
"dependencies": {
- "@tanstack/react-query": "^5.99.2",
- "@tanstack/react-query-devtools": "^5.99.2",
+ "@tanstack/react-query": "^5.100.0",
+ "@tanstack/react-query-devtools": "^5.100.0",
"font-awesome": "^4.7.0",
"react": "^19.0.0",
"react-dom": "^19.0.0",
diff --git a/examples/solid/astro/package.json b/examples/solid/astro/package.json
index 6704a82ccc6..824e3deed7c 100644
--- a/examples/solid/astro/package.json
+++ b/examples/solid/astro/package.json
@@ -15,8 +15,8 @@
"@astrojs/solid-js": "^5.0.7",
"@astrojs/tailwind": "^6.0.2",
"@astrojs/vercel": "^8.1.3",
- "@tanstack/solid-query": "^5.99.2",
- "@tanstack/solid-query-devtools": "^5.99.2",
+ "@tanstack/solid-query": "^5.100.0",
+ "@tanstack/solid-query-devtools": "^5.100.0",
"astro": "^5.5.6",
"solid-js": "^1.9.7",
"tailwindcss": "^3.4.7",
diff --git a/examples/solid/basic-graphql-request/package.json b/examples/solid/basic-graphql-request/package.json
index ea95b976cc1..8c2cd21e995 100644
--- a/examples/solid/basic-graphql-request/package.json
+++ b/examples/solid/basic-graphql-request/package.json
@@ -8,8 +8,8 @@
"preview": "vite preview"
},
"dependencies": {
- "@tanstack/solid-query": "^5.99.2",
- "@tanstack/solid-query-devtools": "^5.99.2",
+ "@tanstack/solid-query": "^5.100.0",
+ "@tanstack/solid-query-devtools": "^5.100.0",
"graphql": "^16.9.0",
"graphql-request": "^7.1.2",
"solid-js": "^1.9.7"
diff --git a/examples/solid/basic/package.json b/examples/solid/basic/package.json
index 3cc588bead4..bc4bb455bc1 100644
--- a/examples/solid/basic/package.json
+++ b/examples/solid/basic/package.json
@@ -8,8 +8,8 @@
"preview": "vite preview"
},
"dependencies": {
- "@tanstack/solid-query": "^5.99.2",
- "@tanstack/solid-query-devtools": "^5.99.2",
+ "@tanstack/solid-query": "^5.100.0",
+ "@tanstack/solid-query-devtools": "^5.100.0",
"solid-js": "^1.9.7"
},
"devDependencies": {
diff --git a/examples/solid/default-query-function/package.json b/examples/solid/default-query-function/package.json
index 1b710968bb2..3ee394531b5 100644
--- a/examples/solid/default-query-function/package.json
+++ b/examples/solid/default-query-function/package.json
@@ -8,8 +8,8 @@
"preview": "vite preview"
},
"dependencies": {
- "@tanstack/solid-query": "^5.99.2",
- "@tanstack/solid-query-devtools": "^5.99.2",
+ "@tanstack/solid-query": "^5.100.0",
+ "@tanstack/solid-query-devtools": "^5.100.0",
"solid-js": "^1.9.7"
},
"devDependencies": {
diff --git a/examples/solid/offline/package.json b/examples/solid/offline/package.json
index 0e2c31eaf53..fd95d74ff72 100644
--- a/examples/solid/offline/package.json
+++ b/examples/solid/offline/package.json
@@ -8,10 +8,10 @@
"preview": "vite preview"
},
"dependencies": {
- "@tanstack/query-async-storage-persister": "^5.99.2",
- "@tanstack/solid-query": "^5.99.2",
- "@tanstack/solid-query-devtools": "^5.99.2",
- "@tanstack/solid-query-persist-client": "^5.99.2",
+ "@tanstack/query-async-storage-persister": "^5.100.0",
+ "@tanstack/solid-query": "^5.100.0",
+ "@tanstack/solid-query-devtools": "^5.100.0",
+ "@tanstack/solid-query-persist-client": "^5.100.0",
"msw": "^2.6.6",
"solid-js": "^1.9.7"
},
diff --git a/examples/solid/simple/package.json b/examples/solid/simple/package.json
index f82fd825ff2..fac1113ee70 100644
--- a/examples/solid/simple/package.json
+++ b/examples/solid/simple/package.json
@@ -8,12 +8,12 @@
"preview": "vite preview"
},
"dependencies": {
- "@tanstack/solid-query": "^5.99.2",
- "@tanstack/solid-query-devtools": "^5.99.2",
+ "@tanstack/solid-query": "^5.100.0",
+ "@tanstack/solid-query-devtools": "^5.100.0",
"solid-js": "^1.9.7"
},
"devDependencies": {
- "@tanstack/eslint-plugin-query": "^5.99.2",
+ "@tanstack/eslint-plugin-query": "^5.100.0",
"typescript": "5.8.3",
"vite": "^6.4.1",
"vite-plugin-solid": "^2.11.6"
diff --git a/examples/solid/solid-start-streaming/package.json b/examples/solid/solid-start-streaming/package.json
index cb29acd1a78..fb6616e3cfb 100644
--- a/examples/solid/solid-start-streaming/package.json
+++ b/examples/solid/solid-start-streaming/package.json
@@ -12,8 +12,8 @@
"@solidjs/meta": "^0.29.4",
"@solidjs/router": "^0.15.3",
"@solidjs/start": "^1.1.3",
- "@tanstack/solid-query": "^5.99.2",
- "@tanstack/solid-query-devtools": "^5.99.2",
+ "@tanstack/solid-query": "^5.100.0",
+ "@tanstack/solid-query-devtools": "^5.100.0",
"solid-js": "^1.9.7",
"vinxi": "^0.5.3"
},
diff --git a/examples/svelte/auto-refetching/package.json b/examples/svelte/auto-refetching/package.json
index 63a447a7dea..3b2fb08924e 100644
--- a/examples/svelte/auto-refetching/package.json
+++ b/examples/svelte/auto-refetching/package.json
@@ -8,8 +8,8 @@
"preview": "vite preview"
},
"dependencies": {
- "@tanstack/svelte-query": "^6.1.18",
- "@tanstack/svelte-query-devtools": "^6.1.18"
+ "@tanstack/svelte-query": "^6.1.19",
+ "@tanstack/svelte-query-devtools": "^6.1.19"
},
"devDependencies": {
"@sveltejs/adapter-auto": "^6.1.0",
diff --git a/examples/svelte/basic/package.json b/examples/svelte/basic/package.json
index 3ad1dea2cc1..dd6b43f1c60 100644
--- a/examples/svelte/basic/package.json
+++ b/examples/svelte/basic/package.json
@@ -8,10 +8,10 @@
"preview": "vite preview"
},
"dependencies": {
- "@tanstack/query-async-storage-persister": "^5.99.2",
- "@tanstack/svelte-query": "^6.1.18",
- "@tanstack/svelte-query-devtools": "^6.1.18",
- "@tanstack/svelte-query-persist-client": "^6.1.18"
+ "@tanstack/query-async-storage-persister": "^5.100.0",
+ "@tanstack/svelte-query": "^6.1.19",
+ "@tanstack/svelte-query-devtools": "^6.1.19",
+ "@tanstack/svelte-query-persist-client": "^6.1.19"
},
"devDependencies": {
"@sveltejs/adapter-auto": "^6.1.0",
diff --git a/examples/svelte/load-more-infinite-scroll/package.json b/examples/svelte/load-more-infinite-scroll/package.json
index 4d214dd6271..71053d77711 100644
--- a/examples/svelte/load-more-infinite-scroll/package.json
+++ b/examples/svelte/load-more-infinite-scroll/package.json
@@ -8,8 +8,8 @@
"preview": "vite preview"
},
"dependencies": {
- "@tanstack/svelte-query": "^6.1.18",
- "@tanstack/svelte-query-devtools": "^6.1.18"
+ "@tanstack/svelte-query": "^6.1.19",
+ "@tanstack/svelte-query-devtools": "^6.1.19"
},
"devDependencies": {
"@sveltejs/adapter-auto": "^6.1.0",
diff --git a/examples/svelte/optimistic-updates/package.json b/examples/svelte/optimistic-updates/package.json
index 02ce8bfd95c..f3139dbc73e 100644
--- a/examples/svelte/optimistic-updates/package.json
+++ b/examples/svelte/optimistic-updates/package.json
@@ -8,8 +8,8 @@
"preview": "vite preview"
},
"dependencies": {
- "@tanstack/svelte-query": "^6.1.18",
- "@tanstack/svelte-query-devtools": "^6.1.18"
+ "@tanstack/svelte-query": "^6.1.19",
+ "@tanstack/svelte-query-devtools": "^6.1.19"
},
"devDependencies": {
"@sveltejs/adapter-auto": "^6.1.0",
diff --git a/examples/svelte/playground/package.json b/examples/svelte/playground/package.json
index 7a9b5378623..b0f3ef92e2d 100644
--- a/examples/svelte/playground/package.json
+++ b/examples/svelte/playground/package.json
@@ -8,8 +8,8 @@
"preview": "vite preview"
},
"dependencies": {
- "@tanstack/svelte-query": "^6.1.18",
- "@tanstack/svelte-query-devtools": "^6.1.18"
+ "@tanstack/svelte-query": "^6.1.19",
+ "@tanstack/svelte-query-devtools": "^6.1.19"
},
"devDependencies": {
"@sveltejs/adapter-auto": "^6.1.0",
diff --git a/examples/svelte/simple/package.json b/examples/svelte/simple/package.json
index 6eab9564b72..0196f1adac4 100644
--- a/examples/svelte/simple/package.json
+++ b/examples/svelte/simple/package.json
@@ -8,8 +8,8 @@
"preview": "vite preview"
},
"dependencies": {
- "@tanstack/svelte-query": "^6.1.18",
- "@tanstack/svelte-query-devtools": "^6.1.18"
+ "@tanstack/svelte-query": "^6.1.19",
+ "@tanstack/svelte-query-devtools": "^6.1.19"
},
"devDependencies": {
"@sveltejs/vite-plugin-svelte": "^5.1.1",
diff --git a/examples/svelte/ssr/package.json b/examples/svelte/ssr/package.json
index 7f717c9ef26..bf780050d71 100644
--- a/examples/svelte/ssr/package.json
+++ b/examples/svelte/ssr/package.json
@@ -8,8 +8,8 @@
"preview": "vite preview"
},
"dependencies": {
- "@tanstack/svelte-query": "^6.1.18",
- "@tanstack/svelte-query-devtools": "^6.1.18"
+ "@tanstack/svelte-query": "^6.1.19",
+ "@tanstack/svelte-query-devtools": "^6.1.19"
},
"devDependencies": {
"@sveltejs/adapter-auto": "^6.1.0",
diff --git a/examples/svelte/star-wars/package.json b/examples/svelte/star-wars/package.json
index 652378e7c1e..1c5044076dc 100644
--- a/examples/svelte/star-wars/package.json
+++ b/examples/svelte/star-wars/package.json
@@ -8,8 +8,8 @@
"preview": "vite preview"
},
"dependencies": {
- "@tanstack/svelte-query": "^6.1.18",
- "@tanstack/svelte-query-devtools": "^6.1.18"
+ "@tanstack/svelte-query": "^6.1.19",
+ "@tanstack/svelte-query-devtools": "^6.1.19"
},
"devDependencies": {
"@sveltejs/adapter-auto": "^6.1.0",
diff --git a/examples/vue/basic/package.json b/examples/vue/basic/package.json
index fd24a730dec..583cc66dbe3 100644
--- a/examples/vue/basic/package.json
+++ b/examples/vue/basic/package.json
@@ -8,8 +8,8 @@
"preview": "vite preview"
},
"dependencies": {
- "@tanstack/vue-query": "^5.99.2",
- "@tanstack/vue-query-devtools": "^6.1.18",
+ "@tanstack/vue-query": "^5.100.0",
+ "@tanstack/vue-query-devtools": "^6.1.19",
"vue": "^3.4.27"
},
"devDependencies": {
diff --git a/examples/vue/dependent-queries/package.json b/examples/vue/dependent-queries/package.json
index a62b95df841..800f96a8018 100644
--- a/examples/vue/dependent-queries/package.json
+++ b/examples/vue/dependent-queries/package.json
@@ -8,7 +8,7 @@
"preview": "vite preview"
},
"dependencies": {
- "@tanstack/vue-query": "^5.99.2",
+ "@tanstack/vue-query": "^5.100.0",
"vue": "^3.4.27"
},
"devDependencies": {
diff --git a/examples/vue/persister/package.json b/examples/vue/persister/package.json
index 0c3f1405647..aa30fb877ff 100644
--- a/examples/vue/persister/package.json
+++ b/examples/vue/persister/package.json
@@ -8,10 +8,10 @@
"preview": "vite preview"
},
"dependencies": {
- "@tanstack/query-core": "^5.99.2",
- "@tanstack/query-persist-client-core": "^5.99.2",
- "@tanstack/query-sync-storage-persister": "^5.99.2",
- "@tanstack/vue-query": "^5.99.2",
+ "@tanstack/query-core": "^5.100.0",
+ "@tanstack/query-persist-client-core": "^5.100.0",
+ "@tanstack/query-sync-storage-persister": "^5.100.0",
+ "@tanstack/vue-query": "^5.100.0",
"idb-keyval": "^6.2.1",
"vue": "^3.4.27"
},
diff --git a/examples/vue/simple/package.json b/examples/vue/simple/package.json
index 6546ece226f..af86c51dc43 100644
--- a/examples/vue/simple/package.json
+++ b/examples/vue/simple/package.json
@@ -8,8 +8,8 @@
"preview": "vite preview"
},
"dependencies": {
- "@tanstack/vue-query": "^5.99.2",
- "@tanstack/vue-query-devtools": "^6.1.18",
+ "@tanstack/vue-query": "^5.100.0",
+ "@tanstack/vue-query-devtools": "^6.1.19",
"vue": "^3.4.27"
},
"devDependencies": {
diff --git a/integrations/angular-cli-20/package.json b/integrations/angular-cli-20/package.json
index 51b47e863ef..c5e6dcd40c0 100644
--- a/integrations/angular-cli-20/package.json
+++ b/integrations/angular-cli-20/package.json
@@ -14,7 +14,7 @@
"@angular/forms": "^20.0.0",
"@angular/platform-browser": "^20.0.0",
"@angular/router": "^20.0.0",
- "@tanstack/angular-query-experimental": "^5.99.2",
+ "@tanstack/angular-query-experimental": "^5.100.0",
"rxjs": "~7.8.0",
"tslib": "^2.3.0",
"zone.js": "~0.15.0"
diff --git a/packages/angular-query-experimental/CHANGELOG.md b/packages/angular-query-experimental/CHANGELOG.md
index ed5d84f234b..f2869d50116 100644
--- a/packages/angular-query-experimental/CHANGELOG.md
+++ b/packages/angular-query-experimental/CHANGELOG.md
@@ -1,5 +1,12 @@
# @tanstack/angular-query-experimental
+## 5.100.0
+
+### Patch Changes
+
+- Updated dependencies [[`6540a41`](https://github.com/TanStack/query/commit/6540a4126b1c087d86d64525e78f32d9920dcd31)]:
+ - @tanstack/query-core@5.100.0
+
## 5.99.2
### Patch Changes
diff --git a/packages/angular-query-experimental/package.json b/packages/angular-query-experimental/package.json
index 3c62b5e386c..78e8a75efcb 100644
--- a/packages/angular-query-experimental/package.json
+++ b/packages/angular-query-experimental/package.json
@@ -1,6 +1,6 @@
{
"name": "@tanstack/angular-query-experimental",
- "version": "5.99.2",
+ "version": "5.100.0",
"description": "Signals for managing, caching and syncing asynchronous and remote data in Angular",
"author": "Arnoud de Vries",
"license": "MIT",
diff --git a/packages/angular-query-experimental/src/__tests__/inject-mutation.test.ts b/packages/angular-query-experimental/src/__tests__/inject-mutation.test.ts
index 5d9c2e93c39..b9d3eea6e12 100644
--- a/packages/angular-query-experimental/src/__tests__/inject-mutation.test.ts
+++ b/packages/angular-query-experimental/src/__tests__/inject-mutation.test.ts
@@ -9,6 +9,7 @@ import {
import { TestBed } from '@angular/core/testing'
import { afterEach, beforeEach, describe, expect, it, vi } from 'vitest'
import { By } from '@angular/platform-browser'
+import { render } from '@testing-library/angular'
import { queryKey, sleep } from '@tanstack/query-test-utils'
import { QueryClient, injectMutation, provideTanStackQuery } from '..'
import { expectSignals, setFixtureSignalInputs } from './test-utils'
@@ -94,24 +95,36 @@ describe('injectMutation', () => {
it('should return data when request succeeds', async () => {
const result = 'Mock data'
- const mutation = TestBed.runInInjectionContext(() => {
- return injectMutation(() => ({
+
+ @Component({
+ template: `
+
isIdle: {{ mutation.isIdle() }}
+ isPending: {{ mutation.isPending() }}
+ isError: {{ mutation.isError() }}
+ isSuccess: {{ mutation.isSuccess() }}
+ data: {{ mutation.data() ?? 'none' }}
+ error: {{ mutation.error()?.message ?? 'none' }}
+ `,
+ })
+ class Page {
+ readonly mutation = injectMutation(() => ({
mutationFn: (params: string) => sleep(10).then(() => params),
}))
- })
+ }
- mutation.mutate(result)
+ const rendered = await render(Page)
- await vi.advanceTimersByTimeAsync(11)
+ rendered.fixture.componentInstance.mutation.mutate(result)
- expectSignals(mutation, {
- isIdle: false,
- isPending: false,
- isError: false,
- isSuccess: true,
- data: result,
- error: null,
- })
+ await vi.advanceTimersByTimeAsync(11)
+ rendered.fixture.detectChanges()
+
+ expect(rendered.getByText('isIdle: false')).toBeInTheDocument()
+ expect(rendered.getByText('isPending: false')).toBeInTheDocument()
+ expect(rendered.getByText('isError: false')).toBeInTheDocument()
+ expect(rendered.getByText('isSuccess: true')).toBeInTheDocument()
+ expect(rendered.getByText(`data: ${result}`)).toBeInTheDocument()
+ expect(rendered.getByText('error: none')).toBeInTheDocument()
})
it('should update mutation when reactive options change', () => {
@@ -138,31 +151,44 @@ describe('injectMutation', () => {
})
it('should reset state after invoking mutation.reset', async () => {
- const mutation = TestBed.runInInjectionContext(() => {
- return injectMutation(() => ({
+ @Component({
+ template: `
+ isIdle: {{ mutation.isIdle() }}
+ isPending: {{ mutation.isPending() }}
+ isError: {{ mutation.isError() }}
+ isSuccess: {{ mutation.isSuccess() }}
+ data: {{ mutation.data() ?? 'none' }}
+ error: {{ mutation.error()?.message ?? 'none' }}
+ `,
+ })
+ class Page {
+ readonly mutation = injectMutation(() => ({
mutationFn: () =>
sleep(10).then(() => Promise.reject(new Error('Some error'))),
}))
- })
+ }
- mutation.mutate()
+ const rendered = await render(Page)
+
+ rendered.fixture.componentInstance.mutation.mutate()
await vi.advanceTimersByTimeAsync(11)
+ rendered.fixture.detectChanges()
- expect(mutation.isError()).toBe(true)
+ expect(rendered.getByText('isError: true')).toBeInTheDocument()
+ expect(rendered.getByText('error: Some error')).toBeInTheDocument()
- mutation.reset()
+ rendered.fixture.componentInstance.mutation.reset()
await vi.advanceTimersByTimeAsync(0)
-
- expectSignals(mutation, {
- isIdle: true,
- isPending: false,
- isError: false,
- isSuccess: false,
- data: undefined,
- error: null,
- })
+ rendered.fixture.detectChanges()
+
+ expect(rendered.getByText('isIdle: true')).toBeInTheDocument()
+ expect(rendered.getByText('isPending: false')).toBeInTheDocument()
+ expect(rendered.getByText('isError: false')).toBeInTheDocument()
+ expect(rendered.getByText('isSuccess: false')).toBeInTheDocument()
+ expect(rendered.getByText('data: none')).toBeInTheDocument()
+ expect(rendered.getByText('error: none')).toBeInTheDocument()
})
describe('side effects', () => {
diff --git a/packages/angular-query-persist-client/CHANGELOG.md b/packages/angular-query-persist-client/CHANGELOG.md
index 7d364b834ea..f8f2f1ce26e 100644
--- a/packages/angular-query-persist-client/CHANGELOG.md
+++ b/packages/angular-query-persist-client/CHANGELOG.md
@@ -1,5 +1,13 @@
# @tanstack/angular-query-persist-client
+## 5.100.0
+
+### Patch Changes
+
+- Updated dependencies []:
+ - @tanstack/angular-query-experimental@5.100.0
+ - @tanstack/query-persist-client-core@5.100.0
+
## 5.99.2
### Patch Changes
diff --git a/packages/angular-query-persist-client/package.json b/packages/angular-query-persist-client/package.json
index 4756b7cf509..ae6b2edd1ea 100644
--- a/packages/angular-query-persist-client/package.json
+++ b/packages/angular-query-persist-client/package.json
@@ -1,7 +1,7 @@
{
"name": "@tanstack/angular-query-persist-client",
"private": true,
- "version": "5.99.2",
+ "version": "5.100.0",
"description": "Angular bindings to work with persisters in TanStack/angular-query",
"author": "Omer Gronich",
"license": "MIT",
diff --git a/packages/eslint-plugin-query/CHANGELOG.md b/packages/eslint-plugin-query/CHANGELOG.md
index 62f70edcc48..9ccf32755d3 100644
--- a/packages/eslint-plugin-query/CHANGELOG.md
+++ b/packages/eslint-plugin-query/CHANGELOG.md
@@ -1,5 +1,7 @@
# @tanstack/eslint-plugin-query
+## 5.100.0
+
## 5.99.2
## 5.99.1
diff --git a/packages/eslint-plugin-query/package.json b/packages/eslint-plugin-query/package.json
index 13cb83c1bf6..558a9fc0c44 100644
--- a/packages/eslint-plugin-query/package.json
+++ b/packages/eslint-plugin-query/package.json
@@ -1,6 +1,6 @@
{
"name": "@tanstack/eslint-plugin-query",
- "version": "5.99.2",
+ "version": "5.100.0",
"description": "ESLint plugin for TanStack Query",
"author": "Eliya Cohen",
"license": "MIT",
diff --git a/packages/preact-query-devtools/CHANGELOG.md b/packages/preact-query-devtools/CHANGELOG.md
index 869163f22be..4237f42574e 100644
--- a/packages/preact-query-devtools/CHANGELOG.md
+++ b/packages/preact-query-devtools/CHANGELOG.md
@@ -1,5 +1,13 @@
# @tanstack/preact-query-devtools
+## 5.100.0
+
+### Patch Changes
+
+- Updated dependencies []:
+ - @tanstack/preact-query@5.100.0
+ - @tanstack/query-devtools@5.100.0
+
## 5.99.2
### Patch Changes
diff --git a/packages/preact-query-devtools/package.json b/packages/preact-query-devtools/package.json
index 86e7d53f5cf..2ac5ce88555 100644
--- a/packages/preact-query-devtools/package.json
+++ b/packages/preact-query-devtools/package.json
@@ -1,6 +1,6 @@
{
"name": "@tanstack/preact-query-devtools",
- "version": "5.99.2",
+ "version": "5.100.0",
"description": "Developer tools to interact with and visualize the TanStack/preact-query cache",
"author": "tannerlinsley",
"license": "MIT",
diff --git a/packages/preact-query-persist-client/CHANGELOG.md b/packages/preact-query-persist-client/CHANGELOG.md
index 55c5b263fb4..2e0d4e98477 100644
--- a/packages/preact-query-persist-client/CHANGELOG.md
+++ b/packages/preact-query-persist-client/CHANGELOG.md
@@ -1,5 +1,13 @@
# @tanstack/preact-query-persist-client
+## 5.100.0
+
+### Patch Changes
+
+- Updated dependencies []:
+ - @tanstack/preact-query@5.100.0
+ - @tanstack/query-persist-client-core@5.100.0
+
## 5.99.2
### Patch Changes
diff --git a/packages/preact-query-persist-client/package.json b/packages/preact-query-persist-client/package.json
index af8e4442c51..71b7ea15a6f 100644
--- a/packages/preact-query-persist-client/package.json
+++ b/packages/preact-query-persist-client/package.json
@@ -1,6 +1,6 @@
{
"name": "@tanstack/preact-query-persist-client",
- "version": "5.99.2",
+ "version": "5.100.0",
"description": "Preact bindings to work with persisters in TanStack/preact-query",
"author": "tannerlinsley",
"license": "MIT",
diff --git a/packages/preact-query/CHANGELOG.md b/packages/preact-query/CHANGELOG.md
index 6731a969054..58ae68c6973 100644
--- a/packages/preact-query/CHANGELOG.md
+++ b/packages/preact-query/CHANGELOG.md
@@ -1,5 +1,12 @@
# @tanstack/preact-query
+## 5.100.0
+
+### Patch Changes
+
+- Updated dependencies [[`6540a41`](https://github.com/TanStack/query/commit/6540a4126b1c087d86d64525e78f32d9920dcd31)]:
+ - @tanstack/query-core@5.100.0
+
## 5.99.2
### Patch Changes
diff --git a/packages/preact-query/package.json b/packages/preact-query/package.json
index 38132c82885..8c41b86453f 100644
--- a/packages/preact-query/package.json
+++ b/packages/preact-query/package.json
@@ -1,6 +1,6 @@
{
"name": "@tanstack/preact-query",
- "version": "5.99.2",
+ "version": "5.100.0",
"description": "Hooks for managing, caching and syncing asynchronous and remote data in preact",
"author": "tannerlinsley",
"license": "MIT",
diff --git a/packages/preact-query/src/__tests__/QueryResetErrorBoundary.test.tsx b/packages/preact-query/src/__tests__/QueryResetErrorBoundary.test.tsx
index 5d873cf1800..0b35921737e 100644
--- a/packages/preact-query/src/__tests__/QueryResetErrorBoundary.test.tsx
+++ b/packages/preact-query/src/__tests__/QueryResetErrorBoundary.test.tsx
@@ -753,7 +753,7 @@ describe('QueryErrorResetBoundary', () => {
}),
retry: false,
throwOnError: true,
- retryOnMount: true,
+ retryOnMount: () => true,
},
],
})
@@ -818,7 +818,7 @@ describe('QueryErrorResetBoundary', () => {
return 'data'
}),
retry: false,
- retryOnMount: true,
+ retryOnMount: () => true,
},
],
})
diff --git a/packages/preact-query/src/__tests__/useQuery.test.tsx b/packages/preact-query/src/__tests__/useQuery.test.tsx
index 4ef21e05e55..10e8406c825 100644
--- a/packages/preact-query/src/__tests__/useQuery.test.tsx
+++ b/packages/preact-query/src/__tests__/useQuery.test.tsx
@@ -4919,7 +4919,7 @@ describe('useQuery', () => {
queryFn,
enabled,
retry: false,
- retryOnMount: false,
+ retryOnMount: () => false,
refetchOnMount: false,
refetchOnWindowFocus: false,
})
@@ -4979,7 +4979,7 @@ describe('useQuery', () => {
return 'data'
},
retry: false,
- retryOnMount: false,
+ retryOnMount: () => false,
refetchOnMount: false,
refetchOnWindowFocus: false,
})
@@ -5033,7 +5033,7 @@ describe('useQuery', () => {
queryFn: () =>
sleep(10).then(() => Promise.reject(new Error('Error'))),
retry: false,
- retryOnMount: false,
+ retryOnMount: () => false,
refetchOnMount: false,
refetchOnWindowFocus: false,
})
@@ -6012,7 +6012,7 @@ describe('useQuery', () => {
queryKey: key,
queryFn,
retry: false,
- retryOnMount: false,
+ retryOnMount: () => false,
})
states.push(state)
@@ -6433,7 +6433,7 @@ describe('useQuery', () => {
? () => sleep(10).then(() => Promise.resolve('data'))
: skipToken,
retry: false,
- retryOnMount: false,
+ retryOnMount: () => false,
refetchOnMount: false,
refetchOnWindowFocus: false,
})
diff --git a/packages/query-async-storage-persister/CHANGELOG.md b/packages/query-async-storage-persister/CHANGELOG.md
index 013c7a933ac..4f128a8145e 100644
--- a/packages/query-async-storage-persister/CHANGELOG.md
+++ b/packages/query-async-storage-persister/CHANGELOG.md
@@ -1,5 +1,13 @@
# @tanstack/query-async-storage-persister
+## 5.100.0
+
+### Patch Changes
+
+- Updated dependencies [[`6540a41`](https://github.com/TanStack/query/commit/6540a4126b1c087d86d64525e78f32d9920dcd31)]:
+ - @tanstack/query-core@5.100.0
+ - @tanstack/query-persist-client-core@5.100.0
+
## 5.99.2
### Patch Changes
diff --git a/packages/query-async-storage-persister/package.json b/packages/query-async-storage-persister/package.json
index b7a3b35fb96..a5255cc81f9 100644
--- a/packages/query-async-storage-persister/package.json
+++ b/packages/query-async-storage-persister/package.json
@@ -1,6 +1,6 @@
{
"name": "@tanstack/query-async-storage-persister",
- "version": "5.99.2",
+ "version": "5.100.0",
"description": "A persister for asynchronous storages, to be used with TanStack/Query",
"author": "tannerlinsley",
"license": "MIT",
diff --git a/packages/query-broadcast-client-experimental/CHANGELOG.md b/packages/query-broadcast-client-experimental/CHANGELOG.md
index d1cfb3c909c..72f4379826e 100644
--- a/packages/query-broadcast-client-experimental/CHANGELOG.md
+++ b/packages/query-broadcast-client-experimental/CHANGELOG.md
@@ -1,5 +1,12 @@
# @tanstack/query-broadcast-client-experimental
+## 5.100.0
+
+### Patch Changes
+
+- Updated dependencies [[`6540a41`](https://github.com/TanStack/query/commit/6540a4126b1c087d86d64525e78f32d9920dcd31)]:
+ - @tanstack/query-core@5.100.0
+
## 5.99.2
### Patch Changes
diff --git a/packages/query-broadcast-client-experimental/package.json b/packages/query-broadcast-client-experimental/package.json
index c295b1dae2b..58e58f869f7 100644
--- a/packages/query-broadcast-client-experimental/package.json
+++ b/packages/query-broadcast-client-experimental/package.json
@@ -1,6 +1,6 @@
{
"name": "@tanstack/query-broadcast-client-experimental",
- "version": "5.99.2",
+ "version": "5.100.0",
"description": "An experimental plugin to for broadcasting the state of your queryClient between browser tabs/windows",
"author": "tannerlinsley",
"license": "MIT",
diff --git a/packages/query-core/CHANGELOG.md b/packages/query-core/CHANGELOG.md
index 8045a35bec6..a3081678e65 100644
--- a/packages/query-core/CHANGELOG.md
+++ b/packages/query-core/CHANGELOG.md
@@ -1,5 +1,11 @@
# @tanstack/query-core
+## 5.100.0
+
+### Minor Changes
+
+- feat(query-core): accept callback function for retryOnMount ([#10515](https://github.com/TanStack/query/pull/10515))
+
## 5.99.2
## 5.99.1
diff --git a/packages/query-core/package.json b/packages/query-core/package.json
index b1c55ac0370..f081f6a8530 100644
--- a/packages/query-core/package.json
+++ b/packages/query-core/package.json
@@ -1,6 +1,6 @@
{
"name": "@tanstack/query-core",
- "version": "5.99.2",
+ "version": "5.100.0",
"description": "The framework agnostic core that powers TanStack Query",
"author": "tannerlinsley",
"license": "MIT",
diff --git a/packages/query-core/src/__tests__/hydration.test.tsx b/packages/query-core/src/__tests__/hydration.test.tsx
index 505c6c26da7..c9ab0711e84 100644
--- a/packages/query-core/src/__tests__/hydration.test.tsx
+++ b/packages/query-core/src/__tests__/hydration.test.tsx
@@ -1385,4 +1385,177 @@ describe('dehydration and rehydration', () => {
// error and test will fail
await originalPromise
})
+
+ // Companion to the test above: when the query already exists in the cache
+ // (e.g. after an initial render or a first hydration pass), the same
+ // synchronous thenable resolution must also produce status: 'success'.
+ // Previously the if (query) branch would spread status: 'pending' from the
+ // server state without correcting it for the resolved data.
+ it('should set status to success when rehydrating an existing pending query with a synchronously resolved promise', async () => {
+ const key = queryKey()
+ // --- server ---
+
+ const serverQueryClient = new QueryClient({
+ defaultOptions: {
+ dehydrate: { shouldDehydrateQuery: () => true },
+ },
+ })
+
+ let resolvePrefetch: undefined | ((value?: unknown) => void)
+ const prefetchPromise = new Promise((res) => {
+ resolvePrefetch = res
+ })
+ // Keep the query pending so it dehydrates with status: 'pending' and a promise
+ void serverQueryClient.prefetchQuery({
+ queryKey: key,
+ queryFn: () => prefetchPromise,
+ })
+
+ const dehydrated = dehydrate(serverQueryClient)
+ expect(dehydrated.queries[0]?.state.status).toBe('pending')
+
+ // Simulate a synchronous thenable – models a React streaming promise that
+ // resolved before the second hydrate() call.
+ resolvePrefetch?.('server data')
+ // @ts-expect-error
+ dehydrated.queries[0].promise.then = (cb) => {
+ cb?.('server data')
+ // @ts-expect-error
+ return dehydrated.queries[0].promise
+ }
+
+ // --- client ---
+ // Query already exists in the cache in a pending state, as it would after
+ // a first hydration pass or an initial render.
+ const clientQueryClient = new QueryClient()
+ void clientQueryClient.prefetchQuery({
+ queryKey: key,
+ queryFn: () => {
+ throw new Error('QueryFn on client should not be called')
+ },
+ })
+
+ const query = clientQueryClient.getQueryCache().find({ queryKey: key })!
+ expect(query.state.status).toBe('pending')
+
+ hydrate(clientQueryClient, dehydrated)
+
+ expect(clientQueryClient.getQueryData(key)).toBe('server data')
+ expect(query.state.status).toBe('success')
+
+ clientQueryClient.clear()
+ serverQueryClient.clear()
+ })
+
+ it('should not transition to a fetching/pending state when hydrating an already resolved promise into a new query', async () => {
+ const key = queryKey()
+ // --- server ---
+ const serverQueryClient = new QueryClient({
+ defaultOptions: {
+ dehydrate: { shouldDehydrateQuery: () => true },
+ },
+ })
+
+ let resolvePrefetch: undefined | ((value?: unknown) => void)
+ const prefetchPromise = new Promise((res) => {
+ resolvePrefetch = res
+ })
+ void serverQueryClient.prefetchQuery({
+ queryKey: key,
+ queryFn: () => prefetchPromise,
+ })
+ const dehydrated = dehydrate(serverQueryClient)
+
+ // Simulate a synchronous thenable – the promise was already resolved
+ // before we hydrate on the client
+ resolvePrefetch?.('server data')
+ // @ts-expect-error
+ dehydrated.queries[0].promise.then = (cb) => {
+ cb?.('server data')
+ // @ts-expect-error
+ return dehydrated.queries[0].promise
+ }
+
+ // --- client ---
+ const clientQueryClient = new QueryClient()
+
+ const states: Array<{ status: string; fetchStatus: string }> = []
+ const unsubscribe = clientQueryClient.getQueryCache().subscribe((event) => {
+ if (event.type === 'updated') {
+ const { status, fetchStatus } = event.query.state
+ states.push({ status, fetchStatus })
+ }
+ })
+
+ hydrate(clientQueryClient, dehydrated)
+ await vi.advanceTimersByTimeAsync(0)
+ unsubscribe()
+
+ expect(states).not.toContainEqual(
+ expect.objectContaining({ fetchStatus: 'fetching' }),
+ )
+ expect(states).not.toContainEqual(
+ expect.objectContaining({ status: 'pending' }),
+ )
+
+ clientQueryClient.clear()
+ serverQueryClient.clear()
+ })
+
+ it('should not transition to a fetching/pending state when hydrating an already resolved promise into an existing query', async () => {
+ const key = queryKey()
+ // --- server ---
+ const serverQueryClient = new QueryClient({
+ defaultOptions: {
+ dehydrate: { shouldDehydrateQuery: () => true },
+ },
+ })
+
+ let resolvePrefetch: undefined | ((value?: unknown) => void)
+ const prefetchPromise = new Promise((res) => {
+ resolvePrefetch = res
+ })
+ void serverQueryClient.prefetchQuery({
+ queryKey: key,
+ queryFn: () => prefetchPromise,
+ })
+ const dehydrated = dehydrate(serverQueryClient)
+
+ // Simulate a synchronous thenable – the promise was already resolved
+ // before we hydrate on the client
+ resolvePrefetch?.('server data')
+ // @ts-expect-error
+ dehydrated.queries[0].promise.then = (cb) => {
+ cb?.('server data')
+ // @ts-expect-error
+ return dehydrated.queries[0].promise
+ }
+
+ // --- client ---
+ // Pre-populate with old data (updatedAt: 0 ensures dehydratedAt is newer)
+ const clientQueryClient = new QueryClient()
+ clientQueryClient.setQueryData(key, 'old data', { updatedAt: 0 })
+
+ const states: Array<{ status: string; fetchStatus: string }> = []
+ const unsubscribe = clientQueryClient.getQueryCache().subscribe((event) => {
+ if (event.type === 'updated') {
+ const { status, fetchStatus } = event.query.state
+ states.push({ status, fetchStatus })
+ }
+ })
+
+ hydrate(clientQueryClient, dehydrated)
+ await vi.advanceTimersByTimeAsync(0)
+ unsubscribe()
+
+ expect(states).not.toContainEqual(
+ expect.objectContaining({ fetchStatus: 'fetching' }),
+ )
+ expect(states).not.toContainEqual(
+ expect.objectContaining({ status: 'pending' }),
+ )
+
+ clientQueryClient.clear()
+ serverQueryClient.clear()
+ })
})
diff --git a/packages/query-core/src/hydration.ts b/packages/query-core/src/hydration.ts
index c75d8ee332c..73678f04766 100644
--- a/packages/query-core/src/hydration.ts
+++ b/packages/query-core/src/hydration.ts
@@ -230,12 +230,24 @@ export function hydrate(
state.dataUpdatedAt > query.state.dataUpdatedAt ||
hasNewerSyncData
) {
- // omit fetchStatus from dehydrated state
- // so that query stays in its current fetchStatus
+ // Omit fetchStatus from dehydrated state so that query stays in its current fetchStatus
const { fetchStatus: _ignored, ...serializedState } = state
query.setState({
...serializedState,
data,
+ // If the query was pending at the moment of dehydration, but resolved to have data
+ // before hydration, we can assume the query should be hydrated as successful.
+ //
+ // Since you can opt into dehydrating failed queries, and those can have data from
+ // previous successful fetches, we make sure we only do this for pending queries.
+ ...(state.status === 'pending' &&
+ data !== undefined && {
+ status: 'success' as const,
+ // Preserve existing fetchStatus if the existing query is actively fetching.
+ ...(!existingQueryIsFetching && {
+ fetchStatus: 'idle' as const,
+ }),
+ }),
})
}
} else {
@@ -255,13 +267,21 @@ export function hydrate(
...state,
data,
fetchStatus: 'idle',
- status: data !== undefined ? 'success' : state.status,
+ // Like above, if the query was pending at the moment of dehydration but has data,
+ // we can assume it should be hydrated as successful.
+ status:
+ state.status === 'pending' && data !== undefined
+ ? 'success'
+ : state.status,
},
)
}
if (
promise &&
+ // If the data was synchronously available, there is no need to set up
+ // a retryer and thus no reason to call fetch
+ !syncData &&
!existingQueryIsPending &&
!existingQueryIsFetching &&
// Only hydrate if dehydration is newer than any existing data,
@@ -270,8 +290,6 @@ export function hydrate(
) {
// This doesn't actually fetch - it just creates a retryer
// which will re-use the passed `initialPromise`
- // Note that we need to call these even when data was synchronously
- // available, as we still need to set up the retryer
query
.fetch(undefined, {
// RSC transformed promises are not thenable
diff --git a/packages/query-core/src/query.ts b/packages/query-core/src/query.ts
index 7dfaa587721..9d2731e690a 100644
--- a/packages/query-core/src/query.ts
+++ b/packages/query-core/src/query.ts
@@ -2,7 +2,7 @@ import {
ensureQueryFn,
noop,
replaceData,
- resolveEnabled,
+ resolveQueryBoolean,
resolveStaleTime,
skipToken,
timeUntilStale,
@@ -271,7 +271,8 @@ export class Query<
isActive(): boolean {
return this.observers.some(
- (observer) => resolveEnabled(observer.options.enabled, this) !== false,
+ (observer) =>
+ resolveQueryBoolean(observer.options.enabled, this) !== false,
)
}
diff --git a/packages/query-core/src/queryObserver.ts b/packages/query-core/src/queryObserver.ts
index fa950bcfff3..954c969d548 100644
--- a/packages/query-core/src/queryObserver.ts
+++ b/packages/query-core/src/queryObserver.ts
@@ -8,7 +8,7 @@ import {
isValidTimeout,
noop,
replaceData,
- resolveEnabled,
+ resolveQueryBoolean,
resolveStaleTime,
shallowEqualObjects,
timeUntilStale,
@@ -153,7 +153,7 @@ export class QueryObserver<
this.options.enabled !== undefined &&
typeof this.options.enabled !== 'boolean' &&
typeof this.options.enabled !== 'function' &&
- typeof resolveEnabled(this.options.enabled, this.#currentQuery) !==
+ typeof resolveQueryBoolean(this.options.enabled, this.#currentQuery) !==
'boolean'
) {
throw new Error(
@@ -197,8 +197,8 @@ export class QueryObserver<
if (
mounted &&
(this.#currentQuery !== prevQuery ||
- resolveEnabled(this.options.enabled, this.#currentQuery) !==
- resolveEnabled(prevOptions.enabled, this.#currentQuery) ||
+ resolveQueryBoolean(this.options.enabled, this.#currentQuery) !==
+ resolveQueryBoolean(prevOptions.enabled, this.#currentQuery) ||
resolveStaleTime(this.options.staleTime, this.#currentQuery) !==
resolveStaleTime(prevOptions.staleTime, this.#currentQuery))
) {
@@ -211,8 +211,8 @@ export class QueryObserver<
if (
mounted &&
(this.#currentQuery !== prevQuery ||
- resolveEnabled(this.options.enabled, this.#currentQuery) !==
- resolveEnabled(prevOptions.enabled, this.#currentQuery) ||
+ resolveQueryBoolean(this.options.enabled, this.#currentQuery) !==
+ resolveQueryBoolean(prevOptions.enabled, this.#currentQuery) ||
nextRefetchInterval !== this.#currentRefetchInterval)
) {
this.#updateRefetchInterval(nextRefetchInterval)
@@ -394,7 +394,7 @@ export class QueryObserver<
if (
environmentManager.isServer() ||
- resolveEnabled(this.options.enabled, this.#currentQuery) === false ||
+ resolveQueryBoolean(this.options.enabled, this.#currentQuery) === false ||
!isValidTimeout(this.#currentRefetchInterval) ||
this.#currentRefetchInterval === 0
) {
@@ -589,7 +589,7 @@ export class QueryObserver<
isStale: isStale(query, options),
refetch: this.refetch,
promise: this.#currentThenable,
- isEnabled: resolveEnabled(options.enabled, query) !== false,
+ isEnabled: resolveQueryBoolean(options.enabled, query) !== false,
}
const nextResult = result as QueryObserverResult
@@ -750,9 +750,12 @@ function shouldLoadOnMount(
options: QueryObserverOptions,
): boolean {
return (
- resolveEnabled(options.enabled, query) !== false &&
+ resolveQueryBoolean(options.enabled, query) !== false &&
query.state.data === undefined &&
- !(query.state.status === 'error' && options.retryOnMount === false)
+ !(
+ query.state.status === 'error' &&
+ resolveQueryBoolean(options.retryOnMount, query) === false
+ )
)
}
@@ -775,7 +778,7 @@ function shouldFetchOn(
(typeof options)['refetchOnReconnect'],
) {
if (
- resolveEnabled(options.enabled, query) !== false &&
+ resolveQueryBoolean(options.enabled, query) !== false &&
resolveStaleTime(options.staleTime, query) !== 'static'
) {
const value = typeof field === 'function' ? field(query) : field
@@ -793,7 +796,7 @@ function shouldFetchOptionally(
): boolean {
return (
(query !== prevQuery ||
- resolveEnabled(prevOptions.enabled, query) === false) &&
+ resolveQueryBoolean(prevOptions.enabled, query) === false) &&
(!options.suspense || query.state.status !== 'error') &&
isStale(query, options)
)
@@ -804,7 +807,7 @@ function isStale(
options: QueryObserverOptions,
): boolean {
return (
- resolveEnabled(options.enabled, query) !== false &&
+ resolveQueryBoolean(options.enabled, query) !== false &&
query.isStaleByTime(resolveStaleTime(options.staleTime, query))
)
}
diff --git a/packages/query-core/src/types.ts b/packages/query-core/src/types.ts
index 4f3f4caed20..7e7aab7df46 100644
--- a/packages/query-core/src/types.ts
+++ b/packages/query-core/src/types.ts
@@ -110,7 +110,7 @@ export type StaleTimeFunction<
| StaleTime
| ((query: Query) => StaleTime)
-export type Enabled<
+export type QueryBooleanOption<
TQueryFnData = unknown,
TError = DefaultError,
TData = TQueryFnData,
@@ -326,7 +326,7 @@ export interface QueryObserverOptions<
* Accepts a boolean or function that returns a boolean.
* Defaults to `true`.
*/
- enabled?: Enabled
+ enabled?: QueryBooleanOption
/**
* The time in milliseconds after data is considered stale.
* If set to `Infinity`, the data will never be considered stale.
@@ -391,9 +391,10 @@ export interface QueryObserverOptions<
) => boolean | 'always')
/**
* If set to `false`, the query will not be retried on mount if it contains an error.
+ * If set to a function, the function will be executed with the query to compute the value.
* Defaults to `true`.
*/
- retryOnMount?: boolean
+ retryOnMount?: QueryBooleanOption
/**
* If set, the component will only re-render if any of the listed properties change.
* When set to `['data', 'error']`, the component will only re-render when the `data` or `error` properties change.
diff --git a/packages/query-core/src/utils.ts b/packages/query-core/src/utils.ts
index b29e8ded456..b97b2cc5a33 100644
--- a/packages/query-core/src/utils.ts
+++ b/packages/query-core/src/utils.ts
@@ -1,10 +1,10 @@
import { timeoutManager } from './timeoutManager'
import type {
DefaultError,
- Enabled,
FetchStatus,
MutationKey,
MutationStatus,
+ QueryBooleanOption,
QueryFunction,
QueryKey,
QueryOptions,
@@ -126,16 +126,18 @@ export function resolveStaleTime<
return typeof staleTime === 'function' ? staleTime(query) : staleTime
}
-export function resolveEnabled<
+export function resolveQueryBoolean<
TQueryFnData = unknown,
TError = DefaultError,
TData = TQueryFnData,
TQueryKey extends QueryKey = QueryKey,
>(
- enabled: undefined | Enabled,
+ option:
+ | undefined
+ | QueryBooleanOption,
query: Query,
): boolean | undefined {
- return typeof enabled === 'function' ? enabled(query) : enabled
+ return typeof option === 'function' ? option(query) : option
}
export function matchQuery(
diff --git a/packages/query-devtools/CHANGELOG.md b/packages/query-devtools/CHANGELOG.md
index b691076bc22..5a6cec10363 100644
--- a/packages/query-devtools/CHANGELOG.md
+++ b/packages/query-devtools/CHANGELOG.md
@@ -1,5 +1,7 @@
# @tanstack/query-devtools
+## 5.100.0
+
## 5.99.2
## 5.99.1
diff --git a/packages/query-devtools/package.json b/packages/query-devtools/package.json
index 3c508c0ff29..354a5b920c0 100644
--- a/packages/query-devtools/package.json
+++ b/packages/query-devtools/package.json
@@ -1,6 +1,6 @@
{
"name": "@tanstack/query-devtools",
- "version": "5.99.2",
+ "version": "5.100.0",
"description": "Developer tools to interact with and visualize the TanStack Query cache",
"author": "tannerlinsley",
"license": "MIT",
diff --git a/packages/query-persist-client-core/CHANGELOG.md b/packages/query-persist-client-core/CHANGELOG.md
index 801b0f1919b..78fc990f6c6 100644
--- a/packages/query-persist-client-core/CHANGELOG.md
+++ b/packages/query-persist-client-core/CHANGELOG.md
@@ -1,5 +1,12 @@
# @tanstack/query-persist-client-core
+## 5.100.0
+
+### Patch Changes
+
+- Updated dependencies [[`6540a41`](https://github.com/TanStack/query/commit/6540a4126b1c087d86d64525e78f32d9920dcd31)]:
+ - @tanstack/query-core@5.100.0
+
## 5.99.2
### Patch Changes
diff --git a/packages/query-persist-client-core/package.json b/packages/query-persist-client-core/package.json
index fbfedc6b4ea..5d261205f4e 100644
--- a/packages/query-persist-client-core/package.json
+++ b/packages/query-persist-client-core/package.json
@@ -1,6 +1,6 @@
{
"name": "@tanstack/query-persist-client-core",
- "version": "5.99.2",
+ "version": "5.100.0",
"description": "Set of utilities for interacting with persisters, which can save your queryClient for later use",
"author": "tannerlinsley",
"license": "MIT",
diff --git a/packages/query-sync-storage-persister/CHANGELOG.md b/packages/query-sync-storage-persister/CHANGELOG.md
index f1d74c31b98..89dc8e34082 100644
--- a/packages/query-sync-storage-persister/CHANGELOG.md
+++ b/packages/query-sync-storage-persister/CHANGELOG.md
@@ -1,5 +1,13 @@
# @tanstack/query-sync-storage-persister
+## 5.100.0
+
+### Patch Changes
+
+- Updated dependencies [[`6540a41`](https://github.com/TanStack/query/commit/6540a4126b1c087d86d64525e78f32d9920dcd31)]:
+ - @tanstack/query-core@5.100.0
+ - @tanstack/query-persist-client-core@5.100.0
+
## 5.99.2
### Patch Changes
diff --git a/packages/query-sync-storage-persister/package.json b/packages/query-sync-storage-persister/package.json
index 4b482b6b6b0..8c6eb894b94 100644
--- a/packages/query-sync-storage-persister/package.json
+++ b/packages/query-sync-storage-persister/package.json
@@ -1,6 +1,6 @@
{
"name": "@tanstack/query-sync-storage-persister",
- "version": "5.99.2",
+ "version": "5.100.0",
"description": "A persister for synchronous storages, to be used with TanStack/Query",
"author": "tannerlinsley",
"license": "MIT",
diff --git a/packages/react-query-devtools/CHANGELOG.md b/packages/react-query-devtools/CHANGELOG.md
index 3340c45ac53..86b6ccb0b10 100644
--- a/packages/react-query-devtools/CHANGELOG.md
+++ b/packages/react-query-devtools/CHANGELOG.md
@@ -1,5 +1,13 @@
# @tanstack/react-query-devtools
+## 5.100.0
+
+### Patch Changes
+
+- Updated dependencies []:
+ - @tanstack/query-devtools@5.100.0
+ - @tanstack/react-query@5.100.0
+
## 5.99.2
### Patch Changes
diff --git a/packages/react-query-devtools/package.json b/packages/react-query-devtools/package.json
index ef74ccca27c..67f393d5a25 100644
--- a/packages/react-query-devtools/package.json
+++ b/packages/react-query-devtools/package.json
@@ -1,6 +1,6 @@
{
"name": "@tanstack/react-query-devtools",
- "version": "5.99.2",
+ "version": "5.100.0",
"description": "Developer tools to interact with and visualize the TanStack/react-query cache",
"author": "tannerlinsley",
"license": "MIT",
diff --git a/packages/react-query-next-experimental/CHANGELOG.md b/packages/react-query-next-experimental/CHANGELOG.md
index e2720d693f1..10276935b49 100644
--- a/packages/react-query-next-experimental/CHANGELOG.md
+++ b/packages/react-query-next-experimental/CHANGELOG.md
@@ -1,5 +1,12 @@
# @tanstack/react-query-next-experimental
+## 5.100.0
+
+### Patch Changes
+
+- Updated dependencies []:
+ - @tanstack/react-query@5.100.0
+
## 5.99.2
### Patch Changes
diff --git a/packages/react-query-next-experimental/package.json b/packages/react-query-next-experimental/package.json
index 10721005580..75fa1762f5a 100644
--- a/packages/react-query-next-experimental/package.json
+++ b/packages/react-query-next-experimental/package.json
@@ -1,6 +1,6 @@
{
"name": "@tanstack/react-query-next-experimental",
- "version": "5.99.2",
+ "version": "5.100.0",
"description": "Hydration utils for React Query in the NextJs app directory",
"author": "tannerlinsley",
"license": "MIT",
diff --git a/packages/react-query-persist-client/CHANGELOG.md b/packages/react-query-persist-client/CHANGELOG.md
index 3a1fe5045fb..1cc7c4a40bd 100644
--- a/packages/react-query-persist-client/CHANGELOG.md
+++ b/packages/react-query-persist-client/CHANGELOG.md
@@ -1,5 +1,13 @@
# @tanstack/react-query-persist-client
+## 5.100.0
+
+### Patch Changes
+
+- Updated dependencies []:
+ - @tanstack/query-persist-client-core@5.100.0
+ - @tanstack/react-query@5.100.0
+
## 5.99.2
### Patch Changes
diff --git a/packages/react-query-persist-client/package.json b/packages/react-query-persist-client/package.json
index ac0d01b2aec..3e59fb2cfe3 100644
--- a/packages/react-query-persist-client/package.json
+++ b/packages/react-query-persist-client/package.json
@@ -1,6 +1,6 @@
{
"name": "@tanstack/react-query-persist-client",
- "version": "5.99.2",
+ "version": "5.100.0",
"description": "React bindings to work with persisters in TanStack/react-query",
"author": "tannerlinsley",
"license": "MIT",
diff --git a/packages/react-query/CHANGELOG.md b/packages/react-query/CHANGELOG.md
index da3037f8379..bd24cc5a15b 100644
--- a/packages/react-query/CHANGELOG.md
+++ b/packages/react-query/CHANGELOG.md
@@ -1,5 +1,12 @@
# @tanstack/react-query
+## 5.100.0
+
+### Patch Changes
+
+- Updated dependencies [[`6540a41`](https://github.com/TanStack/query/commit/6540a4126b1c087d86d64525e78f32d9920dcd31)]:
+ - @tanstack/query-core@5.100.0
+
## 5.99.2
### Patch Changes
diff --git a/packages/react-query/package.json b/packages/react-query/package.json
index a3530e0bc9c..7ab8703731d 100644
--- a/packages/react-query/package.json
+++ b/packages/react-query/package.json
@@ -1,6 +1,6 @@
{
"name": "@tanstack/react-query",
- "version": "5.99.2",
+ "version": "5.100.0",
"description": "Hooks for managing, caching and syncing asynchronous and remote data in React",
"author": "tannerlinsley",
"license": "MIT",
diff --git a/packages/react-query/src/__tests__/QueryResetErrorBoundary.test.tsx b/packages/react-query/src/__tests__/QueryResetErrorBoundary.test.tsx
index 016e7f34d01..f9973bba2cc 100644
--- a/packages/react-query/src/__tests__/QueryResetErrorBoundary.test.tsx
+++ b/packages/react-query/src/__tests__/QueryResetErrorBoundary.test.tsx
@@ -829,7 +829,7 @@ describe('QueryErrorResetBoundary', () => {
}),
retry: false,
throwOnError: true,
- retryOnMount: true,
+ retryOnMount: () => true,
},
],
})
@@ -894,7 +894,7 @@ describe('QueryErrorResetBoundary', () => {
return 'data'
}),
retry: false,
- retryOnMount: true,
+ retryOnMount: () => true,
},
],
})
diff --git a/packages/react-query/src/__tests__/useQuery.test.tsx b/packages/react-query/src/__tests__/useQuery.test.tsx
index 7ebb2124eb8..7504b9b4cb0 100644
--- a/packages/react-query/src/__tests__/useQuery.test.tsx
+++ b/packages/react-query/src/__tests__/useQuery.test.tsx
@@ -4898,7 +4898,7 @@ describe('useQuery', () => {
queryFn,
enabled,
retry: false,
- retryOnMount: false,
+ retryOnMount: () => false,
refetchOnMount: false,
refetchOnWindowFocus: false,
})
@@ -4959,7 +4959,7 @@ describe('useQuery', () => {
}
},
retry: false,
- retryOnMount: false,
+ retryOnMount: () => false,
refetchOnMount: false,
refetchOnWindowFocus: false,
})
@@ -5013,7 +5013,7 @@ describe('useQuery', () => {
queryFn: () =>
sleep(10).then(() => Promise.reject(new Error('Error'))),
retry: false,
- retryOnMount: false,
+ retryOnMount: () => false,
refetchOnMount: false,
refetchOnWindowFocus: false,
})
@@ -5996,7 +5996,7 @@ describe('useQuery', () => {
queryKey: key,
queryFn,
retry: false,
- retryOnMount: false,
+ retryOnMount: () => false,
})
states.push(state)
@@ -6419,7 +6419,7 @@ describe('useQuery', () => {
? () => sleep(10).then(() => Promise.resolve('data'))
: skipToken,
retry: false,
- retryOnMount: false,
+ retryOnMount: () => false,
refetchOnMount: false,
refetchOnWindowFocus: false,
})
@@ -6729,7 +6729,7 @@ describe('useQuery', () => {
queryKey: key,
queryFn,
throwOnError: () => false,
- retryOnMount: true,
+ retryOnMount: () => true,
staleTime: Infinity,
retry: false,
})
@@ -6775,7 +6775,7 @@ describe('useQuery', () => {
queryKey: key,
queryFn,
throwOnError: () => true,
- retryOnMount: true,
+ retryOnMount: () => true,
staleTime: Infinity,
retry: false,
})
@@ -6846,7 +6846,7 @@ describe('useQuery', () => {
const { status, error } = useQuery({
queryKey: key,
queryFn,
- throwOnError: (err) => err.message.includes('404'),
+ throwOnError: (error) => error.message.includes('404'),
retryOnMount: true,
staleTime: Infinity,
retry: false,
@@ -6883,6 +6883,87 @@ describe('useQuery', () => {
expect(queryFn).toHaveBeenCalledTimes(2)
})
+ it('should pass the query to retryOnMount callback', async () => {
+ const key = queryKey()
+ const queryFn = vi.fn().mockRejectedValue(new Error('oops'))
+ const retryOnMount = vi.fn((query) => query.state.status !== 'error')
+
+ function Page() {
+ const { status } = useQuery({
+ queryKey: key,
+ queryFn,
+ retry: false,
+ retryOnMount,
+ })
+
+ return {status}
+ }
+
+ const rendered1 = renderWithClient(queryClient, )
+ await vi.advanceTimersByTimeAsync(0)
+ expect(rendered1.getByText('error')).toBeInTheDocument()
+ rendered1.unmount()
+
+ renderWithClient(queryClient, )
+ await vi.advanceTimersByTimeAsync(0)
+
+ expect(retryOnMount).toHaveBeenCalled()
+ const query = retryOnMount.mock.calls.at(-1)![0]
+ expect(query.state.status).toBe('error')
+ expect(query.state.data).toBeUndefined()
+ expect(queryFn).toHaveBeenCalledTimes(1)
+ })
+
+ it('should not call retryOnMount callback when the query has data', async () => {
+ const key = queryKey()
+ let count = 0
+ const retryOnMount = vi.fn(() => false)
+ const queryFn = vi.fn().mockImplementation(async () => {
+ await sleep(10)
+ count++
+ if (count === 1) {
+ return 'data'
+ }
+ throw new Error('oops')
+ })
+
+ function Page() {
+ const { data, error, refetch } = useQuery({
+ queryKey: key,
+ queryFn,
+ retry: false,
+ staleTime: 0,
+ refetchOnMount: true,
+ retryOnMount,
+ })
+
+ return (
+
+
{data ?? 'no data'}
+
{error instanceof Error ? error.message : 'no error'}
+
+
+ )
+ }
+
+ const rendered = renderWithClient(queryClient, )
+ await vi.advanceTimersByTimeAsync(11)
+ expect(rendered.getByText('data')).toBeInTheDocument()
+
+ fireEvent.click(rendered.getByRole('button', { name: 'refetch' }))
+ await vi.advanceTimersByTimeAsync(11)
+ expect(rendered.getByText('data')).toBeInTheDocument()
+ expect(rendered.getByText('oops')).toBeInTheDocument()
+
+ rendered.unmount()
+
+ renderWithClient(queryClient, )
+ await vi.advanceTimersByTimeAsync(11)
+
+ expect(retryOnMount).not.toHaveBeenCalled()
+ expect(queryFn).toHaveBeenCalledTimes(3)
+ })
+
it('should not fetch for the duration of the restoring period when isRestoring is true', async () => {
const key = queryKey()
const queryFn = vi
diff --git a/packages/solid-query-devtools/CHANGELOG.md b/packages/solid-query-devtools/CHANGELOG.md
index a949186a9f3..d1a83dea2d8 100644
--- a/packages/solid-query-devtools/CHANGELOG.md
+++ b/packages/solid-query-devtools/CHANGELOG.md
@@ -1,5 +1,13 @@
# @tanstack/solid-query-devtools
+## 5.100.0
+
+### Patch Changes
+
+- Updated dependencies []:
+ - @tanstack/query-devtools@5.100.0
+ - @tanstack/solid-query@5.100.0
+
## 5.99.2
### Patch Changes
diff --git a/packages/solid-query-devtools/package.json b/packages/solid-query-devtools/package.json
index c931eba3b96..871adb906cb 100644
--- a/packages/solid-query-devtools/package.json
+++ b/packages/solid-query-devtools/package.json
@@ -1,6 +1,6 @@
{
"name": "@tanstack/solid-query-devtools",
- "version": "5.99.2",
+ "version": "5.100.0",
"description": "Developer tools to interact with and visualize the TanStack/solid-query Query cache",
"author": "tannerlinsley",
"license": "MIT",
diff --git a/packages/solid-query-persist-client/CHANGELOG.md b/packages/solid-query-persist-client/CHANGELOG.md
index 661c51bbdca..1016a6d4426 100644
--- a/packages/solid-query-persist-client/CHANGELOG.md
+++ b/packages/solid-query-persist-client/CHANGELOG.md
@@ -1,5 +1,13 @@
# @tanstack/solid-query-persist-client
+## 5.100.0
+
+### Patch Changes
+
+- Updated dependencies []:
+ - @tanstack/query-persist-client-core@5.100.0
+ - @tanstack/solid-query@5.100.0
+
## 5.99.2
### Patch Changes
diff --git a/packages/solid-query-persist-client/package.json b/packages/solid-query-persist-client/package.json
index 465628e2651..47a50f53113 100644
--- a/packages/solid-query-persist-client/package.json
+++ b/packages/solid-query-persist-client/package.json
@@ -1,6 +1,6 @@
{
"name": "@tanstack/solid-query-persist-client",
- "version": "5.99.2",
+ "version": "5.100.0",
"description": "Solid.js bindings to work with persisters in TanStack/solid-query",
"author": "tannerlinsley",
"license": "MIT",
diff --git a/packages/solid-query/CHANGELOG.md b/packages/solid-query/CHANGELOG.md
index 5a332a6893a..84ebe72893d 100644
--- a/packages/solid-query/CHANGELOG.md
+++ b/packages/solid-query/CHANGELOG.md
@@ -1,5 +1,12 @@
# @tanstack/solid-query
+## 5.100.0
+
+### Patch Changes
+
+- Updated dependencies [[`6540a41`](https://github.com/TanStack/query/commit/6540a4126b1c087d86d64525e78f32d9920dcd31)]:
+ - @tanstack/query-core@5.100.0
+
## 5.99.2
### Patch Changes
diff --git a/packages/solid-query/package.json b/packages/solid-query/package.json
index 31d235e92bd..25586898156 100644
--- a/packages/solid-query/package.json
+++ b/packages/solid-query/package.json
@@ -1,6 +1,6 @@
{
"name": "@tanstack/solid-query",
- "version": "5.99.2",
+ "version": "5.100.0",
"description": "Primitives for managing, caching and syncing asynchronous and remote data in Solid",
"author": "tannerlinsley",
"license": "MIT",
diff --git a/packages/solid-query/src/__tests__/useQuery.test.tsx b/packages/solid-query/src/__tests__/useQuery.test.tsx
index 0edb42fd97f..745a9ab1cc2 100644
--- a/packages/solid-query/src/__tests__/useQuery.test.tsx
+++ b/packages/solid-query/src/__tests__/useQuery.test.tsx
@@ -5059,7 +5059,7 @@ describe('useQuery', () => {
queryFn,
enabled: props.enabled,
retry: false,
- retryOnMount: false,
+ retryOnMount: () => false,
refetchOnMount: false,
refetchOnWindowFocus: false,
}))
@@ -5126,7 +5126,7 @@ describe('useQuery', () => {
props.id % 2 === 1 ? Promise.reject(new Error('Error')) : 'data',
),
retry: false,
- retryOnMount: false,
+ retryOnMount: () => false,
refetchOnMount: false,
refetchOnWindowFocus: false,
}))
@@ -5186,7 +5186,7 @@ describe('useQuery', () => {
queryKey: [props.id],
queryFn: () => sleep(10).then(() => Promise.reject(new Error('Error'))),
retry: false,
- retryOnMount: false,
+ retryOnMount: () => false,
refetchOnMount: false,
refetchOnWindowFocus: false,
}))
@@ -6188,7 +6188,7 @@ describe('useQuery', () => {
queryKey: key,
queryFn,
retry: false,
- retryOnMount: false,
+ retryOnMount: () => false,
}))
createRenderEffect(() => {
diff --git a/packages/svelte-query-devtools/CHANGELOG.md b/packages/svelte-query-devtools/CHANGELOG.md
index 5d0179480a7..90acb5e5dd5 100644
--- a/packages/svelte-query-devtools/CHANGELOG.md
+++ b/packages/svelte-query-devtools/CHANGELOG.md
@@ -1,5 +1,13 @@
# @tanstack/svelte-query-devtools
+## 6.1.19
+
+### Patch Changes
+
+- Updated dependencies []:
+ - @tanstack/query-devtools@5.100.0
+ - @tanstack/svelte-query@6.1.19
+
## 6.1.18
### Patch Changes
diff --git a/packages/svelte-query-devtools/package.json b/packages/svelte-query-devtools/package.json
index 7e8091b56bd..a67e8b31090 100644
--- a/packages/svelte-query-devtools/package.json
+++ b/packages/svelte-query-devtools/package.json
@@ -1,6 +1,6 @@
{
"name": "@tanstack/svelte-query-devtools",
- "version": "6.1.18",
+ "version": "6.1.19",
"description": "Developer tools to interact with and visualize the TanStack/svelte-query cache",
"author": "Lachlan Collins",
"license": "MIT",
diff --git a/packages/svelte-query-persist-client/CHANGELOG.md b/packages/svelte-query-persist-client/CHANGELOG.md
index 0e99bda9119..67c7d5be20d 100644
--- a/packages/svelte-query-persist-client/CHANGELOG.md
+++ b/packages/svelte-query-persist-client/CHANGELOG.md
@@ -1,5 +1,13 @@
# @tanstack/svelte-query-persist-client
+## 6.1.19
+
+### Patch Changes
+
+- Updated dependencies []:
+ - @tanstack/query-persist-client-core@5.100.0
+ - @tanstack/svelte-query@6.1.19
+
## 6.1.18
### Patch Changes
diff --git a/packages/svelte-query-persist-client/package.json b/packages/svelte-query-persist-client/package.json
index 6579266c9d2..7e49a291ac9 100644
--- a/packages/svelte-query-persist-client/package.json
+++ b/packages/svelte-query-persist-client/package.json
@@ -1,6 +1,6 @@
{
"name": "@tanstack/svelte-query-persist-client",
- "version": "6.1.18",
+ "version": "6.1.19",
"description": "Svelte bindings to work with persisters in TanStack/svelte-query",
"author": "Lachlan Collins",
"license": "MIT",
diff --git a/packages/svelte-query/CHANGELOG.md b/packages/svelte-query/CHANGELOG.md
index ccf5d846df9..0a0c8c21417 100644
--- a/packages/svelte-query/CHANGELOG.md
+++ b/packages/svelte-query/CHANGELOG.md
@@ -1,5 +1,12 @@
# @tanstack/svelte-query
+## 6.1.19
+
+### Patch Changes
+
+- Updated dependencies [[`6540a41`](https://github.com/TanStack/query/commit/6540a4126b1c087d86d64525e78f32d9920dcd31)]:
+ - @tanstack/query-core@5.100.0
+
## 6.1.18
### Patch Changes
diff --git a/packages/svelte-query/package.json b/packages/svelte-query/package.json
index ca7e198485c..1d8238989af 100644
--- a/packages/svelte-query/package.json
+++ b/packages/svelte-query/package.json
@@ -1,6 +1,6 @@
{
"name": "@tanstack/svelte-query",
- "version": "6.1.18",
+ "version": "6.1.19",
"description": "Primitives for managing, caching and syncing asynchronous and remote data in Svelte",
"author": "Lachlan Collins",
"license": "MIT",
diff --git a/packages/vue-query-devtools/CHANGELOG.md b/packages/vue-query-devtools/CHANGELOG.md
index 08afe5f188e..e9440bf41eb 100644
--- a/packages/vue-query-devtools/CHANGELOG.md
+++ b/packages/vue-query-devtools/CHANGELOG.md
@@ -1,5 +1,13 @@
# @tanstack/vue-query-devtools
+## 6.1.19
+
+### Patch Changes
+
+- Updated dependencies []:
+ - @tanstack/query-devtools@5.100.0
+ - @tanstack/vue-query@5.100.0
+
## 6.1.18
### Patch Changes
diff --git a/packages/vue-query-devtools/package.json b/packages/vue-query-devtools/package.json
index bf5476f731d..d5f9bc5f637 100644
--- a/packages/vue-query-devtools/package.json
+++ b/packages/vue-query-devtools/package.json
@@ -1,6 +1,6 @@
{
"name": "@tanstack/vue-query-devtools",
- "version": "6.1.18",
+ "version": "6.1.19",
"description": "Developer tools to interact with and visualize the TanStack/vue-query cache",
"author": "tannerlinsley",
"license": "MIT",
diff --git a/packages/vue-query/CHANGELOG.md b/packages/vue-query/CHANGELOG.md
index dd03c4314a1..80b92b63aea 100644
--- a/packages/vue-query/CHANGELOG.md
+++ b/packages/vue-query/CHANGELOG.md
@@ -1,5 +1,12 @@
# @tanstack/vue-query
+## 5.100.0
+
+### Patch Changes
+
+- Updated dependencies [[`6540a41`](https://github.com/TanStack/query/commit/6540a4126b1c087d86d64525e78f32d9920dcd31)]:
+ - @tanstack/query-core@5.100.0
+
## 5.99.2
### Patch Changes
diff --git a/packages/vue-query/package.json b/packages/vue-query/package.json
index 90aa817d606..a6e4315fd56 100644
--- a/packages/vue-query/package.json
+++ b/packages/vue-query/package.json
@@ -1,6 +1,6 @@
{
"name": "@tanstack/vue-query",
- "version": "5.99.2",
+ "version": "5.100.0",
"description": "Hooks for managing, caching and syncing asynchronous and remote data in Vue",
"author": "Damian Osipiuk",
"license": "MIT",
diff --git a/packages/vue-query/src/queryOptions.ts b/packages/vue-query/src/queryOptions.ts
index ee8bc8c2e5b..bc0d578aebb 100644
--- a/packages/vue-query/src/queryOptions.ts
+++ b/packages/vue-query/src/queryOptions.ts
@@ -2,9 +2,9 @@ import type { DeepUnwrapRef, MaybeRefOrGetter, ShallowOption } from './types'
import type {
DataTag,
DefaultError,
- Enabled,
InitialDataFunction,
NonUndefinedGuard,
+ QueryBooleanOption,
QueryKey,
QueryObserverOptions,
} from '@tanstack/query-core'
@@ -25,7 +25,7 @@ export type QueryOptions<
>]: Property extends 'enabled'
?
| MaybeRefOrGetter
- | (() => Enabled<
+ | (() => QueryBooleanOption<
TQueryFnData,
TError,
TQueryData,
diff --git a/packages/vue-query/src/useQuery.ts b/packages/vue-query/src/useQuery.ts
index a64d5fc2d75..116e91baefe 100644
--- a/packages/vue-query/src/useQuery.ts
+++ b/packages/vue-query/src/useQuery.ts
@@ -3,9 +3,9 @@ import { useBaseQuery } from './useBaseQuery'
import type {
DefaultError,
DefinedQueryObserverResult,
- Enabled,
InitialDataFunction,
NonUndefinedGuard,
+ QueryBooleanOption,
QueryKey,
QueryObserverOptions,
} from '@tanstack/query-core'
@@ -36,7 +36,7 @@ export type UseQueryOptions<
>]: Property extends 'enabled'
?
| MaybeRefOrGetter
- | (() => Enabled<
+ | (() => QueryBooleanOption<
TQueryFnData,
TError,
TQueryData,
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index 36ee677fbd2..cfdf73760c8 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -169,7 +169,7 @@ importers:
specifier: ^20.0.0
version: 20.3.18(@angular/animations@20.3.18(@angular/core@20.3.18(@angular/compiler@20.3.18)(rxjs@7.8.2)(zone.js@0.15.0)))(@angular/common@20.3.18(@angular/core@20.3.18(@angular/compiler@20.3.18)(rxjs@7.8.2)(zone.js@0.15.0))(rxjs@7.8.2))(@angular/core@20.3.18(@angular/compiler@20.3.18)(rxjs@7.8.2)(zone.js@0.15.0))
'@tanstack/angular-query-experimental':
- specifier: ^5.99.2
+ specifier: ^5.100.0
version: link:../../../packages/angular-query-experimental
rxjs:
specifier: ^7.8.2
@@ -209,7 +209,7 @@ importers:
specifier: ^20.0.0
version: 20.3.18(@angular/animations@20.3.18(@angular/core@20.3.18(@angular/compiler@20.3.18)(rxjs@7.8.2)(zone.js@0.15.0)))(@angular/common@20.3.18(@angular/core@20.3.18(@angular/compiler@20.3.18)(rxjs@7.8.2)(zone.js@0.15.0))(rxjs@7.8.2))(@angular/core@20.3.18(@angular/compiler@20.3.18)(rxjs@7.8.2)(zone.js@0.15.0))
'@tanstack/angular-query-experimental':
- specifier: ^5.99.2
+ specifier: ^5.100.0
version: link:../../../packages/angular-query-experimental
rxjs:
specifier: ^7.8.2
@@ -249,13 +249,13 @@ importers:
specifier: ^20.0.0
version: 20.3.18(@angular/animations@20.3.18(@angular/core@20.3.18(@angular/compiler@20.3.18)(rxjs@7.8.2)(zone.js@0.15.0)))(@angular/common@20.3.18(@angular/core@20.3.18(@angular/compiler@20.3.18)(rxjs@7.8.2)(zone.js@0.15.0))(rxjs@7.8.2))(@angular/core@20.3.18(@angular/compiler@20.3.18)(rxjs@7.8.2)(zone.js@0.15.0))
'@tanstack/angular-query-experimental':
- specifier: ^5.99.2
+ specifier: ^5.100.0
version: link:../../../packages/angular-query-experimental
'@tanstack/angular-query-persist-client':
- specifier: ^5.99.2
+ specifier: ^5.100.0
version: link:../../../packages/angular-query-persist-client
'@tanstack/query-async-storage-persister':
- specifier: ^5.99.2
+ specifier: ^5.100.0
version: link:../../../packages/query-async-storage-persister
rxjs:
specifier: ^7.8.2
@@ -298,7 +298,7 @@ importers:
specifier: ^20.0.0
version: 20.3.18(@angular/common@20.3.18(@angular/core@20.3.18(@angular/compiler@20.3.18)(rxjs@7.8.2)(zone.js@0.15.0))(rxjs@7.8.2))(@angular/core@20.3.18(@angular/compiler@20.3.18)(rxjs@7.8.2)(zone.js@0.15.0))(@angular/platform-browser@20.3.18(@angular/animations@20.3.18(@angular/core@20.3.18(@angular/compiler@20.3.18)(rxjs@7.8.2)(zone.js@0.15.0)))(@angular/common@20.3.18(@angular/core@20.3.18(@angular/compiler@20.3.18)(rxjs@7.8.2)(zone.js@0.15.0))(rxjs@7.8.2))(@angular/core@20.3.18(@angular/compiler@20.3.18)(rxjs@7.8.2)(zone.js@0.15.0)))(rxjs@7.8.2)
'@tanstack/angular-query-experimental':
- specifier: ^5.99.2
+ specifier: ^5.100.0
version: link:../../../packages/angular-query-experimental
rxjs:
specifier: ^7.8.2
@@ -338,7 +338,7 @@ importers:
specifier: ^20.0.0
version: 20.3.18(@angular/animations@20.3.18(@angular/core@20.3.18(@angular/compiler@20.3.18)(rxjs@7.8.2)(zone.js@0.15.0)))(@angular/common@20.3.18(@angular/core@20.3.18(@angular/compiler@20.3.18)(rxjs@7.8.2)(zone.js@0.15.0))(rxjs@7.8.2))(@angular/core@20.3.18(@angular/compiler@20.3.18)(rxjs@7.8.2)(zone.js@0.15.0))
'@tanstack/angular-query-experimental':
- specifier: ^5.99.2
+ specifier: ^5.100.0
version: link:../../../packages/angular-query-experimental
rxjs:
specifier: ^7.8.2
@@ -381,7 +381,7 @@ importers:
specifier: ^20.0.0
version: 20.3.18(@angular/animations@20.3.18(@angular/core@20.3.18(@angular/compiler@20.3.18)(rxjs@7.8.2)(zone.js@0.15.0)))(@angular/common@20.3.18(@angular/core@20.3.18(@angular/compiler@20.3.18)(rxjs@7.8.2)(zone.js@0.15.0))(rxjs@7.8.2))(@angular/core@20.3.18(@angular/compiler@20.3.18)(rxjs@7.8.2)(zone.js@0.15.0))
'@tanstack/angular-query-experimental':
- specifier: ^5.99.2
+ specifier: ^5.100.0
version: link:../../../packages/angular-query-experimental
rxjs:
specifier: ^7.8.2
@@ -421,7 +421,7 @@ importers:
specifier: ^20.0.0
version: 20.3.18(@angular/animations@20.3.18(@angular/core@20.3.18(@angular/compiler@20.3.18)(rxjs@7.8.2)(zone.js@0.15.0)))(@angular/common@20.3.18(@angular/core@20.3.18(@angular/compiler@20.3.18)(rxjs@7.8.2)(zone.js@0.15.0))(rxjs@7.8.2))(@angular/core@20.3.18(@angular/compiler@20.3.18)(rxjs@7.8.2)(zone.js@0.15.0))
'@tanstack/angular-query-experimental':
- specifier: ^5.99.2
+ specifier: ^5.100.0
version: link:../../../packages/angular-query-experimental
rxjs:
specifier: ^7.8.2
@@ -464,7 +464,7 @@ importers:
specifier: ^20.0.0
version: 20.3.18(@angular/common@20.3.18(@angular/core@20.3.18(@angular/compiler@20.3.18)(rxjs@7.8.2)(zone.js@0.15.0))(rxjs@7.8.2))(@angular/core@20.3.18(@angular/compiler@20.3.18)(rxjs@7.8.2)(zone.js@0.15.0))(@angular/platform-browser@20.3.18(@angular/animations@20.3.18(@angular/core@20.3.18(@angular/compiler@20.3.18)(rxjs@7.8.2)(zone.js@0.15.0)))(@angular/common@20.3.18(@angular/core@20.3.18(@angular/compiler@20.3.18)(rxjs@7.8.2)(zone.js@0.15.0))(rxjs@7.8.2))(@angular/core@20.3.18(@angular/compiler@20.3.18)(rxjs@7.8.2)(zone.js@0.15.0)))(rxjs@7.8.2)
'@tanstack/angular-query-experimental':
- specifier: ^5.99.2
+ specifier: ^5.100.0
version: link:../../../packages/angular-query-experimental
rxjs:
specifier: ^7.8.2
@@ -507,7 +507,7 @@ importers:
specifier: ^20.0.0
version: 20.3.18(@angular/common@20.3.18(@angular/core@20.3.18(@angular/compiler@20.3.18)(rxjs@7.8.2)(zone.js@0.15.0))(rxjs@7.8.2))(@angular/core@20.3.18(@angular/compiler@20.3.18)(rxjs@7.8.2)(zone.js@0.15.0))(@angular/platform-browser@20.3.18(@angular/animations@20.3.18(@angular/core@20.3.18(@angular/compiler@20.3.18)(rxjs@7.8.2)(zone.js@0.15.0)))(@angular/common@20.3.18(@angular/core@20.3.18(@angular/compiler@20.3.18)(rxjs@7.8.2)(zone.js@0.15.0))(rxjs@7.8.2))(@angular/core@20.3.18(@angular/compiler@20.3.18)(rxjs@7.8.2)(zone.js@0.15.0)))(rxjs@7.8.2)
'@tanstack/angular-query-experimental':
- specifier: ^5.99.2
+ specifier: ^5.100.0
version: link:../../../packages/angular-query-experimental
rxjs:
specifier: ^7.8.2
@@ -550,7 +550,7 @@ importers:
specifier: ^20.0.0
version: 20.3.18(@angular/animations@20.3.18(@angular/core@20.3.18(@angular/compiler@20.3.18)(rxjs@7.8.2)(zone.js@0.15.0)))(@angular/common@20.3.18(@angular/core@20.3.18(@angular/compiler@20.3.18)(rxjs@7.8.2)(zone.js@0.15.0))(rxjs@7.8.2))(@angular/core@20.3.18(@angular/compiler@20.3.18)(rxjs@7.8.2)(zone.js@0.15.0))
'@tanstack/angular-query-experimental':
- specifier: ^5.99.2
+ specifier: ^5.100.0
version: link:../../../packages/angular-query-experimental
rxjs:
specifier: ^7.8.2
@@ -590,7 +590,7 @@ importers:
specifier: ^20.0.0
version: 20.3.18(@angular/animations@20.3.18(@angular/core@20.3.18(@angular/compiler@20.3.18)(rxjs@7.8.2)(zone.js@0.15.0)))(@angular/common@20.3.18(@angular/core@20.3.18(@angular/compiler@20.3.18)(rxjs@7.8.2)(zone.js@0.15.0))(rxjs@7.8.2))(@angular/core@20.3.18(@angular/compiler@20.3.18)(rxjs@7.8.2)(zone.js@0.15.0))
'@tanstack/angular-query-experimental':
- specifier: ^5.99.2
+ specifier: ^5.100.0
version: link:../../../packages/angular-query-experimental
rxjs:
specifier: ^7.8.2
@@ -618,7 +618,7 @@ importers:
examples/preact/simple:
dependencies:
'@tanstack/preact-query':
- specifier: ^5.99.2
+ specifier: ^5.100.0
version: link:../../../packages/preact-query
preact:
specifier: ^10.28.0
@@ -646,10 +646,10 @@ importers:
specifier: 5.2.1
version: 5.2.1
'@tanstack/react-query':
- specifier: ^5.99.2
+ specifier: ^5.100.0
version: link:../../../packages/react-query
'@tanstack/react-query-devtools':
- specifier: ^5.99.2
+ specifier: ^5.100.0
version: link:../../../packages/react-query-devtools
react:
specifier: ^19.0.0
@@ -659,7 +659,7 @@ importers:
version: 19.2.4(react@19.2.4)
devDependencies:
'@tanstack/eslint-plugin-query':
- specifier: ^5.99.2
+ specifier: ^5.100.0
version: link:../../../packages/eslint-plugin-query
'@types/react':
specifier: ^19.2.7
@@ -680,10 +680,10 @@ importers:
examples/react/auto-refetching:
dependencies:
'@tanstack/react-query':
- specifier: ^5.99.2
+ specifier: ^5.100.0
version: link:../../../packages/react-query
'@tanstack/react-query-devtools':
- specifier: ^5.99.2
+ specifier: ^5.100.0
version: link:../../../packages/react-query-devtools
next:
specifier: ^16.0.7
@@ -708,16 +708,16 @@ importers:
examples/react/basic:
dependencies:
'@tanstack/query-async-storage-persister':
- specifier: ^5.99.2
+ specifier: ^5.100.0
version: link:../../../packages/query-async-storage-persister
'@tanstack/react-query':
- specifier: ^5.99.2
+ specifier: ^5.100.0
version: link:../../../packages/react-query
'@tanstack/react-query-devtools':
- specifier: ^5.99.2
+ specifier: ^5.100.0
version: link:../../../packages/react-query-devtools
'@tanstack/react-query-persist-client':
- specifier: ^5.99.2
+ specifier: ^5.100.0
version: link:../../../packages/react-query-persist-client
react:
specifier: ^19.0.0
@@ -727,7 +727,7 @@ importers:
version: 19.2.4(react@19.2.4)
devDependencies:
'@tanstack/eslint-plugin-query':
- specifier: ^5.99.2
+ specifier: ^5.100.0
version: link:../../../packages/eslint-plugin-query
'@types/react':
specifier: ^19.2.7
@@ -748,10 +748,10 @@ importers:
examples/react/basic-graphql-request:
dependencies:
'@tanstack/react-query':
- specifier: ^5.99.2
+ specifier: ^5.100.0
version: link:../../../packages/react-query
'@tanstack/react-query-devtools':
- specifier: ^5.99.2
+ specifier: ^5.100.0
version: link:../../../packages/react-query-devtools
graphql:
specifier: ^16.9.0
@@ -776,10 +776,10 @@ importers:
examples/react/chat:
dependencies:
'@tanstack/react-query':
- specifier: ^5.99.2
+ specifier: ^5.100.0
version: link:../../../packages/react-query
'@tanstack/react-query-devtools':
- specifier: ^5.99.2
+ specifier: ^5.100.0
version: link:../../../packages/react-query-devtools
react:
specifier: ^19.0.0
@@ -807,10 +807,10 @@ importers:
examples/react/default-query-function:
dependencies:
'@tanstack/react-query':
- specifier: ^5.99.2
+ specifier: ^5.100.0
version: link:../../../packages/react-query
'@tanstack/react-query-devtools':
- specifier: ^5.99.2
+ specifier: ^5.100.0
version: link:../../../packages/react-query-devtools
react:
specifier: ^19.0.0
@@ -832,10 +832,10 @@ importers:
examples/react/devtools-panel:
dependencies:
'@tanstack/react-query':
- specifier: ^5.99.2
+ specifier: ^5.100.0
version: link:../../../packages/react-query
'@tanstack/react-query-devtools':
- specifier: ^5.99.2
+ specifier: ^5.100.0
version: link:../../../packages/react-query-devtools
react:
specifier: ^19.0.0
@@ -857,16 +857,16 @@ importers:
examples/react/eslint-legacy:
dependencies:
'@tanstack/query-async-storage-persister':
- specifier: ^5.99.2
+ specifier: ^5.100.0
version: link:../../../packages/query-async-storage-persister
'@tanstack/react-query':
- specifier: ^5.99.2
+ specifier: ^5.100.0
version: link:../../../packages/react-query
'@tanstack/react-query-devtools':
- specifier: ^5.99.2
+ specifier: ^5.100.0
version: link:../../../packages/react-query-devtools
'@tanstack/react-query-persist-client':
- specifier: ^5.99.2
+ specifier: ^5.100.0
version: link:../../../packages/react-query-persist-client
react:
specifier: ^19.0.0
@@ -876,7 +876,7 @@ importers:
version: 19.2.4(react@19.2.4)
devDependencies:
'@tanstack/eslint-plugin-query':
- specifier: ^5.99.2
+ specifier: ^5.100.0
version: link:../../../packages/eslint-plugin-query
'@types/react':
specifier: ^19.2.7
@@ -897,14 +897,14 @@ importers:
examples/react/eslint-plugin-demo:
dependencies:
'@tanstack/react-query':
- specifier: ^5.99.2
+ specifier: ^5.100.0
version: link:../../../packages/react-query
react:
specifier: ^19.0.0
version: 19.2.4
devDependencies:
'@tanstack/eslint-plugin-query':
- specifier: ^5.99.2
+ specifier: ^5.100.0
version: link:../../../packages/eslint-plugin-query
eslint:
specifier: ^9.39.0
@@ -919,10 +919,10 @@ importers:
examples/react/infinite-query-with-max-pages:
dependencies:
'@tanstack/react-query':
- specifier: ^5.99.2
+ specifier: ^5.100.0
version: link:../../../packages/react-query
'@tanstack/react-query-devtools':
- specifier: ^5.99.2
+ specifier: ^5.100.0
version: link:../../../packages/react-query-devtools
next:
specifier: ^16.0.7
@@ -947,10 +947,10 @@ importers:
examples/react/load-more-infinite-scroll:
dependencies:
'@tanstack/react-query':
- specifier: ^5.99.2
+ specifier: ^5.100.0
version: link:../../../packages/react-query
'@tanstack/react-query-devtools':
- specifier: ^5.99.2
+ specifier: ^5.100.0
version: link:../../../packages/react-query-devtools
next:
specifier: ^16.0.7
@@ -978,10 +978,10 @@ importers:
examples/react/nextjs:
dependencies:
'@tanstack/react-query':
- specifier: ^5.99.2
+ specifier: ^5.100.0
version: link:../../../packages/react-query
'@tanstack/react-query-devtools':
- specifier: ^5.99.2
+ specifier: ^5.100.0
version: link:../../../packages/react-query-devtools
next:
specifier: ^16.0.7
@@ -1006,10 +1006,10 @@ importers:
examples/react/nextjs-app-prefetching:
dependencies:
'@tanstack/react-query':
- specifier: ^5.99.2
+ specifier: ^5.100.0
version: link:../../../packages/react-query
'@tanstack/react-query-devtools':
- specifier: ^5.99.2
+ specifier: ^5.100.0
version: link:../../../packages/react-query-devtools
next:
specifier: ^16.0.7
@@ -1034,13 +1034,13 @@ importers:
examples/react/nextjs-suspense-streaming:
dependencies:
'@tanstack/react-query':
- specifier: ^5.99.2
+ specifier: ^5.100.0
version: link:../../../packages/react-query
'@tanstack/react-query-devtools':
- specifier: ^5.99.2
+ specifier: ^5.100.0
version: link:../../../packages/react-query-devtools
'@tanstack/react-query-next-experimental':
- specifier: ^5.99.2
+ specifier: ^5.100.0
version: link:../../../packages/react-query-next-experimental
next:
specifier: ^16.0.7
@@ -1065,19 +1065,19 @@ importers:
examples/react/offline:
dependencies:
'@tanstack/query-async-storage-persister':
- specifier: ^5.99.2
+ specifier: ^5.100.0
version: link:../../../packages/query-async-storage-persister
'@tanstack/react-location':
specifier: ^3.7.4
version: 3.7.4(react-dom@19.2.4(react@19.2.4))(react@19.2.4)
'@tanstack/react-query':
- specifier: ^5.99.2
+ specifier: ^5.100.0
version: link:../../../packages/react-query
'@tanstack/react-query-devtools':
- specifier: ^5.99.2
+ specifier: ^5.100.0
version: link:../../../packages/react-query-devtools
'@tanstack/react-query-persist-client':
- specifier: ^5.99.2
+ specifier: ^5.100.0
version: link:../../../packages/react-query-persist-client
msw:
specifier: ^2.6.6
@@ -1105,10 +1105,10 @@ importers:
examples/react/optimistic-updates-cache:
dependencies:
'@tanstack/react-query':
- specifier: ^5.99.2
+ specifier: ^5.100.0
version: link:../../../packages/react-query
'@tanstack/react-query-devtools':
- specifier: ^5.99.2
+ specifier: ^5.100.0
version: link:../../../packages/react-query-devtools
next:
specifier: ^16.0.7
@@ -1133,10 +1133,10 @@ importers:
examples/react/optimistic-updates-ui:
dependencies:
'@tanstack/react-query':
- specifier: ^5.99.2
+ specifier: ^5.100.0
version: link:../../../packages/react-query
'@tanstack/react-query-devtools':
- specifier: ^5.99.2
+ specifier: ^5.100.0
version: link:../../../packages/react-query-devtools
next:
specifier: ^16.0.7
@@ -1161,10 +1161,10 @@ importers:
examples/react/pagination:
dependencies:
'@tanstack/react-query':
- specifier: ^5.99.2
+ specifier: ^5.100.0
version: link:../../../packages/react-query
'@tanstack/react-query-devtools':
- specifier: ^5.99.2
+ specifier: ^5.100.0
version: link:../../../packages/react-query-devtools
next:
specifier: ^16.0.7
@@ -1189,10 +1189,10 @@ importers:
examples/react/playground:
dependencies:
'@tanstack/react-query':
- specifier: ^5.99.2
+ specifier: ^5.100.0
version: link:../../../packages/react-query
'@tanstack/react-query-devtools':
- specifier: ^5.99.2
+ specifier: ^5.100.0
version: link:../../../packages/react-query-devtools
react:
specifier: ^19.0.0
@@ -1214,10 +1214,10 @@ importers:
examples/react/prefetching:
dependencies:
'@tanstack/react-query':
- specifier: ^5.99.2
+ specifier: ^5.100.0
version: link:../../../packages/react-query
'@tanstack/react-query-devtools':
- specifier: ^5.99.2
+ specifier: ^5.100.0
version: link:../../../packages/react-query-devtools
next:
specifier: ^16.0.7
@@ -1251,10 +1251,10 @@ importers:
specifier: ^6.4.1
version: 6.4.1(@react-navigation/native@6.1.18(react-native@0.76.9(@babel/core@7.29.0)(@babel/preset-env@7.29.2(@babel/core@7.29.0))(@types/react@19.2.14)(react@19.2.4))(react@19.2.4))(react-native-gesture-handler@2.30.1(react-native@0.76.9(@babel/core@7.29.0)(@babel/preset-env@7.29.2(@babel/core@7.29.0))(@types/react@19.2.14)(react@19.2.4))(react@19.2.4))(react-native-safe-area-context@4.14.1(react-native@0.76.9(@babel/core@7.29.0)(@babel/preset-env@7.29.2(@babel/core@7.29.0))(@types/react@19.2.14)(react@19.2.4))(react@19.2.4))(react-native-screens@4.24.0(react-native@0.76.9(@babel/core@7.29.0)(@babel/preset-env@7.29.2(@babel/core@7.29.0))(@types/react@19.2.14)(react@19.2.4))(react@19.2.4))(react-native@0.76.9(@babel/core@7.29.0)(@babel/preset-env@7.29.2(@babel/core@7.29.0))(@types/react@19.2.14)(react@19.2.4))(react@19.2.4)
'@tanstack/react-query':
- specifier: ^5.99.2
+ specifier: ^5.100.0
version: link:../../../packages/react-query
'@tanstack/react-query-devtools':
- specifier: ^5.99.2
+ specifier: ^5.100.0
version: link:../../../packages/react-query-devtools
expo:
specifier: ^52.0.11
@@ -1303,10 +1303,10 @@ importers:
examples/react/react-router:
dependencies:
'@tanstack/react-query':
- specifier: ^5.99.2
+ specifier: ^5.100.0
version: link:../../../packages/react-query
'@tanstack/react-query-devtools':
- specifier: ^5.99.2
+ specifier: ^5.100.0
version: link:../../../packages/react-query-devtools
localforage:
specifier: ^1.10.0
@@ -1355,10 +1355,10 @@ importers:
examples/react/rick-morty:
dependencies:
'@tanstack/react-query':
- specifier: ^5.99.2
+ specifier: ^5.100.0
version: link:../../../packages/react-query
'@tanstack/react-query-devtools':
- specifier: ^5.99.2
+ specifier: ^5.100.0
version: link:../../../packages/react-query-devtools
react:
specifier: ^19.0.0
@@ -1392,10 +1392,10 @@ importers:
examples/react/shadow-dom:
dependencies:
'@tanstack/react-query':
- specifier: ^5.99.2
+ specifier: ^5.100.0
version: link:../../../packages/react-query
'@tanstack/react-query-devtools':
- specifier: ^5.99.2
+ specifier: ^5.100.0
version: link:../../../packages/react-query-devtools
react:
specifier: ^19.0.0
@@ -1423,10 +1423,10 @@ importers:
examples/react/simple:
dependencies:
'@tanstack/react-query':
- specifier: ^5.99.2
+ specifier: ^5.100.0
version: link:../../../packages/react-query
'@tanstack/react-query-devtools':
- specifier: ^5.99.2
+ specifier: ^5.100.0
version: link:../../../packages/react-query-devtools
react:
specifier: ^19.0.0
@@ -1448,10 +1448,10 @@ importers:
examples/react/star-wars:
dependencies:
'@tanstack/react-query':
- specifier: ^5.99.2
+ specifier: ^5.100.0
version: link:../../../packages/react-query
'@tanstack/react-query-devtools':
- specifier: ^5.99.2
+ specifier: ^5.100.0
version: link:../../../packages/react-query-devtools
react:
specifier: ^19.0.0
@@ -1485,10 +1485,10 @@ importers:
examples/react/suspense:
dependencies:
'@tanstack/react-query':
- specifier: ^5.99.2
+ specifier: ^5.100.0
version: link:../../../packages/react-query
'@tanstack/react-query-devtools':
- specifier: ^5.99.2
+ specifier: ^5.100.0
version: link:../../../packages/react-query-devtools
font-awesome:
specifier: ^4.7.0
@@ -1531,10 +1531,10 @@ importers:
specifier: ^8.1.3
version: 8.2.11(@sveltejs/kit@2.55.0(@sveltejs/vite-plugin-svelte@5.1.1(svelte@5.55.1)(vite@6.4.1(@types/node@22.19.15)(jiti@1.21.7)(lightningcss@1.32.0)(sass@1.90.0)(terser@5.46.1)(yaml@2.8.3)))(svelte@5.55.1)(typescript@5.8.3)(vite@6.4.1(@types/node@22.19.15)(jiti@1.21.7)(lightningcss@1.32.0)(sass@1.90.0)(terser@5.46.1)(yaml@2.8.3)))(astro@5.18.1(@types/node@22.19.15)(@vercel/functions@2.2.13)(db0@0.3.4)(idb-keyval@6.2.2)(ioredis@5.10.1)(jiti@1.21.7)(lightningcss@1.32.0)(rollup@4.60.1)(sass@1.90.0)(terser@5.46.1)(typescript@5.8.3)(yaml@2.8.3))(next@16.2.2(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(sass@1.90.0))(react@19.2.4)(rollup@4.60.1)(svelte@5.55.1)(vue@3.5.31(typescript@5.8.3))
'@tanstack/solid-query':
- specifier: ^5.99.2
+ specifier: ^5.100.0
version: link:../../../packages/solid-query
'@tanstack/solid-query-devtools':
- specifier: ^5.99.2
+ specifier: ^5.100.0
version: link:../../../packages/solid-query-devtools
astro:
specifier: ^5.5.6
@@ -1552,10 +1552,10 @@ importers:
examples/solid/basic:
dependencies:
'@tanstack/solid-query':
- specifier: ^5.99.2
+ specifier: ^5.100.0
version: link:../../../packages/solid-query
'@tanstack/solid-query-devtools':
- specifier: ^5.99.2
+ specifier: ^5.100.0
version: link:../../../packages/solid-query-devtools
solid-js:
specifier: ^1.9.7
@@ -1574,10 +1574,10 @@ importers:
examples/solid/basic-graphql-request:
dependencies:
'@tanstack/solid-query':
- specifier: ^5.99.2
+ specifier: ^5.100.0
version: link:../../../packages/solid-query
'@tanstack/solid-query-devtools':
- specifier: ^5.99.2
+ specifier: ^5.100.0
version: link:../../../packages/solid-query-devtools
graphql:
specifier: ^16.9.0
@@ -1602,10 +1602,10 @@ importers:
examples/solid/default-query-function:
dependencies:
'@tanstack/solid-query':
- specifier: ^5.99.2
+ specifier: ^5.100.0
version: link:../../../packages/solid-query
'@tanstack/solid-query-devtools':
- specifier: ^5.99.2
+ specifier: ^5.100.0
version: link:../../../packages/solid-query-devtools
solid-js:
specifier: ^1.9.7
@@ -1624,16 +1624,16 @@ importers:
examples/solid/offline:
dependencies:
'@tanstack/query-async-storage-persister':
- specifier: ^5.99.2
+ specifier: ^5.100.0
version: link:../../../packages/query-async-storage-persister
'@tanstack/solid-query':
- specifier: ^5.99.2
+ specifier: ^5.100.0
version: link:../../../packages/solid-query
'@tanstack/solid-query-devtools':
- specifier: ^5.99.2
+ specifier: ^5.100.0
version: link:../../../packages/solid-query-devtools
'@tanstack/solid-query-persist-client':
- specifier: ^5.99.2
+ specifier: ^5.100.0
version: link:../../../packages/solid-query-persist-client
msw:
specifier: ^2.6.6
@@ -1655,17 +1655,17 @@ importers:
examples/solid/simple:
dependencies:
'@tanstack/solid-query':
- specifier: ^5.99.2
+ specifier: ^5.100.0
version: link:../../../packages/solid-query
'@tanstack/solid-query-devtools':
- specifier: ^5.99.2
+ specifier: ^5.100.0
version: link:../../../packages/solid-query-devtools
solid-js:
specifier: ^1.9.7
version: 1.9.12
devDependencies:
'@tanstack/eslint-plugin-query':
- specifier: ^5.99.2
+ specifier: ^5.100.0
version: link:../../../packages/eslint-plugin-query
typescript:
specifier: 5.8.3
@@ -1689,10 +1689,10 @@ importers:
specifier: ^1.1.3
version: 1.3.2(@testing-library/jest-dom@6.9.1)(solid-js@1.9.12)(vinxi@0.5.11(@types/node@22.19.15)(@vercel/functions@2.2.13)(db0@0.3.4)(idb-keyval@6.2.2)(ioredis@5.10.1)(jiti@2.6.1)(lightningcss@1.32.0)(sass@1.90.0)(terser@5.46.1)(yaml@2.8.3))(vite@6.4.1(@types/node@22.19.15)(jiti@2.6.1)(lightningcss@1.32.0)(sass@1.90.0)(terser@5.46.1)(yaml@2.8.3))
'@tanstack/solid-query':
- specifier: ^5.99.2
+ specifier: ^5.100.0
version: link:../../../packages/solid-query
'@tanstack/solid-query-devtools':
- specifier: ^5.99.2
+ specifier: ^5.100.0
version: link:../../../packages/solid-query-devtools
solid-js:
specifier: ^1.9.7
@@ -1704,10 +1704,10 @@ importers:
examples/svelte/auto-refetching:
dependencies:
'@tanstack/svelte-query':
- specifier: ^6.1.18
+ specifier: ^6.1.19
version: link:../../../packages/svelte-query
'@tanstack/svelte-query-devtools':
- specifier: ^6.1.18
+ specifier: ^6.1.19
version: link:../../../packages/svelte-query-devtools
devDependencies:
'@sveltejs/adapter-auto':
@@ -1735,16 +1735,16 @@ importers:
examples/svelte/basic:
dependencies:
'@tanstack/query-async-storage-persister':
- specifier: ^5.99.2
+ specifier: ^5.100.0
version: link:../../../packages/query-async-storage-persister
'@tanstack/svelte-query':
- specifier: ^6.1.18
+ specifier: ^6.1.19
version: link:../../../packages/svelte-query
'@tanstack/svelte-query-devtools':
- specifier: ^6.1.18
+ specifier: ^6.1.19
version: link:../../../packages/svelte-query-devtools
'@tanstack/svelte-query-persist-client':
- specifier: ^6.1.18
+ specifier: ^6.1.19
version: link:../../../packages/svelte-query-persist-client
devDependencies:
'@sveltejs/adapter-auto':
@@ -1772,10 +1772,10 @@ importers:
examples/svelte/load-more-infinite-scroll:
dependencies:
'@tanstack/svelte-query':
- specifier: ^6.1.18
+ specifier: ^6.1.19
version: link:../../../packages/svelte-query
'@tanstack/svelte-query-devtools':
- specifier: ^6.1.18
+ specifier: ^6.1.19
version: link:../../../packages/svelte-query-devtools
devDependencies:
'@sveltejs/adapter-auto':
@@ -1803,10 +1803,10 @@ importers:
examples/svelte/optimistic-updates:
dependencies:
'@tanstack/svelte-query':
- specifier: ^6.1.18
+ specifier: ^6.1.19
version: link:../../../packages/svelte-query
'@tanstack/svelte-query-devtools':
- specifier: ^6.1.18
+ specifier: ^6.1.19
version: link:../../../packages/svelte-query-devtools
devDependencies:
'@sveltejs/adapter-auto':
@@ -1834,10 +1834,10 @@ importers:
examples/svelte/playground:
dependencies:
'@tanstack/svelte-query':
- specifier: ^6.1.18
+ specifier: ^6.1.19
version: link:../../../packages/svelte-query
'@tanstack/svelte-query-devtools':
- specifier: ^6.1.18
+ specifier: ^6.1.19
version: link:../../../packages/svelte-query-devtools
devDependencies:
'@sveltejs/adapter-auto':
@@ -1865,10 +1865,10 @@ importers:
examples/svelte/simple:
dependencies:
'@tanstack/svelte-query':
- specifier: ^6.1.18
+ specifier: ^6.1.19
version: link:../../../packages/svelte-query
'@tanstack/svelte-query-devtools':
- specifier: ^6.1.18
+ specifier: ^6.1.19
version: link:../../../packages/svelte-query-devtools
devDependencies:
'@sveltejs/vite-plugin-svelte':
@@ -1893,10 +1893,10 @@ importers:
examples/svelte/ssr:
dependencies:
'@tanstack/svelte-query':
- specifier: ^6.1.18
+ specifier: ^6.1.19
version: link:../../../packages/svelte-query
'@tanstack/svelte-query-devtools':
- specifier: ^6.1.18
+ specifier: ^6.1.19
version: link:../../../packages/svelte-query-devtools
devDependencies:
'@sveltejs/adapter-auto':
@@ -1924,10 +1924,10 @@ importers:
examples/svelte/star-wars:
dependencies:
'@tanstack/svelte-query':
- specifier: ^6.1.18
+ specifier: ^6.1.19
version: link:../../../packages/svelte-query
'@tanstack/svelte-query-devtools':
- specifier: ^6.1.18
+ specifier: ^6.1.19
version: link:../../../packages/svelte-query-devtools
devDependencies:
'@sveltejs/adapter-auto':
@@ -1961,10 +1961,10 @@ importers:
examples/vue/basic:
dependencies:
'@tanstack/vue-query':
- specifier: ^5.99.2
+ specifier: ^5.100.0
version: link:../../../packages/vue-query
'@tanstack/vue-query-devtools':
- specifier: ^6.1.18
+ specifier: ^6.1.19
version: link:../../../packages/vue-query-devtools
vue:
specifier: ^3.4.27
@@ -1983,7 +1983,7 @@ importers:
examples/vue/dependent-queries:
dependencies:
'@tanstack/vue-query':
- specifier: ^5.99.2
+ specifier: ^5.100.0
version: link:../../../packages/vue-query
vue:
specifier: ^3.4.27
@@ -2002,16 +2002,16 @@ importers:
examples/vue/persister:
dependencies:
'@tanstack/query-core':
- specifier: ^5.99.2
+ specifier: ^5.100.0
version: link:../../../packages/query-core
'@tanstack/query-persist-client-core':
- specifier: ^5.99.2
+ specifier: ^5.100.0
version: link:../../../packages/query-persist-client-core
'@tanstack/query-sync-storage-persister':
- specifier: ^5.99.2
+ specifier: ^5.100.0
version: link:../../../packages/query-sync-storage-persister
'@tanstack/vue-query':
- specifier: ^5.99.2
+ specifier: ^5.100.0
version: link:../../../packages/vue-query
idb-keyval:
specifier: ^6.2.1
@@ -2033,10 +2033,10 @@ importers:
examples/vue/simple:
dependencies:
'@tanstack/vue-query':
- specifier: ^5.99.2
+ specifier: ^5.100.0
version: link:../../../packages/vue-query
'@tanstack/vue-query-devtools':
- specifier: ^6.1.18
+ specifier: ^6.1.19
version: link:../../../packages/vue-query-devtools
vue:
specifier: ^3.4.27
@@ -2073,7 +2073,7 @@ importers:
specifier: ^20.0.0
version: 20.3.18(@angular/common@20.3.18(@angular/core@20.3.18(@angular/compiler@20.3.18)(rxjs@7.8.2)(zone.js@0.15.0))(rxjs@7.8.2))(@angular/core@20.3.18(@angular/compiler@20.3.18)(rxjs@7.8.2)(zone.js@0.15.0))(@angular/platform-browser@20.3.18(@angular/animations@20.3.18(@angular/core@20.3.18(@angular/compiler@20.3.18)(rxjs@7.8.2)(zone.js@0.15.0)))(@angular/common@20.3.18(@angular/core@20.3.18(@angular/compiler@20.3.18)(rxjs@7.8.2)(zone.js@0.15.0))(rxjs@7.8.2))(@angular/core@20.3.18(@angular/compiler@20.3.18)(rxjs@7.8.2)(zone.js@0.15.0)))(rxjs@7.8.2)
'@tanstack/angular-query-experimental':
- specifier: ^5.99.2
+ specifier: ^5.100.0
version: link:../../packages/angular-query-experimental
rxjs:
specifier: ~7.8.0