Electron Releases

Filter by channel Filter by major release

Release Notes for v6.0.0-beta.1

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 BrowserViews 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