2 min read

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 [email protected]. It is packed with upgrades, fixes, and new features.

Notable changes in Electron 7.0

  1. 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.
  2. In this release they have added Windows on Arm (64 bit).
  3. The team has added ipcRenderer.invoke() and ipcMain.handle() for asynchronous request/response-style IPC. These are strongly recommended over the remote module.
  4. They have added nativeTheme API to read and respond to changes in the OS’s theme and color scheme.
  5. 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(),
  • app.setApplicationMenu(),
  • powerMonitor.querySystemIdleState(),
  • powerMonitor.querySystemIdleTime(),
  • webFrame.setIsolatedWorldContentSecurityPolicy(),
  • webFrame.setIsolatedWorldHumanReadableName(),
  • webFrame.setIsolatedWorldSecurityOrigin()
  1. Session.clearAuthCache() no longer allows filtering the cleared cache entries.
  2. Native interfaces on macOS (menus, dialogs, etc.) now automatically match the dark mode setting on the user’s machine.
  3. The team has updated the electron module to use @electron/get. Node 8 is the minimum supported node version in this release.
  4. 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.

Read Next

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

Being a Senior Content Marketing Editor at Packt Publishing, I handle vast array of content in the tech space ranging from Data science, Web development, Programming, Cloud & Networking, IoT, Security and Game development. With prior experience and understanding of Marketing I aspire to grow leaps and bounds in the Content & Digital Marketing field. On the personal front I am an ambivert and love to read inspiring articles and books on life and in general.