# What changed in electron-vite

> 40 changes in electron-vite 3 to 6 from its official release notes, upgrade guides and advisories: 10 breaking, 2 deprecations, 1 security, 4 new APIs and options. Each one cited. Sources checked 2026-10-28. HTML: https://unstale.sh/npm/electron-vite/

To see which of these apply to a repository, run `npx @unstale/cli init` in it.

## electron-vite 6

### Breaking changes

- The dev process exits non-zero when Electron is killed by a signal. (6.0.0) — [upgrade guide](https://github.com/alex8088/electron-vite/blob/v6.0.0/CHANGELOG.md)

### New APIs and options

- Supports `rolldownOptions` as part of Vite 8 and Rolldown integration. (6.0.0) — [release notes](https://github.com/alex8088/electron-vite/releases/tag/v6.0.0)
- Supports `rollupOptions` alongside Vite 8's Rolldown integration. (6.0.0) — [release notes](https://github.com/alex8088/electron-vite/releases/tag/v6.0.0)

### Performance

- Loads Babel only when needed, reducing build overhead. (6.0.0) — [release notes](https://github.com/alex8088/electron-vite/releases/tag/v6.0.0)

### Behavior and default changes

- Processes all code through a single compiler session and compiles through Electron processes. (6.0.0) — [release notes](https://github.com/alex8088/electron-vite/releases/tag/v6.0.0)
- The `chunkAlias` option now supports regular expressions. (6.0.0) — [release notes](https://github.com/alex8088/electron-vite/releases/tag/v6.0.0), [upgrade guide](https://github.com/alex8088/electron-vite/blob/v6.0.0/CHANGELOG.md)

### Tooling

- Adds Vite 8 support while retaining compatibility with Vite 6 and 7. (6.0.0) — [release notes](https://github.com/alex8088/electron-vite/releases/tag/v6.0.0)

### Fixes and other changes

- Includes fixes for asset paths in the development workflow. (6.0.0) — [release notes](https://github.com/alex8088/electron-vite/releases/tag/v6.0.0)
- Fixed obtaining the bytecode build session in Node.js 24. (6.0.0) — [upgrade guide](https://github.com/alex8088/electron-vite/blob/v6.0.0/CHANGELOG.md)
- Includes fixes for caching in the development workflow. (6.0.0) — [release notes](https://github.com/alex8088/electron-vite/releases/tag/v6.0.0)
- Improves Electron process shutdown during development. (6.0.0) — [release notes](https://github.com/alex8088/electron-vite/releases/tag/v6.0.0)
- Includes fixes for multi-entry builds. (6.0.0) — [release notes](https://github.com/alex8088/electron-vite/releases/tag/v6.0.0)
- Fixed the requirement that the TypeScript compiler outDir be located inside the Rollup dir option. (6.0.0) — [upgrade guide](https://github.com/alex8088/electron-vite/blob/v6.0.0/CHANGELOG.md)
- Oxc is also disabled on Vite 8. (6.0.0) — [upgrade guide](https://github.com/alex8088/electron-vite/blob/v6.0.0/CHANGELOG.md)
- Compatibility with rollupOptions and rolldownOptions was fixed. (6.0.0) — [upgrade guide](https://github.com/alex8088/electron-vite/blob/v6.0.0/CHANGELOG.md)
- Improves signal handling during development. (6.0.0) — [release notes](https://github.com/alex8088/electron-vite/releases/tag/v6.0.0), [upgrade guide](https://github.com/alex8088/electron-vite/blob/v6.0.0/CHANGELOG.md)

## electron-vite 5

### Breaking changes

- Adds build.bytecode as a config option to replace bytecodePlugin. (5.0.0) — [release notes](https://github.com/alex8088/electron-vite/releases/tag/v5.0.0), [upgrade guide](https://github.com/alex8088/electron-vite/blob/v5.0.0/CHANGELOG.md)
- Adds build.externalizeDeps as a config option to replace externalizeDepsPlugin. (5.0.0) — [release notes](https://github.com/alex8088/electron-vite/releases/tag/v5.0.0), [upgrade guide](https://github.com/alex8088/electron-vite/blob/v5.0.0/CHANGELOG.md)
- Moves the isolateEntries options to the build option. (5.0.0) — [release notes](https://github.com/alex8088/electron-vite/releases/tag/v5.0.0), [upgrade guide](https://github.com/alex8088/electron-vite/blob/v5.0.0/CHANGELOG.md)
- Removes the build compatibility target for Electron 18, 19, 20, and 21. (5.0.0) — [release notes](https://github.com/alex8088/electron-vite/releases/tag/v5.0.0), [upgrade guide](https://github.com/alex8088/electron-vite/blob/v5.0.0/CHANGELOG.md)
- The Electron Vite config interfaces are restructured. (5.0.0) — [upgrade guide](https://github.com/alex8088/electron-vite/blob/v5.0.0/CHANGELOG.md)
- Nested config fields no longer support function resolution. (5.0.0) — [release notes](https://github.com/alex8088/electron-vite/releases/tag/v5.0.0), [upgrade guide](https://github.com/alex8088/electron-vite/blob/v5.0.0/CHANGELOG.md)

### Security

- Adds enhanced string protection. (5.0.0) — [release notes](https://github.com/alex8088/electron-vite/releases/tag/v5.0.0), [upgrade guide](https://github.com/alex8088/electron-vite/blob/v5.0.0/CHANGELOG.md)

### Deprecations

- Deprecates bytecodePlugin; build.bytecode is provided as its replacement. (5.0.0) — [release notes](https://github.com/alex8088/electron-vite/releases/tag/v5.0.0), [upgrade guide](https://github.com/alex8088/electron-vite/blob/v5.0.0/CHANGELOG.md)
- Deprecates externalizeDepsPlugin; build.externalizeDeps is provided as its replacement. (5.0.0) — [release notes](https://github.com/alex8088/electron-vite/releases/tag/v5.0.0), [upgrade guide](https://github.com/alex8088/electron-vite/blob/v5.0.0/CHANGELOG.md)

### New APIs and options

- Adds an option for preload and renderer to build entries as standalone bundles. (5.0.0) — [release notes](https://github.com/alex8088/electron-vite/releases/tag/v5.0.0), [upgrade guide](https://github.com/alex8088/electron-vite/blob/v5.0.0/CHANGELOG.md)
- Adds a reporter plugin for isolated builds. (5.0.0) — [release notes](https://github.com/alex8088/electron-vite/releases/tag/v5.0.0), [upgrade guide](https://github.com/alex8088/electron-vite/blob/v5.0.0/CHANGELOG.md)

### Tooling

- Updates the build compatibility target for Electron 39. (5.0.0) — [release notes](https://github.com/alex8088/electron-vite/releases/tag/v5.0.0), [upgrade guide](https://github.com/alex8088/electron-vite/blob/v5.0.0/CHANGELOG.md)

### Fixes and other changes

- Prevents duplicate asset emission. (5.0.0) — [upgrade guide](https://github.com/alex8088/electron-vite/blob/v5.0.0/CHANGELOG.md)
- Rewrites the build input instead of merging it. (5.0.0) — [upgrade guide](https://github.com/alex8088/electron-vite/blob/v5.0.0/CHANGELOG.md)
- Avoids duplicate chunk emission. (5.0.0) — [upgrade guide](https://github.com/alex8088/electron-vite/blob/v5.0.0/CHANGELOG.md)
- Normalizes the path of imported public asset chunks. (5.0.0) — [upgrade guide](https://github.com/alex8088/electron-vite/blob/v5.0.0/CHANGELOG.md)
- Adds support for watch mode. (5.0.0) — [upgrade guide](https://github.com/alex8088/electron-vite/blob/v5.0.0/CHANGELOG.md)

## electron-vite 4

### Breaking changes

- The CJS build is removed. (4.0.0) — [upgrade guide](https://github.com/alex8088/electron-vite/blob/v4.0.0/CHANGELOG.md)
- The required Node.js version is now 20.19+ or 22.12+. (4.0.0) — [upgrade guide](https://github.com/alex8088/electron-vite/blob/v4.0.0/CHANGELOG.md)
- electron-vite updates to Vite 7, which may affect projects using Vite. (4.0.0) — [upgrade guide](https://github.com/alex8088/electron-vite/blob/v4.0.0/CHANGELOG.md)

### Tooling

- A build compatibility target is added for Electron 36. (4.0.0) — [upgrade guide](https://github.com/alex8088/electron-vite/blob/v4.0.0/CHANGELOG.md)
- A build compatibility target is added for Electron 37. (4.0.0) — [upgrade guide](https://github.com/alex8088/electron-vite/blob/v4.0.0/CHANGELOG.md)

## electron-vite 3

### Behavior and default changes

- Conditions are now resolved for preload. (3.0.0) — [upgrade guide](https://github.com/alex8088/electron-vite/blob/v3.0.0/CHANGELOG.md)

### Tooling

- Build compatibility targets were added for Electron 32, 33, and 34. (3.0.0) — [upgrade guide](https://github.com/alex8088/electron-vite/blob/v3.0.0/CHANGELOG.md)
