2 hours ago
zustand

v5.0.16

This version has some improvements thanks to contributors: @MarshallOfSound @koreahghg @chungyo @Godsdar

What's Changed

Full Changelog: https://github.com/pmndrs/zustand/compare/v5.0.15...v5.0.16

3 hours ago
slate

slate-dom@0.147.3

Patch Changes

  • #6346 b34e312 Thanks @dylans! - On Android, toSlatePoint no longer throws TypeError reading hasAttribute of null when the DOM point is in a text node the keyboard has detached. It returns null with suppressThrow, and otherwise throws the usual "Cannot resolve a Slate point" error. Seen with Firefox for Android while accepting a keyboard suggestion in a new paragraph (#6343).
3 hours ago
slate

slate-react@0.147.3

Patch Changes

  • #6346 b34e312 Thanks @dylans! - Firefox for Android no longer splits a word across blocks when a keyboard suggestion is accepted in an empty paragraph. Firefox commits the word as one insertText per character at offsets it computed first; once the first character re-rendered the empty leaf, the rest of the word went into the next block. A character that arrives within 25 ms of the previous one and targets somewhere other than the editor's selection is now inserted at the selection instead (#6343).
5 hours ago
router

Release 2026-10-22 02:03

Release 2026-10-22 02:03

Changes

Features

  • solid-router: observe-tier attribution parity with @solidjs/router (solid-js rc.13) (#8574) (10152238ab) by @ryansolid

Fix

  • solid-router: keep route-scoped accessors readable after navigation teardown (#7607) (81ee38eee5) by @brenelz

Refactor

  • solid-router: move off sharedConfig onto Solid 2.0 public hydration APIs (solid-js rc.13) (#8569) (665e9d86a4) by @ryansolid

Chore

  • solid: bump to solid-js 2.0.0-rc.16 and @solidjs/vite-plugin 3.0.0-next.51 (#8751) (acd08ef685) by @brenelz
  • solid: bump to solid-js 2.0.0-rc.9 and @solidjs/vite-plugin 3.0.0-next.44 (#8467) (0dc3a9e3a5) by @brenelz

Packages

  • @tanstack/solid-router@2.0.0-rc.9
  • @tanstack/solid-router-devtools@2.0.0-rc.7
  • @tanstack/solid-router-ssr-query@2.0.0-rc.7
  • @tanstack/solid-start@2.0.0-rc.9
  • @tanstack/solid-start-client@2.0.0-rc.9
  • @tanstack/solid-start-server@2.0.0-rc.9
5 hours ago
router

@tanstack/solid-start-server@2.0.0-rc.9

Patch Changes

  • #8751 acd08ef - Bump solid-js and @solidjs/web to ^2.0.0-rc.16 and @solidjs/vite-plugin to ^3.0.0-next.51 across the monorepo (with @solidjs/babel-plugin 2.0.0-rc.16 for the webpack path and the @rsbuild/plugin-solid compiler overrides), and raise the Solid packages' solid-js / @solidjs/web peer floors to 2.0.0-rc.16. @solidjs/vite-plugin 3.0.0-next.51 peer-requires rc.16 and no longer adds a $$moduleUrl export to SSR entry chunks, which Cloudflare Workers rejected (solidjs/solid-vite-plugin#423).

    Bump @tanstack/solid-query to ^6.0.0-rc.5 and move @tanstack/solid-query-devtools off its exact 6.0.0-rc.1 pin to ^6.0.0-rc.5; every solid-js export the rc.5 devtools import exists in rc.16.

    <Await> no longer renders its children with undefined data while hydrating a streamed deferred promise. seroval has already settled the promise by then, but defer() only records the result in a .then callback, so <Await> now reads seroval's synchronous status markers when the deferred state is still pending.

  • #8467 0dc3a9e - Bump solid-js and @solidjs/web to ^2.0.0-rc.9 and @solidjs/vite-plugin to ^3.0.0-next.44 across the monorepo (with @solidjs/babel-plugin 2.0.0-rc.9 for the webpack path). @solidjs/vite-plugin 3.0.0-next.44 peer-requires solid-js ^2.0.0-rc.9 and ships the rc.9 compiler.

    rc.9 changed serverFunctionUrl to describe a GET() reference's own call (serverFunctionUrl(fn, ...args)) and moved the id-based form-post address to serverFunctionActionUrl / parseServerFunctionActionUrl (solidjs/solid#3440); @tanstack/solid-start's server-function handler now uses those.

    Rsbuild apps: @rsbuild/plugin-solid@2.0.0-rc.0 hard-pins the rc.6 compiler, which emits the old delegated-event key (el.$$click) that the rc.9 runtime no longer reads (_$$click), so delegated handlers never fire. Until the plugin ships an rc.9-based release, override its @solidjs/compiler and @solidjs/babel-plugin to 2.0.0-rc.9 (the monorepo does this in pnpm-workspace.yaml).

  • #8569 665e9d8 - Bump solid-js and @solidjs/web to ^2.0.0-rc.13 (and @solidjs/vite-plugin to ^3.0.0-next.46), and raise the Solid peer floors to 2.0.0-rc.13.

    @tanstack/solid-router moves off Solid's internal sharedConfig and the raw _$HY registry onto the public hydration API rc.13 ships (solidjs/solid#3718): useHydrated reads isHydrating(); the native SSR match transfer writes through getHydrationWriter() gated on isHydratable(), so it now respects <NoHydration>; and the client boot takes each match's entry with takeHydrationValue().

  • Updated dependencies [acd08ef, 0dc3a9e, 1015223, 1015223, 1015223, 1015223, 1015223, 1015223, 1015223, 1015223, 665e9d8, 81ee38e]:

    • @tanstack/solid-router@2.0.0-rc.9
5 hours ago
router

@tanstack/solid-start-client@2.0.0-rc.9

Patch Changes

  • #8751 acd08ef - Bump solid-js and @solidjs/web to ^2.0.0-rc.16 and @solidjs/vite-plugin to ^3.0.0-next.51 across the monorepo (with @solidjs/babel-plugin 2.0.0-rc.16 for the webpack path and the @rsbuild/plugin-solid compiler overrides), and raise the Solid packages' solid-js / @solidjs/web peer floors to 2.0.0-rc.16. @solidjs/vite-plugin 3.0.0-next.51 peer-requires rc.16 and no longer adds a $$moduleUrl export to SSR entry chunks, which Cloudflare Workers rejected (solidjs/solid-vite-plugin#423).

    Bump @tanstack/solid-query to ^6.0.0-rc.5 and move @tanstack/solid-query-devtools off its exact 6.0.0-rc.1 pin to ^6.0.0-rc.5; every solid-js export the rc.5 devtools import exists in rc.16.

    <Await> no longer renders its children with undefined data while hydrating a streamed deferred promise. seroval has already settled the promise by then, but defer() only records the result in a .then callback, so <Await> now reads seroval's synchronous status markers when the deferred state is still pending.

  • #8467 0dc3a9e - Bump solid-js and @solidjs/web to ^2.0.0-rc.9 and @solidjs/vite-plugin to ^3.0.0-next.44 across the monorepo (with @solidjs/babel-plugin 2.0.0-rc.9 for the webpack path). @solidjs/vite-plugin 3.0.0-next.44 peer-requires solid-js ^2.0.0-rc.9 and ships the rc.9 compiler.

    rc.9 changed serverFunctionUrl to describe a GET() reference's own call (serverFunctionUrl(fn, ...args)) and moved the id-based form-post address to serverFunctionActionUrl / parseServerFunctionActionUrl (solidjs/solid#3440); @tanstack/solid-start's server-function handler now uses those.

    Rsbuild apps: @rsbuild/plugin-solid@2.0.0-rc.0 hard-pins the rc.6 compiler, which emits the old delegated-event key (el.$$click) that the rc.9 runtime no longer reads (_$$click), so delegated handlers never fire. Until the plugin ships an rc.9-based release, override its @solidjs/compiler and @solidjs/babel-plugin to 2.0.0-rc.9 (the monorepo does this in pnpm-workspace.yaml).

  • #8569 665e9d8 - Bump solid-js and @solidjs/web to ^2.0.0-rc.13 (and @solidjs/vite-plugin to ^3.0.0-next.46), and raise the Solid peer floors to 2.0.0-rc.13.

    @tanstack/solid-router moves off Solid's internal sharedConfig and the raw _$HY registry onto the public hydration API rc.13 ships (solidjs/solid#3718): useHydrated reads isHydrating(); the native SSR match transfer writes through getHydrationWriter() gated on isHydratable(), so it now respects <NoHydration>; and the client boot takes each match's entry with takeHydrationValue().

  • Updated dependencies [acd08ef, 0dc3a9e, 1015223, 1015223, 1015223, 1015223, 1015223, 1015223, 1015223, 1015223, 665e9d8, 81ee38e]:

    • @tanstack/solid-router@2.0.0-rc.9
5 hours ago
router

@tanstack/solid-router-devtools@2.0.0-rc.7

Patch Changes

  • #8751 acd08ef - Bump solid-js and @solidjs/web to ^2.0.0-rc.16 and @solidjs/vite-plugin to ^3.0.0-next.51 across the monorepo (with @solidjs/babel-plugin 2.0.0-rc.16 for the webpack path and the @rsbuild/plugin-solid compiler overrides), and raise the Solid packages' solid-js / @solidjs/web peer floors to 2.0.0-rc.16. @solidjs/vite-plugin 3.0.0-next.51 peer-requires rc.16 and no longer adds a $$moduleUrl export to SSR entry chunks, which Cloudflare Workers rejected (solidjs/solid-vite-plugin#423).

    Bump @tanstack/solid-query to ^6.0.0-rc.5 and move @tanstack/solid-query-devtools off its exact 6.0.0-rc.1 pin to ^6.0.0-rc.5; every solid-js export the rc.5 devtools import exists in rc.16.

    <Await> no longer renders its children with undefined data while hydrating a streamed deferred promise. seroval has already settled the promise by then, but defer() only records the result in a .then callback, so <Await> now reads seroval's synchronous status markers when the deferred state is still pending.

  • #8467 0dc3a9e - Bump solid-js and @solidjs/web to ^2.0.0-rc.9 and @solidjs/vite-plugin to ^3.0.0-next.44 across the monorepo (with @solidjs/babel-plugin 2.0.0-rc.9 for the webpack path). @solidjs/vite-plugin 3.0.0-next.44 peer-requires solid-js ^2.0.0-rc.9 and ships the rc.9 compiler.

    rc.9 changed serverFunctionUrl to describe a GET() reference's own call (serverFunctionUrl(fn, ...args)) and moved the id-based form-post address to serverFunctionActionUrl / parseServerFunctionActionUrl (solidjs/solid#3440); @tanstack/solid-start's server-function handler now uses those.

    Rsbuild apps: @rsbuild/plugin-solid@2.0.0-rc.0 hard-pins the rc.6 compiler, which emits the old delegated-event key (el.$$click) that the rc.9 runtime no longer reads (_$$click), so delegated handlers never fire. Until the plugin ships an rc.9-based release, override its @solidjs/compiler and @solidjs/babel-plugin to 2.0.0-rc.9 (the monorepo does this in pnpm-workspace.yaml).

  • #8569 665e9d8 - Bump solid-js and @solidjs/web to ^2.0.0-rc.13 (and @solidjs/vite-plugin to ^3.0.0-next.46), and raise the Solid peer floors to 2.0.0-rc.13.

    @tanstack/solid-router moves off Solid's internal sharedConfig and the raw _$HY registry onto the public hydration API rc.13 ships (solidjs/solid#3718): useHydrated reads isHydrating(); the native SSR match transfer writes through getHydrationWriter() gated on isHydratable(), so it now respects <NoHydration>; and the client boot takes each match's entry with takeHydrationValue().

  • Updated dependencies [acd08ef, 0dc3a9e, 1015223, 1015223, 1015223, 1015223, 1015223, 1015223, 1015223, 1015223, 665e9d8, 81ee38e]:

    • @tanstack/solid-router@2.0.0-rc.9
5 hours ago
router

@tanstack/solid-router-ssr-query@2.0.0-rc.7

Patch Changes

  • #8751 acd08ef - Bump solid-js and @solidjs/web to ^2.0.0-rc.16 and @solidjs/vite-plugin to ^3.0.0-next.51 across the monorepo (with @solidjs/babel-plugin 2.0.0-rc.16 for the webpack path and the @rsbuild/plugin-solid compiler overrides), and raise the Solid packages' solid-js / @solidjs/web peer floors to 2.0.0-rc.16. @solidjs/vite-plugin 3.0.0-next.51 peer-requires rc.16 and no longer adds a $$moduleUrl export to SSR entry chunks, which Cloudflare Workers rejected (solidjs/solid-vite-plugin#423).

    Bump @tanstack/solid-query to ^6.0.0-rc.5 and move @tanstack/solid-query-devtools off its exact 6.0.0-rc.1 pin to ^6.0.0-rc.5; every solid-js export the rc.5 devtools import exists in rc.16.

    <Await> no longer renders its children with undefined data while hydrating a streamed deferred promise. seroval has already settled the promise by then, but defer() only records the result in a .then callback, so <Await> now reads seroval's synchronous status markers when the deferred state is still pending.

  • #8467 0dc3a9e - Bump solid-js and @solidjs/web to ^2.0.0-rc.9 and @solidjs/vite-plugin to ^3.0.0-next.44 across the monorepo (with @solidjs/babel-plugin 2.0.0-rc.9 for the webpack path). @solidjs/vite-plugin 3.0.0-next.44 peer-requires solid-js ^2.0.0-rc.9 and ships the rc.9 compiler.

    rc.9 changed serverFunctionUrl to describe a GET() reference's own call (serverFunctionUrl(fn, ...args)) and moved the id-based form-post address to serverFunctionActionUrl / parseServerFunctionActionUrl (solidjs/solid#3440); @tanstack/solid-start's server-function handler now uses those.

    Rsbuild apps: @rsbuild/plugin-solid@2.0.0-rc.0 hard-pins the rc.6 compiler, which emits the old delegated-event key (el.$$click) that the rc.9 runtime no longer reads (_$$click), so delegated handlers never fire. Until the plugin ships an rc.9-based release, override its @solidjs/compiler and @solidjs/babel-plugin to 2.0.0-rc.9 (the monorepo does this in pnpm-workspace.yaml).

  • #8569 665e9d8 - Bump solid-js and @solidjs/web to ^2.0.0-rc.13 (and @solidjs/vite-plugin to ^3.0.0-next.46), and raise the Solid peer floors to 2.0.0-rc.13.

    @tanstack/solid-router moves off Solid's internal sharedConfig and the raw _$HY registry onto the public hydration API rc.13 ships (solidjs/solid#3718): useHydrated reads isHydrating(); the native SSR match transfer writes through getHydrationWriter() gated on isHydratable(), so it now respects <NoHydration>; and the client boot takes each match's entry with takeHydrationValue().

5 hours ago
router

@tanstack/solid-router@2.0.0-rc.9

Patch Changes

  • #8751 acd08ef - Bump solid-js and @solidjs/web to ^2.0.0-rc.16 and @solidjs/vite-plugin to ^3.0.0-next.51 across the monorepo (with @solidjs/babel-plugin 2.0.0-rc.16 for the webpack path and the @rsbuild/plugin-solid compiler overrides), and raise the Solid packages' solid-js / @solidjs/web peer floors to 2.0.0-rc.16. @solidjs/vite-plugin 3.0.0-next.51 peer-requires rc.16 and no longer adds a $$moduleUrl export to SSR entry chunks, which Cloudflare Workers rejected (solidjs/solid-vite-plugin#423).

    Bump @tanstack/solid-query to ^6.0.0-rc.5 and move @tanstack/solid-query-devtools off its exact 6.0.0-rc.1 pin to ^6.0.0-rc.5; every solid-js export the rc.5 devtools import exists in rc.16.

    <Await> no longer renders its children with undefined data while hydrating a streamed deferred promise. seroval has already settled the promise by then, but defer() only records the result in a .then callback, so <Await> now reads seroval's synchronous status markers when the deferred state is still pending.

  • #8467 0dc3a9e - Bump solid-js and @solidjs/web to ^2.0.0-rc.9 and @solidjs/vite-plugin to ^3.0.0-next.44 across the monorepo (with @solidjs/babel-plugin 2.0.0-rc.9 for the webpack path). @solidjs/vite-plugin 3.0.0-next.44 peer-requires solid-js ^2.0.0-rc.9 and ships the rc.9 compiler.

    rc.9 changed serverFunctionUrl to describe a GET() reference's own call (serverFunctionUrl(fn, ...args)) and moved the id-based form-post address to serverFunctionActionUrl / parseServerFunctionActionUrl (solidjs/solid#3440); @tanstack/solid-start's server-function handler now uses those.

    Rsbuild apps: @rsbuild/plugin-solid@2.0.0-rc.0 hard-pins the rc.6 compiler, which emits the old delegated-event key (el.$$click) that the rc.9 runtime no longer reads (_$$click), so delegated handlers never fire. Until the plugin ships an rc.9-based release, override its @solidjs/compiler and @solidjs/babel-plugin to 2.0.0-rc.9 (the monorepo does this in pnpm-workspace.yaml).

  • #8574 1015223 - Observe tier (Solid's dev and observe builds only): a navigation that passes a useBlocker keeps the interaction that requested it and is dated from the request, though the history awaits the blocker before it changes; one the blocker holds until proceed() joins the interaction that proceeds and is dated from it, as @solidjs/router's retry() makes it. The router notes the request at commitLocation for the history change to take. A navigation the blocker stops, or a request that changes no history (the same location reloading), leaves nothing noted behind. Nothing changes in production, where OBSERVE is undefined.

  • #8574 1015223 - Observe tier (Solid's dev and observe builds only): a redirect while the first page loads — a client-rendered arrival whose beforeLoad or loader throws redirect() — is recorded as a navigation from the arrival to where the redirect sent it, after the initial record that names the arrival, as @solidjs/router records one. It had no record: nothing was shown yet to navigate from. Nothing changes in production, where OBSERVE is undefined.

  • #8574 1015223 - Observe tier (Solid's dev and observe builds only): the router declares the route the document arrived on, with the same OBSERVE.attribution.withOrigin call it makes for every navigation (initial: true on the ref), around the work that establishes its initial match — the Transitioner's on the client, RouterProvider's load on the server. On the client this is the first "navigation" record (initial: true, at the document's navigation start, no write to wait for), kept out of feedback().navigations; on the server the same declaration names the request's "render" record (RenderEvent.route: the matched route's fullPath, the path and search, the params), read when the render settles, so a render whose provider ran the load names the location it resolved. A consumer naming page loads and requests by route (/users/$id rather than one name per user) had this for every navigation but the first; now it has the first too.

    The Transitioner committing the canonical form of the arrival location (search defaults, trailing slash) is part of the arrival, as in @solidjs/router: the initial record names the canonical location, a router loaded before it mounted no longer records the commit as a navigation, and the next navigation is dated from its own request rather than from that commit. Nothing changes in production, where OBSERVE is undefined.

  • #8574 1015223 - Observe tier (Solid's dev and observe builds only): a navigation's record joins the interaction that requested it — the <Link> click, or any handler that called navigate() — though the match publish it wraps runs after the loaders, long after the handler returned. The Transitioner captures OBSERVE.attribution.currentOrigin() with the request time when the history changes and hands it back as NavigationRef.interaction (solid-js 2.0.0-rc.12), so the record, and every hold and re-run the publish causes, carries the click. A navigation requested outside any interaction declares none. Nothing changes in production, where OBSERVE is undefined.

  • #8574 1015223 - Observe tier (Solid's dev and observe builds only): a navigation's to and from, the initial record's to, and a server render's RenderEvent.route.to are the location's path, search and hash (/users/42?tab=posts#bio) rather than its pathname, as @solidjs/router gives them — its href, in the router's own path space, the one name is in (before a basepath or rewrite). A request carries no hash, so a render's to is the path and search. The name stays the route pattern the pathname matches. Nothing changes in production, where OBSERVE is undefined.

  • #8574 1015223 - Observe tier (Solid's dev and observe builds only): a not-found under a route with a loader (/users/2/nope under /users/$id) is recorded, named by its pathname, as @solidjs/router records an unmatched path. The route's match sits below the not-found boundary and never loads, so it stays pending in the publish that lands, which was mistaken for the pending offer and published undeclared: the navigation had no record. Only a match pending at or above the not-found boundary marks the pending offer now. Nothing changes in production, where OBSERVE is undefined.

  • #8574 1015223 - Observe tier (Solid's dev and observe builds only): a navigation sent elsewhere while it is pending — a beforeLoad or loader redirecting it, or another navigation requested before it published — is one record with its hops, as @solidjs/router declares one: the record keeps the first request's time and interaction, names the destination that showed, and lists the destinations it abandoned in redirects (each with its name, to, params, and when it was sent on). The router declares a redirect: n ref per hop around the publish that lands. The browser moving (back, forward) while a navigation is pending supersedes it instead: a record of its own, from the location shown. Before, the record named only the final destination and kept no hops. Nothing changes in production, where OBSERVE is undefined.

  • #8574 1015223 - Observe tier (Solid's dev and observe builds only): a navigation's record names a not-found by its pathname instead of the route above it, so /nope no longer files under / beside the home page, and its params are the strings the path bound rather than the values params.parse returned, as Solid's NavigationRef declares them. Nothing changes in production, where OBSERVE is undefined.

  • #8569 665e9d8 - Bump solid-js and @solidjs/web to ^2.0.0-rc.13 (and @solidjs/vite-plugin to ^3.0.0-next.46), and raise the Solid peer floors to 2.0.0-rc.13.

    @tanstack/solid-router moves off Solid's internal sharedConfig and the raw _$HY registry onto the public hydration API rc.13 ships (solidjs/solid#3718): useHydrated reads isHydrating(); the native SSR match transfer writes through getHydrationWriter() gated on isHydratable(), so it now respects <NoHydration>; and the client boot takes each match's entry with takeHydrationValue().

  • #7607 81ee38e - fix: keep route-scoped accessors (e.g. Route.useParams(), Route.useSearch()) readable when read from async work after navigating away. Once the owning scope is disposed, the accessor returns its last known value instead of undefined for the now-missing match.

5 hours ago
router

@tanstack/solid-start@2.0.0-rc.9

Patch Changes

  • #8751 acd08ef - Bump solid-js and @solidjs/web to ^2.0.0-rc.16 and @solidjs/vite-plugin to ^3.0.0-next.51 across the monorepo (with @solidjs/babel-plugin 2.0.0-rc.16 for the webpack path and the @rsbuild/plugin-solid compiler overrides), and raise the Solid packages' solid-js / @solidjs/web peer floors to 2.0.0-rc.16. @solidjs/vite-plugin 3.0.0-next.51 peer-requires rc.16 and no longer adds a $$moduleUrl export to SSR entry chunks, which Cloudflare Workers rejected (solidjs/solid-vite-plugin#423).

    Bump @tanstack/solid-query to ^6.0.0-rc.5 and move @tanstack/solid-query-devtools off its exact 6.0.0-rc.1 pin to ^6.0.0-rc.5; every solid-js export the rc.5 devtools import exists in rc.16.

    <Await> no longer renders its children with undefined data while hydrating a streamed deferred promise. seroval has already settled the promise by then, but defer() only records the result in a .then callback, so <Await> now reads seroval's synchronous status markers when the deferred state is still pending.

  • #8467 0dc3a9e - Bump solid-js and @solidjs/web to ^2.0.0-rc.9 and @solidjs/vite-plugin to ^3.0.0-next.44 across the monorepo (with @solidjs/babel-plugin 2.0.0-rc.9 for the webpack path). @solidjs/vite-plugin 3.0.0-next.44 peer-requires solid-js ^2.0.0-rc.9 and ships the rc.9 compiler.

    rc.9 changed serverFunctionUrl to describe a GET() reference's own call (serverFunctionUrl(fn, ...args)) and moved the id-based form-post address to serverFunctionActionUrl / parseServerFunctionActionUrl (solidjs/solid#3440); @tanstack/solid-start's server-function handler now uses those.

    Rsbuild apps: @rsbuild/plugin-solid@2.0.0-rc.0 hard-pins the rc.6 compiler, which emits the old delegated-event key (el.$$click) that the rc.9 runtime no longer reads (_$$click), so delegated handlers never fire. Until the plugin ships an rc.9-based release, override its @solidjs/compiler and @solidjs/babel-plugin to 2.0.0-rc.9 (the monorepo does this in pnpm-workspace.yaml).

  • #8569 665e9d8 - Bump solid-js and @solidjs/web to ^2.0.0-rc.13 (and @solidjs/vite-plugin to ^3.0.0-next.46), and raise the Solid peer floors to 2.0.0-rc.13.

    @tanstack/solid-router moves off Solid's internal sharedConfig and the raw _$HY registry onto the public hydration API rc.13 ships (solidjs/solid#3718): useHydrated reads isHydrating(); the native SSR match transfer writes through getHydrationWriter() gated on isHydratable(), so it now respects <NoHydration>; and the client boot takes each match's entry with takeHydrationValue().

  • Updated dependencies [acd08ef, 0dc3a9e, 1015223, 1015223, 1015223, 1015223, 1015223, 1015223, 1015223, 1015223, 665e9d8, 81ee38e]:

    • @tanstack/solid-router@2.0.0-rc.9
    • @tanstack/solid-start-client@2.0.0-rc.9
    • @tanstack/solid-start-server@2.0.0-rc.9