I am really excited to announce that the Next.js Supabase SaaS kit is now updated to version 3, its largest ever update. This new version switches to more modern libraries and tooling, upgrading the core dependency stack that powers the SaaS Starter.
TLDR: V3 upgrades every library, replaced some core libraries with modern ones, and added the ability to run the kit in teams-only mode for B2B apps.
What's new in v3
Here's what changed in the Next.js Supabase kit v3.
When building the Next.js ORM-based kits, I decided to drop some libraries in favor of more modern ones:
- Base UI replaces Radix UI - but still using the Shadcn UI components as wrappers
- next-intl replaced i18next
- Next Safe Action replaced our home-grown library
enhanceActionto write boilerplate-free Next.js Server Actions - and lately, we replaced ESLint and Prettier with Oxc for massive development-time performance boost
- new teams-only mode — run the kit without personal accounts, as it's commonly done in B2B SaaS
- TypeScript 6.0 is now the default, preparing your codebase for the upcoming Go-native TypeScript 7 compiler
- all dependencies were updated to the latest versions, including Next.js 16.2, which brings a lot of DX and Agentic development improvements
- the full documentation is now included in the repository, giving AI coding agents like Claude Code, Cursor, and Windsurf the context they need to build features correctly on the first try
The ORM kits also had various UX improvements; some of them made it into the new v3, while others I decided to postpone to a future v4 version.
Following the successful work on the ORM-kits, I decided it was time to do the same for the Next.js Supabase kits.
Beyond the library swaps, next-intl unlocks locale-prefixed routes for better SEO, the new teams-only mode lets you configure the kit for pure B2B use cases, and TypeScript 6.0 positions your project for a smooth transition to the Go-native TypeScript 7 compiler.
The new libraries are better maintained and built on foundations that will keep up with the ecosystem for years to come.
Let's go through the changes introduced in v3.
Base UI replaces Radix UI
Base UI is an API-compatible (mostly) successor to Radix UI Primitives, built by the same team that created Material UI and Radix UI. It provides unstyled, accessible components with a more modern API, better performance, and improved composability.
We still use Shadcn UI as our component wrapper layer, so the developer experience stays familiar. Under the hood, you get a lighter, actively maintained foundation.
next-intl replaces i18next
i18next is a generic internationalization library adapted to work with Next.js, but making it play nicely with the App Router required pulling in multiple packages and manual wiring for server vs. client components. next-intl is purpose-built for Next.js and solves all of that out of the box.
The biggest win is native support for locale-prefixed routes (e.g. /en/pricing, /it/pricing), which is a real SEO advantage for multilingual SaaS apps. The setup is also simpler: fewer packages, fewer config files, and less boilerplate.
Next Safe Action replaces enhanceAction
Next Safe Action replaces our home-grown enhanceAction utility with a well-established, community-maintained library for type-safe Next.js Server Actions.
It gives you built-in Zod validation, middleware chaining, optimistic updates, and structured error handling out of the box, all with excellent TypeScript inference.
By moving to a widely adopted library, you get better documentation, a larger ecosystem, and a faster pace of updates without us having to maintain the plumbing ourselves.
ESLint and Prettier replaced with Oxc
Oxc is a Rust-based toolchain that handles both linting and formatting in a single pass.
Replacing both ESLint and Prettier with Oxc means fewer dependencies, dramatically faster lint/format runs, and zero config conflicts between linter and formatter.
The developer experience improvement is immediately noticeable. CI pipelines are faster, editor feedback is near-instant, and you no longer need to juggle two separate tool configurations.
TypeScript 6.0 prepares you for TS 7
v3 ships with TypeScript 6.0 as the default compiler version. TypeScript 7 will be rewritten in Go for dramatically faster compile times, but it also introduces stricter type-checking and deprecates several legacy patterns.
By moving to TypeScript 6.0 now, your codebase picks up the latest type-system improvements and any deprecation warnings that flag code incompatible with the upcoming Go-native compiler. When TypeScript 7 lands, the upgrade should be straightforward rather than a scramble.
Teams-only mode for B2B apps
v3 introduces the ability to run the kit in teams-only mode, removing personal accounts entirely.
This is a common pattern in B2B SaaS where every user belongs to a team (or organization) and there's no concept of a personal workspace.
With a single configuration flag, the kit skips personal account creation on sign-up, redirects users straight to their team workspace, and adjusts the navigation accordingly. No need to hack around the default multi-tenant model.
Migration Guide
We have written a detailed migration guide for users on v2. The migration is split into 10 git tags.
Every git tag is an incremental change towards moving v2 to v3. Each tag will keep the application fully working, while slowly updating the internals.
Refer to the documentation for more info.
v2 is not going anywhere
We're not a weekend side project — supporting our customers is our top priority. Thousands of you are running real businesses on v2, and we don't take that lightly. Migrating from v2 to v3 may not be trivial, and we get that running a SaaS is hard enough without being forced into a major upgrade. That's why we commit to keeping v2 fully maintained — dependency updates, security patches, and important fixes — for as long as it's needed. Upgrade to v3 on your own terms, when it makes sense for your product. Don't rush it, don't FOMO.
Conclusion
The Next.js Supabase kit v3 builds on the strong foundations of v2 with newer, better maintained core libraries, setting your SaaS up for the long run.
Ready to get started? Check out the v3 migration guide or browse the full documentation.