unstale

npm / @electron-forge/cli

@electron-forge/cli

What changed in @electron-forge/cli 7 to 8, from its official release notes, upgrade guides and advisories. Also covers @electron-forge/maker-rpm, @electron-forge/plugin-webpack. Sources checked 2026-10-20.

25 breaking2 deprecations8 new APIs and options5 behavior and defaults1 tooling6 fixes and other

See which of these apply to your code, ranked, in your agent:

npx @unstale/cli init

@unstale/cli on npm

@electron-forge/cli 841 changes

Breaking changes 25

  • The Vite and webpack plugins emit main and preload bundles as .cjs; update configured main and preload paths.

    8.0.1release notes

  • Project initialization and import moved out of Forge; use create-electron-app for scaffolding and importing projects.

    8.0.1release notes

  • A single template per bundler replaces separate TypeScript templates; new projects use oxlint, oxfmt, moduleResolution: bundler, and a release script.

    8.0.1release notes

  • Custom makers, publishers, plugins, and string packagerConfig hooks must provide a default export.

    8.0.1release notes

  • Forge packages are ESM-only and require Node.js 22.17 or newer; existing Forge configurations still work in CommonJS or ESM projects.

    8.0.1release notes

  • The import command was removed; use create-electron-app to import projects.

    8.0.1release notes

  • The init command was removed; scaffold projects with create-electron-app instead.

    8.0.1release notes

  • The electronegativity plugin was removed.

    8.0.1release notes

  • plugin-fuses now requires @electron/fuses 2.x.

    8.0.1release notes

  • Config strings are no longer rendered as lodash templates or resolved as require:./path; use JavaScript in Forge config files instead.

    8.0.1release notes

  • Only the listed JavaScript and TypeScript Forge config file extensions are loaded; other languages and Babel-registered files are unsupported.

    8.0.1release notes

  • Use --from-package in place of make --skip-package.

    8.0.1release notes

  • S3 and GCS keyResolver now takes one object containing fileName, platform, arch, and version instead of positional arguments.

    8.0.1release notes

  • With listr2 v11, Listr.errors is null unless collectErrors is set.

    8.0.1release notes

  • The webpack loggerPort option was removed along with @electron-forge/web-multi-logger; press r in the terminal UI to restart the app.

    8.0.1release notes

  • maker-deb rejects unsupported architectures, including arm (armel); supported architectures are ia32, x64, arm64, armv7l, and mips64el.

    8.0.1release notes

  • maker-wix only builds x64, ia64, and x86 architectures.

    8.0.1release notes

  • MakerFlatpakOptionsConfig was renamed to MakerFlatpakConfigOptions.

    8.0.1release notes

  • Node.js 22.17.0 or newer is required to run Forge.

    8.0.1release notes

  • DMG output now goes into architecture-specific subdirectories; update CI upload globs.

    8.0.1release notes

  • PKG output now goes into architecture-specific subdirectories; update CI upload globs.

    8.0.1release notes

  • The exported GitHub publisher class is now named PublisherGitHub.

    8.0.1release notes

  • GCS public, private, and predefinedAcl settings were replaced by uploadOptions; uploads are no longer gzipped unless gzip is enabled there.

    8.0.1release notes

  • The Vite plugin targets Vite 8; upgrade Vite and port custom Rollup options to the Vite 8 API.

    8.0.1release notes

  • Custom devServer options must follow webpack-dev-server 5's API.

    8.0.1release notes

Deprecations 2

  • maker-appx is deprecated and now builds .msix through electron-windows-msix; move to maker-msix.

    8.0.1release notes

  • The publish command still works as a deprecated alias for release.

    8.0.1release notes

New APIs and options 7

  • deb and rpm makers add a typed copyright option.

    8.0.1release notes

  • maker-msix adds outputFileName to override the output filename.

    8.0.1release notes

  • The create-electron-app init command gains a flag to specify the Electron version.

    8.0.1release notes

  • Use release --from-make to publish artifacts from a previous make run; this replaces --from-dry-run.

    8.0.1release notes

  • Set hotRestart: true to opt in to main-process hot restart in the Vite plugin.

    8.0.1release notes

  • PKG notarization support was added.

    8.0.1release notes

  • Pass a package manager, including an exact version, when initializing projects; non-interactive init otherwise uses npm.

    8.0.1release notes

Behavior and default changes 4

  • The Vite plugin is stable, covered by semver, targets Vite 8, builds targets in isolated processes, supports main-process hot restart, and honors a custom server host.

    8.0.1release notes

  • GitHub asset upload progress is now shown at byte-level granularity.

    8.0.1release notes

  • make always saves its results, allowing release --from-make to publish artifacts built earlier, including in another CI job.

    8.0.1release notes

  • The webpack plugin displays compiler output as terminal tabs instead of using a browser logger on port 9000.

    8.0.1release notes

Tooling 1

  • The publish command is renamed to release to avoid conflict with npm publish; publish remains a deprecated alias.

    8.0.1release notes

Fixes and other changes 2

  • Plugins are initialized once per command; nested make and release steps no longer re-resolve the config.

    8.0.1release notes

  • The Vite plugin now honors a custom server.host when constructing the renderer development-server URL.

    8.0.1release notes

@electron-forge/cli 76 changes

New APIs and options 1

  • The init command adds the --electron-version flag, allowing developers to specify an Electron version when initializing a project.

    7.11.1release notes

Behavior and default changes 1

Fixes and other changes 4

  • Interactive mode now detects whether the process is attached to a TTY instead of always assuming it is.

    7.11.2release notes

  • The CLI now allows pre-release package manager ranges.

    7.11.2release notes

  • The template adds private: true to generated package configuration.

    7.11.1release notes

  • The create-electron-app template adds the missing repository field.

    7.11.1release notes