Note: This is a beta release. Please file new issues for any bugs you find in it.
This release is published to npm under the beta tag and can be installed via npm install electron@beta, or npm i electron@7.0.0-beta.1.
Release Notes for v7.0.0-beta.1
Breaking Changes
- Removed deprecated APIs:
powerMonitor.querySystemIdleState()
,powerMonitor.querySystemIdleTime()
,webFrame.setIsolatedWorldContentSecurityPolicy()
,webFrame.setIsolatedWorldHumanReadableName()
,webFrame.setIsolatedWorldSecurityOrigin()
,app.getApplicationMenu()
andapp.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
andmaxFileSize
options to the netLog API. #19215 - Added
creationTime
/sandboxed
/integrityLevel
toapp.getAppMetrics()
output. #18718 - Added
getBounds()
method for BrowserView. #19370 - Added
gpu-info-update
event toapp
, which is emitted whenever there is a GPU info update. #18250 - Added
ipcRenderer.invoke()
andipcMain.handle()
for asynchronous request/response-style IPC. #18449 - Added
memory
toapp.getAppMetrics()
. #18831 - Added
process.getBlinkMemoryInfo()
. #17762 - Added
removeInsertedCSS()
towebFrame
/webContents
/<webview>
. #16579 - Added
zoom-changed
event towebContents
, 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
inwebFrame.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 aPromise
. #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
enablesnodeIntegrationInSubFrames
. #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 theapp
module. #17363 - Ensured that the node env is not bootstrapped before running inspector. cf2103d
- Ensured we wait for the inspect to disconnect. 2132fdf
- Fixed
process.uptime()
returning the wrong time. #19436 - Fixed
triggeredByAccelerator
Event property behavior forMenuItems
. #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
methodsundefined
in macOS node child processes. #15790 - Fixed error throwing on invalid
webRequest
url pattern filtering inonBeforeRequest
. #19337 - Fixed incorrect passing of dialog MessageBox type. #19349
- Fixed inverted
alwaysOnTop
status returned whenalways-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. 5693033
- Fixed setting
src
on<webview>
being too slow. #18990 - Fixed silent printing across platforms. #18979
- Fixed support for the
webkitdirectory
attribute oninput[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 havecontextIsolation
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. #19514web-contents-created
andbrowser-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 duringapp.on('ready')
.
Other Changes
- Converted
appLevelAppearance
to be a property onsystemPreferences
. #18477 - Converted
autoHideMenuBar
to a property onBrowserWindow
instances. #18555 - Converted
savePath
accessor to a property on DownloadItem instances. #18677 - Converted
resizable
,maximizable
,minimizable
,fullscreenable
,movable
andclosable
getters / setters on the BrowserWindow class to properties. #18618 - Converted
name
to be a property on theapp
module. #17701 - Converted
nativeImage.templateImage
to be a property on thenativeImage
prototype. #18124