npm / @solidjs/start
@solidjs/start
What changed in @solidjs/start 1 to 2, from its official release notes, upgrade guides and advisories. Sources checked 2026-10-24.
9 breaking4 new APIs and options3 performance8 behavior and defaults1 tooling12 fixes and other
See which of these apply to your code, ranked, in your agent:
npx @unstale/cli init@solidjs/start 234 changes
Breaking changes 9
Server function responses default to no-store, while a function's own Cache-Control is preserved and 304 responses are excluded.
Server function requests are allowed only from the same origin or same site; cross-site requests receive 403. Use an API route with explicit CORS for separate origins.
A "use server" function that reads an enclosing function variable now fails the build instead of compiling into broken output.
A "use server" directive in an object or class method now fails the build instead of shipping the method body and its imports to the browser.
A server function request with Origin: null and no Sec-Fetch-Site is now refused with 403; requests carrying neither header remain allowed.
Projects must use seroval and seroval-plugins 1.6.8 or newer.
Chunk headers are checked strictly, and the server rejects client-sent chunks over 64MB.
When a body ends or fails, promises waiting on later frames reject and open streams error; unawaited decoded promises no longer report unhandled rejections.
A "use server" string that is not the first statement of a module or function body now logs a warning and has no effect.
New APIs and options 3
This option sends page assets as 103 Early Hints, or as Link headers on non-Node runtimes; it is off by default and applies only to production builds.
In production, a route code load failure during client-side navigation reloads the page once at the destination; set this option to false to disable it.
The data-only mode renders on the client without hydration while running route preloads on the server and streaming their query results with the HTML shell.
Performance 3
The dev toolbar's CSS is dropped from production builds because the toolbar is dead code there.
Server function and lazy transforms do less parsing, and modules with many server functions compile about four times faster.
Large payloads arriving in many small pieces are read in linear time, substantially reducing read time.
Behavior and default changes 7
Vite's base can be a full URL for serving assets from a CDN; server functions post to the app's mount path rather than the asset base.
A clientOnly loader can resolve directly to a component, allowing named exports without wrapping them in
{ default }.Changes to entry-server or middleware now reload the browser in development instead of leaving previously rendered output visible.
When form data exceeds the flash cookie size, the data is omitted from the cookie while the result and error still come through; the server logs a warning.
solid-js is now a peer dependency, so SolidStart uses the app's copy and unsupported versions produce an install-time peer dependency warning.
Ids are built from the names a function is nested under, so adding another server function no longer changes an id and same-named functions are distinguished by their surrounding names.
Exports a "use server" module cannot serve now produce a warning naming the export; they remain excluded from the client build.
Tooling 1
Server functions are now compiled in .mts and .cts files.
Fixes and other changes 11
This server API is exported from @solidjs/start/server in SPA mode so apps using it build.
This server API is exported from @solidjs/start/server in SPA mode so apps using it build.
This server API is exported from @solidjs/start/server in SPA mode so apps using it build.
If the browser's path or query changes before hydration starts, rendering falls back to the client to prevent hydration mismatches and stale server data.
A module with a server function no longer fails to compile because of an unused for-of or for-in loop variable or a chain of unused declarations.
In SPA mode, a route that exports both a page and an API handler is served as a page rather than treated as API-only.
A "use server" module can now export an anonymous default function using either supported function syntax.
Lazily imported client components that use client-only no longer cause the server build to fail.
POSTs without the client runtime and with an empty body or non-form content type now return the normal redirect; flash-cookie handling can no longer take down the error path.
Malformed later chunks are logged rather than causing an unhandled rejection, and chunks that cannot be read or parsed cancel the stream.
The build check for unsupported "use server" functions now covers this and arguments in arrow functions, super, and private class members.
@solidjs/start 13 changes
New APIs and options 1
Enables sending page assets as
103 Early Hintsso browsers can begin downloading while the server renders; off by default and only applies to production builds.
Behavior and default changes 1
Pages are served in SPA mode (
ssr: false) when a route file exports both a page and an API handler.
Fixes and other changes 1
On Node, the signal aborts when the client disconnects, allowing API routes to stop running after the client goes away.