Releases: electron/forge
v6.0.1
What's Changed
Refactors
- refactor: use listr2 for the package, make and publish commands by @MarshallOfSound in #3043
- This PR also fixed a long-standing issue where targeting the
masplatform in the Package step would actually package fordarwin.
- This PR also fixed a long-standing issue where targeting the
- refactor: migrate import command to listr2 by @MarshallOfSound in #3048
Internal Changes
- build: add vscode config for better devxp by @MarshallOfSound in #3049
- build: remove codecov by @MarshallOfSound in #3044
Full Changelog: v6.0.0...v6.0.1
v6.0.0
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 toPlugin.getHooks().name. - Templates that mutated the Forge config within
package.jsonwill need to instantiate their ownforge.config.jsorforge.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
- feat!: prefer forge.config.js over package.json config by @erickzhao in #2991
- refactor!: better internal type safety for hooks by @MarshallOfSound in #2995
- feat!: upgrade Node.js to 14 LTS by @VerteDinde in #2921
- feat!: improve forge configuration DX by @MarshallOfSound in #2963
- feat!: upgrade electron-packager@17 by @erickzhao in #2978
- feat!(maker-pkg): upgrade to
@electron/osx-signby @erickzhao in #2959 - feat!(core): add required Forge version for templates by @malept in #2415
- chore!: remove
installcommand by @erickzhao in #2958 - chore!: delete
lintcommand by @erickzhao in #2964
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
platformandarchtogenerateAssetshook 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
nodeIntegrationby @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
v6.0.0-beta.75
What's Changed
Features
- feat: move create-electron-app into forge by @VerteDinde in #2988
Other Changes
- chore: bump packager to 17.1.1 by @VerteDinde in #3041
Full Changelog: v6.0.0-beta.74...v6.0.0-beta.75
v6.0.0-beta.74
What's Changed
Fixes
- fix: do not proxify class instances in forge config by @MarshallOfSound in #3039
Other Changes
- spec: add proper package test for webpack ts template by @MarshallOfSound in #3040
Full Changelog: v6.0.0-beta.73...v6.0.0-beta.74
v6.0.0-beta.73
What's Changed
Fixes
- fix: ensure webpack typescript template runs by @MarshallOfSound in #3038
Other Changes
- chore(utils): make
require-searcherror message clearer by @erickzhao in #3037
Full Changelog: v6.0.0-beta.72...v6.0.0-beta.73
v6.0.0-beta.72
What's Changed
Other Changes
- build: modify ts-ignore for /test & /src by @VerteDinde in #3036
Full Changelog: v6.0.0-beta.71...v6.0.0-beta.72
v6.0.0-beta.71
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/VERSIONin 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
- build: remove travis and appveyor ci templates by @VerteDinde in #3034
- chore: move from electron-rebuild to @electron/rebuild by @MarshallOfSound in #3033
- chore: rename typescript-webpack to webpack-typescript by @georgexu99 in #3035
- chore: update README.md by @VerteDinde in #3025
- docs: update release process by @georgexu99 in #3032
- test: add test to detect forge.config by @VerteDinde in #3031
- refactor: use listr2 instead of async-ora by @MarshallOfSound in #3022
- refactor: use forge.config.ts in the webpack typescript template by @MarshallOfSound in #3012
New Contributors
Full Changelog: v6.0.0-beta.70...v6.0.0-beta.71
v6.0.0-beta.70
What's Changed
- docs: generate custom docs sidebar by @VerteDinde in #2974
- refactor: add / use named exports for plugins + makers + publishers by @MarshallOfSound in #2996
- docs: add READMEs to packages by @georgexu99 in #2986
- chore: upgrade electron-wix-msi to 4.0.0 by @georgexu99 in #3003
- build: fix some yarn audit output by @MarshallOfSound in #3002
- refactor(maker-squirrel): ensure Squirrel.Windows
namedoesn't contain hyphens by @erickzhao in #3004 - chore: bump electron-wix-msi to 5.0.0 by @VerteDinde in #3008
- chore: fix links from userland migration by @georgexu99 in #3010
- Release 6.0.0 beta.69 by @VerteDinde in #3011
- fix(template-typescript-webpack): clean up forge config code by @erickzhao in #3009
- fix(template-typescript-webpack): webpack entrypoint extensions by @erickzhao in #3014
- fix(template-typescript-webpack): properly load
forge.config.tsby @erickzhao in #3016 - build: add icon property to MakerWixConfig by @VerteDinde in #3017
Full Changelog: v6.0.0-beta.69...v6.0.0-beta.70
6.0.0-beta.69
What's Changed
Breaking Changes
- feat!: prefer forge.config.js over package.json config by @erickzhao in #2991
- refactor!: better internal type safety for hooks by @MarshallOfSound in #2995
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
- fix(plugin-webpack): keep
devDependencies,dependencies,optionalDependenciesandpeerDependenciesin the distributed package.json by @erikian in #3007 - fix(template-typescript-webpack): use new plugin syntax by @georgexu99 in #2989
- fix(template-webpack): use new plugin syntax by @georgexu99 in #2990
- build: configure import/order eslint rule by @MarshallOfSound in #2997
- build: actually enable husky/lint-staged by @MarshallOfSound in #2999
- build: add rule that enforces named exports over default exports by @MarshallOfSound in #3000
- refactor: rename some constructor params for MakerBase and PublisherBase by @MarshallOfSound in #2994
New Contributors
Full Changelog: v6.0.0-beta.68...v6.0.0-beta.69
v6.0.0-beta.68
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
- feat(maker-pkg): upgrade to
@electron/osx-signby @erickzhao in #2959 - build(deps): npx browserslist@latest --update-db by @erickzhao in #2962
New Contributors
- @georgexu99 made their first contribution in #2946
Full Changelog: v6.0.0-beta.67...v6.0.0-beta.68