1 hours ago
react-query

Release 2026-10-17 17:53

Release 2026-10-17 17:53

Changes

Fix

  • query-core: clear mutations before notifying subscribers (#11470) (1fee0443d) by @chungyo
  • react-query: retry queries with falsy errors on mount (#11328) (c20886163) by @jeonghoon11
  • preact-query: retry on mount for falsy errors when throwOnError returns false (#11375) (0addcd2a9) by @S-jooyoung
  • solid-query: subscribe to the new observer when the queryClient changes (#11920) (7ea027855) by @taekop
  • query-core: preserve null infinite page params (#11527) (fce89ddf7) by @gwagjiug
  • query-devtools/Devtools: apply the 'hideDisabledQueries' prop to the query list (#11638) (b61abc203) by @sukvvon
  • {preact,solid,svelte,angular-query-experimental}: switch to 'export type *' for type-only re-exports (#11251) (fc3a3848f) by @sukvvon
  • query-devtools: expose pressed state on the boolean value toggle button (#11983) (c8f5eac9d) by @dmarcey
  • eslint-plugin-query: detect aliased React hook dependencies (#11889) (1cf6eb4e9) by @fallintoplace
  • react-query*: declare '@types/react' as an optional peer dependency (#11728) (a10839824) by @sukvvon
  • examples/react: throw on non-ok 'fetch' responses in the query and mutation functions (#12058) (5817e6f69) by @sukvvon
  • react-query-devtools: create the devtools instance lazily with 'useState' initializer instead of on every render (#11722) (0992a9291) by @sukvvon
  • svelte-query/HydrationBoundary: make 'options' and 'queryClient' props optional (#12030) (2bb82dfd2) by @sukvvon
  • preact-query: do not go into optimistic fetching state when not subscribed (#11259) (2ce51902d) by @giaBaoJS
  • examples/react/nextjs-app-optimistic-updates: return the invalidation promise from 'onSettled' so the pending todo stays until the refetch finishes (#12055) (9fbf29380) by @sukvvon
  • examples: rename the auto-refetching title from 'stale-time' to 'refetchInterval', which is the option it sets (#12051) (83b0831c2) by @sukvvon
  • examples/react/offline: throw on non-ok responses so failures surface the server's message instead of a JSON parse error (#12050) (b71ff3169) by @sukvvon
  • examples/react/chat: submit through a 'form' so 'Enter' cannot send an empty question (#12049) (6f1fa2b84) by @sukvvon
  • examples/react/batching: show the character's 'status' instead of the query 'status' (#12045) (958308812) by @sukvvon
  • examples/react/rick-morty: read the episode's 'air_date' instead of the nonexistent 'airDate' (#12046) (116818a61) by @sukvvon
  • examples/react/chat: give each question an 'id' so repeated questions get their own React key and query (#12047) (817f823b9) by @sukvvon
  • examples/react/chat: use camelCase 'strokeWidth', 'strokeLinecap' and 'strokeLinejoin' on the send icon (#12048) (8ca99d1e5) by @sukvvon

Refactor

  • eslint-plugin-query/exhaustive-deps: remove the unused 'fixable' from the rule metadata (#12044) (a5f1b092b) by @sukvvon
  • examples/react/suspense: prefetch the projects in the click handler instead of inside the 'setShowProjects' updater (#12056) (a636462b8) by @sukvvon
  • examples/react/react-router: replace the deprecated 'ensureQueryData' with 'query' and 'staleTime: 'static'' in the loaders (#12052) (584fd6414) by @sukvvon
  • examples/react/react-native: pass the movie title in route params and show the cached list item as 'placeholderData' (#12037) (e75ecbedf) by @sukvvon

Chore

  • *: update '@tanstack/typedoc-config' to v0.3.5 (#12035) (f38e6271b) by @sukvvon
  • integrations: remove the unused legacy '.eslintrc.cjs' configs (#12040) (e90c0bdb8) by @sukvvon
  • examples/react/react-native: add a flat config and run 'test:eslint' (#12039) (eb94a5b44) by @sukvvon
  • oxlint.config: ignore 'examples' and 'integrations', which are not linted by Oxlint (#12038) (0e19ad7c3) by @sukvvon

Packages

  • @tanstack/angular-query-experimental@5.104.4
  • @tanstack/eslint-plugin-query@5.104.4
  • @tanstack/lit-query@0.2.29
  • @tanstack/preact-query@5.104.4
  • @tanstack/preact-query-devtools@5.104.4
  • @tanstack/preact-query-persist-client@5.104.4
  • @tanstack/query-async-storage-persister@5.104.4
  • @tanstack/query-broadcast-client-experimental@5.104.4
  • @tanstack/query-core@5.104.4
  • @tanstack/query-devtools@5.104.4
  • @tanstack/query-persist-client-core@5.104.4
  • @tanstack/query-sync-storage-persister@5.104.4
  • @tanstack/react-query@5.104.4
  • @tanstack/react-query-devtools@5.104.4
  • @tanstack/react-query-next-experimental@5.104.4
  • @tanstack/react-query-persist-client@5.104.4
  • @tanstack/solid-query@5.104.4
  • @tanstack/solid-query-devtools@5.104.4
  • @tanstack/solid-query-persist-client@5.104.4
  • @tanstack/svelte-query@6.3.4
  • @tanstack/svelte-query-devtools@6.3.4
  • @tanstack/svelte-query-persist-client@6.3.4
  • @tanstack/vue-query@5.104.4
  • @tanstack/vue-query-devtools@6.3.4
1 hours ago
query

Release 2026-10-17 17:53

Release 2026-10-17 17:53

Changes

Fix

  • query-core: clear mutations before notifying subscribers (#11470) (1fee0443d) by @chungyo
  • react-query: retry queries with falsy errors on mount (#11328) (c20886163) by @jeonghoon11
  • preact-query: retry on mount for falsy errors when throwOnError returns false (#11375) (0addcd2a9) by @S-jooyoung
  • solid-query: subscribe to the new observer when the queryClient changes (#11920) (7ea027855) by @taekop
  • query-core: preserve null infinite page params (#11527) (fce89ddf7) by @gwagjiug
  • query-devtools/Devtools: apply the 'hideDisabledQueries' prop to the query list (#11638) (b61abc203) by @sukvvon
  • {preact,solid,svelte,angular-query-experimental}: switch to 'export type *' for type-only re-exports (#11251) (fc3a3848f) by @sukvvon
  • query-devtools: expose pressed state on the boolean value toggle button (#11983) (c8f5eac9d) by @dmarcey
  • eslint-plugin-query: detect aliased React hook dependencies (#11889) (1cf6eb4e9) by @fallintoplace
  • react-query*: declare '@types/react' as an optional peer dependency (#11728) (a10839824) by @sukvvon
  • examples/react: throw on non-ok 'fetch' responses in the query and mutation functions (#12058) (5817e6f69) by @sukvvon
  • react-query-devtools: create the devtools instance lazily with 'useState' initializer instead of on every render (#11722) (0992a9291) by @sukvvon
  • svelte-query/HydrationBoundary: make 'options' and 'queryClient' props optional (#12030) (2bb82dfd2) by @sukvvon
  • preact-query: do not go into optimistic fetching state when not subscribed (#11259) (2ce51902d) by @giaBaoJS
  • examples/react/nextjs-app-optimistic-updates: return the invalidation promise from 'onSettled' so the pending todo stays until the refetch finishes (#12055) (9fbf29380) by @sukvvon
  • examples: rename the auto-refetching title from 'stale-time' to 'refetchInterval', which is the option it sets (#12051) (83b0831c2) by @sukvvon
  • examples/react/offline: throw on non-ok responses so failures surface the server's message instead of a JSON parse error (#12050) (b71ff3169) by @sukvvon
  • examples/react/chat: submit through a 'form' so 'Enter' cannot send an empty question (#12049) (6f1fa2b84) by @sukvvon
  • examples/react/batching: show the character's 'status' instead of the query 'status' (#12045) (958308812) by @sukvvon
  • examples/react/rick-morty: read the episode's 'air_date' instead of the nonexistent 'airDate' (#12046) (116818a61) by @sukvvon
  • examples/react/chat: give each question an 'id' so repeated questions get their own React key and query (#12047) (817f823b9) by @sukvvon
  • examples/react/chat: use camelCase 'strokeWidth', 'strokeLinecap' and 'strokeLinejoin' on the send icon (#12048) (8ca99d1e5) by @sukvvon

Refactor

  • eslint-plugin-query/exhaustive-deps: remove the unused 'fixable' from the rule metadata (#12044) (a5f1b092b) by @sukvvon
  • examples/react/suspense: prefetch the projects in the click handler instead of inside the 'setShowProjects' updater (#12056) (a636462b8) by @sukvvon
  • examples/react/react-router: replace the deprecated 'ensureQueryData' with 'query' and 'staleTime: 'static'' in the loaders (#12052) (584fd6414) by @sukvvon
  • examples/react/react-native: pass the movie title in route params and show the cached list item as 'placeholderData' (#12037) (e75ecbedf) by @sukvvon

Chore

  • *: update '@tanstack/typedoc-config' to v0.3.5 (#12035) (f38e6271b) by @sukvvon
  • integrations: remove the unused legacy '.eslintrc.cjs' configs (#12040) (e90c0bdb8) by @sukvvon
  • examples/react/react-native: add a flat config and run 'test:eslint' (#12039) (eb94a5b44) by @sukvvon
  • oxlint.config: ignore 'examples' and 'integrations', which are not linted by Oxlint (#12038) (0e19ad7c3) by @sukvvon

Packages

  • @tanstack/angular-query-experimental@5.104.4
  • @tanstack/eslint-plugin-query@5.104.4
  • @tanstack/lit-query@0.2.29
  • @tanstack/preact-query@5.104.4
  • @tanstack/preact-query-devtools@5.104.4
  • @tanstack/preact-query-persist-client@5.104.4
  • @tanstack/query-async-storage-persister@5.104.4
  • @tanstack/query-broadcast-client-experimental@5.104.4
  • @tanstack/query-core@5.104.4
  • @tanstack/query-devtools@5.104.4
  • @tanstack/query-persist-client-core@5.104.4
  • @tanstack/query-sync-storage-persister@5.104.4
  • @tanstack/react-query@5.104.4
  • @tanstack/react-query-devtools@5.104.4
  • @tanstack/react-query-next-experimental@5.104.4
  • @tanstack/react-query-persist-client@5.104.4
  • @tanstack/solid-query@5.104.4
  • @tanstack/solid-query-devtools@5.104.4
  • @tanstack/solid-query-persist-client@5.104.4
  • @tanstack/svelte-query@6.3.4
  • @tanstack/svelte-query-devtools@6.3.4
  • @tanstack/svelte-query-persist-client@6.3.4
  • @tanstack/vue-query@5.104.4
  • @tanstack/vue-query-devtools@6.3.4
2 hours ago
slate

slate-dom@0.146.0

Patch Changes

  • #6332 4e73172 Thanks @dylans! - Add Node.findPath(root, node), which finds a node's path by walking the tree and returns undefined if the node isn't there. It doesn't depend on rendering, so it works without slate-react, for example on a server. DOMEditor.findPath uses it as its fallback when the rendered node maps are stale.
2 hours ago
slate

slate@0.146.0

Minor Changes

  • #6332 4e73172 Thanks @dylans! - Add Node.findPath(root, node), which finds a node's path by walking the tree and returns undefined if the node isn't there. It doesn't depend on rendering, so it works without slate-react, for example on a server. DOMEditor.findPath uses it as its fallback when the rendered node maps are stale.

Patch Changes

  • #6331 cfd8049 Thanks @dylans! - Batches inside Editor.withoutNormalizing spend less time on dirty path bookkeeping. An operation that can't map two dirty paths onto one, which is every path-changing operation except merge_node, no longer rebuilds the dirty path key set. 5,000 splits of one block in a batch go from about 7.9 s to 3.7 s. The dirty paths and their order are unchanged.
3 hours ago
slate

slate-react@0.145.1

Patch Changes

  • #6329 3d7b2fa Thanks @dylans! - A click inside the editor whose handler changes the clicked node, for example a <select> that calls setNodes on its element or a suggestion that inserts text, no longer throws "Unable to find the path for Slate node". Editable's click handling now returns when the clicked node is no longer in the document, which its existing check intended but findPath started throwing before it since 0.142.
4 hours ago
slate

slate-react@0.145.0

Minor Changes

  • #6327 89a74de Thanks @dylans! - Add a controlled value prop to Slate. Pass the value from onValueChange back in, and Slate recognizes that exact object and doesn't apply it again. Any other value is applied as a change from outside the editor through editor.setChildren, in a layout effect, so the selection and history stay valid. Values passed in aren't reported through onValueChange. Updates wait while the user is composing text or Android has pending input, and only the latest is applied. value and initialValue together throw.

Patch Changes

  • #6325 6cb0eb4 Thanks @dylans! - A DOM selection change made just before the editor loses focus now reaches editor.selection. Selection changes are processed a little later than they happen, and since 0.142 changes processed after blur were ignored, so for example clicking an element whose handler blurs the editor could leave editor.selection where it was before the click. Blur now processes any pending selection change first.
5 hours ago
next.js

v16.5.0-canary.17

Misc Changes

  • turbo-persistence: prefetch multi-page SST blocks with MADV_WILLNEED: #100283

Credits

Huge thanks to @lukesandberg for helping!

7 hours ago
slate

slate@0.144.0

Minor Changes

  • #6314 64b036b Thanks @dylans! - Add Transforms.setChildren(editor, children) and the overridable editor.setChildren method, which apply an outside document through Slate operations instead of replacing editor.children. Unchanged nodes are kept, matched by identity or deep equality; shared nodes move with move_node; and text changes become insert_text/remove_text, so the selection, refs and history stay valid.

    withHistory records each setChildren call as one undo step, separate from typing before and after it.

    BaseEditor now requires setChildren. createEditor supplies it, but editors built by hand and test mocks must add it.

Patch Changes

  • #6320 a21292f Thanks @Marve10s! - Fix Editor.positions and Transforms.move returning points inside consecutive non-selectable elements, or inside a non-selectable first child of a void or read-only element. Deleting beside two non-selectable blocks, or beside a read-only block whose content is all non-selectable, now removes them instead of merging their text.
7 hours ago
slate

slate-history@0.144.0

Minor Changes

  • #6323 075a4a0 Thanks @dylans! - Undo and redo now account for changes applied with HistoryEditor.withoutSaving. Saved steps are moved past each unsaved operation, so inserting a block above earlier typing, or inserting text before it, no longer makes undo remove the wrong characters. Steps whose content was removed, or that can no longer be applied, are dropped instead of changing other content.

  • #6314 64b036b Thanks @dylans! - Add Transforms.setChildren(editor, children) and the overridable editor.setChildren method, which apply an outside document through Slate operations instead of replacing editor.children. Unchanged nodes are kept, matched by identity or deep equality; shared nodes move with move_node; and text changes become insert_text/remove_text, so the selection, refs and history stay valid.

    withHistory records each setChildren call as one undo step, separate from typing before and after it.

    BaseEditor now requires setChildren. createEditor supplies it, but editors built by hand and test mocks must add it.

10 hours ago
rollup

v4.64.9

4.64.9

2026-10-17

Bug Fixes

  • Ensure export live-bindings are properly maintained for aliased exports (#6576)
  • Retain typed array constructor calls if the argument has iteration side effects (#6582)

Pull Requests

  • #6576: Fix live bindings for aliased reassigned exports (@oxura, @lukastaegert)
  • #6582: Retain typed array constructors that iterate their argument (@joshuablac, @lukastaegert)