Supamode 0.4.0 is a foundation release. We rebuilt the UI on Base UI, replaced the linting and formatting stack with the Oxc toolchain, and upgraded to Vite 8. The result is a faster, snappier admin panel — both at runtime and at build time.
What's new: Supamode 0.4.0 replaces Radix UI with Base UI, introduces a refreshed theme color, and ships dozens of UI refinements across the app. Under the hood, ESLint is out and Oxlint is in, Prettier is out and Oxfmt is in, and Vite 7 gives way to Vite 8. Production builds now finish in roughly one second, and the dev experience is dramatically faster.
Highlights:
- Base UI replaces Radix UI across every primitive
- New theme color and broad UI polish
- Oxlint replaces ESLint — linting is effectively instant
- Oxfmt replaces Prettier — formatting is effectively instant
- Vite 8 — production builds in ~1 second, much faster HMR
This release doesn't add new features. It makes everything you already use feel faster and look better, and it puts Supamode on a toolchain that will keep up as the app grows.
Base UI Replaces Radix UI
Click to expandEvery interactive primitive in Supamode — dialogs, dropdowns, popovers, tooltips, selects, tabs — has been migrated from Radix UI to Base UI. We made the same move in our Makerkit SaaS kits and knew it was the right direction for Supamode too.
Why Base UI:
- Smaller runtime footprint than Radix, which shows up in bundle size and interaction latency
- More predictable composition — the primitives compose without the prop-forwarding gymnastics Radix sometimes required
- Modern accessibility defaults that match our patterns out of the box
- Actively developed by the Material UI team, with a clear roadmap
In practice, this means dialogs open faster, menus feel snappier, and the whole app has less JavaScript to parse on first load. If you've built custom plugins or dashboards on top of Supamode's components, you may need to update imports — see the upgrade notes for the migration details.
A New Theme
Click to expandAlongside the Base UI migration, Supamode ships with a refreshed theme color and a long list of UI improvements. We took the opportunity of a full component swap to revisit spacing, contrast, and hover states across the app.
You'll notice:
- A new primary color that reads better in both light and dark mode
- Tighter, more consistent spacing in tables and forms
- Clearer focus and hover states for keyboard navigation
- Refined empty states and loading skeletons
These aren't headline features, but they're the things you see every time you open the app.
Click to expandThe rich text editor picks up the same treatment: a cleaner toolbar, tighter controls, and focus states that match the rest of the app.
Oxlint Replaces ESLint
We replaced ESLint with Oxlint, the Rust-based linter from the Oxc project. Oxlint runs in a fraction of the time ESLint took — on Supamode's codebase, linting dropped from several seconds to effectively instant.
Why this matters:
- Pre-commit hooks finish in milliseconds instead of seconds
- CI pipelines are faster and cheaper — the lint step used to be a meaningful chunk of CI time
- The feedback loop in your editor is instant — no more waiting for ESLint to catch up
Oxlint covers the rules we actually used from our ESLint config. The migration was straightforward, and we've kept the rule set intentionally pragmatic.
Oxfmt Replaces Prettier
On the formatting side, we swapped Prettier for Oxfmt, also from the Oxc project. Like Oxlint, it's written in Rust and runs at native speed. Formatting the entire Supamode codebase now takes under a second.
This pairs with Oxlint to give you a single, fast toolchain for both linting and formatting. No more stacking two slow Node processes in your pre-commit hook.
Vite 8
Supamode 0.4.0 upgrades to Vite 8. Combined with the Base UI bundle reduction and Vite's ongoing build improvements, production builds now complete in roughly one second. On most machines, you'll see the build finish before you've finished reading the command you just typed.
What changed:
- Production builds in ~1s — meaningfully faster CI/CD
- Faster dev server startup — cold start is noticeably quicker
- Faster HMR — edits propagate to the browser with less delay
- Smaller output bundle — thanks to Base UI's lighter runtime and Vite 8's improved tree-shaking
For teams deploying Supamode frequently, this adds up fast. For developers working on customizations, the dev experience is the biggest win.
What This Means for Your Deployment
If you're self-hosting Supamode, the upgrade to 0.4.0 should be straightforward:
- Pull the latest release and run the usual install and build commands
- Update any custom components that imported from
@radix-ui/*packages — the equivalents now come from Base UI - Re-run your formatter and linter once to normalize your codebase against the new tools
- Check your CI configuration — if you were calling
eslintorprettierdirectly, update those scripts
Full migration steps are documented in the updating your codebase guide.
What's Next
With Base UI, the Oxc toolchain, and Vite 8 in place, we have a faster, lighter, more maintainable foundation for everything that comes next on the road to v1.
If you haven't tried Supamode yet, start with the Supamode documentation. If you're already running it, 0.4.0 is available now.