Electron: v8.0.0 Release

Release date:
February 3, 2020
Previous version:
v8.0.0-nightly.20191112 (released November 12, 2019)
Magnitude:
4,871 Diff Delta
Contributors:
17 total committers
Data confidence:
Commits:

163 Features Released with v8.0.0

Top Contributors in v8.0.0

trop[bot]
MarshallOfSound
nornagon
electron-bot
zcbenz
ckerr
codebytere
loc
erickzhao
miniak

Directory Browser for v8.0.0

We haven't yet finished calculating and confirming the files and directories changed in this release. Please check back soon.

Release Notes Published

Generating release notes between origin/7-1-x and origin/8-x-y for version v8.0.0

Release Notes for v8.0.0

Breaking Changes

  • Upgraded to Chromium 80.0.3987.86 (New since Electron 7: Chromium 79, 80)
  • Upgraded to Node 12.13.0 (New since Electron 7: Node 12.9, 12.10, 12.11, 12.12, 12.13)
  • Upgraded to V8 8.0 (New since Electron 7: V8 7.9, 8.0)
  • IPC between main and renderer processes now uses the Structured Clone Algorithm. #20214

Features

  • 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(). #21117
  • Added app.setAboutPanelOptions() support for credits and iconPath on Windows. #19420
  • Added BrowserWindow.moveAbove(mediaSourceId). #18926
  • Added contents.getAllSharedWorkers() and contents.inspectSharedWorkerById(workerId) to allow inspection of specific shared workers. #20389
  • Added Notification() options' timeoutType property to allows users to set timeout type for Linux and Windows notifications. #20153
  • Added Notification() options' urgency property to allow customization of Linux-based notifications. #20152
  • Added session.addWordToSpellCheckerDictionary API to support custom words in the. #21297
  • Added session.downloadURL() to allow downloads to trigger without a BrowserWindow. #19889
  • Added systemPreferences.getMediaAccessStatus().screen for detecting the new macOS Catalina permissions. #21116
  • Added trafficLightPosition option in BrowserWindow API to allow custom positioning of traffic lights. #21990
  • Added tray.displayBalloon() options: iconType, largeIcon, noSound and respectQuietTime. #19544
  • Added tray.focus(), which returns focus to the taskbar notification area. #19548
  • Added tray.removeBalloon(), which removes an already displayed balloon notification. #19547
  • Added WebContents.printToPDF() support for fitToPageEnabled and scaleFactor. #20436
  • Added win.accessibleTitle property to augment the window title for screen readers. #19698
  • Added options to enable customization of print page headers and footers. #19688
  • 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. #20897
  • Added the ability to prevent documents from being added to recent documents on Windows in open dialogs. #19669
  • Enable macOS users to fallback to item removal when when shell.moveItemToTrash fails. #19700
  • Exposed webContents.executeJavaScriptInIsolatedWorld. #21267
  • Exposing methods required by capturing a hidden webContents. #21895
  • Added BrowserWindow.will-move event support on macOS. #19641
  • Improved TouchBarButton and TouchBarLabel a11y with the new accessibilityLabel property. #20454

Fixes

  • Added name of module to context-aware deprecation warning (#18397). #21958
  • Fixed Linux console warning about gtk_disable_setlocale(). #19986
  • Don't destroy active menus created as local objects in javascript. #19427
  • Fixed BrowserWindow.fromWebContents() to return null when no window is found for consistency with other APIs. #19983
  • Fixed a crash that could occur when calling crashReporter.getUploadedReports. #20428
  • Fixed a potential crash on faulty deviceNames in webContents.print(). #21982
  • 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 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 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. #21866
  • Fixed an issue with Node.js context initialization in renderer processes. #20836
  • Fixed async Node APIs not working after received IPC message. #19718
  • Fixed compilation error for native modules building with VS 2015. #21960
  • Fixed crash when doing redirect navigation with webRequest listener. #21841
  • Fixed debug symbol files on linux not containing private symbols. #20530
  • Fixed disabling color correct rendering with --disable-color-correct-rendering. #20356
  • Fixed issue with when playing videos or audio Electron would ask for accessibility access. #21998
  • Fixed memory leak when using protocol.registerSchemeAsPrivileged api. #20546
  • Fixed printing. #21059
  • Fixed setting content-type header with charset breaking protocol APIs. #20538
  • Fixed several deprecation warnings in Electron code. #20805
  • Fixed some systemPreferences.getColor() inconsistencies on macOS. #20611
  • Fixed white flash after restoring an app from the background. #19873
  • Prevented 'Reopen windows?' dialog from appearing on macOS after a crash. #19584
  • Re-enable DOM storage quota enforcement but change limit from 10MiB to 100MiB. #21380
  • Removed unnecessary chromium patch for browser compositor on mac. #20390
  • setLayoutZoomLevelLimits no longer works in Electron 8, so emit a warning message when using it. The function will be removed in Electron 9. #21360
  • Fixed a crash that could occur if a WebContents was destroyed during a navigation event. #20099
  • Fixed bug in 8.0.0 beta releases that prevented the dictionarySuggestions property from being populated correctly when the built-in spellchecker is enabled. #22015

Other Changes

  • Added Windows on Arm (64 bit) release. #20094
  • Added Windows on Arm node header files to checksum file. #20255
  • Deprecated the default value of app.allowRendererProcessReuse (See #18397). #21287
  • Deprecated <webview>.getWebContents() due to its dependency on the remote module. #21039
  • Fixed first beta version choosing logic. bf66fe51
  • Made strip_absolute_paths_from_debug_symbols to false in debug.gn. #21316
  • No-notes. #18760, #20003
  • Removed undocumented ipcRenderer.sendToAll(). #19556

Documentation