Release 2026-10-11 19:36
Release 2026-10-11 19:36
Changes
Features
- preact-query*: support Preact v11 (#11711) (a94c7caee) by @JoviDeCroock
Fix
- mutation-observer: snapshot mutateOptions before dispatching callbacks (#11945) (a16e71c7a) by @okxint
- examples/solid/offline: type the movie query and mutation with 'queryOptions' and 'mutationOptions' (#11975) (1dc168007) by @sukvvon
- examples/{react,solid}/offline: regenerate the msw worker and render after it starts (#11974) (fd820ed30) by @sukvvon
- examples/react/offline: type the movie query and mutation with 'queryOptions' and 'mutationOptions' (#11973) (d81b4e41d) by @sukvvon
- examples/react/react-native: type the movie list items as 'Movie' (#11971) (a6a46a2ea) by @sukvvon
- examples/react/algolia: compute the next page from 'lastPageParam' and the optional 'nbPages' (#11967) (3ae9fb0c3) by @sukvvon
- examples/react/prefetching: subscribe to prefetched characters instead of forcing a rerender (#11966) (008b75003) by @sukvvon
- examples/react/infinite-query-with-max-pages: extract a typed 'fetchProjects' for 'queryFn' (#11965) (11ad4e012) by @sukvvon
- examples/react: narrow 'req.query' values in the Next API routes (#11963) (4e21da774) by @sukvvon
- examples/react: remove the 'exact' prop that react-router v6 no longer supports (#11961) (3a66faac1) by @sukvvon
- examples/solid/default-query-function: match the cached post key in 'getQueryData' (#11958) (647e3fe66) by @sukvvon
- examples/solid/solid-start-streaming: include 'sleep' and 'simulateError' in the query keys (#11956) (0401256bc) by @sukvvon
- examples/solid/{basic,offline}: pass accessors instead of values to query hooks (#11955) (51e68b6b6) by @sukvvon
- vue-query: export
MutationResulttype (#11796) (69e114aec) by @KirbyBT - query-core: start queued scoped mutations while the window is not focused 🤖🤖🤖 (#11679) (03e8c3955) by @tiagovilasboas
Refactor
- examples/solid/solid-start-streaming: wrap 'userInfoQueryOpts' with 'queryOptions' (#11957) (0f6a80510) by @sukvvon
- lit-query: add the 'override' modifier to the implementations of the abstract controller hooks and document the hooks (#11913) (271a4ed77) by @sukvvon
- lit-query: add the 'override' modifier to members that override a base class member (#11906) (ec8c6de88) by @sukvvon
- vue-query: add the 'override' modifier to members that override a base class member (#11905) (866d5429f) by @sukvvon
- query-core: add the 'override' modifier to members that override a base class member (#11904) (65f762e29) by @sukvvon
Chore
- examples/react: add '@types/node' to the Next.js examples that relied on the root copy (#11977) (98fd5936f) by @sukvvon
- examples/react: add '.stackblitzrc' so StackBlitz runs the 'dev' script in the Next.js examples (#11976) (3a0e92744) by @sukvvon
- examples/react: raise 'target' from 'ES5' to 'ES2017' in the Next app examples (#11969) (d2d3e064a) by @sukvvon
- examples/react: add 'vite-env.d.ts' so CSS imports type-check under TS 6 (#11968) (70194b8a7) by @sukvvon
- examples/react: remove unused 'React' imports (#11962) (dee1679bf) by @sukvvon
- examples/react: add '@types/react' to the examples that relied on the root one (#11960) (fb6525838) by @sukvvon
- examples/solid: replace the legacy '.eslintrc.cjs' with a flat config and run 'test:eslint' (#11959) (30a3b7376) by @sukvvon
- examples/lit: add a flat ESLint config and run 'test:eslint' (#11954) (d3fcbe5d6) by @sukvvon
- examples/preact/simple: use 'eslint-config-preact' through a flat config and run 'test:eslint' (#11953) (effc35872) by @sukvvon
- examples/angular: replace the legacy '.eslintrc.cjs' with a flat config and run 'test:eslint' (#11952) (bbc8e95ed) by @sukvvon
- examples/react: enable 'allowJs' so typed linting covers 'eslint.config.js' (#11950) (22621e773) by @sukvvon
- examples/solid/simple: replace the legacy '.eslintrc.cjs' with a flat config and run 'test:eslint' (#11949) (69d9f7c21) by @sukvvon
- nx.json: build the dependencies before 'test:eslint' (#11951) (42745443c) by @sukvvon
- test TypeScript 7.1 preview and drop 5.6 (#11947) (e22e7c4a2) by @TkDodo
- examples/react: run 'test:eslint' in 'algolia', 'basic-graphql-request' and 'shadow-dom' (#11948) (bef879eb5) by @sukvvon
- oxlint.config: load the jsdoc and vitest JS plugins only in the overrides that use them (#11946) (e3ef13870) by @sukvvon
- oxfmt.config: replace '.oxfmtrc.json' with 'oxfmt.config.ts' (#11944) (a2e0eb2e5) by @sukvvon
- oxlint.config: remove the unused '$schema' (#11943) (a8163e00b) by @sukvvon
- oxlint.config: spread the vitest recommended rules instead of listing them (#11942) (f4600cdf7) by @sukvvon
- *: pass the root 'settings' to the package oxlint configs, which 'extends' does not inherit (#11941) (df78a9d13) by @sukvvon
- replace prettier with oxfmt (#11939) (833062c2f) by @DogPawHat
- replace eslint with oxlint (#11938) (d0cfa6a4a) by @DogPawHat
- solid-query*: add 'eslint-plugin-solid' (#11929) (aab352876) by @sukvvon
- preact-query*: clarify why the base rules from 'eslint-config-preact' are turned off (#11928) (01a7ebdd0) by @sukvvon
- preact-query*: enable '@typescript-eslint/no-unnecessary-condition' outside tests (#11927) (79e2e4244) by @sukvvon
- preact-query*: remove '@typescript-eslint/no-redeclare' (#11926) (24569675b) by @sukvvon
- preact-query*: enable '@typescript-eslint/array-type' and '@typescript-eslint/no-unnecessary-type-assertion' (#11925) (c7a22584e) by @sukvvon
- preact-query*: enable 'import/order' and 'sort-imports' (#11924) (93cb9cf6e) by @sukvvon
- *: update '@tanstack/typedoc-config' to v0.3.4 (#11817) (1d2cf9130) by @sukvvon
- tsconfig: enable 'noImplicitOverride' (#11912) (eaa75f4f8) by @sukvvon
- eslint.config: require JSDoc on the methods of exported classes (#11907) (8a0a9b10c) by @sukvvon
- eslint.config: require JSDoc on the properties of exported interfaces and type aliases (#11901) (a6e8763a7) by @sukvvon
- eslint.config: require JSDoc on exported classes and arrow functions (#11890) (cacd9cb8c) by @sukvvon
- eslint.config: require JSDoc on exported interfaces and type aliases (#11876) (c1c27a7ba) by @sukvvon
- preact-query-devtools: replace the stale 'root.tsdown.config.js' copy with a symlink to the shared config (#11864) (a83ce667d) by @sukvvon
- eslint.config: add 'refetched' to the 'cspell' words (#11863) (4acb1765f) by @sukvvon
- eslint.config: enable the 'jsdoc' rules outside the recommended config that have no violations (#11855) (6c755231d) by @sukvvon
- eslint.config: extend the error variant of the 'eslint-plugin-jsdoc' recommended config (#11854) (327b6b9ab) by @sukvvon
- angular-query-persist-client/eslint.config: remove the package-specific 'jsdoc' rules in favor of the root config (#11853) (53899d916) by @sukvvon
- eslint.config: use 'extends' for the 'eslint-plugin-jsdoc' recommended config (#11852) (387466deb) by @sukvvon
- eslint.config: enforce the 'jsdoc' rules that have no remaining violations (#11851) (c074a13dd) by @sukvvon
- eslint.config: exclude 'testfixtures' from the 'jsdoc' rules (#11850) (8f5a2405e) by @sukvvon
- eslint.config: name the repository config objects under 'tanstack/query' (#11826) (98d63264e) by @sukvvon
- eslint.config: apply 'eslint-plugin-jsdoc' recommended rules to non-test source files (#11825) (da60e24c8) by @sukvvon
- package.json: update '@cspell/eslint-plugin' to v10.3.6 (#11824) (6b42538b1) by @sukvvon
- angular-query-persist-client: update 'eslint-plugin-jsdoc' to v65.0.1 (#11823) (040881da8) by @sukvvon
- eslint-plugin-query: move '@typescript-eslint/rule-tester' to the pnpm catalog (#11822) (79d1f2200) by @sukvvon
- *: update 'typescript-eslint' packages to v8.71.0 and '@eslint-react/eslint-plugin' to v5.23.3 (#11821) (772697488) by @sukvvon
- package.json: update '@tanstack/eslint-config' to v0.4.0 (#11820) (808501b15) by @sukvvon
- eslint.config: use 'defineConfig' from 'eslint/config' (#11819) (5ab1aaedd) by @sukvvon
- preact-query-devtools: replace stale 'root.eslint.config.js' copy with a symlink to the root config (#11818) (73e6575c8) by @sukvvon
Packages
- @tanstack/angular-query-experimental@5.104.2
- @tanstack/eslint-plugin-query@5.104.2
- @tanstack/lit-query@0.2.27
- @tanstack/preact-query@5.104.2
- @tanstack/preact-query-devtools@5.104.2
- @tanstack/preact-query-persist-client@5.104.2
- @tanstack/query-async-storage-persister@5.104.2
- @tanstack/query-broadcast-client-experimental@5.104.2
- @tanstack/query-core@5.104.2
- @tanstack/query-devtools@5.104.2
- @tanstack/query-persist-client-core@5.104.2
- @tanstack/query-sync-storage-persister@5.104.2
- @tanstack/react-query@5.104.2
- @tanstack/react-query-devtools@5.104.2
- @tanstack/react-query-next-experimental@5.104.2
- @tanstack/react-query-persist-client@5.104.2
- @tanstack/solid-query@5.104.2
- @tanstack/solid-query-devtools@5.104.2
- @tanstack/solid-query-persist-client@5.104.2
- @tanstack/svelte-query@6.3.2
- @tanstack/svelte-query-devtools@6.3.2
- @tanstack/svelte-query-persist-client@6.3.2
- @tanstack/vue-query@5.104.2
- @tanstack/vue-query-devtools@6.3.2