Releases: TanStack/router
Release list
Release 2026-09-04 17:28
Release 2026-09-04 17:28
Changes
Fix
- solid-router: remove router-owned Loading boundaries, ack startTransition at settlement (#8236) (cc25e82) by @ryansolid
Packages
- @tanstack/solid-router@2.0.0-rc.6
- @tanstack/solid-start@2.0.0-rc.6
- @tanstack/solid-start-client@2.0.0-rc.6
- @tanstack/solid-start-server@2.0.0-rc.6
@tanstack/solid-start@2.0.0-rc.6
@tanstack/solid-start-server@2.0.0-rc.6
@tanstack/solid-start-client@2.0.0-rc.6
@tanstack/solid-router@2.0.0-rc.6
Patch Changes
-
#8236
cc25e82- Remove all router-ownedLoadingboundaries fromMatches,Match, andOutlet, and only install one inAwaitwhen afallbackis provided. Async reads in route components are no longer caught by an invisible router boundary, so Solid's implicit transitions hold the previous view — live and interactive — until the new route settles, then swap atomically.pendingComponentis presented through router pending state (pendingMs/pendingMinMs) as before; loading boundaries are now exclusively user-provided. -
#8236
cc25e82- Resolve therouter.startTransitionrender acknowledgement when the commit's transition actually settles instead of immediately after flush. View transitions,onRendered(scroll restoration), pending minimum-display timing, andstatus: 'idle'now observe the committed swap instead of firing against held DOM; superseded or rolled-back commits acknowledgefalseinstead of leaking. Synchronous navigations still acknowledge within the same flush. -
#8236
cc25e82- Stop force-flushing Solid's scheduler on every router-core batch. Store writes now coalesce through the scheduler (one settle per navigation instead of 3-5 full synchronous flushes) while reads stay synchronously fresh via a shadow value in the store bridge.
Release 2026-09-03 20:13
Release 2026-09-03 20:13
Changes
Features
- solid-router: native SSR match transfer, hydration-claiming boot, provider-owned dispatch (#8213) (b445b89) by @ryansolid
- solid: named single-flight source + loadFlightTarget, the cache-agnostic trigger (#8192) (96f50d9) by @ryansolid
Fix
- examples: migrate remaining legacy createEffect calls to Solid 2.0 two-phase signature (#8223) (c753d0a) by @ryansolid
Refactor
- solid: retire solid-router-ssr-query — native channels carry the Router + Query pairing (#8193) (5a6935f) by @ryansolid
Packages
- @tanstack/solid-router@2.0.0-rc.5
- @tanstack/solid-router-devtools@2.0.0-rc.5
- @tanstack/solid-router-ssr-query@2.0.0-rc.5
- @tanstack/solid-start@2.0.0-rc.5
- @tanstack/solid-start-client@2.0.0-rc.5
- @tanstack/solid-start-server@2.0.0-rc.5
@tanstack/solid-start@2.0.0-rc.5
Patch Changes
-
#8192
96f50d9- Bump solid-js, @solidjs/web, and @solidjs/signals to ^2.0.0-rc.6 across the monorepo. rc.6 provides the named flight-data source API (registerFlightDataSource / two-argument subscribeFlightData) that the Start single-flight integration now requires; @tanstack/solid-start's peer floor moves to rc.6 accordingly. -
#8192
96f50d9- Adopt Solid's multi-source single-flight protocol: the router's flight data (loader/match state, dehydrated data) registers under its own source id (tsr), so other caches' slices — e.g. solid-query'ssq— coexist on the same mutation response instead of competing for a single consumer slot, and a user-suppliedcollectFlightDatahook adds data alongside the router's rather than displacing it. Requires solid-js / @solidjs/web 2.0.0-rc.6+ (named flight-data sources). -
Updated dependencies [
96f50d9,96f50d9,b445b89]:- @tanstack/solid-router@2.0.0-rc.5
- @tanstack/solid-start-client@2.0.0-rc.5
- @tanstack/solid-start-server@2.0.0-rc.5
@tanstack/solid-start-server@2.0.0-rc.5
Patch Changes
-
#8192
96f50d9- Bump solid-js, @solidjs/web, and @solidjs/signals to ^2.0.0-rc.6 across the monorepo. rc.6 provides the named flight-data source API (registerFlightDataSource / two-argument subscribeFlightData) that the Start single-flight integration now requires; @tanstack/solid-start's peer floor moves to rc.6 accordingly. -
Updated dependencies [
96f50d9,96f50d9,b445b89]:- @tanstack/solid-router@2.0.0-rc.5
@tanstack/solid-start-client@2.0.0-rc.5
Patch Changes
-
#8192
96f50d9- Bump solid-js, @solidjs/web, and @solidjs/signals to ^2.0.0-rc.6 across the monorepo. rc.6 provides the named flight-data source API (registerFlightDataSource / two-argument subscribeFlightData) that the Start single-flight integration now requires; @tanstack/solid-start's peer floor moves to rc.6 accordingly. -
Updated dependencies [
96f50d9,96f50d9,b445b89]:- @tanstack/solid-router@2.0.0-rc.5
@tanstack/solid-router@2.0.0-rc.5
Patch Changes
-
#8192
96f50d9- Bump solid-js, @solidjs/web, and @solidjs/signals to ^2.0.0-rc.6 across the monorepo. rc.6 provides the named flight-data source API (registerFlightDataSource / two-argument subscribeFlightData) that the Start single-flight integration now requires; @tanstack/solid-start's peer floor moves to rc.6 accordingly. -
#8192
96f50d9- NewloadFlightTargethelper (exported from@tanstack/solid-router/ssr/server): the router's half of a single-flight refresh. Given the mutation request's target href, it builds a router for that location, loads it, and returns the dehydrated payload for thetsrflight-data slice, so server collectors can refresh router state alongside other caches on the same mutation response. -
#8213
b445b89- Native SSR state transfer for Solid: router match state (loaderData, beforeLoad context, status, errors) now rides Solid's hydration registry undertsr:keys instead of a bespoke bootstrap script, deferredloaderDatapromises stream natively via seroval, the client primes router state from the registry in the Router constructor (before any render context, eliminating boot-time refetches andbootLoad-style workarounds), andRouterProviderowns the server-siderouter.load()dispatch so server entries no longer await it manually.