npm install electron@v9.0.0-beta.1
yarn add electron@v9.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
- IPC between main and renderer processes now uses the Structured Clone Algorithm. #20214
- Removed the
visibleOnFullscreen
option in setVisibleOnAllWorkspaces.
. #21706
- Split
shell.openItem(path)
into synchronous and asynchronous methods. #20682
Features
- Added BrowserWindow.moveAbove(mediaSourceId). #18926
- Added GUID parameter to Tray API to avoid system tray icon demotion on Windows. #21891
- Added
--enable-api-filtering-logging
command-line switch, which enables caller stack logging for desktopCapturer
and remote
APIs that can be blocked or filtered. #20335
- Added
app.getApplicationNameForProtocol()
API. #20399
- Added
mouse-down
and mouse-up
events to the Tray on macOS. #21795
- Added
nativeTheme.themeSource
to allow apps to override Chromium and the OS's theme choice. #19960
- Added
screen
to systemPreferences.getMediaAccessStatus()
for detecting the new macOS Catalina permissions. #20764
- Added
session.addWordToSpellCheckerDictionary
API to support custom words in the. #21266
- Added
session.downloadURL()
allowing to trigger downloads without a BrowserWindow
. #19889
- Added
timeoutType
property to allows users to set timeout type for Linux and Windows notifications. #20153
- Added
trafficLightPosition
option in BrowserWindow
API to allow custom positioning of traffic lights. #21781
- Added
tray.closeContextMenu()
to allow programmatic closure of Tray menus. #21807
- Added
tray.focus()
, which returns focus to the taskbar notification area. #19548
- Added
tray.removeBalloon()
, which removes an already displayed balloon notification. #19547
- Added
validatedCertificate
to the setCertificateVerifyProc
callback to assist with certificate pinning implementations. #21890
- Added
win.accessibleTitle property
to be able to augment the window title for the screen readers. #19698
- Added
win.getBackgroundColor()
for BrowserWindow
on macOS. #21448
- Added a missing fiddle - migrates the 'Launching an app from URL...' fiddle from electron-api-demos. #20718
- Added ability to inspect specific shared workers:
contents.getAllSharedWorkers()
/ contents.inspectSharedWorkerById(workerId)
. #20389
- Added about panel customization on Windows. #19420
- Added an
urgency
property to allow customization of Linux-based notifications. #20152
- Added new
nativeTheme
API to read and respond to changes in the OS's theme and color scheme. #19656
- Added options to enable customization of print page headers and footers. #19688
- Added property customization to save dialogs. #19672
- Added support for HTTP preconnect resource hints. #18671
- Added support for picture-in-picture mode for video elements. #17686
- Added support for the built-in spellchecker. We will use the OS spellchecker on macOS and hunspell on all other platforms. #20692
- Added the ability to prevent documents from being added to recent documents on Windows in open dialogs. #19669
- Added the ability to set app activation policy on
macOS
. #21983
- Added the ability to specify
pageSize
when printing with webContents.print()
. #22014
- Added the support of fitToPageEnabled and scaleFactor in
WebContents.printToPDF()
. #20436
- Added tracing instrumentation to WebContents IPC methods, available with the contentTracing category "electron". #21404
- Adds a fiddle to demo how to open external links and how to open all outbound links. #20763
- Adds ability to disable / enable a
TouchBarButton
. #20945
- Allowed some specific options to be passed via NODE_OPTIONS to packaged apps. #20857
- Began issuing a deprecation warning when the 'remote' module is used when enableRemoteModule: true isn't explicitly specified. See https://github.com/electron/electron/issue/21408 for more details. #21546
- Changed NODE_OPTIONs to allow
--http-parser
to be used in packaged apps. #21694
- Deprecated
<webview>.getWebContents()
as it depends on the remote
module. #20726
- Enable macOS users to fallback to item removal when when
shell.moveItemToTrash
fails. #19700
- Enabled V8 pointer compression. #21468
- Explicitly allow product restoration to an app with. #21461
- Exposed
executeJavaScriptInIsolatedWorld
on the webContents
API. #21190
- Exposed more customizable options for
contents.printToPDF()
and fixed a potential for native crash. #21906
- Exposing methods required by capturing a hidden webContents。. #21679
- Fixed Wunderlist app not loading. #17742
- Implemented 'will-move' event on BrowserWindow on macOS. #19641
- Implemented
win.setAspectRatio()
on Linux. #19516
- Improved TouchBarButton and TouchBarLabel a11y with
accessibilityLabel
property. #20454
- Improved the returned types and descriptions for the
PrinterInfo
API structure returned by webContents.getPrinters
. #21081
- New options added to
tray.displayBalloon()
: iconType
, largeIcon
, noSound
and respectQuietTime
. #19544
- Objects not serializable using Structured Clone will now cause an error to be thrown when attempting to send them across IPC. #21560, #21560
- Removed the deprecated 'setLayoutZoomLevelLimits' method. #21383
- Switched to a native-backed implementation of Chrome Extensions. #21814
Fixes
- Added name of module to context-aware deprecation warning (#18397). #21952
- DOM storage quota enforcement re-enabled, but limit changed from 10MiB to 100MiB. #20899
- Don't destroy active menus created as local objects in javascript. #19427
- Exposed
setMenuBarVisibility
on BrowserWindow
again. #19557
- Fixed Linux console warning about gtk_disable_setlocale(). #19986
- Fixed Linux desktop tray icon size regression introduced in the 8.0 betas. #21904
- Fixed Node.js'
worker_threads
in ELECTRON_RUN_AS_NODE
. #20416
- Fixed POST-ing HTML forms with target=_blank. #21469
- Fixed
BrowserWindow.fromWebContents()
to return null
when no window is found for consistency with other APIs. #19983
- Fixed
Tray.setContextMenu
not updating the menu on Linux. #21883
- Fixed
cookies.get
not working when url
is not specified in filter. #20471
- Fixed
cookies.set
not working correctly when name
or expirationDate
is omitted. #21454
- Fixed
shell.openExternal()
option workingDirectory
not working with Unicode characters. #20879
- Fixed a bug where an unresizable window would shrink when restored after being minimized on Windows. #19886
- Fixed a bug where sometimes a ~10px white border would be added to fullscreen windows on Windows. #19883
- Fixed a crash in Node.js initialization in renderer processes. #20684
- Fixed a crash in
webContents.print()
caused by infinite recursion. #21889
- Fixed a crash in
window.print()
. #19690
- Fixed a crash on
<input type="file">
dialog cancellation. #19897
- Fixed a crash on manual print cancellation as well as an issue with
deviceName
not working. #19598
- Fixed a crash that could occur when calling
crashReporter.getUploadedReports
. #20428
- Fixed a crash that could occur when visiting HTTPS sites with invalid certificates. #21976
- Fixed a label mismatch on open and save dialogs on GTK. #20861
- Fixed a potential crash on faulty
deviceName
s in webContents.print()
. #21946
- Fixed a race condition that occurred when using protocol.registerStreamProtocol. #19811
- Fixed a regression in the
recentDocuments
MenuItem role on macOS. #20398
- Fixed an issue in the remote module which could cause the name of the Object constructor to be overwritten globally. #20637
- Fixed an issue that prevented setuid binaries from being launched from the renderer process on Linux. #19953
- Fixed an issue where
app.getPath('logs')
would throw an error if the logs path was not previously set. #19653
- Fixed an issue where
menu.closePopup()
would have no effect if called too soon after menu.popup()
. #20114
- Fixed an issue where
net
requests with redirection mode 'error' could incorrectly follow a redirect. #20686
- Fixed an issue where
webContents.printToPDF
failed to properly generate the PDF document. #21783
- Fixed an issue where a call to
child_process.fork()
would set ELECTRON_RUN_AS_NODE
in the main process. #19742
- Fixed an issue where extension URLs were passing an incorrectly formatted
startPage
. #21711
- Fixed an issue where microtasks could sometimes be scheduled too eagerly, causing crashes when invoking Electron APIs during promises in certain situations. #20303
- Fixed an issue where sites using
ShadowDOMV0
, CustomElementsV0
, or HTMLImports
would not load properly. #21858
- Fixed an issue where the
open-url
event was not properly being fired on macOS. #20518
- Fixed an issue with Node.js context initialization in renderer processes. #20833
- Fixed an issue with open and save dialogs selecting properties. #19781
- Fixed async Node APIs not working after received IPC message. #19718
- Fixed build issue where ChromeDriver would fail to start. #21961
- Fixed case where
unlock-screen
and lock-screen
events would fire erroneously on citrix and other multi-session systems. #21805
- Fixed case where sending IPC to a child window (opened with
window.open
) could cause a crash. #19553
- Fixed compilation error for native modules building with VS 2015. #21950
- Fixed crash loading file based ServiceWorkers. #20132
- Fixed crash when doing redirect navigation with
webRequest
listener. #21838
- Fixed debug symbol files on linux not containing private symbols. #20530
- Fixed desktopCapturer leak. #20156
- Fixed devtools extensions not loading due to "Connect to unknown extension [object Object]" errors. #20791
- Fixed disabling color correct rendering with
--disable-color-correct-rendering
. #20356
- Fixed downloading mas package failed when defined 'npm_config_platform=mas'. #21801
- Fixed flash plugin not working. #22111
- Fixed i18n of GTK messageboxes' stock buttons. #19904
- Fixed improper behaviour of window with width constraint set during resize. #20519
- Fixed issue where maximizing a window on Windows in vertically stacked multi-monitor setups could result in the window rendering a white screen. #20051
- Fixed issue where renderers could crash during GC when using the
contextBridge
module. #22113
- Fixed issue with when playing videos or audio Electron would ask for accessibility access. #21959
- Fixed memory leak when using protocol.registerSchemeAsPrivileged api. #20546
- Fixed net module request raises error when non-2xx response received. #21055
- Fixed printing. #21026
- Fixed process taking 100% CPU when crashed with no crashReporter set up on Windows x64. #20388
- Fixed setting
content-type
header with charset breaking protocol
APIs. #20538
- Fixed several deprecation warnings in Electron code. #20793
- Fixed some
systemPreferences.getColor()
inconsistencies on macOS. #20611
- Fixed spelling errors. #21915
- Fixed the position of popups being created over embedded content. #20232
- Fixed vibrant windows not properly having rounded corners on Mac. #20360
- Fixed white flash after restoring an app from the background. #19873
- Limited the
nativeTheme
API to the browser process only. #20139
- Localized dialog button text on Linux. #19725
- No notes. #21930
- Prevented 'Reopen windows?' dialog from appearing on macOS after a crash. #19584
- Removed
__esModule = true
inadvertently exported by the electron
module. #20939
- Removed unnecessary chromium patch for browser compositor on mac. #20390
- The
dictionarySuggestions
property is now correctly populated when the built-in spellchecker is enabled. #21997
- Updated Node.js to v12.13.1. #21198
- Updated Node.js to v12.8.0. #19521
- [deps/uv] fsevents: fix file event reporting (backport: v12.x). #20408
setLayoutZoomLevelLimits
no longer works in Electron 8, so emit a warning message when using it. The function will be removed in Electron 9. #21296
Other Changes
- Added Windows on Arm (64 bit) release. #20094
- Added Windows on Arm node header files to checksum file. #20255
- Fixed a crash that could occur if a WebContents was destroyed during a navigation event. #20099
- Fixed first beta version choosing logic. bf66fe51
- Fixed node.lib linking issue. #20192
- No-notes. #18760, #20003
- Prepare for 9.0.0-beta.1. 23f32ca9
- Removed .only. f566e562
- Removed deprecated
<webview>.getWebContents()
. #20986
- Removed undocumented
ipcRenderer.sendToAll()
. #19556
- Strip non-determinism from zip release files. #21756
- The
remote
module now properly serializes Boolean
, Number
, String
and RegExp
instances. #20427
- Updated Node.js to v12.10.0. #20129
- Updated Node.js to v12.12.0. #20584
- Updated Node.js to v12.13.0. #20657
- Updated Node.js to v12.14.0. #21579
- Updated Node.js to v12.14.1. #21703
- Updated Node.js to v12.8.1. #19790
- Updated Node.js to v12.9.0. #19863
- Updated Node.js to v12.9.1. #19980
Documentation
- Documentation changes: #19387, #19444, #19804, #19945, #19975, #20230, #20472, #20473, #20478, #20480, #20524, #20525, #20526, #20535, #20591, #20621, #20622, #20644, #21313, #21707, #21909, #21910, #21945, #21996