npm install electron@v7.0.0-beta.1
yarn add electron@v7.0.0-beta.1
Note: This is a beta release, this means it may be shipping with an unreleased version of Chromium.
Please file new issues for any bugs you find in it.
Release Notes
Breaking Changes
- Removed deprecated APIs:
powerMonitor.querySystemIdleState()
, powerMonitor.querySystemIdleTime()
, webFrame.setIsolatedWorldContentSecurityPolicy()
, webFrame.setIsolatedWorldHumanReadableName()
, webFrame.setIsolatedWorldSecurityOrigin()
, app.getApplicationMenu()
and app.setApplicationMenu()
. #18159
- Session.clearAuthCache no longer allows filtering the cleared cache entries. #17970
- Removed deprecated
Tray.setHighlightMode
method (macOS). #18981
- Native interfaces on macOS (menus, dialogs, etc.) now automatically match the dark mode setting on the users machine. #19226
- Updated the
electron
npm module to use @electron/get
. The minimum supported node version is now Node 8. #18413
- Removed deprecated
app.enableMixedSandbox()
API. #17894
- Removed deprecated callback versions of asynchronous functions to force use of promises. #17907
Notable Changes
- Switched to a new Typescript Definitions generator. This means that some interface names may have changed, if your Typescript build is failing this is the cause. #18103
- The
electron.asar
file no longer exists, if you have packaging scripts that depend on it's existence you should update them. #18577
- Deprecated
netLog.currentlyLoggingPath
. #18289
Features
- Added
always-on-top-changed
event emission for macOS. #19462
- Added
captureMode
and maxFileSize
options to the netLog API. #19215
- Added
creationTime
/ sandboxed
/ integrityLevel
to app.getAppMetrics()
output. #18718
- Added
getBounds()
method for BrowserView. #19370
- Added
gpu-info-update
event to app
, which is emitted whenever there is a GPU info update. #18250
- Added
ipcRenderer.invoke()
and ipcMain.handle()
for asynchronous request/response-style IPC. #18449
- Added
memory
to app.getAppMetrics()
. #18831
- Added
process.getBlinkMemoryInfo()
. #17762
- Added
removeInsertedCSS()
to webFrame
/ webContents
/ <webview>
. #16579
- Added
zoom-changed
event to webContents
, which is emitted when the user is trying to zoom in / out using the mouse wheel on Windows, even if the focus is inside an (x-origin) iframe. #17747
- Added a method
app.resignCurrentActivity()
to allows marking inactive the current Handoff user activity without invalidating it. #18659
- Added a property to set tooltips for MenuItems on macOS. #19099
- Added a selection of new printing customization options. #18984
- Added an optional conflict handling callback to
app.moveToApplicationsFolder
. #18916
- Added security warning for remote module with remote content. #18822
- Added support for CSS
origin
in webFrame.insertCSS()
. #19268
- Added support for NSVisualEffectMaterials vibrancy types added in macOS Mojave. #19073
- Added support for
mouse-move
event of Tray API on Windows. #19265
- Added support for
systemPreferences.isDarkMode()
API on Windows. #19217
- Added support for
systemPreferences.isHighContrastColorScheme()
API on macOS. #19331
- Added support for rotation multi-touch gestures on
BrowserWindow
for macOS. #19294
- Added the ability to set authors in the Linux implementation of the About panel. #18964
- All async
webContents
/ <webview>
methods now return a Promise
. #18792
- Calling contentTracing.stopTracing() with no arguments is now permitted and has the same behaviour as calling it with an empty string (tracing data will be written to a temporary file). #18411
- Converted
webContents
primitive getters and setters to bespoke properties. #18998
- Enabled the W3C Reporting API. #18255
- Exposed the value of
NSNotification.object
to subscribers of notifications in systemPreferences. #19110
- Implemented BrowserWindow.setFocusable on macOS. #19033
- Improved
webContents.print()
callback value to distinguish between success, failure, and cancellation. #19000
- Renderer processes hosting cross-origin frames are now sandboxed unless the parent
BrowserWindow
enables nodeIntegrationInSubFrames
. #18650
- You can now set the
ELECTRON_SKIP_BINARY_DOWNLOAD=1
environment variable to skip electron binary download during installation of the npm package. #17627
netLog.startLogging()
now returns a promise which resolves when the net log has started recording.
Fixes
- Added missing support for
ELECTRON_DEFAULT_ERROR_MODE
in the GPU process. #17728
- "Node integration with remote content" and "loading insecure content" warning messages are suppressed for localhost connections. #18814
- Converted
badgeCount
to an actual property on the app
module. #17363
- Ensured that the node env is not bootstrapped before running inspector. cf2103d6
- Ensured we wait for the inspect to disconnect. 2132fdfa
- Fixed
process.uptime()
returning the wrong time. #19436
- Fixed
triggeredByAccelerator
Event property behavior for MenuItems
. #18865
- Fixed a crash on tray popup being called multiple times in a row. #18999
- Fixed an issue where the Tray icon context menu on macOS blocked the main process while open. #18880
- Fixed bug where the
close
event would not emit upon closing modal window on macOS. #19014
- Fixed crashReporter
addExtraParameter
/ removeExtraParameter
methods undefined
in macOS node child processes. #15790
- Fixed error throwing on invalid
webRequest
url pattern filtering in onBeforeRequest
. #19337
- Fixed incorrect passing of dialog MessageBox type. #19349
- Fixed inverted
alwaysOnTop
status returned when always-on-top-changed
was emitted on Linux and Windows. #19463
- Fixed issues that will halt the runtime on modern Python. #18395
- Fixed linting after shell rename. 56930338
- Fixed setting
src
on <webview>
being too slow. #18990
- Fixed silent printing across platforms. #18979
- Fixed support for the
webkitdirectory
attribute on input[type=file]
elements. #18343
- Fixed windows debug logging. #18199
- Node.JS globals (
process
, Buffer
, etc.) are no longer removed from the global scope if you have contextIsolation
enabled as it is safe for those variables to still exist in their isolated world. #18967
- Non-absolute session preload script paths are now ignored for sandboxed renderers. #19066
- Standardized the about panel icon size on Linux. #18957
getPath('logs')
now throws better error when it fails to find the logs path. #19514
web-contents-created
and browser-window-created
no longer emit an empty object in place of Event. #19465
- Fixed an issue whereby requiring some modules before the app ready event had side effects. #17496
- Fixed an issue where
netLog.startLogging()
would silently fail when called immediately during app.on('ready')
.
Other Changes
- Converted
appLevelAppearance
to be a property on systemPreferences
. #18477
- Converted
autoHideMenuBar
to a property on BrowserWindow
instances. #18555
- Converted
savePath
accessor to a property on DownloadItem instances. #18677
- Converted
resizable
, maximizable
, minimizable
, fullscreenable
, movable
and closable
getters / setters on the BrowserWindow class to properties. #18618
- Converted
name
to be a property on the app
module. #17701
- Converted
nativeImage.templateImage
to be a property on the nativeImage
prototype. #18124
Documentation
- Documentation changes: #17865, #17903, #17904, #18328, #18368, #18499