diff --git a/.changeset/shy-wings-buy.md b/.changeset/shy-wings-buy.md
new file mode 100644
index 0000000000..7710365f63
--- /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 529f82def6..a3f006d9b7 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 c17fe8b79d..b02775a62c 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 38b9751d75..876c5c9972 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 d979cc0914..22e554cad2 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 5fe9eb1107..eb543473f9 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 689629dede..95daf08302 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 ebd3f53925..056006e31c 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 185f4699db..65b2430222 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 54ae397c87..e3d58648e7 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 cffeab04ac..970f50290e 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 f33d877dc2..f345831bab 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 dd224e80df..67b3a3e417 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 2dd24f9c0b..695f9e3b38 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 71a8848247..dc6d7b223a 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 66ffa9a29d..102ff2aa93 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 671c736b50..057c288773 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 7ab5a241e1..4cf5077751 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 7afae88dff..05af98ac90 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 cac587d40a..54540ec202 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 332f4f545f..29ab2eb56a 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 3c2dd5572c..046aeb4a76 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 5d0e8e3f79..2c570b3c6e 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 cf05a1c395..47be07cd22 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 b13de5b7f5..6fb6946ece 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 88858e7e5c..51fd4f6d3a 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 242fab9b06..6bc866dc26 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 4de42b8709..758055bccb 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 4ded0473c3..456ff2d627 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 ec1cce036a..55bfcd6b98 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 3907a2c0ea..319618c579 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 bda889c091..b781483685 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 1b45c5aea1..13749f473b 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 5847159f17..5e627335d5 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 5b363cc524..47dd9f0fae 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 f1e8e149d9..e72e032d24 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 6eed8920cd..b33ecdbc0a 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 7a746dbc0c..d2e4ef6fd3 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 b2eb96cf05..2975cd1414 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 3adaa52067..462ca2fb08 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 1c78cfbdb6..d82284e73d 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 5a9dc31e18..6e757d4d22 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 3f00ec47d5..47e374359b 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 6704a82ccc..824e3deed7 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 ea95b976cc..8c2cd21e99 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 3cc588bead..bc4bb455bc 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 1b710968bb..3ee394531b 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 0e2c31eaf5..fd95d74ff7 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 f82fd825ff..fac1113ee7 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 cb29acd1a7..fb6616e3cf 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 63a447a7de..3b2fb08924 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 3ad1dea2cc..dd6b43f1c6 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 4d214dd627..71053d7771 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 02ce8bfd95..f3139dbc73 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 7a9b537862..b0f3ef92e2 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 6eab9564b7..0196f1adac 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 7f717c9ef2..bf780050d7 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 652378e7c1..1c5044076d 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 fd24a730de..583cc66dbe 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 a62b95df84..800f96a801 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 0c3f140564..aa30fb877f 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 6546ece226..af86c51dc4 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 51b47e863e..c5e6dcd40c 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 ed5d84f234..f2869d5011 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 3c62b5e386..78e8a75efc 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 5d9c2e93c3..b9d3eea6e1 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 7d364b834e..f8f2f1ce26 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 4756b7cf50..ae6b2edd1e 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 62f70edcc4..9ccf32755d 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 13cb83c1bf..558a9fc0c4 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 869163f22b..4237f42574 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 86e7d53f5c..2ac5ce8855 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 55c5b263fb..2e0d4e9847 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 af8e4442c5..71b7ea15a6 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 6731a96905..58ae68c697 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 38132c8288..8c41b86453 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 5d873cf180..0b35921737 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 4ef21e05e5..10e8406c82 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 013c7a933a..4f128a8145 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 b7a3b35fb9..a5255cc81f 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 d1cfb3c909..72f4379826 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 c295b1dae2..58e58f869f 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 8045a35bec..a3081678e6 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 b1c55ac037..f081f6a853 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 505c6c26da..c9ab0711e8 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 c75d8ee332..73678f0476 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 7dfaa58772..9d2731e690 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 fa950bcfff..954c969d54 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 4f3f4caed2..7e7aab7df4 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 b29e8ded45..b97b2cc5a3 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 b691076bc2..5a6cec1036 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 3c508c0ff2..354a5b920c 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 801b0f1919..78fc990f6c 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 fbfedc6b4e..5d261205f4 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 f1d74c31b9..89dc8e3408 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 4b482b6b6b..8c6eb894b9 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 3340c45ac5..86b6ccb0b1 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 ef74ccca27..67f393d5a2 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 e2720d693f..10276935b4 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 1072100558..75fa1762f5 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 3a1fe5045f..1cc7c4a40b 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 ac0d01b2ae..3e59fb2cfe 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 da3037f837..bd24cc5a15 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 a3530e0bc9..7ab8703731 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 016e7f34d0..f9973bba2c 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 7ebb2124eb..7504b9b4cb 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 a949186a9f..d1a83dea2d 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 c931eba3b9..871adb906c 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 661c51bbdc..1016a6d442 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 465628e265..47a50f5311 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 5a332a6893..84ebe72893 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 31d235e92b..2558689815 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 0edb42fd97..745a9ab1cc 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 5d0179480a..90acb5e5dd 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 7e8091b56b..a67e8b3109 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 0e99bda911..67c7d5be20 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 6579266c9d..7e49a291ac 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 ccf5d846df..0a0c8c2141 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 ca7e198485..1d8238989a 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 08afe5f188..e9440bf41e 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 bf5476f731..d5f9bc5f63 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 dd03c4314a..80b92b63ae 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 90aa817d60..a6e4315fd5 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 ee8bc8c2e5..bc0d578aeb 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 a64d5fc2d7..116e91baef 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 36ee677fbd..cfdf73760c 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