Electron 3.0.0
The Electron team is excited to announce that the first stable release of Electron 3 is now available from electronjs.org and via npm install electron@latest
! It's jam-packed with upgrades, fixes, and new features, and we can't wait to see what you build with them. Below are details about this release, and we welcome your feedback as you explore.
发布流程
As we undertook development of v3.0.0
, we sought to more empirically define criteria for a stable release by formalizing the feedback progress for progressive beta releases. v3.0.0
would not have been possible without our App Feedback Program partners, who provided early testing and feedback during the beta cycle. Thanks to Atlassian, Atom, Microsoft Teams, Oculus, OpenFin, Slack, Symphony, VS Code, and other program members for their work. If you'd like to participate in future betas, please mail us at info@electronjs.org.
Changes / New Features
Major bumps to several important parts of Electron's toolchain, including Chrome v66.0.3359.181
, Node v10.2.0
, and V8 v6.6.346.23.
- [#12656] feat:
app.isPackaged
- [#12652] feat:
app.whenReady()
- [#13183] feat:
process.getHeapStatistics()
- [#12485] feat:
win.moveTop()
to move window z-order to top - [#13110] feat: TextField and Button APIs
- [#13068] feat: netLog API for dynamic logging control
- [#13539] feat: enable
webview
in sandbox renderer - [#14118] feat:
fs.readSync
now works with massive files - [#14031] feat: node
fs
wrappers to makefs.realpathSync.native
andfs.realpath.native
available
Breaking API changes
- [#12362] feat: updates to menu item order control
- [#13050] refactor: removed documented deprecated APIs
- See docs for more details
- [#12477] refactor: removed
did-get-response-details
anddid-get-redirect-request
events - [#12655] feat: default to disabling navigating on drag/drop
- [#12993] feat: Node
v4.x
or greater is required use theelectron
npm module - [#12008 #12140 #12503 #12514 #12584 #12596 #12637 #12660 #12696 #12716 #12750 #12787 #12858] refactor:
NativeWindow
- [#11968] refactor:
menu.popup()
- [#8953] feat: no longer use JSON to send the result of
ipcRenderer.sendSync
- [#13039] feat: default to ignore command line arguments following a URL
- [#12004] refactor: rename
api::Window
toapi::BrowserWindow
- [#12679] feat: visual zoom now turned off by default
- [#12408] refactor: rename app-command
media-play_pause
tomedia-play-pause
macOS
- [#12093] feat: workspace notifications support
- [#12496] feat:
tray.setIgnoreDoubleClickEvents(ignore)
to ignore tray double click events. - [#12281] feat: mouse forward functionality on macOS
- [#12714] feat: screen lock / unlock events
Windows
- [#12879] feat: added DIP to/from screen coordinate conversions
Nota Bene: Switching to an older version of Electron after running this version will require you to clear out your user data directory to avoid older versions crashing. You can get the user data directory by running console.log(app.getPath("userData"))
or see docs for more details.
Bug Fixes
- [#13397] fix: issue with
fs.statSyncNoException
throwing exceptions - [#13476, #13452] fix: crash when loading site with jquery
- [#14092] fix: crash in
net::ClientSocketHandle
destructor - [#14453] fix: notify focus change right away rather not on next tick