Electron Releases

Filter by channel Filter by major release

Release Notes for v10.0.1

Fixes

  • Fixed powerMonitor not emitting suspend/resume events on some Windows machines. #25111
  • Fixed an issue where notifications with a reply button could potentially be destroyed too early when a user clicked on the notification body before replying. #25100
  • Fixed an issue where some apps might be rejected from the Mac App Store owing to a private font-related API added in Chromium. #25137
  • Fixed window size being changed after unmaximizing. #25132

Other Changes

  • Fixed a potential crash on print job cancellation. #25131
  • Updated Chromium to 85.0.4183.86. #25142

Release Notes for v10.0.0

Stack Upgrades

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 BrowserWindows. #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 nativeImages 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.