Update tanstack-router monorepo - #3516
Open
renovate[bot] wants to merge 1 commit into
Open
Conversation
|
renovate
Bot
force-pushed
the
renovate/tanstack-router-monorepo
branch
from
May 5, 2026 22:29
5c1d463 to
96a0199
Compare
renovate
Bot
force-pushed
the
renovate/tanstack-router-monorepo
branch
4 times, most recently
from
May 12, 2026 02:07
20d0823 to
17fd568
Compare
renovate
Bot
force-pushed
the
renovate/tanstack-router-monorepo
branch
12 times, most recently
from
May 21, 2026 22:09
81eb138 to
d76e395
Compare
renovate
Bot
force-pushed
the
renovate/tanstack-router-monorepo
branch
8 times, most recently
from
May 30, 2026 14:10
f9c8039 to
afb526c
Compare
renovate
Bot
force-pushed
the
renovate/tanstack-router-monorepo
branch
2 times, most recently
from
June 2, 2026 21:05
4b1c8a8 to
4a8aa2e
Compare
renovate
Bot
force-pushed
the
renovate/tanstack-router-monorepo
branch
2 times, most recently
from
July 6, 2026 00:47
8c72f2e to
cc0406e
Compare
renovate
Bot
force-pushed
the
renovate/tanstack-router-monorepo
branch
6 times, most recently
from
July 19, 2026 19:06
d11a383 to
4ed7c47
Compare
renovate
Bot
force-pushed
the
renovate/tanstack-router-monorepo
branch
2 times, most recently
from
July 27, 2026 00:35
e5e8e32 to
ba75724
Compare
renovate
Bot
force-pushed
the
renovate/tanstack-router-monorepo
branch
6 times, most recently
from
August 5, 2026 20:04
8101167 to
7c2450f
Compare
renovate
Bot
force-pushed
the
renovate/tanstack-router-monorepo
branch
7 times, most recently
from
August 12, 2026 09:49
03ea47e to
d34b90b
Compare
renovate
Bot
force-pushed
the
renovate/tanstack-router-monorepo
branch
4 times, most recently
from
August 19, 2026 20:11
26412d9 to
31a64ba
Compare
renovate
Bot
force-pushed
the
renovate/tanstack-router-monorepo
branch
2 times, most recently
from
August 24, 2026 02:49
5a0bdbc to
f366ce6
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
1.169.1→1.170.361.166.13→1.167.21.166.12→1.167.21.167.62→1.168.531.166.9→1.167.0Release Notes
TanStack/router (@tanstack/react-router)
v1.170.36Compare Source
Patch Changes
#8390
b747fb8- Keep the Link location cache out of server bundles:buildLocationonly creates, reads and writes it whenisServeris false. Render React Links on the server without the extra prop copies and the forwarded-ref hook. Link SSR rendering is 20-40% faster in the Link benchmarks and the React Start SSR request loop about 7% faster.React
activePropsandinactivePropsnow follow one precedence rule on every link, including links whose destination is blocked for using a disallowed scheme: state props override element props,refand event handlers, whilehref,disabledandtargetstay controlled by the router. Previously a blocked link ignored arefor handler from its inactive props.React
LinkanduseLinkPropssplit router options from element props with one key set on the client and the server. Element props pass through as given: external links forward them verbatim, falsy values included, anduseLinkPropsnow returnschildrenfor router-controlled links as it already did for external ones.#8324
6387d58- Reuse hydration snapshot getters to avoid unnecessary store-instance effect updates when Links and other hydration-aware components rerender.#8318
9b2adaf- Allow active and inactive Link props to override base element props in React and Solid while preserving class/style merging. Keep React'shref,target, anddisabledvalues controlled by routing options. Preserve Vue object and nested-array class bindings, including reactive updates and server rendering, without mutating cached bindings during VNode normalization.#8327
634da91- MakepathParamsAllowedCharactersinitialization-only. Configure it when creating the router; changing allowed characters requires a new router instance. Remove decoder-update bookkeeping and decoder-change checks from route-owned path caches.#8370
e9396c9- Stop exporting the internalisPlainObjectandisPlainArrayhelpers.#8324
6387d58- Avoid a redundant prop copy when rendering native Links while preserving custom-component props and the public hook result.#8252
7e349c3- Reduce the bundle cost of shared Link pathname interpolation while preserving its rendering performance. Reuse one interpolation pass for pathname and optional metadata, keep the bounded cache on the router, and simplify React Link active-state and prop merging.#8370
e9396c9- Reuse built locations for Links whose destination does not depend on the current location.buildLocationkeeps the result per options object when the build never read the current location, and the ReactLinkpasses one stable options object per instance, so navigations resolve unchanged Links with a lookup instead of a full build. The per-route pathname interpolation cache this replaces is removed. Linkparams,searchandactiveOptionsare compared by value on render, so inline object literals with unchanged contents keep reusing the Link's location. Pass a new object to change a destination; like any other React prop, an object mutated in place is not re-read.Updated dependencies [
d76a332,b747fb8,6cfb1e8,700a714,700a714,8fff7fa,f021f6d,ae68535,7e349c3,873c830,7e349c3,634da91,e9396c9,634da91,f151ab0,bc57fa3,9872d2a,d76a332,634da91,634da91,7e349c3,9448caa,e9396c9,700a714,634da91,634da91]:v1.170.35Compare Source
Patch Changes
8c43c71- Upgrade TanStack Store to 0.11 and migrate router subscriptions to useSelector, preserving selector comparisons and Vue subscription cleanup.v1.170.34Compare Source
Patch Changes
#8279
aee42c6- Avoid allocating event-handler arrays and wrapper functions for links without user-supplied event handlers.#8308
9c1871c- Validate navigation and redirect destinations, keep ambiguous relative URLs on the current origin, and constrain prerender requests and output paths. Prevent redirect headers from appearing in serialized server function response bodies.Preserve native form HTTP redirects, route error handling and masks for document redirects, and per-navigation destinations for shared loader redirects. Avoid redundant origin parsing and reduce link styling and server-rendering work. Configured origins must already be normalized.
Keep blocked-link inactive props consistent during React hydration, honor explicit redirect Location headers before checking route options, and refresh Vue link state when destinations become internal. Reuse the protocol-relative URL check while parsing redirect schemes once.
Reduce React link bundle size by sharing pathname comparisons, state-prop selection, and element creation.
Share normalized pathname comparisons in Solid and Vue links to reduce bundle size.
#8311
9aec5a7- React Links resolve state props without temporary class-name arrays or unnecessary style copies.Updated dependencies [
f9836f1,9c1871c,9871c06,0654c0a]:v1.170.33Compare Source
Patch Changes
#8165
2f20c00- Exclude structural descendants below error and not-found boundaries from route lifecycle callbacks. Preserve lifecycle membership through invalidation, hydration, background reloads, and superseded navigation publication.#8209
28a5e45- Preserve falsy thrown values in React and Vue error boundaries. Type React and Vue boundary error components andonCatchcallbacks asunknown. Solid boundary errors remain typed asError; SSR now wraps non-Errorloader errors to match Solid’s native boundary behavior, preserving the original value incause. Router state and loaderonErrorvalues are unchanged.When upgrading React or Vue, narrow boundary errors (for example, with
error instanceof Error) before readingmessageorstack.ErrorComponentProps<TError>remains available for values narrowed to a specific error type. RouteonErrortypes are unchanged.#8161
f0b5eda- Retain successful not-found matches as terminal shared boundaries during client navigation, preserving route context while the destination loads.#8251
0497cae- Use URL.canParse for absolute URL checks in links, navigation, redirects, and build configuration. Preserve a URL constructor fallback for older browsers.#8169
0caf6b9- Fix route-scopeduseMatch,useSearch, anduseParamsAPIs to forward theshouldThrowoption and preserve optional return types whenshouldThrow: false.#8257
cf166d1- Fix repeatedinnerHTMLwrites for unchanged styles and data scripts during React re-renders. This prevents unnecessary CSS parsing and Trusted Types errors during client navigation.Updated dependencies [
edf0e16,2f20c00,28a5e45,08eff50,216c0c4,2f91503,f0b5eda,50eafca,0497cae,ee28348,9035abc,c18e690]:v1.170.32Compare Source
Patch Changes
#8130
cb281d7- preserve context during reloadsUpdated dependencies [
fa65287,cb281d7]:v1.170.31Compare Source
Patch Changes
3e016ac]:v1.170.30Compare Source
Patch Changes
#8084
5d3785d- preserve pending UI across retained routes#8068
f75cada- direct export of CatchBoundary class component, remove function wrapperUpdated dependencies [
5d3785d,63d2cc9]:v1.170.29Compare Source
Patch Changes
#8073
0fdf9ff- inline isCtrlKey inside Link component for byte shavingUpdated dependencies [
4c89b15,cf6ab17,bdaf73a]:v1.170.28Compare Source
Patch Changes
#8055
0c25a7b- Avoid wrapping root components that may render the HTML document in a Suspense boundary during SSR and hydration.#8054
31882c7- Reuse resolved lazy route components when revisiting code-split routes, preventing unnecessary pending UI.Updated dependencies [
31882c7]:v1.170.27Compare Source
Patch Changes
b0817f5- useMatchRoute w/ React Compilerv1.170.26Compare Source
Patch Changes
#8045
f500760- Warn when an Outlet is rendered inside a pending, error, or not-found component.#8043
1aafca9- remove the undocumented LinkisTransitioningstate anddata-transitioningattribute#8044
aa10b65- ApplypreloadDelayto viewport link preloading and cancel pending preloads when links leave the viewport.Updated dependencies [
7e93431]:v1.170.25Compare Source
Patch Changes
51138a8]:v1.170.24Compare Source
Patch Changes
44a8c3e,5253e70]:v1.170.23Compare Source
Patch Changes
95dec51- bail out ofLinkre-renders when the resolved href and active state are unchangedv1.170.22Compare Source
Patch Changes
#7992
ea3a665- retain mounted UI during revalidationUpdated dependencies [
ea3a665]:v1.170.21Compare Source
Patch Changes
#7961
697ebb6- Prevent a blank frame before zero-delay initial pending UI by using acomponent-scoped React transition for match publication. Pending timing,
boundary selection, and rendered matches continue to come from the router
core.
#7970
2435885- createFileRoute does not rely on FileRoute class#7971
86bf510- clean intersection observer options in link component#7967
6aefb33- Preserve path params in their raw string form while matching routes so structured values returned byparams.parseproduce stable match IDs and do not reuse stale loader data.RouterCore.getMatchedRoutes()now returns[matchedRoutes, rawParams, foundRoute]instead of an object.Updated dependencies [
84db4a8,9cac62a,6aefb33]:v1.170.20Compare Source
Patch Changes
b2908c6]:v1.170.19Compare Source
Patch Changes
#7805
45c4ad8- Rewrite match loading around a lane-based scheduler that tracks each navigation, preload, and background reload as an ordered unit of work. This fixes pending/redirect/retry state leaking between overlapping navigations, restores correct SSR status codes for redirects, errors, and not-found responses, and closes hydration gaps where the client re-ran work the server had already completed.headers()now only runs on the server, matching the documented behavior — it is no longer invoked during client-side asset projection.gcTimeandpreloadGcTimenow match the existing runtime default of 5 minutes (300_000).Removed / changed exported internals
RouterStateno longer includesloadedAt,isTransitioning,statusCode, orredirect. Usematch.updatedAtin place ofloadedAt; subscribe torouter.state.status/router.state.isLoadingin place ofisTransitioning; server response status and redirect handling are now internal to the server loader and are no longer exposed onrouter.state.RouteMatch.fetchCounthas been removed, with no replacement — it was purely informational.RouteMatch.statusno longer includes'redirected'(it remains'pending' | 'success' | 'error' | 'notFound') — redirected matches are dropped from the match list instead of being rendered.RouteMatch.globalNotFoundhas been renamed and privatized to the internal_notFoundfield. Usematch.status === 'notFound'instead.Matchcomponents now acceptrouteIdinstead ofmatchId.RouterStoresadapter contract now uses route-keyed presentation stores:matchesIdis replaced byids,matchStoresbybyRoute, andgetRouteMatchStore()bygetMatchStore(). The separateloadedAt,isLoading,isTransitioning,statusCode, andredirectstores have been removed, along with the pending/cache stores and their setters.StoreConfig.inithas also been removed. Read application-facing state fromrouter.state; preload and cache coordination are now internal.RouterCoremembersgetMatch(),updateMatch(),cancelMatch(), andcancelMatches()— read matches fromrouter.state.matches(e.g.router.state.matches.find((m) => m.id === id)); there is no replacement for mutating or cancelling an individual in-flight match from outside the router.RouterCore.hasNotFoundMatch()— userouter.state.matches.some((m) => m.status === 'notFound').RouterCore.looseRoutesById— useroutesById.RouterCore.isPrerendering(),RouterCore.isViewTransitionTypesSupported, andRouterCore.viewTransitionPromise, with no replacement.RouterCore.getParsedLocationHref()andRouterCore.clearExpiredCache(), with no replacement — expired cache entries are now reconciled automatically as part of match commit.RouterCore.latestLoadPromiseandRouterCore.beforeLoad(), with no replacement.RouterCore.commitLocationPromiseandRouterCore.pendingBuiltLocationhave been replaced by the internal_commitPromiseand_pendingLocationfields.GetMatchFnandUpdateMatchFntypes, along with the methods they typed.getMatchedRoutes()export from@tanstack/router-core— use therouter.getMatchedRoutes()instance method instead.RouterCore.loadRouteChunk()no longer accepts an array of component types as its second argument. One-argument usage is unchanged; the optional second argument is now'errorComponent','notFoundComponent', orfalsefor internal boundary loading.Redirect.redirectHandled, which was internal redirect bookkeeping.MatchRoutesOpts.preloadandMatchRoutesOpts.desthave been removed.StartTransitionFnis now(fn, expected) => Promise<boolean>(previously(fn) => void). This only affects custom framework adapters that implementstartTransition.Updated dependencies [
45c4ad8]:v1.170.18Compare Source
Patch Changes
e2dd204]:v1.170.17Compare Source
Patch Changes
9809a06]:v1.170.16Compare Source
Patch Changes
#7595
52db703- Perf improvement of useMatch and derived hooks when navigating away from previous match#7575
4a93cff- useMatches can skip useRef for structural sharing during SSR#7600
f046b06- Reduce Match rerenders during navigations (PR #7596)#7577
689d88e- Reduce bundle size by sharing structuralSharing selector logic#7627
689c5ab- Silence AbortError in renderRouterToStream, this is normal operationv1.170.15Compare Source
Patch Changes
776d8ef]:v1.170.14Compare Source
Patch Changes
df1076c]:v1.170.13Compare Source
Patch Changes
#7555
ac10815- Fix search middleware composition soretainSearchParamsdoes not restore search params that a downstreamstripSearchParamsremoved.Updated dependencies [
ac10815]:v1.170.12Compare Source
Patch Changes
2cca73c,7a83e67,76b3d3b]:v1.170.11Compare Source
Patch Changes
b4cd5af]:v1.170.10Compare Source
Patch Changes
#7505
2f53749- Preserve primitive values thrown from beforeLoad error handling.Updated dependencies [
2f53749]:v1.170.9Compare Source
Patch Changes
#7497
d1997b6- fix streamingUpdated dependencies [
d1997b6]:v1.170.8Compare Source
Patch Changes
Add support for Rsbuild client output formats, including module output by default and IIFE output for classic script environments. (#7477)
Client entry scripts and preloads are now represented as root route manifest assets, script preloads follow the manifest script format, and script asset cross-origin configuration uses the
scriptkey. ThetransformAssetsscript callback context now exposes onlykind: 'script'andurl, keeping script format handling internal to manifest rendering.Updated dependencies [
51a97a1]:v1.170.7Compare Source
Patch Changes
5268ba4]:v1.170.6Compare Source
Patch Changes
Fix hash navigation being overridden by stale scroll restoration entries. (#7447)
Updated dependencies [
0300f87,0300f87]:v1.170.5Compare Source
Patch Changes
5fa9e55]:v1.170.4Compare Source
Patch Changes
b60eb36]:v1.170.3Compare Source
Patch Changes
d9cf933]:v1.170.2Compare Source
Patch Changes
d533f87]:v1.170.1Compare Source
Patch Changes
2387a2e]:v1.170.0Compare Source
Minor Changes
Patch Changes
b1c061a,201e150]:v1.169.2Compare Source
Patch Changes
35e88f0]:TanStack/router (@tanstack/react-router-devtools)
v1.167.2Compare Source
Patch Changes
d76a332,b747fb8,6cfb1e8,700a714,700a714,6387d58,7e349c3,9b2adaf,873c830,7e349c3,634da91,e9396c9,634da91,f151ab0,bc57fa3,6387d58,9872d2a,d76a332,634da91,634da91,7e349c3,9448caa,e9396c9,700a714,634da91,634da91]:v1.167.1Compare Source
Patch Changes
45c4ad8]:v1.167.0Compare Source
Minor Changes
Patch Changes
b1c061a,201e150]:TanStack/router (@tanstack/react-router-ssr-query)
v1.167.2Compare Source
Patch Changes
79e3533]:v1.167.1Compare Source
Patch Changes
d1997b6]:v1.167.0Compare Source
Minor Changes
Patch Changes
201e150]:TanStack/router (@tanstack/react-start)
v1.168.53Compare Source
Patch Changes
b747fb8,6387d58,9b2adaf,634da91,e9396c9,6387d58,9872d2a,7e349c3,e9396c9]:v1.168.52Compare Source
Patch Changes
8c43c71,d914b08]:Configuration
📅 Schedule: (UTC)
* 0-3 * * 1)🚦 Automerge: Enabled.
♻ Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.
👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.
This PR was generated by Mend Renovate. View the repository job log.