Stack Upgrades
- Chromium 85.0.4183.84
- Node v12.16.3
- V8 v8.5
Breaking Changes
- Changed the default value of 'enableRemoteModule' to false. #22091
- Changed the default value of
app.allowRendererProcessReuse
to true
, this will prevent loading of non-context-aware native modules in renderer processes. See #18397 for more information on this change. #22336
- Fixed the positioning of window buttons on MacOS when the OS locale is set to an RTL language (like Arabic or Hebrew). Frameless window apps may have to account for this change while styling their windows. #22016
Features
- Added
contents.getBackgroundThrottling()
method and contents.backgroundThrottling
property. #21036
- Added a
sameSite
property to the Cookie structure allowing you to get and set the same site policy for cookies. #22789
- Added new
render-process-gone
event on app
to replace the renderer-process-crashed
event. #23560
- Added new
render-process-gone
event to replace the crashed
event. #23096
- Added new
useSessionCookies
flag to net
requests to allow them to use the session cookie store. #22704
- Added support for
MessagePort
in the main process. #22404
- Added support for the 'compress' option of crashReporter on Linux. #23597
- Added the 'onclose' event to MessagePort and MessagePortMain. #22532
- Added the ability to get the "Recent" folder on Windows with
app.getPath('recent')
. #23381
- BrowserWindow
darkTheme
option now defaults to nativeTheme.shouldUseDarkColors
. #20138
- Can now check if a given
session
is persistent by calling the ses.isPersistent()
API. #22622
- Deprecated uncompressed crash uploads in
crashReporter
. #23598
- Enable native Electron handling and passing of Node.js cli options. #21110
- Enhanced window.open functionality with the ability to handle
POST
data in the new-window
event. #19703
- Exposed the
desktopCapturer
module in the main process. #23548
- The position of nested touch bars inherited from Chromium can now be customized (macOS). #22270
- Added V8 crash message and location information to crashReport parameters. #24866
- Removed the deprecated
currentlyLoggingPath
property of netLog
. Additionally, netLog.stopLogging
no longer returns the path to the recorded log. #22732
- Added
disableDialogs
option to WebPreferences. #22395 (Also in 8, 9)
- Added
fullScreen
property support for BrowserWindow
s. #23145 (Also in 9)
- Added
rateLimit
and compress
options to crashReporter
. #23062
- Added
session.listWordsFromSpellCheckerDictionary
API to list custom words in the dictionary. #22101 (Also in 9)
- Added
session.removeWordFromSpellCheckerDictionary
API to remove custom words in the dictionary. #22039 (Also in 9)
- Added
session.serviceWorkerContext
API to access basic service worker info and receive console logs from service workers. #20624 (Also in 9)
- Added a new
force
parameter to app.focus()
on macOS to allow apps to forcefully take focus. #22612 (Also in 8, 9)
- Added ability to set and get title bar traffic light position on the fly (macOS). #22533 (Also in 8, 9)
- Added new
spellcheck-dictionary-*
events on the session
module to help track and debug dictionary initialization. #22449 (Also in 8, 9)
- Added new
worldSafeExecuteJavaScript
webPreference to ensure that the return values from webFrame.executeJavaScript
are world safe when context isolation is enabled. #24711 (Also in 9)
- Added support for property access to some getter/setter pairs on
BrowserWindow
. #22771 (Also in 9)
- Added support for suspend and resume events to Windows. #24281 (Also in 8, 9)
- Added support for suspend and resume events to macOS. #24293 (Also in 8, 9)
- Allow an optional callback parameter for WebFrame.executeJavaScript* methods, which is called synchronously unless the target context is paused. #21423 (Also in 9)
- EnableWebSQL is a new webpreference option to enable/disable websql api. #23311 (Also in 7.2, 8, 9)
- Expose sessionId associated with a target from debugger module. #24397 (Also in 8, 9)
- Implemented
systemPreferences.getMediaAccessStatus()
on Windows. #24311 (Also in 8, 9)
- Restored support for pdfium-based PDF viewer. #21794 (Also in 9)
- V8CacheOptions is a new webpreference option to enforce code caching policy. #23867 (Also in 8, 9)
- Ensured proper nativeImage serialization between renderer and browser processes via remote. #23794 (Also in 7.3, 8, 9)
- Improved error logging on
moveItemToTrash
failures on macOS. #23589 (Also in 8, 9)
Fixes
- Fixed BrowserWindow.moveAbove on Windows. #23161
- Fixed
WebContents.focus
not focusing window on macOS and Linux. #22323
- Fixed a crash that could happen when a warning was emitted when loading an extension. #23667
- Fixed a crash when closing GTK file open/save dialogs. #23109
- Fixed a crash when using
<input type="file" />
. #22843
- Fixed a potential crash when menu is created from an empty template. #23308
- Fixed an issue that could cause exceptions in the 'remote' module when accessing objects without constructors. #22820
- Fixed an issue where
startDrag
could crash if some specific strings were passed into nativeImage.createFromImage
to create the icon
. #23467
- Fixed an issue where diagnostic error reporting wasn't available in Node.js processes. #23126
- Fixed an issue where undo and redo shortcuts did not work in webviews. #22911
- Fixed crash when using client certificate. #25019
- Fixed issues with CORS when making requests from extensions. #24822 (Also in 9)
- Fixed loading shared worker scripts over custom protocol * fix crash when loading worker scripts with nodeIntegration enabled. #24749 (Also in 9)
- Accessing the
screen
module before the ready event no longer makes it impossible to access the screen
module. #22895 (Also in 8, 9)
- Added missing support for
isComposing
KeyboardEvent property. #23995 (Also in 8, 9)
- Added workaround for nativeWindowOpen hang. #22825 (Also in 8, 9)
- DeviceId from
navigator.mediaDevices.enumerateDevices
is now consistent across reloads. #22386 (Also in 8, 9)
- Don't allow window to go behind menu bar on mac. #22770 (Also in 9)
- Don't ignore the referrer header in net.request. #23386 (Also in 8, 9)
- Enable NTLM v2 for POSIX platforms and added --disable-ntlm-v2 switch to disable it. #23916 (Also in 7.3, 8, 9)
- Enable offscreen rendering. #22160 (Also in 8, 9)
- Ensured that exit callbacks are run for Node.js in the renderer process. #23419 (Also in 7.2, 8, 9)
- Fix: Allow windows behind macOS elements if "frame" is false. #24032 (Also in 9)
- Fixed "Paste and Match Style" shortcut on macOS to match OS's "Option-Shift-Command-V". #24182 (Also in 8, 9)
- Fixed "null path-to-app" in test-app when Electron's path contains spaces or special characters. #24230 (Also in 8, 9)
- Fixed "will-navigate" event not being emitted for sandboxed contents. #22188 (Also in 8, 9)
- Fixed ARIA role="tree" for macOS VoiceOver. #22367 (Also in 8, 9)
- Fixed Electron apps getting rejected to Mac App Store. #20965 (Also in 6.1, 8, 9)
- Fixed GTK dark theme setting not respected in Electron on Linux. #23711 (Also in 7.3, 8, 9)
- Fixed Promise timeout issue when running Electron as Node. #23153 (Also in 7.2, 9)
- Fixed
chrome://media-internals
and chrome://webrtc-internals
pages not loading. #24057 (Also in 8, 9)
- Fixed
process.windowsStore
returning undefined in AppX packages. #23798 (Also in 7.3, 8, 9)
- Fixed
session.setSpellCheckerDictionaryDownloadURL
to append the dictionary name at the end of requests instead of requesting the same URL for all dictionaries. #22382 (Also in 8, 9)
- Fixed
webRequest
API not working with WebSockets. #22040 (Also in 8, 9)
- Fixed
webRequest
module not working with file://
protocol. #22903 (Also in 9)
- Fixed
webRequest
not working for CORS requests. #22407 (Also in 9)
- Fixed
win.setMenuBarVisibility(false)
not hiding menu bar. #23214 (Also in 9)
- Fixed a bezeling issue on vibrant non-frameless BrowserWindows. #23809 (Also in 9)
- Fixed a crash in TouchBar for certain methods. #23970
- Fixed a crash in
webContents.print()
with custom print margins. #22164 (Also in 8, 9)
- Fixed a crash that could happen when attempting to access a session during shutdown. #23039 (Also in 8, 9)
- Fixed a crash that could happen when using
hookWindowMessage
on Windows. #24768 (Also in 9)
- Fixed a crash that could occur when sending arrays over IPC. #22753 (Also in 8, 9)
- Fixed a crash that could occur when using in-memory sessions. #25001 (Also in 9)
- Fixed a crash that could occur when using the
ipcRenderer
module after blink had released the context. Instead, a JS exception will be thrown. #23977 (Also in 8, 9)
- Fixed a crash which could occur during page navigations. #23271 (Also in 8, 9)
- Fixed a potential crash on devices which had not connected any printers to their network. #22418 (Also in 8, 9)
- Fixed a potential crash on invalid
zoomFactor
values when setting the zoom factor of a webpage. #22673 (Also in 7.2, 8, 9)
- Fixed a termination crash on Web Workers with Node.js integration enabled. #24462 (Also in 8, 9)
- Fixed a use-after-free error that could happen if a Tray was destroyed while showing a custom context menu. #22842 (Also in 7.2, 8, 9)
- Fixed an error when calling
dialog.showCertificateTrustDialog
with no BrowserWindow
. #24118 (Also in 7.3, 8, 9)
- Fixed an intermittent high-CPU usage problem caused a system clock issue during sleep. #24413 (Also in 8, 9)
- Fixed an issue where TypeError occurred on initializing CrashReporter. #22274 (Also in 8, 9)
- Fixed an issue where VoiceOver was unable to navigate from the top-level window back into the web contents. #24698 (Also in 9)
- Fixed an issue where
nativeImage
s might throw conversion errors in the renderer process. #23543 (Also in 7.3, 8, 9)
- Fixed an issue where
rmdir
and rmdirSync
work with original-fs
in an asar context. #23951 (Also in 8, 9)
- Fixed an issue where
shutdown
would be emitted both on app and system shutdown on macOS. #24139 (Also in 8, 9)
- Fixed an issue where
undefined
was printed from console.log
on Window when no arguments were passed. #22165 (Also in 8, 9)
- Fixed an issue where
webContents.print()
would sometimes hang with invalid settings. #24507 (Also in 9)
- Fixed an issue where
window.location
properties would throw an error for windows opened with window.open
. #23804 (Also in 8, 9)
- Fixed an issue where
withFileTypes
was not supported as an option to fs.readdir
or fs.readdirSync
under asar. #24106 (Also in 8, 9)
- Fixed an issue where changing theme on macOS would break window maximizability state. #22677 (Also in 9)
- Fixed an issue where cpu and heap profiling in Node.js did not work properly with
--cpu-prof
, --heap-prof
, and related CLI flags. #24540 (Also in 8, 9)
- Fixed an issue where frameless modal windows with a vibrancy setting had bezeled corners. #24284 (Also in 9)
- Fixed an issue where macOS window vibrancy active state did not always match the active state of the window. #24532 (Also in 8, 9)
- Fixed an issue where native macOS dialogs sometimes failed to show after modal close. #22858 (Also in 8, 9)
- Fixed an issue where some Node.js methods would not work with URL instances constructed in the renderer process. #24860 (Also in 8, 9)
- Fixed an issue where some logging would double-print. #22342 (Also in 8, 9)
- Fixed an issue where some old notifications were not properly removed from the Notification Center on macOS. #24404 (Also in 8, 9)
- Fixed an issue where suspend/resume were emitted twice on macOS. #24843 (Also in 8, 9)
- Fixed an issue where the 'about' role had on effect on Windows menus. #23717 (Also in 7.3, 8, 9)
- Fixed an issue where the Save button did not function in PDF previews. #24995 (Also in 9)
- Fixed an issue whereby
macOS
would fail to allow file extensions containing periods. #23409 (Also in 7.2, 8, 9)
- Fixed an issue which would cause streaming protocol responses to stall in some cases. #24081 (Also in 8, 9)
- Fixed an issue with
maximizable
state persistence of BrowserWindows on macOS. #22988 (Also in 7.2, 8, 9)
- Fixed an issue with
navigator.languages
and Accept-Language
did not fully respect users' language preferences on Windows and macOS. This also improved fallback font selection for CJK texts on Windows. #23247 (Also in 7.2, 8, 9)
- Fixed an issue with
safeDialog
preferences not being passed properly. #22353 (Also in 8)
- Fixed an issue with click events not being emitted on macOS for Trays with context menus set. #24235 (Also in 8, 9)
- Fixed an issue with possible creation of a messageBox which cannot be dismissed on macOS. #22672 (Also in 7.2, 8, 9)
- Fixed an issue with volume-related
globalShortcut
registration. #23823 (Also in 8, 9)
- Fixed an occasional crash when closing all BrowserWindows. #22948 (Also in 7.2, 8, 9)
- Fixed an occasional menu crash on macOS Catalina when menu is closing. #23806 (Also in 8, 9)
- Fixed an occasional segfault with modal windows being closed or destroyed. #22410 (Also in 8, 9)
- Fixed broken
--trace-sync-io
flag in Node.js. #24544 (Also in 8, 9)
- Fixed broken use of
contextCodeGeneration
parameter to Node.js' script.runInNewContext()
. #23129 (Also in 8, 9)
- Fixed bug on macOS where the main window could be targeted for a focus event when it was disabled behind a modal. #24352 (Also in 8, 9)
- Fixed bug that occurred when using trafficLightPosition API in RTL mode. #22132 (Also in 8, 9)
- Fixed clipboard.readBuffer returning incorrect value. #24467 (Also in 8, 9)
- Fixed crash in network service process when using protocol.registerSchemeAsPrivileged api. #22867 (Also in 9)
- Fixed crash that could occur when calling
session.fromPartition
inside the ready event. #22772 (Also in 9)
- Fixed crash when navigating between origins in a child window with nativeWindowOpen and contextIsolation enabled. #23896 (Also in 8, 9)
- Fixed crash when navigating from a page with webview that has inherited zoom level. #24763 (Also in 8, 9)
- Fixed crash with webview during some window management events like resize, scroll etc. #23342 (Also in 7.2, 8, 9)
- Fixed crash-on-exit that could happen during node platform deinitialization. #23116
- Fixed delayed execution of some Node.js callbacks in the main process. #24174 (Also in 8, 9)
- Fixed disabling color correct rendering with
--disable-color-correct-rendering
. #23899 (Also in 8, 9)
- Fixed flash plugin not working. #22072 (Also in 8, 9)
- Fixed inactive windows having active titlebar on Windows. #24874 (Also in 8, 9)
- Fixed incorrect hit testing on top of ::after element with layoutNG. #23179 (Also in 9)
- Fixed issue where
SameSite
cookies would not be attached to outgoing requests from the net
module. #22788
- Fixed issue where
prefers-color-scheme
would not be updated / set correctly when your OS was in dark mode. #22896 (Also in 8, 9)
- Fixed issue where dictionary files for the spellchecker would be downloaded to the app install directory instead of the user data directory. #22444 (Also in 8, 9)
- Fixed issue where mutating the global
Object
prototype could cause internal Electron logic to throw errors. #22616 (Also in 8, 9)
- Fixed issue where navigating with the mouse buttons 4/5 would result in full page loads instead of in-page popstate navigations. #22202 (Also in 8, 9)
- Fixed issue where renderers could crash during GC when using the
contextBridge
module. #22056 (Also in 8, 9)
- Fixed issue where repositioned traffic lights would be in the wrong position after the user switches OS theme. #22534 (Also in 8, 9)
- Fixed issued where voice over would not read words as you typed them. #24838
- Fixed memory leak when using contextBridge with sandbox=true. #23207 (Also in 7.2, 8, 9)
- Fixed memory leaks in sandbox mode when using
contextBridge
with promises or ipcRenderer.invoke
. #23321 (Also in 8, 9)
- Fixed missing
guid
parameter in Linux crash reports. #24897 (Also in 9)
- Fixed missing debug symbols for crashpad handler on macOS. #23537 (Also in 9)
- Fixed no
session
in webContents of type remote. #24064 (Also in 9)
- Fixed occasional WebFrame crashes caused by removed iframes. #22925 (Also in 8, 9)
- Fixed possible freeze on window with disabled background throttling. #22832 (Also in 9)
- Fixed potentially invalid duplex mode settings on Linux. #24527 (Also in 9)
- Fixed several memory leaks related to V8 handles not being properly scoped. #22531
- Fixed some Wasm and diagnostics issues in main and renderer process execution of Node.js. #23261
- Fixed some event listener crashes in Tray. #23140
- Fixed some properties not working in webview tags. #22485 (Also in 8, 9)
- Fixed the JavaScript object of
BrowserWindow
not garbage collected when window is closed. #22006
- Fixed the
acceptLanguages
argument being ignored in session.setUserAgent()
. #23961 (Also in 7.3, 8, 9)
- Fixed the print button functionality in the PDF viewer extension. #22760 (Also in 9)
- Fixed tray menu on Windows not keyboard navigable. #23879 (Also in 8, 9)
- Fixed tray menu showing in taskbar on Windows. #24192 (Also in 8, 9)
- Fixed window titlebar not responding to pen on Windows 10. #24102 (Also in 7.3, 8, 9)
- Fixed: On some Windows machines, especially Windows Insider builds, Electron would crash silently during startup. #24038 (Also in 9)
- Increased maximum length for crash keys from 127B to 20KB. #24853 (Also in 9)
- Limited manipulation of custom spellchecker dictionary words to persistent sessions. #22157 (Also in 9)
- MacOS VoiceOver is now able to find its way back into web contents after it navigated "out" of an application. #22399 (Also in 7.2, 8, 9)
- Protocol response streams are now destroyed if the request is aborted. #24656 (Also in 9)
- Removed assurance of object identity equality from the
contextBridge
as it is incapable of handling mutations. #21803 (Also in 8, 9)
- Removed extraneous crashpad_handler binary from the Linux distribution files. #23538 (Also in 9)
- Removed unneccessary breakpad_symbols directory from the dsym zip file. #22191 (Also in 6.1, 8, 9)
- Restored old implementation of Linux Tray icons to fix a collection of issues where the tray icon wouldn't appear, would be the wrong size or would randomly disappear. #23925 (Also in 8, 9)
- Returns a more graceful error when adding duplicate items to a single TouchBar instance. #22272 (Also in 8, 9)
- Reverted a change to the name of the NSPrincipalClass, which could cause issues with protocol handlers on macOS (e.g.
my-app://
). #22206 (Also in 8, 9)
- Save crash reports locally when uploadToServer: false on linux. #24787 (Also in 9)
- The element highlighter in devtools works again. #24929
- Updated Node root certs to use NSS 3.53. #24266
- Updating the document title while in fullscreen with custom traffic light positions no longer makes the traffic lights invisible. #22492 (Also in 8, 9)
- [a11y] fix an issue where voiceover doesn't read the first item selected from a ARIA combobox. #25003 (Also in 9)
crashReporter
is now explicitly initialized only in the main process, and implicitly initialized in other child processes. This fixes an issue preventing the crash reporter from functioning in sandboxed renderers on Linux. #23265 (Also in 9)
- Fixed broken Views API builds. #22621 (Also in 9)
- Fixed feature string parsing type coercion for window.open. #23130
- Fixed issues where objects sent over the context bridge could be freed prematurely resulting in crashes when accessing them. #23592 (Also in 8, 9)
- Fixed mac app store rejection notice for invalid symbolic link in bundle. #24166 (Also in 9)
- Fixed v8_context_snapshot_generator included in arm/arm64 mksnapshot zip files. #23536 (Also in 6.1, 7.2, 8, 9)
- Resolve network issues that prevented RTC calls from being connected due to network IP address changes and ICE. (Chromium issue 1113227). #24998
Performance
- Fixed performance regression with CSS counters. #25023
- Fix: remove unnecessary corner mask overriding to increase window resize performance. #24701 (Also in 9)
- Improved the performance of sending JS primitives over the context bridge. #24551 (Also in 9)
- Improved window events handler efficiency on Linux. #22706 (Also in 9)
- Made setting window icons slightly faster on Linux. #22702 (Also in 9)
End of Support for 7.x.y
Electron 7.x.y has reached end-of-support as per the project's support policy. Developers and applications are encouraged to upgrade to a newer version of Electron.