Release 2026-10-11 19:36
Changes
Features
- preact-query*: support Preact v11 (#11711) (a94c7ca) by @JoviDeCroock
Fix
- mutation-observer: snapshot mutateOptions before dispatching callbacks (#11945) (a16e71c) by @okxint
- examples/solid/offline: type the movie query and mutation with 'queryOptions' and 'mutationOptions' (#11975) (1dc1680) by @sukvvon
- examples/{react,solid}/offline: regenerate the msw worker and render after it starts (#11974) (fd820ed) by @sukvvon
- examples/react/offline: type the movie query and mutation with 'queryOptions' and 'mutationOptions' (#11973) (d81b4e4) by @sukvvon
- examples/react/react-native: type the movie list items as 'Movie' (#11971) (a6a46a2) by @sukvvon
- examples/react/algolia: compute the next page from 'lastPageParam' and the optional 'nbPages' (#11967) (3ae9fb0) by @sukvvon
- examples/react/prefetching: subscribe to prefetched characters instead of forcing a rerender (#11966) (008b750) by @sukvvon
- examples/react/infinite-query-with-max-pages: extract a typed 'fetchProjects' for 'queryFn' (#11965) (11ad4e0) by @sukvvon
- examples/react: narrow 'req.query' values in the Next API routes (#11963) (4e21da7) by @sukvvon
- examples/react: remove the 'exact' prop that react-router v6 no longer supports (#11961) (3a66faa) by @sukvvon
- examples/solid/default-query-function: match the cached post key in 'getQueryData' (#11958) (647e3fe) by @sukvvon
- examples/solid/solid-start-streaming: include 'sleep' and 'simulateError' in the query keys (#11956) (0401256) by @sukvvon
- examples/solid/{basic,offline}: pass accessors instead of values to query hooks (#11955) (51e68b6) by @sukvvon
- vue-query: export
MutationResulttype (#11796) (69e114a) by @KirbyBT - query-core: start queued scoped mutations while the window is not focused 🤖🤖🤖 (#11679) (03e8c39) by @tiagovilasboas
Refactor
- examples/solid/solid-start-streaming: wrap 'userInfoQueryOpts' with 'queryOptions' (#11957) (0f6a805) by @sukvvon
- lit-query: add the 'override' modifier to the implementations of the abstract controller hooks and document the hooks (#11913) (271a4ed) by @sukvvon
- lit-query: add the 'override' modifier to members that override a base class member (#11906) (ec8c6de) by @sukvvon
- vue-query: add the 'override' modifier to members that override a base class member (#11905) (866d542) by @sukvvon
- query-core: add the 'override' modifier to members that override a base class member (#11904) (65f762e) by @sukvvon
Chore
- examples/react: add '@types/node' to the Next.js examples that relied on the root copy (#11977) (98fd593) by @sukvvon
- examples/react: add '.stackblitzrc' so StackBlitz runs the 'dev' script in the Next.js examples (#11976) (3a0e927) by @sukvvon
- examples/react: raise 'target' from 'ES5' to 'ES2017' in the Next app examples (#11969) (d2d3e06) by @sukvvon
- examples/react: add 'vite-env.d.ts' so CSS imports type-check under TS 6 (#11968) (70194b8) by @sukvvon
- examples/react: remove unused 'React' imports (#11962) (dee1679) by @sukvvon
- examples/react: add '@types/react' to the examples that relied on the root one (#11960) (fb65258) by @sukvvon
- examples/solid: replace the legacy '.eslintrc.cjs' with a flat config and run 'test:eslint' (#11959) (30a3b73) by @sukvvon
- examples/lit: add a flat ESLint config and run 'test:eslint' (#11954) (d3fcbe5) by @sukvvon
- examples/preact/simple: use 'eslint-config-preact' through a flat config and run 'test:eslint' (#11953) (effc358) by @sukvvon
- examples/angular: replace the legacy '.eslintrc.cjs' with a flat config and run 'test:eslint' (#11952) (bbc8e95) by @sukvvon
- examples/react: enable 'allowJs' so typed linting covers 'eslint.config.js' (#11950) (22621e7) by @sukvvon
- examples/solid/simple: replace the legacy '.eslintrc.cjs' with a flat config and run 'test:eslint' (#11949) (69d9f7c) by @sukvvon
- nx.json: build the dependencies before 'test:eslint' (#11951) (4274544) by @sukvvon
- test TypeScript 7.1 preview and drop 5.6 (#11947) (e22e7c4) by @TkDodo
- examples/react: run 'test:eslint' in 'algolia', 'basic-graphql-request' and 'shadow-dom' (#11948) (bef879e) by @sukvvon
- oxlint.config: load the jsdoc and vitest JS plugins only in the overrides that use them (#11946) (e3ef138) by @sukvvon
- oxfmt.config: replace '.oxfmtrc.json' with 'oxfmt.config.ts' (#11944) (a2e0eb2) by @sukvvon
- oxlint.config: remove the unused '$schema' (#11943) (a8163e0) by @sukvvon
- oxlint.config: spread the vitest recommended rules instead of listing them (#11942) (f4600cd) by @sukvvon
- *: pass the root 'settings' to the package oxlint configs, which 'extends' does not inherit (#11941) (df78a9d) by @sukvvon
- replace prettier with oxfmt (#11939) (833062c) by @DogPawHat
- replace eslint with oxlint (#11938) (d0cfa6a) by @DogPawHat
- solid-query*: add 'eslint-plugin-solid' (#11929) (aab3528) by @sukvvon
- preact-query*: clarify why the base rules from 'eslint-config-preact' are turned off (#11928) (01a7ebd) by @sukvvon
- preact-query*: enable '@typescript-eslint/no-unnecessary-condition' outside tests (#11927) (79e2e42) by @sukvvon
- preact-query*: remove '@typescript-eslint/no-redeclare' (#11926) (2456967) by @sukvvon
- preact-query*: enable '@typescript-eslint/array-type' and '@typescript-eslint/no-unnecessary-type-assertion' (#11925) (c7a2258) by @sukvvon
- preact-query*: enable 'import/order' and 'sort-imports' (#11924) (93cb9cf) by @sukvvon
- *: update '@tanstack/typedoc-config' to v0.3.4 (#11817) (1d2cf91) by @sukvvon
- tsconfig: enable 'noImplicitOverride' (#11912) (eaa75f4) by @sukvvon
- eslint.config: require JSDoc on the methods of exported classes (#11907) (8a0a9b1) by @sukvvon
- eslint.config: require JSDoc on the properties of exported interfaces and type aliases (#11901) (a6e8763) by @sukvvon
- eslint.config: require JSDoc on exported classes and arrow functions (#11890) (cacd9cb) by @sukvvon
- eslint.config: require JSDoc on exported interfaces and type aliases (#11876) (c1c27a7) by @sukvvon
- preact-query-devtools: replace the stale 'root.tsdown.config.js' copy with a symlink to the shared config (#11864) (a83ce66) by @sukvvon
- eslint.config: add 'refetched' to the 'cspell' words (#11863) (4acb176) by @sukvvon
- eslint.config: enable the 'jsdoc' rules outside the recommended config that have no violations (#11855) (6c75523) by @sukvvon
- eslint.config: extend the error variant of the 'eslint-plugin-jsdoc' recommended config (#11854) (327b6b9) by @sukvvon
- angular-query-persist-client/eslint.config: remove the package-specific 'jsdoc' rules in favor of the root config (#11853) (53899d9) by @sukvvon
- eslint.config: use 'extends' for the 'eslint-plugin-jsdoc' recommended config (#11852) (387466d) by @sukvvon
- eslint.config: enforce the 'jsdoc' rules that have no remaining violations (#11851) (c074a13) by @sukvvon
- eslint.config: exclude 'testfixtures' from the 'jsdoc' rules (#11850) (8f5a240) by @sukvvon
- eslint.config: name the repository config objects under 'tanstack/query' (#11826) (98d6326) by @sukvvon
- eslint.config: apply 'eslint-plugin-jsdoc' recommended rules to non-test source files (#11825) (da60e24) by @sukvvon
- package.json: update '@cspell/eslint-plugin' to v10.3.6 (#11824) (6b42538) by @sukvvon
- angular-query-persist-client: update 'eslint-plugin-jsdoc' to v65.0.1 (#11823) (040881d) by @sukvvon
- eslint-plugin-query: move '@typescript-eslint/rule-tester' to the pnpm catalog (#11822) (79d1f22) by @sukvvon
- *: update 'typescript-eslint' packages to v8.71.0 and '@eslint-react/eslint-plugin' to v5.23.3 (#11821) (7726974) by @sukvvon
- package.json: update '@tanstack/eslint-config' to v0.4.0 (#11820) (808501b) by @sukvvon
- eslint.config: use 'defineConfig' from 'eslint/config' (#11819) (5ab1aae) by @sukvvon
- preact-query-devtools: replace stale 'root.eslint.config.js' copy with a symlink to the root config (#11818) (73e6575) 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