NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
npm · #2195 most downloaded on npm
Modern and scalable routing for React applications
Last release 4 days ago
30 Sep 2026
Ships fairly regularly
a new release about every 1 weeks
Nearly every release is documented
notes for 60 of the last 60 stable releases
Nothing withdrawn
no release was ever pulled
3 years old
617 releases · first in 2024
Updated dependencies [ 614bc27 , d521abd ]:
d521abd]:
Updated dependencies [ f5ffd38 , 488d046 , 0c1b5e3 , 3cdd1af , 76a7c0b ]:
One column per month.
Updated dependencies [ cecae54 , 0103578 , ce10dcd , 84936cc , bbd2336 ]:
#8297 488d046 - Update seroval and seroval-plugins from 1.6.2 to 1.6.7. This picks up the typed array length guard, the maxBase64Length and compactArrayBufferViews options, and the isStream export.
Updated dependencies [488d046, 76a7c0b]:
Updated dependencies [ bc80866 , e561fa1 , cbbfbe3 , a1c8d1a , cbbfbe3 , a0b2ad9 , 1ca361b ]:
Updated dependencies [ d76a332 , b747fb8 , 6cfb1e8 , 700a714 , 700a714 , cb8749e , 7e349c3 , 9b2adaf , 873c830 , 7e349c3 , 634da91 , e9396c9 , 634da91
d76a332, b747fb8, 6cfb1e8, 700a714, 700a714, cb8749e, 7e349c3, 9b2adaf, 873c830, 7e349c3, 634da91, e9396c9, 634da91, f151ab0, bc57fa3, 9872d2a, 9b2adaf, d76a332, 634da91, 634da91, 7e349c3, 9448caa, e9396c9, 700a714, 634da91, 634da91]:
d521abd]:
Updated dependencies [ 8c43c71 ]:
8c43c71]:
Updated dependencies [ cecae54 , 0103578 , ce10dcd , 84936cc , bbd2336 ]:
Updated dependencies [ edf0e16 , 2f20c00 , 28a5e45 , 08eff50 , 216c0c4 , 2f91503 , f0b5eda , 50eafca , 0497cae , 0caf6b9 , ee28348 , c18e690 ]:
Updated dependencies [ fa65287 , cb281d7 ]:
3e016ac]:
Updated dependencies [`5d3785d`, `63d2cc9`]:
Updated dependencies \[`5d3785d`, `63d2cc9`]:
51138a8]:
51138a8]:
51138a8]:
Updated dependencies \[`31882c7`]:
31882c7]:
Updated dependencies \[`31882c7`, `3848503`]:
7e93431]:
3e016ac]:
95dec51]:
Updated dependencies \[`5d3785d`, `63d2cc9`]:
51138a8]:
ea3a665]:
ea3a665]:
ea3a665]:
Updated dependencies \[`4c89b15`, `cf6ab17`, `bdaf73a`]:
51138a8]:
Updated dependencies \[`31882c7`]:
31882c7]:
c59788c]:
ea3a665]:
b2908c6]:
b2908c6]:
b2908c6]:
Updated dependencies \[`7e93431`]:
7e93431]:
45c4ad8]:
45c4ad8]:
Updated dependencies \[`51138a8`]:
51138a8]:
ea3a665]:
b2908c6]:
Updated dependencies \[`45c4ad8`]:
45c4ad8]:
9cac62a]:
Nothing published for this version
Updated dependencies \[`ea3a665`]:
ea3a665]:
b2908c6]:
Updated dependencies \[`84db4a8`, `9cac62a`, `6aefb33`]:
45c4ad8]:
e56a677 - Make buildRouteTree route ordering deterministic. Its final sort tiebreaker compared whole route-node objects ((d) => d), which coerce to "[object Object]" and so never order — an inconsistent comparator that left routes tying on segment-count/index-token in an engine- and input-dependent order, producing non-deterministic routeTree.gen.ts diffs across machines. The tiebreaker now compares routePath, mirroring the pre-sort and giving a stable total order.Updated dependencies \[`b2908c6`]:
b2908c6]:
e2dd204]:
Updated dependencies \[`45c4ad8`]:
45c4ad8]:
9809a06]:
Updated dependencies [`776d8ef`]:
776d8ef]:
Updated dependencies [`df1076c`]:
df1076c]:
Updated dependencies [`ac10815`]:
ac10815]:
Updated dependencies [`301f6ba`, `2cca73c`, `7a83e67`, `76b3d3b`]:
Updated dependencies [`b4cd5af`]:
b4cd5af]:
Updated dependencies [`2f53749`]:
2f53749]:
Updated dependencies [`d1997b6`]:
d1997b6]:
Updated dependencies [`51a97a1`]:
51a97a1]:
Updated dependencies [`5268ba4`]:
5268ba4]:
Preserve escaped underscore segments when generating index routes across physical and virtual route trees, including pathless layouts, physical() pref
physical() prefixes, and __virtual.ts subtrees. (#7453)Updated dependencies [`0300f87`, `0300f87`]:
Updated dependencies [`5fa9e55`]:
5fa9e55]:
Fix route mismatch warnings, HMR route index refresh, and generated route type preferences for duplicate pathless/index routes.
Updated dependencies [`d9cf933`]:
d9cf933]:
Start now cancels discarded middleware and HEAD response bodies, including plain streams and derived branches.
#8204 cbbfbe3 - Stream large deferred SSR hydration payloads through a backpressure-aware router transport, fail known setup errors before response creation, and close cancelled or expired transforms safely.
Start now cancels discarded middleware and HEAD response bodies, including plain streams and derived branches.
Server-function raw streams share one ordered response. Arbitrary or sequential consumption can require potentially unbounded buffering of unread data on the client. Cancelling one raw stream discards it locally, while aborting the whole call cancels the response and server work. Consume streams concurrently, cancel unused streams promptly, or use separate calls when independent backpressure is required. A raw stream that exceeds its unread-byte limit now fails alone; sibling streams and the JSON result keep flowing.
The JSON wire shape of a RawStream server-function argument changed. Clients and servers must run matching versions for requests that pass a RawStream.
The frame-protocol constants (FRAME_TYPE_*, MAX_FRAME_PAYLOAD_SIZE, MAX_FRAMED_STREAMS) moved from the @tanstack/start-client-core root to the @tanstack/start-client-core/client-rpc subpath.
Router requests whose Accept header allows neither text/html nor */* now receive 406 Not Acceptable instead of 500.
Framework adapters share the body <Scripts> composition (getSsrBodyScriptParts, composeSsrBodyScripts) and the eager HTML response wrapper (renderSsrHtmlResponse) from @tanstack/router-core.
Solid SSR now emits one document type and renders late lazy errors through route boundaries. A Solid <Await> without a fallback no longer holds the streamed shell; it renders inside the nearest <Suspense> boundary like React and Vue, and now renders falsy resolved values.
Static server functions decode cached RawStream values with the client deserializer plugins.
SSR Query integrations now keep request cleanup and stream ownership aligned with the router lifecycle.
Updated dependencies [cbbfbe3]:
d533f87]:
Updated dependencies [ d76a332 , b747fb8 , 6cfb1e8 , 700a714 , 700a714 , cb8749e , 7e349c3 , 9b2adaf , 873c830 , 7e349c3 , 634da91 , e9396c9 , 634da91
d76a332, b747fb8, 6cfb1e8, 700a714, 700a714, cb8749e, 7e349c3, 9b2adaf, 873c830, 7e349c3, 634da91, e9396c9, 634da91, f151ab0, bc57fa3, 9872d2a, 9b2adaf, d76a332, 634da91, 634da91, 7e349c3, 9448caa, e9396c9, 700a714, 634da91, 634da91]:
route() paths now treat leading and trailing underscores as literal URL path characters, while physical file routes continue to use bracket escapes for literal underscore segments. (#7408)Updated dependencies \[`45c4ad8`]:
45c4ad8]:
45c4ad8]:
45c4ad8]:
2387a2e]:
Resolve tsconfig path aliases when loading virtual route config files.
### Patch Changes - Bump jiti dependency to 2.7.0.
Updated dependencies [`35e88f0`]:
35e88f0]:
Parse plain TypeScript files without JSX when a filename is available, preventing angle-bracket type assertions from being interpreted as JSX during r
Updated dependencies [`4a1e63f`]:
4a1e63f]:
Updated dependencies [`c992495`]:
c992495]:
Updated dependencies [`b5c4183`]:
b5c4183]:
Updated dependencies [`493148b`]:
493148b]:
Use jiti instead of tsx to load virtual route config files.
Updated dependencies [`4d864ee`]:
4d864ee]:
Updated dependencies [`91a7089`]:
91a7089]:
Updated dependencies [`16f6892`]:
16f6892]:
Fix malformed generated paths when a physical() mount points at a subtree rooted by __virtual.ts, including nested virtual layouts that mount addition
physical() mount points at a subtree rooted by __virtual.ts, including nested virtual layouts that mount additional physical routes. (#7169)Fix route file transforms to preserve route ID quoting, handle more exported Route patterns, and avoid incorrect import rewrites in edge cases.
Fix route file transforms to preserve route ID quoting, handle more exported Route patterns, and avoid incorrect import rewrites in edge cases. (#7167)
Improve transform robustness with clearer route-call detection, safer import removal, and expanded test coverage for quote preservation, constructor swaps, and unsupported route definitions.
Updated dependencies [`0e2c900`]:
0e2c900]:
Updated dependencies [`812792f`]:
812792f]:
Updated dependencies [`8ec9ca9`]:
8ec9ca9]:
Updated dependencies [`6355bb7`]:
6355bb7]:
Updated dependencies [`459057c`]:
459057c]:
Your coding agent can read these notes before it upgrades. Set up the MCP server →