Skip to content

Releases: electron/forge

v6.0.0

02 Nov 18:36
Compare
Choose a tag to compare

What's Changed

Breaking changes

Forge has spent a considerable time in beta development; this is a list of breaking changes made in recent betas (>= 6.0.0-beta.65), so that users who have been using the later beta versions in their apps can more easily transition to the stable release.

A complete list of changes and commits can be found below.

Config: Changed plugins syntax (#2963)

The plugins array now takes objects containing an object with properties name and config, rather than tuples containing the plugin name and config.

This aligns the syntax for this configuration with the publishers and makers arrays.

{
  plugins: [
-      [
-        '@electron-forge/plugin-webpack',
-        { /* ... */ }
-      ]
+
+      {
+        name: '@electron-forge/plugin-webpack',
+        config: { /* ... */ }
+      }
 ]
}

Config: Prefer forge.config.js for new Forge projects (#2991) (#2995)

We have changed the electron-forge init and electron-forge import commands to create a JavaScript config file rather than a section in package.json. This is to better
support dynamic build logic that isn't possible with the JSON format. Forge now has better support for alternate configuration syntaxes via rechoir.

This is a breaking change for any existing third-party templates and plugins:

  • The internal signature of Plugin.getHook(name) has changed to Plugin.getHooks().name.
  • Templates that mutated the Forge config within package.json will need to instantiate their own forge.config.js or forge.config.ts

Config: Renamed Electron Rebuild config (#2963)

For consistency with the packagerConfig option for electron-packager, the field to configure @electron/rebuild has now been shortened to rebuildConfig.

{
-  electronRebuildConfig: { /* ... */ }
+  rebuildConfig: { /* ... */ }
}

Config: Renamed ElectronRebuildConfig (#2963)

Removed @electron-forge/template-typescript template (#2948)

This has been removed in favor of the [Webpack + TypeScript Template].

Maker: Upgraded Maker Wix dependency to [email protected] (3008))

This upgrade includes a rename from appIconPath to icon in the config (#153). This aligns WiX MSI's icon config with the other makers.

Build: Upgraded required Node.js to 14 LTS (#2921)

Package: Upgraded package dependency to electron-packager@17 (#2978)

The upgrade to Electron Packager 17 introduces the shiny new @electron/osx-sign package for macOS code signing. It's a rewrite of the old electron-osx-sign tool with more sensible defaults.

To migrate, we recommend seeing if the default packagerConfig.osxSign options work for you and tweaking the default entitlements to your needs. Otherwise, see the @electron/osx-sign MIGRATION.md doc for a 1:1 conversion from the old config options to the new ones.

Command: Removed lint command (#2964)

Command: Removed install command (#2958)


Changelog

Breaking Changes

Features

  • feat(plugin-webpack): improve native asset relocation without forking Vercel loader by @timfish in #2320
  • feat(plugin-webpack): add nodeIntegration config for renderers by @malept in #2330
  • feat(plugin-webpack): add devContentSecurityPolicy config option by @malept in #2332
  • feat(webpack-plugin): upgrade to Webpack 5 by @YvanGuidoin in #2225
  • feat: add support for forge.config.ts et. al by @MarshallOfSound in #2993
  • feat(core): allow mutating packageJSON on load by @MarshallOfSound in #513
  • feat(core): add basic support for non-exact Electron versions by @malept in #680
  • V6 API by @MarshallOfSound in #433
  • feat: move create-electron-app into forge by @VerteDinde in #2988
  • feat(publisher-s3): add keyResolver option to allow users to make their own S3 key path by @MarshallOfSound in #482
  • Typescript :) by @MarshallOfSound in #495
  • feat(plugin-local-electron): add plugin-local-electron by @MarshallOfSound in #501
  • feat(generic): add source-map-support for better stacktraces by @malept in #488
  • feat: use forge.config.ts in the webpack typescript template by @MarshallOfSound in #3012
  • feat(publisher-s3): Add sessionToken and change default fallback by @bboure in #2984
  • feat(core): resolve forge.config.js by default if it exists by @MarshallOfSound in #569
  • feat(core): allow no config to be present, default to an empty object by @MarshallOfSound in #543
  • feat(core): use git config to determine author before username by @pd4d10 in #920
  • feat(core): add "init --force" to allow overwriting an existing dir by @malept in #1020
  • feat: add typescript-webpack template by @codebytere in #1344
  • feat: add template for typescript by @codebytere in #1319
  • feat(plugin-webpack): add an option to export webpack compilation stats by @sirgallifrey in #639
  • feat(core): add platform and arch to generateAssets hook parameters by @timfish in #2327
    #2344
  • feat(plugin-webpack): allow most webpack-dev-server options to be configurable by @malept in #2444
  • feat(plugin-webpack): allow specifing a seperate webpack config for your preload by @kyruzic in #2679
  • feat: Make autoUpdate and autoLaunch features configurable in MakerWixConfig by @pthompson-asana in #2620
  • feat(template): add a default preload script by @malept in #2722
  • feat: Various improvements for electron/template by @felixrieseberg in #950
  • feat(cli): add --inspect-brk-electron option by @MOZGIII in #1328
  • feat(publisher-ers): support flavor config by @erickzhao in #2766
  • feat: 🎸 Add packageSourceMaps option to WebpackPluginConfig by @zac-jacobson in #2581
  • feat: allow disabling maker in config by @erickzhao in #2754
  • feat: 🎸 allow specifying alternative tag prefix by @tylerbrandt in #2605
  • feat(plugin-webpack): Allow each entrypoint to specify nodeIntegration by @chetbox in #2867
  • feat: remove preload.js from TypeScript templates by @itsananderson in #2938
  • feat(plugin-webpack): support standalone preload entry points by @erickzhao in #2950
  • feat(webpack-plugin): webpack 5 configuration factory by @erickzhao in #2776
  • feat(publisher-github): add retry support by @malept in #2550
  • feat(publisher-github): add debug support for Octokit by @malept in #2499
  • feat(publisher-bitbucket): initial publish publisher-bitbucket by @lukebatchelor in #571
  • feat: adds a hook before MSICreator.create() is called by @mako-taco in #623

Fixes

  • fix(packager): "packaging application" log never stops when building for multiple architectures by @macdja38 in #3006
  • fix: do not proxify class instanc...
Read more

v6.0.0-beta.75

01 Nov 22:36
Compare
Choose a tag to compare

What's Changed

Features

Other Changes

Full Changelog: v6.0.0-beta.74...v6.0.0-beta.75

v6.0.0-beta.74

01 Nov 01:07
Compare
Choose a tag to compare

What's Changed

Fixes

Other Changes

Full Changelog: v6.0.0-beta.73...v6.0.0-beta.74

v6.0.0-beta.73

01 Nov 00:25
Compare
Choose a tag to compare

What's Changed

Fixes

Other Changes

  • chore(utils): make require-search error message clearer by @erickzhao in #3037

Full Changelog: v6.0.0-beta.72...v6.0.0-beta.73

v6.0.0-beta.72

31 Oct 23:41
Compare
Choose a tag to compare

What's Changed

Other Changes

Full Changelog: v6.0.0-beta.71...v6.0.0-beta.72

v6.0.0-beta.71

31 Oct 23:28
Compare
Choose a tag to compare

What's Changed

Fixes

  • fix: restore isProd in the webpack plugin by @MarshallOfSound in #3021
  • fix: use @electron-forge/cli hint for project resolution by @MarshallOfSound in #3023
  • fix(template-base): use minimum instead of exact version when replacing ELECTRON_FORGE/VERSION in templates by @erikian in #3030
  • fix(publish): ignore unnecessary files when publishing to npm by @erikian in #3024
  • fix(packager): "packaging application" log never stops when building for multiple architectures by @macdja38 in #3006

Other Changes

New Contributors

Full Changelog: v6.0.0-beta.70...v6.0.0-beta.71

v6.0.0-beta.70

31 Oct 23:17
v6.0.0-beta.70
d0f9c17
Compare
Choose a tag to compare

What's Changed

Full Changelog: v6.0.0-beta.69...v6.0.0-beta.70

6.0.0-beta.69

31 Oct 23:17
v6.0.0-beta.69
0731039
Compare
Choose a tag to compare

What's Changed

Breaking Changes

Features

  • feat(plugin-webpack): support standalone preload entry points by @erickzhao in #2950
  • feat: add support for forge.config.ts et. al by @MarshallOfSound in #2993
  • feat(publisher-s3): Add sessionToken and change default fallback by @bboure in #2984

Other Changes

New Contributors

Full Changelog: v6.0.0-beta.68...v6.0.0-beta.69

v6.0.0-beta.68

24 Oct 17:41
Compare
Choose a tag to compare

What's Changed

Breaking Changes

Forge v6.0.0-beta.68 introduces a few breaking changes to the Forge config.

Renamed Electron Rebuild config (#2963)

For consistency with the packagerConfig option for electron-packager, the field to configure electron-rebuild has now been shortened to rebuildConfig.

{
-  electronRebuildConfig: { /* ... */ }
+  rebuildConfig: { /* ... */ }
}

Changed plugin configuration syntax (#2963)

The plugins array now takes objects containing an object with properties name and config, rather than tuples containing the plugin name and config.

This aligns the syntax for this configuration with the publishers and makers arrays.

{
  plugins: [
-      [
-        '@electron-forge/plugin-webpack',
-        { /* ... */ }
-      ]
+
+      {
+        name: '@electron-forge/plugin-webpack',
+        config: { /* ... */ }
+      }
 ]
}

Upgraded Package dependency to electron-packager@17 (#2978)

The upgrade to Electron Packager 17 introduces the shiny new @electron/osx-sign package for macOS code signing. It's a rewrite of the old electron-osx-sign tool with more sensible defaults.

To migrate, we recommend seeing if the default packagerConfig.osxSign options work for you and tweaking the default entitlements to your needs. Otherwise, see the @electron/osx-sign MIGRATION.md doc for a 1:1 conversion from the old config options to the new ones.

Fixes

  • fix(plugin-webpack): better webpack-dev-server types by @erickzhao in #2952

Other Changes

New Contributors

Full Changelog: v6.0.0-beta.67...v6.0.0-beta.68

v6.0.0-beta.67

05 Oct 21:50
Compare
Choose a tag to compare

What's Changed

New Contributors

Full Changelog: v6.0.0-beta.66...v6.0.0-beta.67