Last week the team at Electron announced the release of Electron 7.0 in beta. It includes upgrades to Chromium 78, V8 7.8, and Node.js 12.8.1. The team has added a Window on Arm 64 release, faster IPC methods, a new nativeTheme API, and much more.
This release is published to npm under the beta tag and can be installed via npm install electron@beta, or npm i electron@7.0.0-beta.7. It is packed with upgrades, fixes, and new features.
Notable changes in Electron 7.0
- There are stack upgrades in this release, Electron 7.0 will be compatible on Chromium 78, V8 7.8 and Node.js 12.8.1.
- In this release they have added Windows on Arm (64 bit).
- The team has added ipcRenderer.invoke() and ipcMain.handle() for asynchronous request/response-style IPC. These are strongly recommended over the remote module.
- They have added nativeTheme API to read and respond to changes in the OS's theme and color scheme.
- In this release they have switched to a new TypeScript Definitions generator, which generates more precise definitions files (d.ts) from C# model classes to build strongly typed web application where the server- and client-side models are in sync. Earlier Electron used Doc Linter and Doc Parser but it had a few issues and hence shifted to TypeScript to make definition files better without losing any information on docs.
Other breaking changes
The team has removed deprecated APIs in this release:
- Callback-based versions of functions that now use Promises.
- Tray.setHighlightMode() (macOS).
- app.enableMixedSandbox()
- app.getApplicationMenu(),
Unlock access to the largest independent learning library in Tech for FREE!
Get unlimited access to 7500+ expert-authored eBooks and video courses covering every tech area you can think of.
Renews at $19.99/month. Cancel anytime
- app.setApplicationMenu(),
- powerMonitor.querySystemIdleState(),
- powerMonitor.querySystemIdleTime(),
- webFrame.setIsolatedWorldContentSecurityPolicy(),
- webFrame.setIsolatedWorldHumanReadableName(),
- webFrame.setIsolatedWorldSecurityOrigin()
- Session.clearAuthCache() no longer allows filtering the cleared cache entries.
- Native interfaces on macOS (menus, dialogs, etc.) now automatically match the dark mode setting on the user's machine.
- The team has updated the electron module to use @electron/get. Node 8 is the minimum supported node version in this release.
- The electron.asar file no longer exists. Any packaging scripts that depend on its existence should be updated by the developers.
Additionally the team announced that Electron 4.x.y has reached end-of-support as per the project's support policy. Developers and applications are encouraged to upgrade to a newer version of Electron.
To know more about this release, check out the Electron 7.0 GitHub page and the official blog post.
Electron 6.0 releases with improved Promise support, native Touch ID authentication support, and more
Electron 5.0 ships with new versions of Chromium, V8, and Node.js
The Electron team publicly shares the release timeline for Electron 5.0