After publicly sharing the release timeline for Electron 5.0 and beyond in February, On Tuesday Electron 5.0 was released, as per the plan, with new features, upgrades, and fixes. Electron ships with the latest version upgrades of core components Chromium, Node.js, and V8: Chromium 73.0.3683.119, Node.js 12.0.0, and V8 7.3.492.27. Electron 5.0 also includes improvements to Electron-specific APIs. With this release, Electron 2.0.x has reached end of life.
Major changes in Electron 5.0
- Packaged apps will now behave the same as the default app. A default application menu will be created (unless the app has one) and the window-all-closed event will be automatically handled. (unless the app handles the event)
- Mixed sandbox mode is now enabled by default. Renderers launched with sandbox: true will now be actually sandboxed, where previously they would only be sandboxed if mixed-sandbox mode was also enabled.
- The default values of nodeIntegration and webviewTag are now false to improve security.
- The SpellCheck API has been changed to provide asynchronous results.
New features
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 €18.99/month. Cancel anytime
- BrowserWindow now supports managing multiple BrowserViews within the same BrowserWindow.
- Electron 5 continues with Electron's Promisification initiative. This initiative will convert callback-based functions in Electron to return Promises. During this transition period, both the callback and Promise-based versions of these functions will work correctly, and will both be documented. A total of 12 APIs were converted for Electron 5.0.
- Three functions were changed or added to systemPreferences to access macOS systems' colors. These include systemPreferences.getAccentColor, systemPreferences.getColor, and systemPreferences.getSystemColor
- The function process.getProcessMemoryInfo has been added to get memory usage statistics about the current process.
- New remote events have been added to improve security in the remote API. Now, remote.getBuiltin, remote.getCurrentWindow, remote.getCurrentWebContents and <webview>.getWebContents can be filtered.
Deprecated APIs
Three APIs are newly deprecated in Electron 5.0.0 and planned for removal in 6.0.0. These include Mksnapshot binaries for arm and arm64, ServiceWorker APIs on WebContents, and Automatic modules with sandboxed webContents.
These are just a select few updates. For other specific details, you may see the release notes. Also, check out the tentative 6.0.0 schedule for key dates in the Electron 6 development life cycle.
Users can install Electron 5.0 with npm via npm install electron@latest or download the tarballs from Electron releases page.
The Electron team publicly shares the release timeline for Electron 5.0
Flutter challenges Electron, soon to release a desktop client to accelerate mobile development
How to create a desktop application with Electron [Tutorial]