Let’s see what’s new in Electron 3.0.0.
New Features and changes
There are two new features added in Electron 3.0.0, namely, TextField and Button APIs. However, these APIs are currently experimental and have been therefore turned off by default.
You can enable these APIs with the enable_view_api build flag. The fs.readSync feature now works with massive files. There’s a new netLog API added for dynamic logging control.
Breaking API changes
With Electron 3.0.0, updates have been made to menu item order control. The did-get-response-details and did-get-redirect-request events have been removed. JSON is no longer used to send the result of ipcRenderer.sendSync. The api::Window has been renamed to api::BrowserWindow. The app-command media-play_pause has been renamed to media-play-pause.
A new workspace notifications support has been added. There’s also a mouse forward functionality now on macOS.
A DIP has been added to/from screen coordinate conversions.
The issue with fs.statSyncNoException throwing exceptions has been fixed. The occurrence of a crash when loading site with jquery has been fixed. Also, the crash in net::ClientSocketHandle destructor has been fixed. Now, with Electron 3.0.0, the focus change will be notified right away rather than on next tick.
The context menu click callback has been fixed. The tray.setContextMenu crash has been resolved. Also, tray title crash has been fixed. The mac protocol that used to get set to none after calling app.removeAsDefaultProtocolClient, is resolved.
BrowserWindow.focus() for offscreen windows has been fixed.
For more information on Electron 3.0.0, check out the official release notes.