npm install electron@v6.0.0-beta.1
yarn add electron@v6.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
- 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