LeadershipNot yet confirmed elsewhere1 publisher2 min readPublished
Electron Forge 8 marks six changes as breaking, chief among them a move to Node 22 and ESM
Electron Forge 8 flags six breaking changes, including a move to Node 22 and ESM and the removal of global module templates. Its npm trusted publishing entry concerns how maintainers ship Forge, so app teams' work lands in their runtime and config.
The Board Room · Leadership desk

What happened
- The init and import commands move out of Forge's core under create-electron-app, and the new --package-manager flag for init is also marked as breaking.
- Forge's config loader drops rechoir and lodash templates, in an entry filed under core and marked as breaking.
- The Vite plugin moves to Vite 8 in an entry from contributor 0xlau that is filed as an ordinary feature, without the breaking marker.
- The notes trace the major through prerelease version bumps running from 8.0.0-alpha.1 to 8.0.0-alpha.7.
Compiled by The Board RoomSomething wrong?How this is made
Why it matters
- decision Platform teams that wrap Forge's init or import commands in internal scaffolding scripts now own part of this upgrade, because those commands no longer live in core.
- constraint Projects still carrying Forge 5 configuration lose the importer as a route into this major and need another way to convert before they can adopt it.
- cost Teams on the Vite plugin take a build-tool major upgrade inside the Forge upgrade, so a single change window has to absorb testing for both.
- exposure Bug reports and migration questions about the breaking changes queue behind one maintainer's attention, a key-person dependency for teams that ship on Forge.
The npm trusted publishing change belongs to the project's own release pipeline. It is filed under the ci prefix [6], the same prefix the log uses for a faster Windows build drive, a CI .nvmrc file and an upgrade of its actions/* steps [7]. Those entries change how Forge's maintainers build and publish their packages [6][7]. Nothing in them alters a command, an API or a config key that a desktop team writes, so trusted publishing does not belong on an app team's migration list.
The global module templates removal does belong on that list, for fewer teams. It is filed under core and carries the breaking marker [1]. By its wording, it reaches projects whose setup drew templates from globally installed modules [1].
Node 22 and ESM is the change every project meets. It arrives as one entry, "feat!: Node 22 + ESM" [2]. Later entries pruned the final require calls, made the webpack plugin's imports ESM-compatible and switched the project template to moduleResolution: bundler [11]. If Node 22 is a minimum, as the breaking marker suggests, the change reaches past application code into CI images and developer machines. The notes do not say whether CommonJS configuration files still load, or how long the previous major will receive fixes.
The Vite plugin adds a second upgrade inside the first. Earlier in the same cycle, Dependabot was still bumping Vite within the 5.4 series, from 5.4.20 to 5.4.21 [9]. If a project's build tracked that series, moving to the plugin's Vite 8 means crossing three Vite major versions in one step [15]. The plugin's production builds also now run in isolated subprocesses [10].
Authorship in this log is concentrated. All six breaking entries are credited to one contributor, erickzhao [13], who appears on 50 of the 67 entries listed [19][20], about three in four [14]. MarshallOfSound is next, with nine [18].
The branch history bears on timing. The 8 work ran on a separate next branch, and the log includes a forward-ports entry [12]. Both suggest the previous line was still maintained while 8 was built. In my view that makes this quarter's decision one of sequencing. A team with several Forge apps that trials Node 22 and ESM on one of them now learns how far the module change reaches into its own code. I'd expect the rest of its portfolio to follow next quarter as mostly config and scaffolding work.
What to watch
- A stated support window for the previous Forge major, which would set how long teams can defer the Node 22 and ESM work.
- Whether CommonJS Forge configuration files still load under the config loader once rechoir is gone.
- A maintainer migration guide that maps each of the six breaking entries to the changes a project has to make.
Clarity's read
What the record supports and how the coverage leans. The claims behind it follow.
Reality
- Evidence60
- Adoption
- Insufficient
- Hype gap−15
- Incentives
- Insufficient
- Confidence55
Claim ledger
Ranked by verification strength, evidence, and original report placement.
- [1]
The notes list 'feat(core)!: remove global module templates' (#4065), credited to erickzhao.
- [2]
The notes list 'feat!: Node 22 + ESM' (#4059), credited to erickzhao.
- [3]
The notes list 'feat(create-electron-app)!: move init and import out of core' (#4148) and 'feat(init)!: add --package-manager flag' (#4107), both credited to erickzhao.
- [4]
The notes list 'feat(import)!: remove Forge 5 import code' (#4083), credited to erickzhao.
- [5]
The notes list 'feat(core)!: remove rechoir + lodash templates from config loader' (#4066), credited to erickzhao.
- [6]
The notes list 'ci: set up npm trusted publishing' (#4070), credited to erickzhao, under the ci prefix.
- [7]
Other ci entries in the notes include 'ci: optimize Windows builds with faster D:\ drive' (#4038), 'ci: use .nvmrc file for CI' (#4081) and 'ci: upgrade actions/* to latest' (#4179).
- [8]
The notes list 'feat(plugin-vite): upgrade vite 8' (#4167), credited to 0xlau, without a '!' marker.
- [9]
Dependabot entries in the same notes bump vite from 5.4.20 to 5.4.21 (#4036, #4049).
- [10]
The notes list 'perf(plugin-vite): run production builds in isolated subprocesses' (#4163), credited to MarshallOfSound.
- [11]
The notes list 'fix: prune final require calls' (#4176), 'fix(plugin-webpack): ESM-compatible imports' (#4206) and 'feat(template): use moduleResolution: bundler' (#4175).
- [12]
The notes list 'build: target "next" branch in gh release create' (#4074), 'ci: run post-merge on next branch' (#4090) and 'chore: forward-ports' (#4205).
- [13]
All six entries carrying the breaking marker are credited to erickzhao.
- [14]
erickzhao is credited on about three in four of the listed entries.
- [15]
A build on the Vite 5.4 series moving to Vite 8 crosses three Vite major versions.
- [16]
Six entries in the Electron Forge 8 release notes carry a '!' after the commit type, the conventional-commit marker for a breaking change: #4059, #4065, #4066, #4083, #4107 and #4148.
- [17]
Version-bump entries in the notes run from 8.0.0-alpha.1 to 8.0.0-alpha.7 (alpha.1, 3, 4, 5, 6 and 7 are listed).
- [18]
MarshallOfSound is credited on nine entries in the release notes.
- [20]
erickzhao is credited on 50 of the entries in the release notes.
Sources
1 independent publisher whose own reporting we read for this story.
- github.comElectron Forge 8
1 article · October 6, 2026
Topics and entities
Follow any of these and your For You feed starts watching them — no settings page required.