Releases: electron/forge
v6.4.0
What's Changed
- feat(template): add vite-typescript template by @caoxiemeihao in #3178
- build(deps): update
electron-installer-debianto latest by @erickzhao in #3301- feat: allow setting custom compression options (Fixes #3235)
- build(deps): update [email protected] by @erickzhao in #3302
- fix: only apply preAutoEntitlements to top-level app bundle (Fixes #2943)
Full Changelog: v6.3.0...v6.4.0
v6.3.0
What's Changed
- build(deps): bump semver from 7.3.5 to 7.5.2 by @dependabot in #3262
- ci: bump deprecated versions by @dsanders11 in #3267
- build(deps): bump word-wrap from 1.2.3 to 1.2.4 by @dependabot in #3276
- fix(publisher-ers): support arm64 osx platform by @daydayhappychao in #3270
- ci: use electronjs/node orb by @dsanders11 in #3289
- ci: don't use pull_request_target with semantic PR title check by @dsanders11 in #3294
- fix(template-vite): incorrectly bundling browser entrypoints by @markspolakovs in #3278
- chore: add
filesfield for each package by @daydayhappychao in #3284 - feat(package): add support for async Forge configs by @VerteDinde in #3288
New Contributors
- @daydayhappychao made their first contribution in #3270
- @markspolakovs made their first contribution in #3278
Full Changelog: v6.2.1...v6.3.0
v6.2.1
What's Changed
- feat(plugin-vite): auto-update
server.portby @caoxiemeihao in #3201 - fix(template-vite): ignore
browserfield for isomorphic packages by @jclab-joseph in #3218 - fix(plugin-vite): right time to start by @caoxiemeihao in #3220
- fix(vite-plugin): process exit on electron process exit by @john830316 in #3236
- feat(make): allow async maker configs by @erickzhao in #3248
- fix(publisher-s3): ensure published files do not overwrite multiple arches by @MarshallOfSound in #3108
- feat(template): enable asar by default by @erickzhao in #3077
- fix(package): pass missing user-defined hooks to packager by @erikian in #3123
- fix(core): properly log invalid plugin configs by @erickzhao in #3254
New Contributors
- @jclab-joseph made their first contribution in #3218
- @ronaldcurtis made their first contribution in #3219
- @john830316 made their first contribution in #3236
Full Changelog: v6.1.1...v6.2.1
v6.1.1
New in this Release
A Vite template is now available in Forge! 🚀 Thanks to @caoxiemeihao for contributing this template and plugin.
A plugin for Electron Fuses is now available in Forge! 🌟 Thanks to @erikian for contributing this plugin.
Features
- feat(template): add vite template by @caoxiemeihao in #3071
- feat: add Fuses plugin by @erikian in #3132
- feat(maker-zip): add new macUpdateManifestBaseUrl and macUpdateReleaseNotes options by @MarshallOfSound in #3107
What's Changed
- fix: use correct platform paths for artifacts in dryRunResume by @VerteDinde in #3184
- fix(plugin-vite): start Vite error by @caoxiemeihao in #3189
- fix(plugin-fuses):
resetAdHocDarwinSignaturerules on Mac by @erikian in #3190 - fix(plugin-vite): correctly close vite dev-server by @caoxiemeihao in #3202
- fix(publisher-s3): Make S3 upload fail non-silently by @cpmsmith in #3194
- fix: normalize artifact paths in makeResult dryRunResume by @VerteDinde in #3206
- build(deps): bump webpack from 5.69.1 to 5.76.0 by @dependabot in #3191
- build: add needed Vite infra details by @VerteDinde in #3197
- chore: gitignore
lerna-debug.logby @erickzhao in #3162 - docs: update release process guide by @erickzhao in #3161
- ci: use action-semantic-pull-request by @dsanders11 in #3144
- ci: fix the build and tests by @erickzhao in #3173
- ci: run tests in merge queue by @dsanders11 in #3174
New Contributors
Full Changelog: v6.0.5...v6.1.1
v6.0.5
What's Changed
- build: update dependencies to clean up yarn audit by @MarshallOfSound in #3105
- build: enforce versions are in sync between packages by @MarshallOfSound in #3106
- build: update dependencies to clean up yarn audit by @MarshallOfSound in #3111
- build: npm@9 removed the bin command by @MarshallOfSound in #3110
- fix(core): pass
this.configwhen calling internal hooks by @albertxing in #3126 - chore: add
.gitattributesfile for proper handling of line endings by @erikian in #3134 - build(deps): bump json5 from 1.0.1 to 1.0.2 by @dependabot in #3133
- fix(cli): use fallback renderer for any DEBUG vars by @erickzhao in #3135
- fix(package): ensure
electron-packagerthrows if fails by @erickzhao in #3136 - chore: update repo link from userland migration by @dsanders11 in #3138
- chore: set @wg-ecosystem as CODEOWNERS by @dsanders11 in #3143
- ci: create a
test:slowscript to avoid re-running fast tests in theslow-testsjob by @erikian in #3150 - build(deps): bump http-cache-semantics from 4.1.0 to 4.1.1 by @dependabot in #3156
- fix(publisher-ers): Update ERS API usage for v2.x by @ArekSredzki in #3149
- chore(maker-rpm): map arm64 -> aarch64 by @dsanders11 in #3137
New Contributors
- @albertxing made their first contribution in #3126
- @dsanders11 made their first contribution in #3138
- @ArekSredzki made their first contribution in #3149
Full Changelog: v6.0.4...v6.0.5
v6.0.4
What's Changed
v6.0.4 is a small release with a lot of internal code cleanup changes. Most importantly for users, this release adds clearer error messages for [object Object] errors that were thrown during the Make step.
- fix(core): allow the
forge.configproperty inpackage.jsonto point to a non-js file by @erikian in #3070 - docs: fix InternalOptions links in API docs by @erickzhao in #3083
- fix(all): disallow throwing literals (
@typescript-eslint/no-throw-literal) by @erickzhao in #3086 - fix(publisher-ers): properly publish non-default flavours by @dariusclay in #3079
Internal changes
- build: use a single top-level
tsc -bfor all packages by @erickzhao in #3090 - docs: explain how to test local code changes with symlinks by @erickzhao in #3089
- docs: remove mentions of lerna run test in contributing.md by @georgexu99 in #3081
- build: add preversion to scripts by @georgexu99 in #3074
- build: add test flag to link Forge commands after running init by @georgexu99 in #3075
- build: improve lerna publish process by @erickzhao in #3082
- chore: add husky pre-push script by @georgexu99 in #3061
New Contributors
- @dariusclay made their first contribution in #3079
Full Changelog: v6.0.3...v6.0.4
v6.0.3
Electron Forge v6.0.3 is the direct successor to v6.0.1.
What's Changed
- fix(maker-squirrel): do not register the delta nupkg as an artifact when deltas are disabled by @MarshallOfSound in #3059
- fix(maker-pkg): add targetArch to pkg name by @erickzhao in #3057
- fix(plugin-webpack): remove define plugin from renderer config by @erickzhao in #3062
- feat(maker-pkg): allow to override .pkg name by @mahnunchik in #1785
- build: migrate to lerna from bolt by @georgexu99 in #3058
- fix(template-webpack): only run asset relocator loader on
node_modulesfolder by @MarshallOfSound in #3060
New Contributors
- @caoxiemeihao made their first contribution in #3063
- @mahnunchik made their first contribution in #1785
Full Changelog: v6.0.1...v6.0.3
v6.0.2
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
