Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
330 commits
Select commit Hold shift + click to select a range
51cc9e7
chore: add .cursor/rules to .gitignore (#9295)
manudeli Jun 21, 2025
b766d07
chore: update documentation generation and publishing scripts (#9296)
manudeli Jun 21, 2025
76c91d8
fix: trigger release
TkDodo Jun 21, 2025
0e44a74
fix: trigger release
TkDodo Jun 21, 2025
5b0d320
fix(angular-query): fix package publishing (#9297)
arnoud-dv Jun 21, 2025
48f116c
chore(angular-query): revert to tsup to build package (#9298)
arnoud-dv Jun 21, 2025
cd87a42
release: v5.81.2
tannerlinsley Jun 21, 2025
13d775b
test(vue-query): use fakeTimers for flaky useMutation.test.tsx (#9300)
manudeli Jun 22, 2025
f7cf1b5
chore: update @tanstack/config (#9302)
arnoud-dv Jun 25, 2025
f0741db
docs(angular-query): fix nullish coalescing warnings in examples
arnoud-dv Jun 25, 2025
0de3843
ci: apply automated fixes
autofix-ci[bot] Jun 25, 2025
b180d83
chore(angular-query): remove obsolete angular platform-browser-dynami…
arnoud-dv Jun 25, 2025
df56456
type(vue-query): introduce `ShallowOption` to unify `shallow` type an…
Mini-ghost Jun 26, 2025
f052bf2
fix(docs): Update persistQueryClient.md
TkDodo Jun 27, 2025
46b5db9
release: v5.81.3
tannerlinsley Jun 27, 2025
20120ae
test(query-core/mutationObserver): add 'advanceTimersByTimeAsync' in …
sukvvon Jun 27, 2025
1078bce
refactor: deprecate createSyncStoragePersister (#9316)
TkDodo Jun 27, 2025
917ac88
release: v5.81.4
tannerlinsley Jun 27, 2025
b5a9095
test(query-core/focusManager): use 'advanceTimersByTime' for boolean …
sukvvon Jun 27, 2025
9813a39
fix(react-query): throw type error when skipToken is present in prefe…
tmkx Jun 27, 2025
5dd11a3
release: v5.81.5
tannerlinsley Jun 27, 2025
e4bbb89
test(query-core/queryClient): add missing 'await' for 'advanceTimersB…
sukvvon Jun 28, 2025
002550c
chore: add .vscode/mcp.json and .github/instructions/nx.instructions.…
manudeli Jun 28, 2025
7dafa93
test(query-core/query): add 'advanceTimersByTimeAsync' and remove 'vi…
sukvvon Jun 28, 2025
f4a1115
chore: add typescript-eslint/require-await rule (#9029)
minseong0324 Jun 28, 2025
45dac6f
test: fix typo - remove duplicate "should run" in mutation test name …
ienrum Jun 29, 2025
8837536
test(query-core/notifyManager): replace 'queueMicrotask' with 'advanc…
sukvvon Jun 29, 2025
35d50cb
test(query-core/queryClient): replace 'advanceTimersByTime' with 'adv…
sukvvon Jun 29, 2025
33c69ec
test(query-core/intiniteQueryBehavior): remove duplicate 'InfiniteQue…
sukvvon Jun 29, 2025
b16e793
test(query-core/queryClient): add 'advanceTimersByTimeAsync' and remo…
sukvvon Jun 29, 2025
4425423
chore(*): migrate tsup configuration files to TypeScript format (#9330)
manudeli Jun 29, 2025
1dd32ac
type(vue-query): ensure type definition matches implementation (#9276)
Mini-ghost Jun 30, 2025
a5319d5
test(query-core/infiniteQueryObserver): remove duplicate 'InfiniteQue…
sukvvon Jul 1, 2025
5e6e36d
test(query-core/queryObserver): remove 'vi.waitFor' and add 'advanceT…
sukvvon Jul 1, 2025
879a1e3
test(query-core/queriesObserver): remove 'vi.waitFor' and add 'advanc…
sukvvon Jul 1, 2025
b805733
test(query-core/infiniteQueryBehavior): remove most 'vi.waitFor' and …
sukvvon Jul 1, 2025
d75a78a
test(query-core/mutations): add 'await' to 'sleep', remove 'vi.waitFo…
sukvvon Jul 1, 2025
998be8b
test(query-core/queryCache): remove 'vi.waitFor' and add 'advanceTime…
sukvvon Jul 1, 2025
d0bea3f
test(query-core/mutationCache): remove 'vi.waitFor' and add 'advanceT…
sukvvon Jul 1, 2025
2bc52bf
test(query-core/onlineManager): replace 'advanceTimersByTimeAsync' wi…
sukvvon Jul 1, 2025
3eebcff
test(react-query/fine-grained-persister): remove 'vi.waitFor' and add…
sukvvon Jul 5, 2025
8bf2214
test(react-query/useMutationState): remove 'vi.waitFor' and add 'adva…
sukvvon Jul 5, 2025
03aca2e
ci(.github/workflows/autofix): use 'pnpm run' for prettier script for…
sukvvon Jul 5, 2025
67695ef
test(react-query/useIsFetching): remove 'vi.waitFor', add 'advanceTim…
sukvvon Jul 5, 2025
058c1eb
test(react-query/QueryClientProvider): remove 'vi.waitFor' and add 'a…
sukvvon Jul 5, 2025
026c050
test(react-query/useInfiniteQuery): switch to fake timers and replace…
sukvvon Jul 5, 2025
ed66939
test(react-query/useSuspenseQuery): switch to fake timers and replace…
sukvvon Jul 5, 2025
ac2fa17
test(react-query/QueryResetErrorBoundary): switch to fake timers and …
sukvvon Jul 5, 2025
d449f6f
test(react-query/usePrefetchInfiniteQuery): switch to fake timers, re…
sukvvon Jul 6, 2025
0907dab
test(react-query/QueryResetErrorBoundary): remove 'vi.waitFor' and ad…
sukvvon Jul 6, 2025
ed8cc23
test(react-query/useSuspenseQuery): remove 'vi.waitFor' and add 'adva…
sukvvon Jul 6, 2025
f3cbfc5
feat(react-query): add mutationOptions (#8960)
Ubinquitous Jul 9, 2025
4287e68
release: v5.82.0
tannerlinsley Jul 9, 2025
a0a0812
test(react-query/useSuspenseQueries): remove 'waitFor' and add 'advan…
sukvvon Jul 11, 2025
eaf768b
test(react-query/useQuery): remove 'vi.waitFor', add 'advanceTimersBy…
sukvvon Jul 11, 2025
f580f08
test(react-query/suspense): remove 'vi.waitFor' and add 'advanceTimer…
sukvvon Jul 11, 2025
5765378
test(react-query/mutationOptions): switch to fake timers, remove 'vi.…
sukvvon Jul 11, 2025
c680879
test(react-query/useMutation): remove 'vi.waitFor', add 'advanceTimer…
sukvvon Jul 11, 2025
f6085d0
test(react-query/useInfiniteQuery): remove 'vi.waitFor' and add 'adva…
sukvvon Jul 11, 2025
fd7c655
test(react-query/useQueries): remove 'waitFor' and add 'advanceTimers…
sukvvon Jul 11, 2025
c9daf2c
test(react-query/usePrefetchQuery): remove 'vi.waitFor' and add 'adva…
sukvvon Jul 11, 2025
fc2a95c
test(vue-query/useInfiniteQuery): switch to fake timers and replace '…
sukvvon Jul 11, 2025
79893c8
test(vue-query/queryClient): switch to fake timers and replace 'sleep…
sukvvon Jul 11, 2025
fc0b23e
test(vue-query/useQueries): switch to fake timers and replace 'sleep'…
sukvvon Jul 11, 2025
367a96e
test(vue-query/useIsFetching): switch to fake timers and replace 'sle…
sukvvon Jul 11, 2025
47f7e86
test(vue-query/useIsMutating): switch to fake timers and replace 'sle…
sukvvon Jul 11, 2025
8c79719
test(vue-query/vueQueryPlugin): switch to fake timers and replace 'sl…
sukvvon Jul 11, 2025
c66af8a
test(solid-query/QueryClientProvider): switch to fake timers and repl…
sukvvon Jul 11, 2025
a0aeac0
test(solid-query/useInfiniteQuery): switch to fake timers, and replac…
sukvvon Jul 11, 2025
27d82a7
test(solid-query/transition): switch to fake timers and replace 'wait…
sukvvon Jul 11, 2025
509064a
test(solid-query/useIsMutating): switch to fake timers and replace 'w…
sukvvon Jul 11, 2025
94f2150
test(solid-query/useMutationState): switch to fake timers and replace…
sukvvon Jul 11, 2025
d1c8cff
test(solid-query/suspense): switch to fake timers and replace 'waitFo…
sukvvon Jul 11, 2025
f7c83c2
test(solid-query/useQueries): switch to fake timers and replace 'wait…
sukvvon Jul 11, 2025
c0fd94e
test(svelte-query/QueryClientProvider): switch to fake timers, replac…
sukvvon Jul 11, 2025
bce4d7e
test(solid-query/useIsFetching): switch to fake timers, replace 'wait…
sukvvon Jul 11, 2025
c597f76
test(svelte-query/useIsMutating): switch to fake timers, add 'expect'…
sukvvon Jul 11, 2025
32467aa
test(svelte-query/useMutationState): switch to fake timers, and repla…
sukvvon Jul 11, 2025
93978d3
test(solid-query/QueryClientProvider): remove 'vi.waitFor', and add '…
sukvvon Jul 11, 2025
eb1cab7
test(solid-query/transition): remove 'vi.waitFor', and add 'advanceTi…
sukvvon Jul 11, 2025
e2bcbe8
test(solid-query/useIsFetching): remove 'vi.waitFor', and add 'advanc…
sukvvon Jul 11, 2025
b32904c
test(svelte-query/createInfiniteQuery): switch to fake timers, and re…
sukvvon Jul 11, 2025
daad8e3
test(solid-query/useQueries): remove 'vi.waitFor', and add 'advanceTi…
sukvvon Jul 11, 2025
89f9483
test(solid-query/useMutationState): remove 'vi.waitFor', and add 'adv…
sukvvon Jul 11, 2025
9ecfbf7
test(solid-query/useIsMutating): remove 'vi.waitFor', and add 'advanc…
sukvvon Jul 11, 2025
06cb8eb
test(svelte-query/useIsFetching): switch to fake timers, add 'expect'…
sukvvon Jul 11, 2025
2212fff
test(svelte-query/createQuery): switch to fake timers, replace 'waitF…
sukvvon Jul 11, 2025
ab7fd72
test(svelte-query/createQueries): switch to fake timers, and replace …
sukvvon Jul 11, 2025
d6930fd
test(svelte-query/createMutation): switch to fake timers, replace 'wa…
sukvvon Jul 11, 2025
0569891
test(solid-query/suspense): remove 'vi.waitFor', and add 'advanceTime…
sukvvon Jul 11, 2025
23c8908
feat(core): QueryObserver returns isEnabled flag (#9408)
TkDodo Jul 11, 2025
390424b
release: v5.83.0
tannerlinsley Jul 11, 2025
4349e75
test(solid-query/useMutation): remove 'vi.waitFor', replace 'findByTe…
sukvvon Jul 11, 2025
c5bd083
test(solid-query/useInfiniteQuery): remove 'vi.waitFor', and add 'adv…
sukvvon Jul 12, 2025
0cd4e7d
test(svelte-query/createInfiniteQuery): remove 'vi.waitFor', and add …
sukvvon Jul 12, 2025
c2ece73
test(svelte-query/createMutation): remove 'vi.waitFor', and add 'adva…
sukvvon Jul 12, 2025
a5c71cc
test(svelte-query/createQueries): remove 'vi.waitFor', and add 'advan…
sukvvon Jul 12, 2025
f285dee
test(svelte-query/QueryClientProvider): remove 'vi.waitFor', and add …
sukvvon Jul 13, 2025
5062c59
test(svelte-query/useIsFetching): remove 'vi.waitFor', and add 'advan…
sukvvon Jul 13, 2025
77a358a
test(svelte-query/useIsMutating): remove 'vi.waitFor', and add 'advan…
sukvvon Jul 13, 2025
91bbf48
test(angular-query-experimental/inject-is-fetching): replace 'advance…
sukvvon Jul 13, 2025
8e77701
test(vue-query/useQuery): switch to fake timers, and replace 'sleep' …
sukvvon Jul 13, 2025
5a783b1
test(angular-query-experimental/inject-infinite-query): use precise t…
sukvvon Jul 13, 2025
431784d
test(svelte-query/useMutationState): remove 'vi.waitFor', and add 'ad…
sukvvon Jul 13, 2025
f8a20ac
test(svelte-query/createQuery): remove 'vi.waitFor', and add 'advance…
sukvvon Jul 13, 2025
357bafb
test(query-core/mutations): replace 'runAllTimersAsync' with 'advance…
sukvvon Jul 13, 2025
d5a4d35
test(query-core/infiniteQueryBehavior): remove 'vi.waitFor', and add …
sukvvon Jul 13, 2025
d7f1621
test(svelte-query/useIsMutating): replace incorrect usage of 'fetchin…
sukvvon Jul 13, 2025
35d5d55
docs(solid): fix incorrect link to state managers guide (#9430)
LimChaeJune Jul 14, 2025
9dcd588
test(angular-query-experimental/inject-is-mutating): separate 'inject…
sukvvon Jul 15, 2025
c65869e
test(query-core/queriesObserver): use precise time in 'advanceTimersB…
sukvvon Jul 15, 2025
343501c
test(query-core/queryObserver): use precise time in 'advanceTimersByT…
sukvvon Jul 15, 2025
b67caee
test(angular-query-experimental/inject-mutation): use precise time in…
sukvvon Jul 15, 2025
b4a847e
test(angular-query-experimental/inject-query): use precise time in 'a…
sukvvon Jul 15, 2025
4d8bbbf
test(query-core/queryCache): remove redundant 'advanceTimersByTimeAsy…
sukvvon Jul 15, 2025
4daf694
test(react-query/suspense): change 'queryFn' to return a 'Promise', r…
sukvvon Jul 17, 2025
bfcff0b
test(react-query/ssr): replace 'advanceTimersByTimeAsync' with 'sleep…
sukvvon Jul 17, 2025
958b0f0
test(react-query/QueryClientProvider): add 'expect' using 'toBeInTheD…
sukvvon Jul 17, 2025
7c58392
test(react-query/fine-grained-persister): use precise time in 'advanc…
sukvvon Jul 17, 2025
2d71a22
test(angular-query-experimental/inject-mutation-state): replace 'runA…
sukvvon Jul 17, 2025
bf77ab7
test(angular-query-experimental/providers): replace 'runAllTimersAsyn…
sukvvon Jul 17, 2025
3bcaa41
docs: add text regarding local environment recommendations for symlin…
ss0526100 Jul 18, 2025
9133c10
chore: manually update dependencies (#9464)
lachlancollins Jul 19, 2025
53a2eae
chore(deps): update marocchino/sticky-pull-request-comment digest to …
renovate[bot] Jul 19, 2025
a2ff833
ci: enable prettier experimental CLI (#9465)
lachlancollins Jul 19, 2025
76211bb
docs(react-query): change comma to sentence period (#9459)
DavidPfl Jul 19, 2025
ed90d1a
test(react-query/useQueries): replace inline 'Promise' delays with 's…
sukvvon Jul 20, 2025
e2ce12c
test(react-query/useMutation): use precise time in 'advanceTimersByTi…
sukvvon Jul 20, 2025
63bc828
test(react-query/usePrefetchQuery): use precise time in 'advanceTimer…
sukvvon Jul 20, 2025
e349d85
test(react-query/QueryResetErrorBoundary): use precise time in 'advan…
sukvvon Jul 20, 2025
05c62a0
test(react-query/useSuspenseQuery): use precise time in 'advanceTimer…
sukvvon Jul 20, 2025
efb14d6
test(react-query/useInfiniteQuery): use precise time in 'advanceTimer…
sukvvon Jul 20, 2025
ff13c2e
test(react-query/usePrefetchInfiniteQuery): use precise time in 'adva…
sukvvon Jul 20, 2025
ac5d858
test(react-query/useSuspenseQueries): use precise time in 'advanceTim…
sukvvon Jul 20, 2025
d7af654
test(react-query/useInfiniteQuery): remove 'Number' in 'queryFn', and…
sukvvon Jul 22, 2025
db6281e
test(react-query/useSuspenseQuery): add 'sleep' in 'queryFn', simplif…
sukvvon Jul 22, 2025
72c2a4c
test(react-query/ssr): simplify 'queryFn' and add 'sleep' for accurat…
sukvvon Jul 22, 2025
cb9ab1e
test(react-query/suspense): add 'sleep' in 'queryFn', and add 'expect…
sukvvon Jul 22, 2025
9376835
test(react-query/HydrationBoundary): use precise time in 'advanceTime…
sukvvon Jul 22, 2025
c2e8330
test(solid-query/useIsFetching): simplify 'queryFn' and add 'expect' …
sukvvon Jul 22, 2025
9041b41
test(react-query/useIsFetching): simplify 'queryFn' and add 'expect' …
sukvvon Jul 22, 2025
bf9f9dc
test(solid-query/useInfiniteQuery): add 'sleep', remove 'Number' in '…
sukvvon Jul 22, 2025
039d214
test(solid-query/suspense): simplify 'queryFn' and add 'expect' for '…
sukvvon Jul 22, 2025
6bc45b8
test(react-query/useSuspenseQueries): simplify 'queryFn' and add 'exp…
sukvvon Jul 22, 2025
fba2c86
docs: add signal to queryFn for cancelQueries to work properly (#9475)
wilson12365 Jul 22, 2025
552fe4b
test(solid-query/useIsMutating): simplify 'mutationFn' and add 'expec…
sukvvon Jul 23, 2025
1e83468
docs(example): Remove unnecessary data truthiness check (#9485)
davidmoranetflix Jul 24, 2025
880d183
test(svelte-query/useMutationState): simplify 'queryFn' and replace '…
sukvvon Jul 25, 2025
c273ba4
test(svelte-query/createInfiniteQuery): add 'sleep', remove 'Number' …
sukvvon Jul 25, 2025
80242d6
test(svelte-query/createMutation): add 'sleep' in 'mutationFn' and re…
sukvvon Jul 25, 2025
234f2f4
test(svelte-query/createQuery): simplify 'queryFn' and replace 'query…
sukvvon Jul 25, 2025
52fdff2
test(svelte-query/{QueryClientProvider,useIsFetching,useIsMutating}):…
sukvvon Jul 26, 2025
a3f49cf
ci: replace fast-glob with tinyglobby (#9501)
lachlancollins Jul 26, 2025
3cc59be
ci: add labeler script from router (#9503)
lachlancollins Jul 26, 2025
e9d9080
test(svelte-query/createQueries): simplify 'queryFn' and add test for…
sukvvon Jul 26, 2025
cc45977
test(query-core/mutationCache): add 'sleep' to callbacks and remove '…
sukvvon Jul 29, 2025
74d8ce6
chore(angular-query): move test-setup.ts (#9516)
arnoud-dv Jul 31, 2025
422f2ec
refactor(angular-query): build package using vite (#9517)
arnoud-dv Jul 31, 2025
8f474ad
release: v5.83.1
tannerlinsley Jul 31, 2025
250dbd9
chore(angular-query): run publint and attw on tarball (#9518)
arnoud-dv Jul 31, 2025
c8322d9
docs: add missing period (#9509)
sajadtorkamani Jul 31, 2025
e07812b
fix(react-query): HydrationBoundary has strictly typed `state` (#9520)
paperclover Jul 31, 2025
7b19d49
feat(devtools): add setting to hide disabled queries (#9500)
jonluca Jul 31, 2025
6a85584
release: v5.84.0
tannerlinsley Jul 31, 2025
711010c
test(react-query/QueryResetErrorBoundary): add 'sleep' and simplify '…
sukvvon Aug 1, 2025
025f080
refactor(angular-query): restructure package type declaration path (#…
arnoud-dv Aug 1, 2025
0db1056
release: v5.84.1
tannerlinsley Aug 1, 2025
34657e5
test(react-query/mutationOptions): add tests for without 'mutationKey…
sukvvon Aug 1, 2025
cd6ea9a
fix(angular-query): align mutation options to most recent react-query…
arnoud-dv Aug 8, 2025
edd1bd0
release: v5.84.2
tannerlinsley Aug 8, 2025
95db48b
chore(angular-query): add infiniteQueryOptions tests from react-query…
arnoud-dv Aug 9, 2025
77e53b0
test(react-query/useIsFetching): remove unnecessary 'advanceTimersByT…
sukvvon Aug 9, 2025
6bf2eb7
chore(tsconfig.json): add 'test-setup.ts' to 'include' array (#9545)
sukvvon Aug 9, 2025
0455d58
Add Hey API to community projects for TanStack Query (React) (#9534)
mrlubos Aug 9, 2025
3a999cc
Add Hey API to community projects for TanStack Query (Vue) (#9535)
mrlubos Aug 9, 2025
fba477b
Add oRPC to community projects for TanStack Query (React) (#9538)
mrlubos Aug 9, 2025
763cee3
Add oRPC to community projects for TanStack Query (Vue) (#9539)
mrlubos Aug 9, 2025
d25c0da
docs: Add Firefox and Edge browser extension support to devtools docs…
dborysov Aug 11, 2025
6402d75
chore: update browser icons (#9555)
dborysov Aug 11, 2025
c63713f
feat: add solid devtools panel export to solid devtools (#9551)
AlemTuzlak Aug 12, 2025
aab51d9
release: v5.85.0
tannerlinsley Aug 12, 2025
9ae770b
chore: update bundle-size badges to react 19.1.1
TkDodo Aug 14, 2025
4806dfa
fix(query-core): have revertState capture manual updates (#9558)
TkDodo Aug 14, 2025
31f51b9
release: v5.85.1
tannerlinsley Aug 14, 2025
0991576
fix(query-core): query cancellation and reverting (#9293)
TkDodo Aug 14, 2025
e14f39c
release: v5.85.2
tannerlinsley Aug 14, 2025
de3626a
test(core): tests for StrictMode behaviour
TkDodo Aug 14, 2025
51aad7d
fix(query-core): race condition in StrictMode (#9565)
TkDodo Aug 14, 2025
b6516bd
release: v5.85.3
tannerlinsley Aug 14, 2025
f1e608b
docs: update community resources
TkDodo Aug 18, 2025
2989e69
docs(react-query): recommend `defaultError = unknown` instead of `Axi…
leesb971204 Aug 18, 2025
e4f5ce8
fix(core): never revert to undefined data (#9577)
TkDodo Aug 19, 2025
ef0a9d2
release: v5.85.4
tannerlinsley Aug 19, 2025
abab082
fix(core): only reject when `promise` gets used (#9576)
TkDodo Aug 19, 2025
0a0e014
release: v5.85.5
tannerlinsley Aug 19, 2025
9a3f683
docs: Add not-prose class to browser logo images in devtools document…
dborysov Aug 19, 2025
1b0346f
docs: Updates examples for invalidation from mutations (#9261)
srph Aug 19, 2025
7c464e3
chore(deps): update marocchino/sticky-pull-request-comment digest to …
renovate[bot] Aug 19, 2025
a1b1279
test(react-query/useMutation): remove '@testing-library/jest-dom/vite…
sukvvon Aug 20, 2025
ad0ca9f
docs: fix missing comma in useMutation example to prevent syntax erro…
wo-o29 Aug 30, 2025
54efe22
docs: fix type definitions in useQuery options (union, parameters, ex…
wo-o29 Aug 30, 2025
2a8ba49
docs: remove unnecessary trailing comma (#9594)
wo-o29 Aug 30, 2025
428c19f
docs: update mutation status type (#9595)
wo-o29 Aug 30, 2025
379670d
fix(core): make sure queries revert synchronously (#9601)
TkDodo Aug 30, 2025
b998f68
release: v5.85.6
tannerlinsley Aug 30, 2025
0650eaf
docs: clarify queryClient refetch behavior for stale queries (#9560)
imadselka Sep 1, 2025
f97d725
docs: mention second parameter for `cancelQueries` (#9597)
Sc4ramouche Sep 2, 2025
7d24156
refactor(query-core): improve replaceEqualDeep performance (#9604)
Sheraff Sep 2, 2025
a978b34
release: v5.85.7
tannerlinsley Sep 2, 2025
ef0c16e
refactor(react-query): replace magic number with named constant in su…
m2na7 Sep 2, 2025
c44ca47
ci: apply automated fixes
autofix-ci[bot] Sep 2, 2025
aec19c9
release: v5.85.8
tannerlinsley Sep 2, 2025
5221029
test(react-query/HydrationBoundary): add tests for 'non-object' state…
sukvvon Sep 2, 2025
564a4f6
fix(query-core): ensure combine re-executes after cache restoration w…
joseph0926 Sep 2, 2025
0a35234
release: v5.85.9
tannerlinsley Sep 2, 2025
c75a994
Fix svelte optimistic updates example (#8005)
BennettLiam Sep 3, 2025
7306474
chore(tsconfig.json): simplify 'include' patterns by consolidating fi…
sukvvon Sep 3, 2025
43049c5
test(react-query/useMutationState): clarify assertions and improve co…
sukvvon Sep 3, 2025
8f24580
feat(query-core): add custom reducer support to streamedQuery (#9532)
marcog83 Sep 4, 2025
b25412a
ref: rename queryFn to streamFn in streamedQuery (#9606)
TkDodo Sep 4, 2025
1599bb4
release: v5.86.0
tannerlinsley Sep 4, 2025
2283633
docs(angular-query): update Angular Zoneless doc (#9616)
arnoud-dv Sep 4, 2025
a0b96db
feat(query-core): add timeoutManager to allow changing setTimeout/set…
justjake Sep 5, 2025
b43af57
release: v5.87.0
tannerlinsley Sep 5, 2025
1c8a921
fix(query-core): update initialData when an observer mounts while a Q…
TkDodo Sep 5, 2025
bc2c87f
release: v5.87.1
tannerlinsley Sep 5, 2025
3af530d
fix(solid-query-devtools): fix typing issue (#9621)
AlemTuzlak Sep 5, 2025
92d6b7b
release: v5.87.2
tannerlinsley Sep 5, 2025
f49cc75
docs: Remove fragment in disabling-queries guide (#9619)
ZakKa89 Sep 5, 2025
f023881
docs: update fetchNextPage condition in Example component (#9626)
alikhani-dev Sep 8, 2025
af50368
fix(query-devtools): add work break to code element to prevent DevPan…
akdlsz21 Sep 8, 2025
2bf8fa3
release: v5.87.3
tannerlinsley Sep 8, 2025
ccedf33
test(svelte-query/createMutation): improve callback assertions with '…
sukvvon Sep 8, 2025
19445a0
fix(query-core): infinite re-renders in useQueries (#9639)
m2na7 Sep 10, 2025
230435d
release: v5.87.4
tannerlinsley Sep 10, 2025
7f0e716
docs(angular-query): use signal input in placeholder-query-data.md (#…
pweyrich Sep 11, 2025
2492ed1
docs(angular-query): fix error in code snippet (#9645)
arnoud-dv Sep 11, 2025
d179168
docs: README Updates (#9640)
LadyBluenotes Sep 12, 2025
e3b40d4
chore(angular-query): remove standalone component markers as it's now…
arnoud-dv Sep 12, 2025
94ee0eb
docs(angular-query): improve mutationOptions jsdoc code example (#9648)
arnoud-dv Sep 12, 2025
582cbda
Merge branch 'main' into svelte-5-experimental
Oungseik Sep 13, 2025
5d5bb68
fix: temporary disable type checking in vite.config.ts
Oungseik Sep 13, 2025
7fd609f
fix: restore the tests according svelte 5 adapter branch
Oungseik Sep 13, 2025
8c28b70
fix: fix local reference warning
Oungseik Sep 13, 2025
5d63545
fix: fix state not update due to reference the state internally
Oungseik Sep 13, 2025
531b0ff
fix: assert isEnable to be true if the query is not disabled
Oungseik Sep 13, 2025
0edf284
fix: use rune
Oungseik Sep 13, 2025
61ce92e
Merge branch 'TanStack:main' into svelte-5-experimental
Oungseik Sep 13, 2025
edb30e6
refactor(svelte-query): remove deleted tests in svelte5-adapter branch
Oungseik Sep 13, 2025
1b1c5d8
Merge pull request #4 from Oungseik/svelte-5-experimental
Oungseik Sep 13, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
46 changes: 0 additions & 46 deletions .github/labeler.yml

This file was deleted.

1 change: 0 additions & 1 deletion .github/renovate.json
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,6 @@
"@types/node",
"@types/react",
"@types/react-dom",
"eslint-plugin-react-compiler",
"node",
"react",
"react-dom",
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/autofix.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,8 +22,8 @@ jobs:
- name: Setup Tools
uses: tanstack/config/.github/setup@main
- name: Fix formatting
run: pnpm prettier:write
run: pnpm run prettier:write
- name: Apply fixes
uses: autofix-ci/action@551dded8c6cc8a1054039c8bc0b8b48c51dfc6ef
uses: autofix-ci/action@635ffb0c9798bd160680f18fd73371e355b85f27
with:
commit-message: 'ci: apply automated fixes'
9 changes: 7 additions & 2 deletions .github/workflows/labeler.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,10 +3,15 @@ name: Labeler
on:
- pull_request_target

permissions:
contents: read
pull-requests: write

jobs:
triage:
labeler:
runs-on: ubuntu-latest
steps:
- uses: actions/labeler@v4.3.0
- uses: actions/labeler@v5.0.0
with:
repo-token: ${{ secrets.GITHUB_TOKEN }}
configuration-path: labeler-config.yml
8 changes: 5 additions & 3 deletions .github/workflows/pr.yml
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,8 @@ jobs:
main-branch-name: main
- name: Run Checks
run: pnpm run test:pr --parallel=3
- name: Verify Links
run: pnpm run verify-links
- name: Stop Nx Agents
if: ${{ always() }}
run: npx nx-cloud stop-all-agents
Expand Down Expand Up @@ -63,12 +65,12 @@ jobs:
run: |
echo "COMMIT_SHA=${{ github.event.pull_request.head.sha || github.sha }}" >> $GITHUB_ENV
- name: Preview Bundle Size
uses: marocchino/sticky-pull-request-comment@52423e01640425a022ef5fd42c6fb5f633a02728
uses: marocchino/sticky-pull-request-comment@9c40848920de7cd32a71773ba792d8b04f03bf7a
with:
message: |
Sizes for commit ${{ env.COMMIT_SHA }}:
| Branch | Bundle Size |
|--------|--------|
| Main | [![](https://deno.bundlejs.com/badge?q=https://esm.sh/@tanstack/react-query/es2022/react-query.mjs&config={%22esbuild%22:{%22external%22:[%22react@^19.1.0/jsx-runtime?target=es2022%22,%22react@^19.1.0?target=es2022%22]}}&badge=detailed)](https://bundlejs.com/?q=https://esm.sh/@tanstack/react-query/es2022/react-query.mjs&config=%7B%22esbuild%22:%7B%22external%22:%5B%22react@%5E19.1.0/jsx-runtime?target=es2022%22,%22react@%5E19.1.0?target=es2022%22%5D%7D%7D) |
| This PR | [![](https://deno.bundlejs.com/badge?q=https://esm.sh/pr/@tanstack/react-query@${{ env.COMMIT_SHA }}/es2022/react-query.mjs&config={%22esbuild%22:{%22external%22:[%22react@^19.1.0/jsx-runtime?target=es2022%22,%22react@^19.1.0?target=es2022%22]}}&badge=detailed)](https://bundlejs.com/?q=https://esm.sh/pr/@tanstack/react-query@${{ env.COMMIT_SHA }}/es2022/react-query.mjs&config=%7B%22esbuild%22:%7B%22external%22:%5B%22react@%5E19.1.0/jsx-runtime?target=es2022%22,%22react@%5E19.1.0?target=es2022%22%5D%7D%7D) |
| Main | [![](https://deno.bundlejs.com/badge?q=https://esm.sh/@tanstack/react-query/es2022/react-query.mjs&config={%22esbuild%22:{%22external%22:[%22react@^19.1.1/jsx-runtime?target=es2022%22,%22react@^19.1.1?target=es2022%22]}}&badge=detailed)](https://bundlejs.com/?q=https://esm.sh/@tanstack/react-query/es2022/react-query.mjs&config=%7B%22esbuild%22:%7B%22external%22:%5B%22react@%5E19.1.1/jsx-runtime?target=es2022%22,%22react@%5E19.1.1?target=es2022%22%5D%7D%7D) |
| This PR | [![](https://deno.bundlejs.com/badge?q=https://esm.sh/pr/@tanstack/react-query@${{ env.COMMIT_SHA }}/es2022/react-query.mjs&config={%22esbuild%22:{%22external%22:[%22react@^19.1.1/jsx-runtime?target=es2022%22,%22react@^19.1.1?target=es2022%22]}}&badge=detailed)](https://bundlejs.com/?q=https://esm.sh/pr/@tanstack/react-query@${{ env.COMMIT_SHA }}/es2022/react-query.mjs&config=%7B%22esbuild%22:%7B%22external%22:%5B%22react@%5E19.1.1/jsx-runtime?target=es2022%22,%22react@%5E19.1.1?target=es2022%22%5D%7D%7D) |
continue-on-error: true
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,9 @@ stats-hydration.json
stats.json
stats.html
.vscode/settings.json
.vscode/mcp.json
.cursor/rules
.github/instructions/nx.instructions.md

*.log
*.tsbuildinfo
Expand Down
2 changes: 1 addition & 1 deletion .nvmrc
Original file line number Diff line number Diff line change
@@ -1 +1 @@
22.12.0
24.4.1
6 changes: 4 additions & 2 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,8 @@ If you are here to suggest a feature, first create an issue if it does not alrea

## Development

_TanStack/query uses **symlink-based** configuration files. For smooth development in a local environment, we recommend developing in an environment that supports symlinks(ex: Linux, macOS, Windows Subsystem for Linux / WSL)._

If you have been assigned to fix an issue or develop a new feature, please follow these steps to get started:

- Fork this repository.
Expand All @@ -23,7 +25,7 @@ If you have been assigned to fix an issue or develop a new feature, please follo
pnpm install
```

- We use [pnpm](https://pnpm.io/) v9 for package management (run in case of pnpm-related issues).
- We use [pnpm](https://pnpm.io/) v10 for package management (run in case of pnpm-related issues).

```bash
corepack enable && corepack prepare
Expand Down Expand Up @@ -57,7 +59,7 @@ If you have been assigned to fix an issue or develop a new feature, please follo
The documentations for all the TanStack projects are hosted on [tanstack.com](https://tanstack.com), which is a TanStack Start application (https://github.com/TanStack/tanstack.com). You need to run this app locally to preview your changes in the `TanStack/query` docs.

> [!NOTE]
> The website fetches the doc pages from GitHub in production, and searches for them at `../query/docs` in development. Your local clone of `TanStack/query` needs to be in the same directory as the local clone of `TansStack/tanstack.com`.
> The website fetches the doc pages from GitHub in production, and searches for them at `../query/docs` in development. Your local clone of `TanStack/query` needs to be in the same directory as the local clone of `TanStack/tanstack.com`.

You can follow these steps to set up the docs for local development:

Expand Down
109 changes: 64 additions & 45 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,74 +1,93 @@
<img referrerpolicy="no-referrer-when-downgrade" src="https://static.scarf.sh/a.png?x-pxid=be2d8a11-9712-4c1d-9963-580b2d4fb133" />

![TanStack Query Header](https://github.com/TanStack/query/raw/main/media/repo-header.png)

Hooks for fetching, caching and updating asynchronous data in React, Solid, Svelte and Vue

<a href="https://twitter.com/intent/tweet?button_hashtag=TanStack" target="\_parent">
<img alt="#TanStack" src="https://img.shields.io/twitter/url?color=%2308a0e9&label=%23TanStack&style=social&url=https%3A%2F%2Ftwitter.com%2Fintent%2Ftweet%3Fbutton_hashtag%3DTanStack">
</a><a href="https://discord.com/invite/WrRKjPJ" target="\_parent">
<img alt="" src="https://img.shields.io/badge/Discord-TanStack-%235865F2" />
</a><a href="https://www.npmjs.com/package/@tanstack/query-core" target="\_parent">
<img alt="" src="https://img.shields.io/npm/dm/@tanstack/query-core.svg" />
</a><a href="https://bundlejs.com/?q=%40tanstack%2Freact-query&config=%7B%22esbuild%22%3A%7B%22external%22%3A%5B%22react%22%2C%22react-dom%22%5D%7D%7D&badge=" target="\_parent">
<img alt="" src="https://deno.bundlejs.com/?q=@tanstack/react-query&config={%22esbuild%22:{%22external%22:[%22react%22,%22react-dom%22]}}&badge=detailed" />
</a><a href="#badge">
<img alt="semantic-release" src="https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg">
</a><a href="https://github.com/TanStack/query/discussions">
<img alt="Join the discussion on Github" src="https://img.shields.io/badge/Github%20Discussions%20%26%20Support-Chat%20now!-blue" />
</a><a href="https://bestofjs.org/projects/tanstack-query"><img alt="Best of JS" src="https://img.shields.io/endpoint?url=https://bestofjs-serverless.now.sh/api/project-badge?fullName=TanStack%2Fquery%26since=daily" /></a><a href="https://github.com/TanStack/query/" target="\_parent">
<img alt="" src="https://img.shields.io/github/stars/TanStack/query.svg?style=social&label=Star" />
</a><a href="https://twitter.com/tannerlinsley" target="\_parent">
<img alt="" src="https://img.shields.io/twitter/follow/tannerlinsley.svg?style=social&label=Follow" />
</a> <a href="https://gitpod.io/from-referrer/">
<img src="https://img.shields.io/badge/Gitpod-Ready--to--Code-blue?logo=gitpod" alt="Gitpod Ready-to-Code"/>
<div align="center">
<img src="./media/header_query.png" alt="TanStack Query" />
</div>

An async state management library built to simplify fetching, caching, synchronizing, and updating server state.

- Protocol‑agnostic fetching (REST, GraphQL, promises, etc.)
- Caching, refetching, pagination & infinite scroll
- Mutations, dependent queries & background updates
- Prefetching, cancellation & React Suspense support

<a href="https://tanstack.com/query" style="font-weight: bold">Read the Query Docs →</a>
<br />

<div align="center" style="display: flex; gap: 10px; flex-direction: column; justify-content: center;">

<div align="center">
<a href="https://www.npmjs.com/package/@tanstack/query-core" target="\_parent">
<img alt="" src="https://img.shields.io/npm/dm/@tanstack/query-core.svg" alt="npm downloads" />
</a>
<a href="https://github.com/TanStack/query/" target="\_parent">
<img alt="" src="https://img.shields.io/github/stars/TanStack/query.svg?style=social&label=Star" alt="GitHub stars" />
</a>
<a href="https://bundlejs.com/?q=%40tanstack%2Freact-query&config=%7B%22esbuild%22%3A%7B%22external%22%3A%5B%22react%22%2C%22react-dom%22%5D%7D%7D&badge=" target="\_parent">
<img alt="" src="https://deno.bundlejs.com/?q=@tanstack/react-query&config={%22esbuild%22:{%22external%22:[%22react%22,%22react-dom%22]}}&badge=detailed" alt="Bundle size" />
</a>
</div>

<div align="center">
<a href="#badge">
<img alt="semantic-release" src="https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg">
</a>
<a href="https://bestofjs.org/projects/tanstack-query"><img alt="Best of JS" src="https://img.shields.io/endpoint?url=https://bestofjs-serverless.now.sh/api/project-badge?fullName=TanStack%2Fquery%26since=daily" /></a>
<a href="https://twitter.com/tan_stack"><img src="https://img.shields.io/twitter/follow/tan_stack.svg?style=social" alt="Follow @TanStack"/></a>
</div>

<div align="center" style="font-size: 2rem; font-weight: bolder;">

Enjoy this library? Try the entire [TanStack](https://tanstack.com)! [TanStack Table](https://github.com/TanStack/table), [TanStack Router](https://github.com/tanstack/router), [TanStack Virtual](https://github.com/tanstack/virtual), [React Charts](https://github.com/TanStack/react-charts), [React Ranger](https://github.com/TanStack/ranger)
[Become a Sponsor!](https://github.com/sponsors/tannerlinsley/)

## Visit [tanstack.com/query](https://tanstack.com/query) for docs, guides, API and more!
</div>

Still on **React Query v2**? No problem! Check out the v2 docs here: https://github.com/TanStack/query/tree/2.x/docs/src/pages/docs.<br />
Still on **React Query v3**? No problem! Check out the v3 docs here: https://tanstack.com/query/v3/docs/.<br />
Still on **React Query v4**? No problem! Check out the v4 docs here: https://tanstack.com/query/v4/docs/.
</div>

## Quick Features
## Get Involved

- Transport/protocol/backend agnostic data fetching (REST, GraphQL, promises, whatever!)
- Auto Caching + Refetching (stale-while-revalidate, Window Refocus, Polling/Realtime)
- Parallel + Dependent Queries
- Mutations + Reactive Query Refetching
- Multi-layer Cache + Automatic Garbage Collection
- Paginated + Cursor-based Queries
- Load-More + Infinite Scroll Queries w/ Scroll Recovery
- Request Cancellation
- [React Suspense](https://react.dev/reference/react/Suspense) + Fetch-As-You-Render Query Prefetching
- Dedicated Devtools
- We welcome issues and pull requests!
- Participate in [GitHub discussions](https://github.com/TanStack/query/discussions)
- Chat with the community on [Discord](https://discord.com/invite/WrRKjPJ)
- See [CONTRIBUTING.md](./CONTRIBUTING.md) for setup instructions

## Partners

<div style="display: flex; flex-wrap: wrap; gap: 50px; justify-content: center; align-items: center;">
<a href="https://www.speakeasy.com/product/react-query?utm_source=tanstack&utm_campaign=tanstack">
<picture>
<source
srcset="https://tanstack.com/_build/assets/speakeasy-dark-BjP-Hd9M.svg"
srcset="https://tanstack.com/assets/speakeasy-dark-BjP-Hd9M.svg"
media="(prefers-color-scheme: dark)"
/>
<source
srcset="https://tanstack.com/_build/assets/speakeasy-light-UpY7QmwQ.svg"
srcset="https://tanstack.com/assets/speakeasy-light-UpY7QmwQ.svg"
media="(prefers-color-scheme: light)"
/>
<!-- fallback -->
<img
src="https://tanstack.com/_build/assets/speakeasy-light-UpY7QmwQ.svg"
src="https://tanstack.com/assets/speakeasy-light-UpY7QmwQ.svg"
alt="Speakeasy Logo"
/>
</picture>
</a>
</div>

## Contributing

View the contributing guidelines [here](/CONTRIBUTING.md)
## Explore the TanStack Ecosystem

### [Become a Sponsor!](https://github.com/sponsors/tannerlinsley/)
<div align="center">
<a href="https://github.com/tanstack/config" style="font-weight: bold;">TanStack Config</a> – Tooling for JS/TS packages <br/>
<a href="https://github.com/tanstack/db" style="font-weight: bold;">TanStack DB</a> – Reactive sync client store <br/>
<a href="https://github.com/tanstack/devtools" style="font-weight: bold;">TanStack DevTools</a> – Unified devtools panel <br/>
<a href="https://github.com/tanstack/form" style="font-weight: bold;">TanStack Form</a> – Type‑safe form state <br/>
<a href="https://github.com/tanstack/pacer" style="font-weight: bold;">TanStack Pacer</a> – Debouncing, throttling, batching <br/>
<a href="https://github.com/tanstack/ranger" style="font-weight: bold;">TanStack Ranger</a> – Range & slider primitives <br/>
<a href="https://github.com/tanstack/router" style="font-weight: bold;">TanStack Router</a> – Type‑safe routing, caching & URL state<br/>
<a href="https://github.com/tanstack/router" style="font-weight: bold;">TanStack Start</a> – Full‑stack SSR & streaming<br/>
<a href="https://github.com/tanstack/store" style="font-weight: bold;">TanStack Store</a> – Reactive data store <br/>
<a href="https://github.com/tanstack/table" style="font-weight: bold;">TanStack Table</a> – Headless datagrids <br/>
<a href="https://github.com/tanstack/virtual" style="font-weight: bold;">TanStack Virtual</a> – Virtualized rendering <br/>
… and more at <a href="https://tanstack.com" style="font-weight: bold;">TanStack.com »</a>
</div>

<!-- Use the force, Luke -->
10 changes: 9 additions & 1 deletion docs/config.json
Original file line number Diff line number Diff line change
Expand Up @@ -455,7 +455,7 @@
},
{
"label": "Does this replace state managers?",
"to": "framework/angular/guides/does-this-replace-client-state"
"to": "framework/solid/guides/does-this-replace-client-state"
}
]
},
Expand Down Expand Up @@ -753,6 +753,10 @@
{
"label": "notifyManager",
"to": "reference/notifyManager"
},
{
"label": "timeoutManager",
"to": "reference/timeoutManager"
}
],
"frameworks": [
Expand Down Expand Up @@ -815,6 +819,10 @@
"label": "infiniteQueryOptions",
"to": "framework/react/reference/infiniteQueryOptions"
},
{
"label": "mutationOptions",
"to": "framework/react/reference/mutationOptions"
},
{
"label": "usePrefetchQuery",
"to": "framework/react/reference/usePrefetchQuery"
Expand Down
12 changes: 6 additions & 6 deletions docs/eslint/eslint-plugin-query.md
Original file line number Diff line number Diff line change
Expand Up @@ -93,9 +93,9 @@ Alternatively, add `@tanstack/query` to the plugins section, and configure the r

## Rules

- [@tanstack/query/exhaustive-deps](./exhaustive-deps.md)
- [@tanstack/query/no-rest-destructuring](./no-rest-destructuring.md)
- [@tanstack/query/stable-query-client](./stable-query-client.md)
- [@tanstack/query/no-unstable-deps](./no-unstable-deps.md)
- [@tanstack/query/infinite-query-property-order](./infinite-query-property-order.md)
- [@tanstack/query/no-void-query-fn](./no-void-query-fn.md)
- [@tanstack/query/exhaustive-deps](../exhaustive-deps.md)
- [@tanstack/query/no-rest-destructuring](../no-rest-destructuring.md)
- [@tanstack/query/stable-query-client](../stable-query-client.md)
- [@tanstack/query/no-unstable-deps](../no-unstable-deps.md)
- [@tanstack/query/infinite-query-property-order](../infinite-query-property-order.md)
- [@tanstack/query/no-void-query-fn](../no-void-query-fn.md)
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ Because TanStack Query's fetching mechanisms are agnostically built on Promises,

- Mock responses in unit tests using [provideHttpClientTesting](https://angular.dev/guide/http/testing).
- [Interceptors](https://angular.dev/guide/http/interceptors) can be used for a wide range of functionality including adding authentication headers, performing logging, etc. While some data fetching libraries have their own interceptor system, `HttpClient` interceptors are integrated with Angular's dependency injection system.
- `HttpClient` automatically informs [`PendingTasks`](https://angular.dev/api/core/PendingTasks#), which enables Angular to be aware of pending requests. Unit tests and SSR can use the resulting application _stableness_ information to wait for pending requests to finish. This makes unit testing much easier for [Zoneless](https://angular.dev/guide/experimental/zoneless) applications.
- `HttpClient` automatically informs [`PendingTasks`](https://angular.dev/api/core/PendingTasks#), which enables Angular to be aware of pending requests. Unit tests and SSR can use the resulting application _stableness_ information to wait for pending requests to finish. This makes unit testing much easier for [Zoneless](https://angular.dev/guide/zoneless) applications.
- When using SSR, `HttpClient` will [cache requests](https://angular.dev/guide/ssr#caching-data-when-using-HttpClient) performed on the server. This will prevent unneeded requests on the client. `HttpClient` SSR caching works out of the box. TanStack Query has its own hydration functionality which may be more powerful but requires some setup. Which one fits your needs best depends on your use case.

### Using observables in `queryFn`
Expand Down
Loading
Loading