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@6.0.0-beta.2.
Fixes
- Fixed
fs.promises
APIs not working with ASAR paths. #18114
- Fixed a crash in
systemPreferences.getAccentColor()
. #18195
- Fixed an issue on Windows where calling
.show()
on a BrowserWindow did not focus the window. #18081
- Fixed case where the promise returned by
loadURL
and loadFile
would be rejected with ERR_ABORTED
if you triggered a virtual navigation before the page had finished loading. E.g. Used history.pushState
or set location.hash
. #18143
- Fixed crash when quitting Electron with an inspector attached. #18077
Other Changes
- Deprecated the options argument to session.clearAuthCache. #18131
- Fixed loading of
node_modules
inside ASAR files. #18192
- Updated Chromium to 76.0.3783.1. #18116
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@6.0.0-beta.1.
Breaking Changes
- Fixed disparity between
net
module headers and Node.js' http.IncomingMessage
headers. #17517
- Made
ShowItemInFolder
asynchronous with no return value. #17121
- Made app log directory creation opt-in with a new function
app.setAppLogsPath
. #17841
- Upgraded to Chromium 76.0.3774.1
Features
- Added Promise support for the Cookies API. #16464
- Added
chrome.runtime.getManifest
API for Chrome extensions. #16891
- Added
<webview>.getWebContentsId()
, which does not depend of the remote
module. #17407
- Added
all_frames
support for Chrome extension content scripts. #17258
- Added
disableHtmlFullscreenWindowResize
option to webPreferences
to allow preventing window from resizing when entering HTML5 fullscreen. #17203
- Added
excludedFromShownWindowsMenu
property to allow for windows to be excluded from the windows menu. #17404
- Added
process.getSystemVersion()
, which is available in sandboxed renderers and returns the actual operating system version instead of kernel version on macOS. #16599
- Added
process.versions.electron
to get the electron version in the forked process. #16450
- Added
renderer-process-crashed
event to app
, which is emitted when any renderer process crashes. #17315
- Added
systemPreferences.getAnimationSettings()
returning system animation settings provided by Chromium. #17382
- Added
tray.getTitle()
to allows users to see the title set next to the status bar icon on macOS. #17385
- Added a new Event property
triggeredByAccelerator
, which is called back in custom click
events on MenuItems
. #16954
- Added ability disable fetching thumbnails for in
desktopCapturer.getSources()
. #14906
- Added additional error information to errors thrown when using the
remote
module. #17851
- Added an option to enable
MenuItems
on macOS to work optionally when visible: false
. #16853
- Added file preview for file picker in Linux. #16447
- Added flexible autoresize option for
BrowserView
s in BrowserWindow
. #16184
- Added native Touch ID authentication support for macOS. #16707
- Added new
monochrome
, internal
, acceleratorEnabled
, colorDepth
and depthPerComponent
properties to the Display API Structure. #16870
- Added new inspectSharedWorker() API to enable opening devtools for a shared worker. #16615
- Added safer
nativeImage.createFromBitmap()
, which does not decode PNG/JPEG. #17337
- Added support for Scroll Lock accelerator. #16873
- Added world isolation to Chrome extension content scripts. #17032
- Converted
app.dock.show()
such that it now returns a Promise. #16904
- Converted
contentTracing.getCategories()
to return a promise instead taking a callback. #16583
- Converted
contentTracing.getTraceBufferUsage()
to return a Promise instead of taking a callback. #16600
- Converted
contents.executeJavaScript()
, webFrame.executeJavaScript()
, webFrame.executeJavaScriptInIsolatedWorld()
and webviewTag.executeJavaScript()
to return Promises instead of taking callbacks. #17312
- Converted
dialog.showCertificateTrustDialog()
to return a Promise instead of taking a callback. #17181
- Converted
netLog.stopLogging()
to return a Promise instead of taking a callback. #16862
- Converted
session.clearAuthCache()
to return a promise instead of optionally taking a callback. #17259
- Converted
session.clearHostResolverCache()
to return a Promise instead of taking a callback. #17229
- Converted
session.clearStorageData()
such that it returns a Promise instead of taking a callback. #17249
- Converted
session.getBlobData()
to return a Promise instead of taking a callback. #17303
- Converted
session.getCacheSize()
and session.clearCache()
to return promises instead of taking callbacks. #17185
- Converted
session.setProxy()
and session.resolveProxy()
to return Promises instead of taking callbacks. #17222
- Converted
webContents.hasServiceWorker()
to return a promise instead of taking a callback. #16535
- Converted
webContents.printToPDF()
to return a Promise instead of taking a callback. #16795
- Converted
webContents.savePage()
to return a Promise instead of taking a callback. #16742
- Enabled
NodeIntegrationInSubFrames
option usage for webview
tags. #17226
- Exposed
colorSpace
to the Display
object. #17405
- Feat: add native emoji and color picker methods for Windows and MacOS. #17359
- Fixed Chrome extension content scripts not loading in sandboxed renderer. #16218
- For security reasons, preload scripts can now only be loaded from a subpath of app path (
app.getAppPath()
). #17308
- Implemented
BrowserWindow.moveTop()
on Linux/x11. #16629
- Moved
webFrame
custom scheme APIs to browser process under protocol
. #16416
- Process now emits 'loaded' event in sandboxed renderers. #17680
- Promisified
inAppPurchase.getProducts()
and inAppPurchase.purchaseProduct()
. #17355
- Replaced
powerMonitor
querySystemIdleState
and querySystemIdleTime
with synchronous APIs. #17144
- Split
dialog.showMessageBox()
into a synchronous version and a version that returns a Promise. #17298
- Split
dialog.showOpenDialog()
into a synchronous version and a version that returns a Promise. #16973
- Split
dialog.showSaveDialog()
into a synchronous version and a version that returns a Promise. #17054
Fixes
- Added missing module name to the exception message thrown when
require
fails in sandboxed renderers. #17413
- DevTools Extensions now load correctly. #17614
- Enabled autofill popups on Mac. #16308
- Ensured that
webContents.hasServiceWorker()
rejects with an error for invalid URLs. #16571
- Fixed
beginFrameSubscription
returning blurred images on HiDPI displays. #17444
- Fixed
webFrame.setSpellCheckProvider
memory leak. #16448
- Fixed a crash when failed to get devices in desktopCapturer on Windows. #17973
- Fixed a possible crash on exit. #17879
- Fixed an issue preventing the Flash plugin from loading on Linux. #17823
- Fixed crash when Electron run from SMB network share. #17909
- Fixed inconsistent behavior where modifying the buffer would change
nativeImage
pixels, while decoded PNG / JPEG data is a copy. #17843
- Fixed issue where sandboxed renderers could sometimes leak globals outside of the preload script. #17712
- Fixed offscreen rendering not working with viz compositor. #17538
- Fixed race condition where the
remote
module would sometimes fail to fetch properties of a remote object. #17464
- Fixed the callback of
beginFrameSubscription
passing Buffer
instead of NativeImage
. #17548
- Focus methods no longer steal focus when users are active on other apps. #16400
- Improved the way frameless windows are handled on Windows. #16596
- Injected chrome extensions that have content scripts with a
.
in the pattern
field now treat it as a raw .
instead of a wildcard. #17593
- No-notes. #17214
- Removed non-existent
gpu-crashed
event on <webview>
. #17317
- Updated the
protocol.registerSchemesAsPrivileged
API options key. #16601
- Using
webContents.sendInputEvent
to send a WebMouseWheelEvent
now has the expected effect. #17757
Other Changes
-
no-notes. #16552
- Converted
accessibilitySupportEnabled
to a proper JS property on app
. #17362
- Converted
applicationMenu
to a proper JS property on the app
module. #17361
- Enabled
sandbox
and disabled remote
module in default_app. #17318
- Enabled sandboxing of devtools and chrome extension background script host renderers. #16864
- Fixed race condition in the
desktopCapturer
module where some requests for sources would never be resolved or unhandled exceptions would be thrown in the main process. #18042
- No-notes. #16685
- Removed Vulkan validation layers DLLs from electron.zip, which are only meant to be used for Chromium development. #18062
- Removed
hasServiceWorker
and unregisterServiceWorker
APIs from the WebContents modules. #16717
- Removed deprecated modules internally using
remote.require
in sandboxed renderer context. Use remote.require
explicitly instead (unless the remote module is disabled). #15957
- Removed native mksnapshot binaries for arm/arm64 as they no longer work. #17561
- Removed special handling that forced
dialog
methods called over the remote
module to return their result synchronously but not block the main process. #17412
- Reset version to 6.0.0-beta.0 in prep for 6.0.0-beta.1. 37f4bd4d
- The
clipboard
module in renderers no longer depends on the remote
module on Linux. #17200
Documentation
- Documentation changes: #16496, #16593, #16700, #16762, #16775, #16865, #16874, #16966, #17467, #17866