npm @tanstack/react-router 1.121.0-alpha.28

24 days ago

Version 1.121.0-alpha.28 - 8/12/25, 5:49 PM

Changes

Feat

  • restructure query-integration (#4643) (90adfe9) by Manuel Schiller
  • react-router: add disableGlobalCatchBoundary option (#4765) (e831993) by Jaen
  • pass in router instance in client function middleware (#4723) (f9dfb31) by Manuel Schiller
  • optional path params (#4597) (a2424c0) by Tanner Linsley
  • use seroval for SSR (#4600) (6475b35) by Manuel Schiller
  • custom vite react/solid plugins (#4609) (d4ddeb5) by Manuel Schiller
  • ssr setting per route (#4565) (d728d69) by Manuel Schiller
  • Add style to HeadContent (#4559) (ceec4f2) by Felipe Stanzani
  • add forcePending to router.invalidate() (#4545) (8276c5f) by Manuel Schiller
  • add optional shellComponent to root route (#4528) (eb28ad0) by Manuel Schiller
  • Merge alpha to main (#4365) (8b5accb) by Manuel Schiller
  • start-plugin-core: load all environment variables for dev (#4262) (a02afb6) by Sean Cassiere
  • server-functions-plugin: make the manifest output path configurable (#4232) (baf6a52) by Sean Cassiere
  • start-server-core: resolve relative requests to the same origin (#4183) (f430560) by Sean Cassiere
  • shell mode (273c4c1) by Tanner Linsley
  • react-start: Wrap default client entry with <StrictMode> (#4159) (4e0638b) by @ryanagillie
  • router-core: type level parsing of path params (#4144) (9f63d40) by Christopher Horobin

Fix

  • RELEASE_ALL (#4896) (d063dd6) by Manuel Schiller
  • publish package (#4895) (36f3253) by Manuel Schiller
  • do not pre-decodeURI before passing to createMemoryHistory (#4893) (e755316) by Tanner Linsley
  • router-generator: use the tmpDir when genearting a temporary filename (#4882) (2cfadef) by Ali Idrizi
  • do not create temp subdirectories for router generator (#4860) (85cba55) by Manuel Schiller
  • account for exports being a string (#4859) (6e191fd) by Manuel Schiller
  • do not add ESM deps to optimizeDeps without a "." export (#4855) (db2b2c4) by Manuel Schiller
  • router-core: processRouteTree orders routes w/ prefix / suffix based on their lengths (#4850) (c1f6dfe) by @Sheraff
  • correctly match routes with optional path params followed by req… (#4838) (ce9e373) by Manuel Schiller
  • dev server (#4820) (f0def50) by Manuel Schiller
  • crawl deps to find packages which have start as peer dep (#4821) (81da91c) by Manuel Schiller
  • spa mode with prerendering (#4811) (d09f5da) by Manuel Schiller
  • prerending with SPA mode enabled renders all routes (#4800) (c8be12c) by Manuel Schiller
  • scroll to top with hash history (#4795) (ec80698) by Manuel Schiller
  • pin all workspace dependencies and devDependencies (#4771) (b39b891) by @alvarosevilla95
  • scroll to top if no scroll restoration entry exists (#4786) (be7a578) by Manuel Schiller
  • ensure unique matchId when optional and required param are on the same level (#4751) (4f930d1) by Manuel Schiller
  • router-core: type mismatch for navigate function (#4625) (d485cc2) by Dimitris Karagiannis
  • router-core: update MatchRoutesFn signature and proper deprecate old usage (#4730) (af673b8) by Lee
  • fix start vite plugin during dev and prod (#4736) (748a4be) by Manuel Schiller
  • router-core: change error type in ErrorComponentProps (#4691) (e63f4e4) by Lee
  • re-enable fuzzy matching to allow notFoundMode: fuzzy (#4721) (ddc6b5d) by Manuel Schiller
  • ensure unique match id when optional parameter is not present (#4716) (7ae6f51) by Manuel Schiller
  • dev server improvements (#4706) (241a250) by Manuel Schiller
  • react-router: preserve ref type in createLink with required interface properties (#4674) (a9270d3) by Arciom Picikin
  • router-core: reset statusCode to 200 on navigation start (#4664) (7c6d4c1) by @jamongsalguclub
  • default to addHmr in dev if not set (#4689) (1b319d0) by Manuel Schiller
  • resolve flaky e2e tests on useServerFn redirect tests (#4688) (e90171a) by Nico Lynzaad
  • start-server-core: properly merge middleware context objects (#4665) (1930152) by @jamongsalguclub
  • assign random ports for e2e tests (#4676) (3854370) by Nico Lynzaad
  • solid-router: prevent client effects running on server (#4621) (ba590c2) by Indrek Ardel
  • router-plugin: composed plugin to consider options from json config (#4654) (aa1fb5d) by Sean Cassiere
  • allow createRouter to be async (#4652) (41bf26b) by Manuel Schiller
  • react-start-client: useServerFn returns a stable reference (#4647) (d537b56) by Tim
  • allow prerender if no pages specified (#4632) (5f42bc4) by James Cleveland
  • invalid path generation for params above groups routes (#4629) (6b55a33) by Juliusz Kościołek
  • start-server-functions-server: add base path to the RPC URL (#4619) (bbc480a) by Onur Guvenc
  • don"t run router.load() when hydrating only SSRed matches (#4630) (4b4562a) by Manuel Schiller
  • remove unused jsesc (#4628) (418ab85) by kusiewicz
  • remove debug log (#4604) (c334ecf) by kusiewicz
  • resolve false positive "could not find match from" (#4610) (16e50e0) by Nico Lynzaad
  • start: support SSR for non-Latin character route paths (#4611) (f9b5a5a) by wookhyung
  • lock solid-store version (#4607) (fb3d30a) by Brenley Dueck
  • correct url in dev server (#4593) (ba6f0ba) by Manuel Schiller
  • set component return type to any by default (#4592) (7ff52af) by Manuel Schiller
  • router-plugin: code-splitting to handle explicit undefined (#4564) (84228d5) by Wei Tang Lin
  • buildLocation check for non changing routes - consider trailing slashes (#4581) (9603235) by Nico Lynzaad
  • trim undefined from splat routes with no param (#4558) (5b4a874) by Tanner Linsley
  • solid-router: rerender match when id changes (#4568) (1098db7) by Brenley Dueck
  • solid-router: loaders being called twice during SSR (#4574) (eb8a5f0) by Brenley Dueck
  • clear pendingTimeout when match resolves (#4579) (ffb1fb4) by Manuel Schiller
  • Make buildLocation aware of non-changing routes (#4573) (09e152a) by Nico Lynzaad
  • don"t invalidate virtual module for server function manifest when compiling ?tsr-directive modules (#4566) (15ec551) by Manuel Schiller
  • correctly handle pending vs. cached matches (#4550) (05348a7) by Manuel Schiller
  • invalidate modules after server function manifest update (#4551) (6907535) by Manuel Schiller
  • correctly handle multiple imports of @tanstack/react-start/server (#4544) (9a6fa0a) by Manuel Schiller
  • pin packages to exact versions (#4537) (cb7c0b9) by Manuel Schiller
  • better error message in router generator (#4538) (5b74ca8) by Manuel Schiller
  • react-router,solid-router: prevent unsafeRelative prop going into the DOM (#4530) (55a8cd8) by Sean Cassiere
  • Preserve cached data during concurrent navigation and refetch (#4513) (40f456e) by hoony
  • ignore virtual server function manifest when compiling (#4523) (f07e33f) by Manuel Schiller
  • follow server fn redirects when submitting formdata (#4519) (91d1e38) by Vladimir Kutepov
  • preserve file owner and permissions when rewriting file in generator (#4522) (ef76302) by Manuel Schiller
  • only invalidate virtual server function manifest module in server env (#4521) (1853d37) by Manuel Schiller
  • start-plugin-core: use joinURL for joining js entries in manifests (#4508) (6a56817) by Andy Abi Haidar
  • router-core: resolve with basepath if to is not supplied (#4472) (785681f) by Jan Vollmer
  • server routes handle per verb middlewares (#4491) (ca017cd) by Manuel Schiller
  • use plugin hook filers (#4489) (4a1230d) by Manuel Schiller
  • ensure early hydration in prod build (#4488) (16fad9c) by Manuel Schiller
  • add id filter to transform to avoid matching .html on rspack/webpack (#4483) (9c8231d) by Manuel Schiller
  • server function fixes (#4474) (c47f56d) by Manuel Schiller
  • export RedirectOptions type (#4468) (7d80f1f) by Jan Vincent Liwanag
  • simplify server function handling (#4464) (f0146e1) by Manuel Schiller
  • make root server route aware of it being the root (#4463) (84cbcaa) by Manuel Schiller
  • swap caches also when not writing route tree file (#4459) (6d6a745) by Manuel Schiller
  • react-router, solid-router: make head function scripts load properly (#4323) (adc5d5c) by wookhyung
  • pin start related dependencies to exact versions (#4455) (13c6568) by Manuel Schiller
  • use bundle to determine preloads (#4453) (49b01ff) by Manuel Schiller
  • correctly pass "create" event to generator for rspack/webpack (#4440) (5d86e10) by Manuel Schiller
  • if validate search rewrites search params, issue a server-side redirect (#4439) (5cacc14) by Manuel Schiller
  • remove console.log (7afdc9a) by Manuel Schiller
  • resolve promises before setting them to undefined (#4434) (c4ff0db) by Manuel Schiller
  • only re-execute beforeLoad if previous run failed (#4433) (0ce89c3) by Manuel Schiller
  • replace backslashes in full paths when generating route nodes (#4430) (d83b6f2) by Yeoh Joer
  • execute server route middleware before SSR (#4423) (69448fd) by Manuel Schiller
  • when prerendering, always include the file scheme for the server entrypoint (#4424) (5ad1c37) by Yeoh Joer
  • various fixes (#4420) (6868e94) by Manuel Schiller
  • router-plugin: codeSplittingOptions.splitBehavior to work with verboseFileRoutes (#4414) (d2fe666) by Sean Cassiere
  • router-devtools-core: make solid-js a dependency (#4412) (bac5032) by Sean Cassiere
  • router-plugins correctly handle virtual file routes regardless of their location (#4407) (fc926bf) by Manuel Schiller
  • router-generator: allow standalone export (#4405) (35a5103) by Manuel Schiller
  • react-router-devtools: remove solid-js as a dependency (#4376) (b2fa955) by João Lucas de Oliveira Lopes
  • router-plugin: initialise generator within webpack plugin (#4378) (071ad2c) by Valentin Kunz
  • solid-router: Change <Link/>, <Block/> properties to be reactive (#4314) (c75daad) by Karolis Užkuraitis
  • make router.hydrate possibly async (#4391) (6837b81) by Manuel Schiller
  • generator fixes (#4389) (1a44973) by Manuel Schiller
  • generator fixes (#4362) (3614ac8) by Manuel Schiller
  • Slight simplification to llm rule generation now vibe-tools supports esm properly (#4347) (4b6b2c1) by Andrew Jefferson
  • do not start a view transition when invalidating (#4345) (1c54035) by Manuel Schiller
  • Small comment text change to bump version (760fffe) by Jack Herrington
  • RELEASE_ALL (8a2eb21) by Jack Herrington
  • bumping version (be923d9) by Jack Herrington
  • generating CJS directly for vibe-rules (#4329) (01b4f00) by Jack Herrington
  • fixing vibe-rules generation to support CJS exports as well (#4327) (eedbbba) by Jack Herrington
  • Preload assets on windows (#4324) (3827b03) by Iñaki Larramendi
  • export OptionalFetcher and RequiredFetcher types (#4297) (192ee62) by IderAghbal
  • don"t add all @TanStack packages to noExternal (#4312) (5ea0dc7) by Manuel Schiller
  • router-core: double decoding in qss (#4300) (492b666) by Vianney Carel
  • exclude virtual modules from optimizeDeps (#4295) (3f700bf) by Manuel Schiller
  • make route HMR handling robust against route deletion (#4292) (b84e5c7) by Manuel Schiller
  • make route HMR handling robust against route deletion (#4291) (7c2bc2f) by Manuel Schiller
  • scroll to top selectors function (#4281) (3f858cb) by Thomas Marnet
  • start-plugin-core: add a defensive check for node.fullPath (#4278) (df8e5cc) by Hiển Đào Vinh
  • Fix devtools when using shadowdom (#4212) (fdf31ff) by Maxx Coffee
  • support usage of a prefixed a base path (#4258) (5ce936f) by Sean Cassiere
  • react-router: fix custom link type ref inference (#4121) (dca754e) by Matthew Struble
  • start-plugin-core: recursively import CSS assets (#4254) (5aa3424) by Iñaki Larramendi
  • dynamically import virtual modules (#4252) (91ef1b0) by Manuel Schiller
  • normalize router filepath (#4247) (aa94daa) by Yeoh Joer
  • handle Symbol properties and non-enumerable properties in replaceEqualDeep (#4237) (ef01673) by Lenz Weber-Tronic
  • router.buildLocation use RegisteredRouter (#4242) (7eba99e) by Manuel Schiller
  • proper HMR handling for file routes (#4240) (5663aa6) by Manuel Schiller
  • better unsafeRelative, support router.navigate() (#4236) (5a3f7ad) by Tanner Linsley
  • make sitemap accessible via public assets (#4235) (496fac3) by Sean Cassiere
  • start-plugin-core: prepend /@fs when a custom client entry is detected (#4184) (42e075c) by Yeoh Joer
  • type errors with skipLibCheck: false (#4233) (5a82679) by Christopher Horobin
  • all tests (a769bc9) by Tanner Linsley
  • one more test (b8db2d9) by Tanner Linsley
  • sitemap support (#4217) (a5d2740) by Tanner Linsley
  • buildLocation (#4210) (cf9e5bc) by Tanner Linsley
  • allow head to be async (#4213) (487d1bc) by Manuel Schiller
  • router-devtools-core: adds missing containerElement prop support for TanStackRouterDevtoolsCore (#4126) (6991947) by Adam Hunter
  • add support for "using" (#4194) (6187e24) by Manuel Schiller
  • RELEASE_ALL (e03ad0c) by SeanCassiere
  • head execution (#4189) (7bf23b4) by Manuel Schiller
  • properly handle sessionStorage not being available for scroll restoration (#4186) (e18b333) by Manuel Schiller
  • start-plugin-core: enable pre-rendering with just pages (#4185) (9e0d2d6) by Sean Cassiere
  • resolve custom client entry path on windows fs (#4181) (b339e67) by Sean Cassiere
  • resolve custom server entry path on windows fs (#4180) (f209861) by Yeoh Joer
  • no @fs in dev for client entry (#4179) (b424cad) by Tanner Linsley
  • spa-mode (#4177) (b901793) by Tanner Linsley
  • relative runtime navigation (#4174) (7f5ba87) by Tanner Linsley
  • resolve custom client and server entry paths (#4172) (16705fa) by Sean Cassiere
  • recover from server pathname mismatch (14bcc58) by Tanner Linsley
  • ensure compatibility with vite plugins that don"t support the vite environment API (#4167) (1417d17) by Manuel Schiller
  • nitro-plugin types (f727dac) by Tanner Linsley
  • Do not default to shell mode (10eed5f) by Tanner Linsley
  • remove undici (#4168) (2559877) by Manuel Schiller
  • docs: update src to images on tanstack.com (#4165) (9f93ce0) by Birk Skyum
  • remove unused header (#4160) (abb047e) by Manuel Schiller
  • properly handle redirects thrown by server functions (#4156) (9882e30) by Manuel Schiller
  • remove set/get global origin (#4157) (3f33f04) by Manuel Schiller
  • start-plugin-core: remove backslashes from declaration import (#4149) (ac7db71) by Sean Cassiere
  • start-server-core: appending headers to immutable response object + matching server function handler route on Windows (#4146) (d5c2e6d) by MoeedDar
  • start-plugin-core: include "vite/client" types (#4139) (20937af) by Sean Cassiere
  • start-plugin-core: patches for Virtual Routes in Server Routes (#4137) (94400a2) by Sean Cassiere
  • router-generator: exit conditions when using verboseFileRoutes (#4136) (35f6520) by Sean Cassiere
  • declare vite as a peerDependency (#4135) (736a572) by Sean Cassiere
  • clean up Vite versions (#4130) (e3fd36b) by Iha Shin (신의하)
  • RELEASE_ALL (0b7aefd) by Manuel Schiller
  • RELEASE_ALL (6e5b7a3) by Manuel Schiller

Refactor

  • router-devtools-core: allow styling of TanStackRouterDevtoolsPanel (#4671) (12732fe) by JamesHyot
  • router-core,start-server-core: improve JSDocs for redirect (#4848) (7c6b575) by Chris
  • router-core: router clearExpiredCache variable naming mistake (#4831) (2e40d01) by Flo
  • router-core: router uses .some() over .find() for boolean results (#4829) (dafad2a) by Flo
  • router-core: router updateMatch can skip matches if it found a match (#4828) (030a55f) by Flo
  • router-core: router clearExpiredCache DeMorgan"s simplification (#4826) (2df9dd0) by Flo
  • router-core: router getMatch doesnt create an array (#4824) (3ba972e) by Flo
  • router-core: add LRU cache in front of parsePathname (#4752) (182df4d) by Flo
  • router-core: improve router.comparePaths performance by not using regex (#4750) (082b618) by Flo
  • router-core: improve router.comparePaths regexp performance (#4747) (253ff7b) by Flo
  • history: use TSR_key namespace in state for hash (#4356) (980159a) by Naoya Shimizu(Shimmy)
  • generator (#4337) (8bbf7c7) by Manuel Schiller
  • types for server routes (#4272) (d3beb47) by Manuel Schiller
  • start-plugin-core: rename output to route-assets-manifest (6832dbb) by SeanCassiere
  • rename internal functions and limit deploy bundler defaults (#4253) (e165d60) by Sean Cassiere
  • move resolution of virtual entry handlers to core (#4238) (8895961) by Sean Cassiere
  • consistent virtual module naming and resolve using Rollup conventions (#4226) (8a76fa7) by Sean Cassiere
  • start-plugin-core: omit autoCodeSplitting configuration option in tsr (#4218) (3a5a764) by Sean Cassiere
  • start-server-core: use utility functions from router-core (#4147) (94c1284) by Sean Cassiere

Chore

  • examples: remove unnecessary opts.deps (#4879) (0a3bb24) by Abdulhamit Akaslan
  • bump typescript version (#4853) (4e2605a) by Manuel Schiller
  • root: update broken README links (#4789) (73ab338) by David Williams
  • silence error in test (#4794) (3c6633a) by Manuel Schiller
  • fix build in CI (#4790) (4318992) by Manuel Schiller
  • sync TanStack repo changes (#4784) (a89408a) by Lachlan Collins
  • root: fix missing speakeasy logo (6a89d3c) by SeanCassiere
  • don"t run autofix on draft PRs (#4722) (a1d54c4) by Manuel Schiller
  • examples: Bump @clerk/tanstack-react-start to 0.19.0 (#4605) (9ae73ac) by Robert Soriano
  • examples: Use Clerk devinxi version (#4392) (cd796fa) by Robert Soriano
  • examples: fix with-trpc and with-trpc-react-query examples (#4539) (e1daa05) by Nico Lynzaad
  • examples: move beforeLoad property before head in createFileRoute (#4504) (ffeb725) by Ulrich Stark
  • examples: cleanup the start-supabase-basic example (#4494) (98d268a) by Ulrich Stark
  • examples: add missing vite dependency (#4438) (ce3abee) by Rykuno
  • re-generate route tree for examples/e2e tests (2a9b443) by Manuel Schiller
  • examples: Some packages are missing in package.json in start-supabase-basic project (#4426) (954c3b2) by Benny Freeman
  • examples: fix duration calculation logic (#4353) (bab29d0) by Benny Freeman
  • deps: update autofix-ci/action digest to 635ffb0 (#4349) (8315a69) by renovate[bot]
  • deps: update dependency webpack-dev-server to v5.2.1 [security] (#4328) (27255c6) by renovate[bot]
  • merge main (#4283) (6a97386) by Manuel Schiller
  • support vibe-rules in react-router (#4263) (000b4f3) by Jack Herrington
  • start-plugin-core: reorganize and centralize the plugin orchestration (#4266) (423f6c0) by Sean Cassiere
  • start-plugin-core: add comments for internal (#4261) (f8ca2a6) by Sean Cassiere
  • router plugin restructuring (#4199) (0f12171) by Manuel Schiller
  • simplify test for "using" (#4196) (3f8dacd) by Manuel Schiller
  • various fixes (#4187) (15b8ed6) by Manuel Schiller
  • dedupe and fix lockfile (#4171) (0cca049) by Sean Cassiere
  • lint (565c8a0) by Manuel Schiller

Test

  • router-core: add unit tests for matchByPath (#4749) (5809382) by Flo
  • e2e: use locally hosted api over an external provider (#4725) (f0a60cb) by Nico Lynzaad
  • react-router,solid-router: test re-render for preload="viewport" (#4672) (89c7b5d) by Flo
  • router-plugin: split addHmr snapshot testing (#4612) (b9f88c5) by Sean Cassiere

Ci

  • apply automated fixes (28c7ce9) by autofix-ci[bot]
  • apply automated fixes (c817100) by autofix-ci[bot]
  • apply automated fixes (3cd7e27) by autofix-ci[bot]
  • apply automated fixes (14ad18f) by autofix-ci[bot]
  • apply automated fixes (87a730b) by autofix-ci[bot]
  • apply automated fixes (bff3ad6) by autofix-ci[bot]
  • apply automated fixes (b5a7bff) by autofix-ci[bot]
  • apply automated fixes (ed49c81) by autofix-ci[bot]
  • apply automated fixes (4a1edf6) by autofix-ci[bot]
  • apply automated fixes (fd62699) by autofix-ci[bot]
  • apply automated fixes (de11338) by autofix-ci[bot]
  • apply automated fixes (a8ea2b8) by autofix-ci[bot]
  • apply automated fixes (1d34e56) by autofix-ci[bot]
  • apply automated fixes (attempt 2/3) (1cd2868) by autofix-ci[bot]
  • apply automated fixes (cb08dd6) by autofix-ci[bot]
  • apply automated fixes (4c18a66) by autofix-ci[bot]
  • apply automated fixes (38073cb) by autofix-ci[bot]
  • labeler to use pull_request_target (3e2e78d) by SeanCassiere
  • go back to the old workflow (96b9ae1) by SeanCassiere
  • use NX Cloud cache instead of github artifacts (ac7e4ae) by SeanCassiere
  • include the llms directory (2043445) by SeanCassiere
  • use the correct build workflow output (c0607fd) by SeanCassiere
  • restore CI workflow to last known working state (6eb4b2b) by SeanCassiere
  • store and restore build artifacts between jobs (cf6391a) by SeanCassiere
  • setup config tooling for publishing job (314c94c) by SeanCassiere
  • don"t interrupt publishing (#4435) (817e313) by Manuel Schiller
  • upgrade to labeler v5 (#4406) (a0d9811) by Sean Cassiere
  • apply automated fixes (5893f41) by autofix-ci[bot]
  • apply automated fixes (385c47b) by autofix-ci[bot]
  • apply automated fixes (5f8506b) by autofix-ci[bot]
  • apply automated fixes (4225562) by autofix-ci[bot]
  • apply automated fixes (bef4dab) by autofix-ci[bot]

Docs

  • router: update links in how-to guides (#4878) (238c63f) by Lee
  • router: fix typo in overview.md (#4863) (8efac91) by Diogo Lessa
  • start: fix cloudflare-workers deployment using wrangler.toml (#4779) (75615f3) by Adam Bouqdib
  • router: update URL for Query (#4849) (d5fd30f) by Chris
  • router: usage of "." and ".." for relative navigation (#4846) (cb0478a) by Nico Lynzaad
  • router: usage of routeFilePrefix for file-based routing (#4845) (3ca2a29) by Lee
  • router: list preload as navigation cause value (#4825) (f3a5947) by Dimitris Karagiannis
  • start: incorrect usage of scripts in the "document head management" guide (#4801) (87d4ccb) by Matthew Hart
  • search param sharing/inheritance how-to (bf12ba8) by Tanner Linsley
  • add frontmatter to the "how-to" guides (#4835) (7f290ad) by Sean Cassiere
  • update links authentication setup guides (#4834) (127944f) by Lee
  • isomorphic and environment aware code (b402bbc) by Tanner Linsley
  • Outline top how-to guides for TanStack Start (#4816) (c88c2ae) by Tanner Linsley
  • Continue search parameter how-tos (#4815) (9c5f6b2) by Tanner Linsley
  • Continue search param how-tos (#4814) (da2bd32) by Tanner Linsley
  • basic search params how-to (8b53a9a) by Tanner Linsley
  • basic search params how-to (2130037) by Tanner Linsley
  • updates (71c95e6) by Tanner Linsley
  • Runtime env docs (#4797) (a08b600) by notKamui
  • Update RouterOptionsType.md (#4796) (9374fac) by Hazem Tarek Elaswad
  • react-router: update custom-link guide for react-aria (#4757) (abad0a1) by Devon Govett
  • env vars (#4777) (4f802cf) by Tanner Linsley
  • how-to guide for file-based router testing (#4776) (ecfe14b) by Tanner Linsley
  • more! (#4775) (94ec310) by Tanner Linsley
  • Split ui library documentation into guides (#4774) (269625a) by Tanner Linsley
  • migrate from react router v6 (d7d9d4e) by Tanner Linsley
  • how-to SSR guide (2703b7f) by Tanner Linsley
  • start: add missing dev dep to build-from-scratch guide (#4758) (b38c42e) by Karthik Appiah
  • slight correction in automatic code splitting (3b9128e) by Manuel Schiller
  • router: update types for RouteOptions and RouteMatch (#4754) (68fd70b) by Lee
  • router: using square brackets for character escaping (#4753) (1cd9176) by Leonardo Montini
  • fix incorrect import path in automatic code splitting guide (#4745) (d87ca5e) by Justin Mißmahl
  • typo in Server-Routes => Escaped Matching (#4741) (be1b9e3) by Kamlesh Paul
  • router: update Router.matchRoutes arguments (#4739) (dae8833) by Lee
  • router: add guide on automatic code splitting (#4717) (86e0f8f) by Lukas Steinbrecher
  • Correct optional params docs syntax (#4720) (f5e3a5f) by Tanner Linsley
  • Identify top 10 how-to docs, add deployment guide (#4701) (12a30c5) by Tanner Linsley
  • Create TanStack Router installation how-to (#4700) (33302b6) by Tanner Linsley
  • Document optional path params for i18n (#4699) (3b8b2bc) by Tanner Linsley
  • router: prefixes and suffixes for path params (#4690) (6ed0caf) by Sean Cassiere
  • start: build-from-scratch guide to use customVite(React/Solid)Plugin (#4678) (132bd0c) by Usman S. (Max Programming)
  • start: remove todo from Server Routes guide (#4650) (1746c08) by Ahmed Abdelbaset
  • Update tsr.config.json options link (#4638) (9fb55b8) by RawToast
  • start: list static prerendering options (#4635) (3e4b024) by James Cleveland
  • remove somewhat incorrect statement from docs (#4636) (fe01311) by James Cleveland
  • Add enableBeforeUnload option example in navigation-blocking.md (#4634) (71939c4) by anthony2261
  • replace reference to app folder with the correct src folder (#4598) (5fd079e) by Jordan Winslow
  • improve wording for LLM assistance support in installation.md (#4586) (3705d8d) by Dimitris Karagiannis
  • start: ssr inheritance (#4583) (e0dfe30) by Teemu Sirkiä
  • ssr rendered on server (#4582) (fab63d9) by Youssef Benlemlih
  • start: update hosting docs to reflect vite migration (#4575) (ae2e919) by Elliot Nash
  • Change next.js wording (#4562) (9e35918) by Daniel Power
  • update import for server function in React basics guide (#4561) (d0f234d) by Masum Gökyüz
  • guide: integrate tailwind (#4549) (3e1d2f4) by Usman S. (Max Programming)
  • router: setup mirroring of SSR guide for SolidJS (cbb70fc) by SeanCassiere
  • router: remove h4 tag on SSR guide (63b92fe) by SeanCassiere
  • router: fixup formatting on the SSR guide (b1b1179) by SeanCassiere
  • start: typo in hosting guide (#4512) (f80a52f) by kusiewicz
  • router: typo in file-based routing guide (#4511) (3a56409) by kusiewicz
  • start: remove SSR page link (#4505) (e605592) by bloodnighttw
  • router: update component structure in routing guide (#4355) (84f8f96) by Dovakeidy
  • fix typos and wrong paths in server-routes.md (#4461) (a211a4d) by Ahmed Abdelbaset
  • Added missing triple-slash directive for css imports (#4498) (c48b5ba) by Usman S. (Max Programming)
  • remove alpha notice from nextjs migration guid (6248b69) by Manuel Schiller
  • use correct syntax for createFileRoute (#4470) (f42b8a0) by Richard Honor
  • Update server-routes.md (#4477) (4230b50) by Oroneki
  • examples and guide: improve and fix some bugs (#4449) (bc13ecb) by Eason Wong
  • Update head management instructions for SPA"s (#4457) (6f15922) by Rhuan Barreto
  • added missing middleware method chaining in context example (#4447) (c941860) by Davide Lombardi
  • use createFileRoute (ce85730) by Manuel Schiller
  • remove experimental verboseFileRoutes from docs (#4422) (1c8a935) by Manuel Schiller
  • start: use correct import source for createFileRoute in build-from-scratch guide (#4399) (68be739) by Felix
  • start: include /api as a Server Routes example (#4375) (de22e58) by Himanshu Kumar Dutt
  • start: spa-mode guide to use correct export (#4374) (f4e8664) by Neco
  • Correct createFileRoute import and invocation in Build a Project from Scratch (#4385) (714c8cf) by Harsh Pareek
  • Update preloading.md (#4310) (d1ed4e1) by Erfan Hosseini
  • router: fix path param name in "data mutation" guide (#4302) (9db424f) by Diego Rincón
  • start: remove example of Server Routes client callers fixes #4275 (17a3b42) by SeanCassiere
  • start: add project structure to next.js migration guide (#4280) (18e24a7) by Neeraj Dalal
  • start: fix typos in next migration guide (#4276) (dc1d7b9) by Neeraj Dalal
  • start: add migration guide from Next.js (#4260) (a5208e4) by Neeraj Dalal
  • Update code-splitting.md (#4267) (1f34687) by Chung
  • Update RouteOptionsType doc to reflect correct Loader opts (#4265) (64eb2c1) by Matt Anderson
  • router: add route.tsx in directory vs flat routing guide (#4257) (bdea54d) by Lleyton W Morris
  • fix links (63c623b) by Tanner Linsley
  • react-router: document migration path for parseParams and stringifyParams (#4216) (0d71e04) by scarf
  • Fix syntax error in search middleware example (#4223) (d4321fe) by Joel Tannas
  • fix neon bullet points and url (#4214) (72ffeb4) by Leonardo Montini
  • router: fix scrollRestorationBehavior option in "scroll-restoration" guide (#4169) (fa871a0) by ThaumRystra
  • server.ts/ssr.ts: cleanup redundant files and update docs (f940f85) by Birk Skyum
  • solid-start: fix server routes docs (475556e) by Birk Skyum
  • solid-start: correctly set link to spa-shell (9fd4290) by Birk Skyum
  • specify that not found errors are handled by the nearest parent when called within loader (#4164) (5d940e2) by Luis Merino
  • update comparison (38142f4) by Tanner Linsley
  • start: update src path for images (a153fda) by Birk Skyum
  • start: document that serverFn can be used in server routes (#4152) (c81090d) by Jaga Santagostino
  • update build from scratch (418fac9) by Manuel Schiller
  • start: server-routes (#4155) (e6fab6a) by Manuel Schiller
  • start: Server Functions can be called from Server Routes (#4154) (6bde41f) by Ryan Gillie
  • start: Remove unplanned feature from docs (#4150) (673a043) by Dane Grant
  • start: remove validators from "server routes" guide (#4148) (62a044e) by Saša Šijak
  • start: Fix contents outdated by Devinxi (#4125) (82d14bd) by Iha Shin (신의하)

Examples

  • removes Tailwind from start-bare example (#4809) (2ca59db) by Zack
  • @mui/material example re-add ssr.noExternal to vite config (#4861) (57bac25) by Kilian Finger
  • fix workos example callback path (#4534) (1c33665) by Sasha Klein
  • remove unnecessary awaits in start-supabase-basic example (#4485) (45b43d0) by Ulrich Stark

Other

Fefactor

  • restructure SSR handling between start/router (#4495) (8302ec1) by Nico Lynzaad

Tests

  • solid-router: enable ClientOnly SSR test (#4666) (db1331f) by Indrek Ardel
  • wait for scripts route to be loaded before evaluating script (#4465) (7e257df) by Manuel Schiller

Packages

  • @tanstack/history@1.121.0-alpha.28
  • @tanstack/router-core@1.121.0-alpha.28
  • @tanstack/solid-router@1.121.0-alpha.28
  • @tanstack/react-router@1.121.0-alpha.28
  • @tanstack/react-router-ssr-query@1.121.0-alpha.28
  • @tanstack/router-ssr-query-core@1.121.0-alpha.28
  • @tanstack/zod-adapter@1.121.0-alpha.28
  • @tanstack/valibot-adapter@1.121.0-alpha.28
  • @tanstack/arktype-adapter@1.121.0-alpha.28
  • @tanstack/router-devtools@1.121.0-alpha.28
  • @tanstack/solid-router-devtools@1.121.0-alpha.28
  • @tanstack/react-router-devtools@1.121.0-alpha.28
  • @tanstack/router-devtools-core@1.121.0-alpha.28
  • @tanstack/router-generator@1.121.0-alpha.28
  • @tanstack/virtual-file-routes@1.121.0-alpha.28
  • @tanstack/router-cli@1.121.0-alpha.28
  • @tanstack/router-plugin@1.121.0-alpha.28
  • @tanstack/router-vite-plugin@1.121.0-alpha.28
  • @tanstack/directive-functions-plugin@1.121.0-alpha.28
  • @tanstack/server-functions-plugin@1.121.0-alpha.28
  • @tanstack/eslint-plugin-router@1.121.0-alpha.28
  • @tanstack/solid-start@1.121.0-alpha.28
  • @tanstack/solid-start-client@1.121.0-alpha.28
  • @tanstack/solid-start-server@1.121.0-alpha.28
  • @tanstack/start-client-core@1.121.0-alpha.28
  • @tanstack/start-server-core@1.121.0-alpha.28
  • @tanstack/start-storage-context@1.121.0-alpha.28
  • @tanstack/react-start@1.121.0-alpha.28
  • @tanstack/react-start-client@1.121.0-alpha.28
  • @tanstack/react-start-server@1.121.0-alpha.28
  • @tanstack/start-server-functions-fetcher@1.121.0-alpha.28
  • @tanstack/start-server-functions-client@1.121.0-alpha.28
  • @tanstack/start-server-functions-server@1.121.0-alpha.28
  • @tanstack/start-plugin-core@1.121.0-alpha.28
  • @tanstack/start-static-server-functions@1.121.0-alpha.28
  • @tanstack/router-utils@1.121.0-alpha.28

Don't miss a new react-router release

NewReleases is sending notifications on new releases.