BetaWeekly digests are a beta — we're trying something new. Feedback welcome.
Vitest 5 lands as Bun ships a rapid-fire pair of patch releases
August 31 – September 6, 2026
Vitest 5.0.0 arrived with a performance-focused rewrite and long-awaited fixes, while Bun issued two point releases within a week to keep its runtime moving. The testing framework's major version sets a new baseline for developer experience, even as its release candidate showed the seams of the transition.
Vitest 5 is finally here
The headline this week is unambiguously Vitest 5.0.0, the testing framework's first major version in years. The release is pitched squarely at performance, and it delivers on that promise with a sizable list of internal improvements that should make large test suites noticeably faster to start and run. The team also used the major bump to clean up long-standing issues, which is exactly what you'd hope for from a 5.0 — a chance to break things deliberately rather than bolt on more options.
The most user-visible change arrives via a breaking replacement: loupe.inspect is gone, swapped for the more widely known pretty-format. If you've been reaching for loupe.inspect to pretty-print values in test output, you'll need to migrate those call sites to the new formatter. It's a small change in surface area, but a meaningful one for consistency across the toolchain.
What's arguably more interesting is the path here. The release candidate that shipped early in the week already demonstrated the direction: vitest list now parses test files statically by default, a change that eliminates the need to actually execute files just to see what tests exist. That's a massive speedup for IDE integrations and quick project reconnaissance, and it's now the standard behavior in the stable release. The RC also promoted clearCache out of the experimental bucket and added a handy link to open Playwright traces directly from the UI, both of which carry over into 5.0.0.
The two releases bookend the work nicely — the RC shows the team tightening the final details, and the stable release confirms the whole package hangs together.
Bun keeps the cadence
While Vitest claimed the spotlight, Bun v1.4.2 and Bun v1.4.1 arrived back-to-back on consecutive days, a rhythm that's become typical for the project. The patch releases are light on headline features — you won't find a new flag or a rewritten subsystem here — but they matter in aggregate. Security fixes, edge-case bug squashes, and platform-specific stability improvements (Windows often gets special attention) are exactly what a runtime needs between feature releases.
The short contributor lists (3 for 1.4.2, 7 for 1.4.1) suggest these were focused stabilization passes rather than sprawling changes. For teams already on Bun, the upgrade path is a single bun upgrade command, and the low churn means it's a low-risk update. For anyone watching from the sidelines, the rapid-fire cadence itself is the signal: the project's release train is running smoothly, and the maintainers are comfortable shipping small, safe increments.
The week in context
The contrast between the two projects is worth noting. Vitest's 5.0 is a milestone — a deliberate, breaking moment that resets expectations for what a modern test runner should feel like. Bun's patches are the opposite: routine, almost invisible maintenance that keeps the runtime healthy. Both are necessary, and both are happening at a healthy clip.
If you're planning an upgrade, Vitest 5 deserves a dedicated migration pass given the breaking changes, but the static parsing alone makes it worth the effort. For Bun, thepatches are a no-brainer install. Neither announcement changes the trajectory of the ecosystem overnight, but together they show a toolchain that's actively getting faster and more reliable, week after week.