Vite 8 Stable Lands, Seven Patches Follow in Three Weeks

Vite 8 Stable Lands, Seven Patches Follow in Three Weeks

lschvn4 min read

Vite 8.0.0 went stable on March 12, 2026. Three weeks and seven patch releases later, the Vite team is on v8.0.7 as of April 7. That's a faster response cadence than most major releases in the JavaScript ecosystem, and it reflects the complexity inherent in swapping out both ESBuild and Rollup for Rolldown as the unified bundler.

What Stable Brought

The headline change from the beta cycle is Rolldown. Vite 8 is built around rolldown 1.0.0-rc.9, which replaced both ESBuild (used for dependency pre-bundling) and Rollup (used for production builds) with a single Rust-based bundler. The performance and memory benefits are real, particularly for larger projects, but so are the edge cases when you have hundreds of community plugins built against Rollup's exact hook interface.

Also new in the stable: browser console output is now forwarded to the dev server terminal. This was a frequently requested DX improvement, when you're debugging in the browser, the errors and logs now surface where you're already watching, instead of requiring a separate DevTools tab.

The Patch Tally

The changelog from v8.0.1 to v8.0.7 shows fixes across a wide surface area:

  • v8.0.1 (March 19): Initial stable patch
  • v8.0.2 (March 23): Dev server watch behavior fixes
  • v8.0.3 (March 26): Further watcher refinements
  • v8.0.4 (April 6): CSS and SSR fixes
  • v8.0.5 (April 6): Additional SSR and module-runner fixes
  • v8.0.6 (April 7): Continued bug fixes
  • v8.0.7 (April 7): Latest patch

The rapid-fire April 6-7 releases suggest a specific batch of regressions was found and fixed quickly.

Notable fix categories across the cycle:

  • Dev server: concurrent restart prevention, EADDRINUSE handling, proxy error responses (502 vs 500)
  • CSS: public file URL handling with server.origin, CSS injection for IIFE output
  • WASM: SSR support for .wasm?init, asset URL regex lastIndex reset bug
  • Module runner: column number handling in sourcemaps, stacktrace robustness
  • TypeScript/transform: tsconfig cache handling, symlink resolution

Browser Console Forwarding: Small Detail, Big DX

The addition of browser console forwarding to the dev server terminal (merged in beta.17) deserves specific mention. Previously, browser console output was disconnected from the terminal where you're running vite. With the default dev server configuration, console.log, errors, and warnings now appear where you're already watching. It's a quality-of-life improvement that aligns Vite's dev experience with the kind of integrated feedback that tools like Turbopack offer.

Vite 7 Still Supported

For projects not ready to move, Vite 7 remains supported. The v7 to v8 migration guide is available at vite.dev. The Vite team has been consistent that most straightforward projects migrate without significant issues, but projects with custom plugins or unusual bundler configurations should budget time for testing.

The upgrade path:

npm install vite@latest

Monitor the CHANGELOG for your specific plugins, the community ecosystem is still catching up to the Rolldown interface.

Frequently Asked Questions

Related articles

More coverage with overlapping topics and tags.

Rolldown 1.1.4 Disables `experimental.lazyBarrel` by Default Again, One Month After 1.1.0 Made It Default-On
tooling

Rolldown 1.1.4 Disables `experimental.lazyBarrel` by Default Again, One Month After 1.1.0 Made It Default-On

Rolldown [v1.1.4](https://github.com/rolldown/rolldown/releases/tag/v1.1.4), published 2026-07-01T14:02:02Z, ships one feature change and 19 bug fixes. The feature change is a partial reversal of the [v1.1.0 default-flip](https://github.com/rolldown/rolldown/releases/tag/v1.1.0) that landed on 2026-06-03: `experimental.lazyBarrel` is now disabled by default again, after four weeks of correctness reports against the default-on behaviour. The release also hardens the dev-mode path by forcing `lazyBarrel` off whenever `experimental.devMode` is set (PR [#10060](https://github.com/rolldown/rolldown/pull/10060)), on top of the existing force-off for `treeshake`. The default-flip revert (PR [#10071](https://github.com/rolldown/rolldown/pull/10071)) and the dev-mode fix both author as one line each: "disable `experimental.lazyBarrel` by default" and "fix(dev): disable lazy barrel in dev mode", and the root-cause tracking is the new [issue #10085](https://github.com/rolldown/rolldown/issues/10085) "Tracking strictExecutionOrder correctness and architecture issues", opened the day after the release. The release follows [Rolldown v1.1.3](https://github.com/rolldown/rolldown/releases/tag/v1.1.3) (2026-06-24) and is the first release since 1.1.0 to touch the lazyBarrel config surface.
Prettier 3.9 Overhauls Five Parsers: micromark for Markdown, yaml v2, GraphQL.js v17, a Rust-Based Flow Parser, and Angular
tooling

Prettier 3.9 Overhauls Five Parsers: micromark for Markdown, yaml v2, GraphQL.js v17, a Rust-Based Flow Parser, and Angular

Prettier 3.9.0, released June 27, 2026 (prettier/prettier, blog post by Fisker Cheung), is a parser-heavy release that upgrades Markdown from remark-parse v8 to micromark v4 (better CommonMark and GFM compliance and a stack of long-standing bug fixes), YAML to yaml v2, GraphQL to GraphQL.js v17 (fragment arguments and directives on directive definitions), Flow to the Flow team's new Rust-based oxidized parser (roughly 37% faster on Prettier's valid Flow fixtures and 43% faster on flow_parser.js in local parser-only benchmarks), and Angular. The JavaScript and TypeScript printer is reworked too, particularly in --no-semi mode where comments around break and continue are now stable across repeated formats (an idempotency fix), plus redundant parenthesis removal in return statements, embedded-template interpolation alignment, and logical-not inlining. The release drops the legacy import ... assert {} syntax (Babel 8 removed the parser plugin; migrate to with), fixes a silently broken --cache-strategy content option, and stops EditorConfig files above Git worktrees from leaking in. The team reiterates pinning the exact version in package.json because the formatting changes will produce diffs.
Playwright v1.61.0 Lands WebAuthn Passkeys, a Real WebStorage API, and Trace-Style Video Modes for the Test Runner
tooling

Playwright v1.61.0 Lands WebAuthn Passkeys, a Real WebStorage API, and Trace-Style Video Modes for the Test Runner

Playwright v1.61.0 (June 15, 2026) ships a virtual authenticator for WebAuthn/passkey ceremonies, a first-class page.localStorage / page.sessionStorage API, network security details on API responses, and brings test runner video recording to parity with trace recording. Browser channels: Chromium 149, Firefox 151, WebKit 26.5.

Comments

Log in Log in to join the conversation.

No comments yet. Be the first to share your thoughts.