SolidStart v2 is now Stable · solidjs solid-start · Discussion #2281

3 min read Original article ↗
Screenshot 2026-08-04 at 21 21 37

SolidStart v2 is now stable

Documentation

We’re thrilled to announce that SolidStart v2 is now stable.

SolidStart v2 modernizes the foundation for building full-stack applications with Solid v1.

Built directly on Vite

SolidStart v2 replaces Vinxi with direct use of Vite’s Environment API for client and server builds. The result is a simpler architecture built directly around Vite and its ecosystem.

Building directly on Vite 8 gives SolidStart applications access to its Rolldown-powered toolchain and better compatibility with Vite plugins such as Tailwind CSS v4. It also enables direct integration with deployment Vite plugins, including Nitro v3, Cloudflare and Netlify.

We have already accounted for Vite 9’s currently planned breaking changes, so we expect SolidStart v2 to be compatible with Vite 9 from day one.

Upgrading from SolidStart v1

For most SolidStart v1 applications, upgrading should be straightforward. The most visible change is moving your framework configuration from app.config.ts to vite.config.ts.

Before upgrading, note that SolidStart v2 requires Node.js 24 or newer and Vite 8.

There are also changes to package imports, environment types, server runtimes, and middleware, so be sure to follow the full migration guide.

How we got here

When SolidStart v1 was released two years ago, it helped push forward two architectural ideas that have since become increasingly important across the full-stack JavaScript ecosystem.

  • Multiple Vite environments. Vite 5, the current version at the time, supported implicit client and SSR environments but did not provide a first-class way to configure all the independent environments a full-stack framework might need. Vinxi filled that gap by coordinating the Vite-powered environments used by the client, server, server functions, and other targets. Vite now addresses this need directly through its Environment API.
  • Shared deployment infrastructure. Deployment integrations were fragmented across framework ecosystems, creating duplicated work as hosting platforms introduced new features and changed their APIs. The Nuxt and UnJS teams had already taken an important step by extracting shared deployment infrastructure into Nitro. By using Nitro through Vinxi, SolidStart gained access to those deployment targets without maintaining its own collection of adapters. Nitro v3, currently in beta, has since been rebuilt as a Vite plugin using Vite’s Environment API.

With Vite’s Environment API available, it was time to rebuild SolidStart on a modern Vite foundation. After more than a year of work and 25 alpha, beta, and release candidate versions, we have completed the migration from Vinxi to Vite’s Environment API.

A stable foundation for today and the future

SolidStart v2 is built for Solid v1, giving existing applications a modern, stable foundation today.

At the same time, Solid v2 is moving forward quickly. It represents the next generation of Solid, with an exciting new reactive foundation and new possibilities for the framework and its ecosystem. We are incredibly excited about where it is headed, and we will have much more to share about it soon.

With the modernization work completed in SolidStart v2, we can carry this foundation forward as we move towards Solid v2 in future releases.

In the meantime, SolidStart v2 is the production-ready choice for teams maintaining Solid v1 applications today. It is also a great foundation for developers starting new projects and looking for a mature, fast, and flexible full-stack framework.

Read the migration guide or join us on the Solid Discord.

Thank you

A huge thank-you to everyone who contributed code, testing, feedback, documentation, and ideas throughout this release:

@lxsmnsyc, @katywings, @brenelz, @Brendonovich, @birkskyum, @atilafassina, @ryansolid, @huseeiin, @jer3m01, @LadyBluenotes, @adipascu, @DBozhinovski, @g-mero, @hirehamir, @oscartbeaumont, @silen-z, @thomasbuilds, @TymonMarek, @YanAnghelp, and @yinonburgansky.

We couldn’t have done it without you. 💙