Vite 8.1 is out with an experimental full bundle mode

TheAlexLichter1 pts0 comments

Vite 8.1 is out! | Vite

Cloudflare supports Vite's mission

Skip to content

Search⌘CtrlK

English<br>简体中文<br>日本語<br>Español<br>Português<br>한국어<br>Deutsch<br>فارسی

Appearance

English<br>简体中文<br>日本語<br>Español<br>Português<br>한국어<br>Deutsch<br>فارسی

Return to top

Building Together<br>ViteConf 2025<br>View the replays

Vite 8.1 is out! ​<br>June 23, 2026

Vite 8 was released in March with a single unified bundler powered by Rolldown, opening the door to further improvements. It is now seeing 41.6 million weekly downloads, almost reaching the total downloads of Vite 7. Alongside resolving upgrade regressions, we've been working on new features, and we're excited to announce the release of Vite 8.1.<br>Quick links:<br>Docs<br>Translations: 简体中文, 日本語, Español, Português, 한국어, Deutsch, فارسی<br>GitHub Changelog<br>Play online with Vite 8.1 using vite.new or scaffold a Vite app locally with your preferred framework running pnpm create vite. Check out the Getting Started Guide for more information.<br>We invite you to help us improve Vite (joining the more than 1.2K contributors to Vite Core), our dependencies, or plugins and projects in the ecosystem. Learn more at our Contributing Guide. A good way to get started is by triaging issues, reviewing PRs, sending tests PRs based on open issues, and supporting others in Discussions or Vite Land's help forum. If you have questions, join our Discord community and talk to us in the #contributing channel.<br>Stay updated and connect with others building on top of Vite by following us on Bluesky, X, or Mastodon.<br>Features ​<br>Experimental Bundled Dev Mode ​<br>Experimental support for bundled dev mode is now available. This was previously called as "Full Bundle Mode". This mode is to improve performance of huge applications that suffer from the number of modules.<br>In our initial testing with an app loading 10,000 React components, bundled dev mode achieved around 15x faster startup and 10x faster full page reloads compared to the unbundled dev server, while keeping HMR instant regardless of the application size. Early testing on real-world applications shows similar gains: the Linear team saw cold start rendering up to 3x faster, full reloads around 40% faster, and 10x fewer network requests.<br>Why bundled dev mode?Vite is known for its unbundled dev server approach, which is a main reason for Vite's speed and popularity when it was first introduced. This approach was initially an experiment to see just how far we could push the boundaries of development server performance without traditional bundling.<br>However, as projects scale in size and complexity, it has become clear that Vite's unbundled dev approach can degrade performance during development. Because each module is fetched separately, the browser must process a large number of requests, which increases startup and refresh overhead. This impact is especially noticeable in large applications and becomes more severe when developers are behind a network proxy, resulting in slower refresh times and a worse developer experience.<br>Bundled Dev Mode would allow serving bundled files not only in production but also during development, combining the best of both worlds:<br>Fast startup times even for large applications<br>Reduced network overhead on page refreshes<br>Maintained efficient HMR on top of ESM output<br>Currently, it focuses on the browser side and the basic plugins and the main features. If you are using a third party plugin, it may not work with this mode. If you are using a minor feature, it may not work as well. We are working on expanding the support and preparing a document that clarifies the changes that may be needed on the plugin side. See the design document for more details about the roadmap.<br>To enable this mode, you can pass --experimental-bundle or add experimental.bundledDev: true to your vite.config.js:<br>vite.config.js<br>tsimport { defineConfig } from 'vite'

export default defineConfig({<br>experimental: {<br>bundledDev: true,<br>},<br>})

Share your feedback in the discussion.<br>Experimental Chunk Import Map ​<br>In the output bundle, the import statement of a chunk includes the hash of that chunk. This is to ensure the new chunk is loaded if the chunk content has changed. However, this also causes the hash of the chunk importing the changed chunk to change, cascading the change to all the chunks that import the changed chunk transitively.<br>chunk_hash_cascadeutilsutils.[e5f6 → 88xx].jscontent editedpagepage.[c3d4 → 77yy].jsre-hashed by cascadepage->utils  imports (embeds hash)entryentry.[a1b2 → 99zz].jsre-hashed by cascadeentry->page  imports (embeds hash)<br>chunk_hash_cascadeutilsutils.[e5f6 → 88xx].jscontent editedpagepage.[c3d4 → 77yy].jsre-hashed by cascadepage->utils  imports (embeds hash)entryentry.[a1b2 → 99zz].jsre-hashed by cascadeentry->page  imports (embeds hash)<br>The experimental chunk import map feature solves this problem utilizing import maps and improves the cache efficiency. This feature is built on top of Rolldown's feature, but adds the support for Vite specific features. Huge thanks to...

vite mode chunk experimental bundled hash

Related Articles