Black Lives Matter. Support the Equal Justice Initiative and read our statement here.

Stable Releases

Electron 12.0.3 2021-04-13T16:54:37Z ()

Fixes

  • Allow loading source maps from custom protocols and asar bundles. #28616 (Also in 13)
  • Fixed postData parameter missing from new-window event. #28543 (Also in 13)
  • Fixed a bug where, when a JumpList task description exceeded 260 characters, the JumpList was empty, despite valid entries. #28525 (Also in 11, 13)
  • Fixed a crash when loading pepper plugins. #28373 (Also in 13)
  • Fixed a network process crash that could happen when using setCertificateVerifyProc with many concurrent verification requests. #28465 (Also in 11, 13)
  • Fixed an issue where select-serial-port callback crashes when called with an invalid serial port ID. #28618 (Also in 13)
  • Fixed an issue where window.print() did not work properly when printing a pdf from the pdf plugin. #28352 (Also in 13)
  • Fixed an issue where errors thrown in functions passed over the contextBridge could be displayed incorrectly. #28447 (Also in 13)
  • Fixed an issue where the thumbar disappeared after win.hide() on Windows. #28389 (Also in 10, 11, 13)
  • Fixed bug where TouchBarPopover and TouchBarGroup were no longer rendering. #28411 (Also in 11)
  • Fixed crash when using profiler in devtools. #28531
  • Fixed failing to request file:// resources when web security is disabled. #28560 (Also in 11, 13)
  • Fixed rare crash when initializing the internal PDF extension. #28452 (Also in 13)
  • Fixed service worker not working with custom protocol. #28355 (Also in 11, 13)
  • Support wasm-eval csp behind WebAssemblyCSP flag. #28575 (Also in 11, 13)
  • Transparent windows cannot be maximized using the Windows system menu or by double clicking the title bar. #28622 (Also in 13)

Other Changes

Documentation

  • Documentation changes: #28363

Electron 12.0.2 2021-03-24T01:23:50Z ()

Fixes

  • Colors returned from systemPreferences.getAccentColor(), getSystemColor and getColor are now correctly converted into the devices color space. Previously the color would have been subtly incorrect. #28172 (Also in 11, 13)
  • Fixed desktopCapturer.getSources() promise result sometimes never resolving. #28281 (Also in 10, 11, 13)
  • Fixed a rare crash on Windows that could occur when emitting certain Tray events. #28111
  • Fixed an issue where some Node.js modules would hang on page reload on Windows. #28337 (Also in 13)
  • Fixed an issue where the drag regions in BrowserViews on macOS could be off in their y-axis. #28296 (Also in 10, 11, 13)
  • Fixed context menus not being positioned correctly when near the edge of the screen. #28277 (Also in 11, 13)
  • Fixed crash when calling getBackgroundColor on a transparent window with no assigned background color. #28188 (Also in 11, 13)
  • Fixed intensive I/O from asar files causing ERR_FILE_NOT_FOUND after a while. #28202 (Also in 11, 13)
  • URLS passed to shell.openExternal on windows are now correctly URI encoded. This was already occurring on macOS and Linux. #28341 (Also in 10, 11, 13)

Other Changes

  • Fixed native module compilation with AsyncCleanupHooks on windows. #28109 (Also in 11, 13)
  • Updated Chromium to 89.0.4389.90. #28174

Documentation

  • Documentation changes: #28214

Electron 12.0.1 2021-03-10T23:54:02Z ()

Features

  • Added support for the des-ede3 cipher in node crypto. #27992 (Also in 11)

Fixes

  • Child windows with specified background colors or transparency now work as intended. #28107
  • Fixed an issue where BrowserViews could have mismatched draggable regions to their bounds. #27988 (Also in 10, 11)
  • Fixed an issue where win.capturePage() never called back after calling hide() for a hidden window on some platforms. #28075 (Also in 11, 13)
  • Fixed using navigator.setAppBadge and navigator.clearAppBadge from a service worker in Electron. #28011
  • Fixed warning when worldSafeExecuteJavaScript is disabled. #27969 (Also in 10, 11)

Other Changes

  • Updated Chromium to 89.0.4389.82. #27960
  • [a11y] Fixes broken word navigation for certain alphanumeric characters. #27991

Electron 12.0.0 2021-03-02T03:09:29Z ()

Stack Upgrades

Breaking Changes

  • Changed the default of crashReporter.start({ compress }) from false to true. #25288
  • Changed the default value of contextIsolation to true. #27949
  • Changed the default value of worldSafeExecuteJavaScript to be true. #27502
  • Deprecated the remote module. It is replaced by @electron/remote. [#25293]
  • Deprecated the new-window event of WebContents. It is replaced by webContents.setWindowOpenHandler(). #24517

Features

Additions

  • Added APIs to enable/disable spell checker. #26276
  • Added Serial API support. #25237
  • Added BrowserWindow.isTabletMode API. #25209
  • Added displayFrequency to the Display object to allow getting information about the refresh rate on Windows. #26472
  • Added event.senderFrame property returning the originating webFrameMain of the IPC message. #27047
  • Added exitCode to render-process-gone details. #27677
  • Added frame and webContents properties to the details object in webRequest handlers. #27334
  • Added net.online for detecting whether there is currently internet connection. #21004
  • Added osProcessId / name properties to webFrameMain. #26093
  • Added powerMonitor.onBatteryPower. #26494
  • Added session.setSSLConfig() to allow configuring SSL. #25461
  • Added webFrameMain.send() / webFrameMain.postMessage(). #27366
  • Added webFrameMain API for accessing sub-frames of a WebContents instance from the main process. #25464
  • Added webPreferences.preferredSizeMode to allow sizing views according to their document's minimum size. #25874
  • Added a disabledCipherSuites option to Session.setSSLConfig. #25818
  • Added a new credentials option for net.request(). #25284
  • Added a new asynchronous shell.trashItem() API, replacing the synchronous shell.moveItemToTrash(). #25114
  • Added display-capture API for session.setPermissionRequestHandler. #27696
  • Added missing webFrameMain.executeJavaScriptInIsolatedWorld(). #27195
  • Added non-localized serviceName to 'child-process-gone' / app.getAppMetrics(). #25975
  • Added read/write support for Toast Activator CLSID in shortcuts. #25493
  • Added setWindowOpenHandler API for renderer-created child windows, and deprecate new-window event. #24517
  • Added spellcheck API to renderer. #25060
  • Added support for explicitly specifying direct, auto_detect or system modes in session.setProxy(). #24937
  • Added support for showing macOS share menu. #25629
  • Added fast user switching event to powerMonitor on macOS. #25321
  • Added extension-loaded, extension-unloaded, and extension-ready events to Session. #25385
  • Allowed ContextBridge exposeInMainWorld method to expose non-object APIs. #26834
  • Allowed setting the origin header and sec-fetch-* headers in net.request(). #26135
  • Implemented Electron Fuses for customizing certain Electron features at package time. #24241
  • The launchInfo of app event ready is now populated with information from UNNotificationResponse when the app is launched via a notification presented by UNUserNotificationCenter (in a native node module). #25950

Also in earlier versions...

  • Added allowFileAccess option to loadExtension() API. #27702 (Also in 11)
  • Added win.setTopBrowserView() so that BrowserViews can be raised. #27713 (Also in 10, 11)
  • Added support for some chrome.management APIs. #25098 (Also in 9, 10, 11)
  • Made win.setAspectRatio() work on Windows. #27202 (Also in 11)

Improvements

  • Implemented custom Toast XML notifications on Windows
    • Added failure reporting of notifications on Window. #25401
  • Improved dark mode support on Windows. #25373 (Also in 10, 11)

Removed/Deprecated

  • Deprecated the remote module. It is replaced by @electron/remote. #25293
  • Deprecated the use of the vm module in the renderer process. #26087
  • Removed deprecated crashReporter APIs. #26709
  • Removed links to the Electron website from the default 'Help' menu in packaged apps. #25831
  • Removed private API usage that was blocking Mac App Store releases. #26491 (Also in 11)
  • Removed the desktopCapturer.getMediaSourceIdForWebContents() API. #25414 (Also in 11)

Fixes

  • Apps requesting the CAMERA_PAN_TILT_ZOOM permission will have the permission request handler called with a permission string of "media" instead of "font-access". #27422
  • Backported fix for https://crbug.com/1125165. #27596
  • BrowserWindow.fromWebContents() now returns an accurate result for WebContents in a BrowserView or webview. #25408
  • Enabled support for new Chromium experimental PDF viewer UI. #26010
  • Fixed BrowserWindow.fromBrowserView throwing an error when there were multiple BrowserViews in a window. #26493
  • Fixed PDF viewer failing to load resources. #27747
  • Fixed PDFs not loading in the PDF viewer. #27241
  • Fixed ses.setCertificateVerifyProc canceling requests in unrelated sessions. #26517
  • Fixed a crash in renderer process when loading non-context-aware modules with app.allowRendererProcessReuse enabled. #27317
  • Fixed a crash when calling crypto.createDiffieHellman() with certain parameters. #27700
  • Fixed a use-after-free error that could occur when destroying a WebContents during the did-stop-loading event. #26733
  • Fixed an issue that file length is not available in will-download event when file is downloaded thourgh intercepted request. #25324
  • Fixed an issue where IsMaximized would incorrectly return false for some windows on Windows. #26772
  • Fixed an issue where events on webview elements were missing properties if contextIsolation was enabled. #26289
  • Fixed an issue where net.request would continue downloading data even when the consuming stream was throttled. #25531
  • Fixed an issue where the buffer returned by NativeImage.getBitmap() could point to freed memory. #25782
  • Fixed an issue where the zoom button was missing for windows with titleBarStyle: hiddenInset on macOS. #27462
  • Fixed bug in which WebContents.mainFrame would sometimes return undefined. #27663
  • Fixed crash while exiting Electron after using the Web Serial API. #25969
  • Fixed error handling on write failure in the protocol module. #26296
  • Fixed intermittent access violation during redirects (intercepted requests). #25393
  • Fixed main process's console output not printing to devtools on Windows. #25765
  • Fixed menubar not clickable on Windows and Linux. #27555
  • Fixed missing presentation mode option in PDF viewer. #27262
  • Fixed using navigator.setAppBadge and navigator.clearAppBadge in Electron. #27431
  • Fixed webRequest module not recognizing the encoding of the filename in Content-Disposition header. #25961
  • Fixed window with customButtonsOnHover option not having rounded corner on macOS. #26960
  • Fixed chrome.runtime.getPlatformInfo crashing the background process upon being invoked. #25357
  • Backported fix for https://crbug.com/952922. #27598
  • Fixed ECDH.setPrivateKey() not updating the key. #27856
  • Fixed issue where window.open() would not return an object with a location.href setter when contextIsolation is enabled and nativeWindowOpen is disabled. #27940
  • Fixed race condition in electron.net implementation. #27938
  • Updated internal memory allocation logic such that you no longer need to use the com.apple.security.cs.allow-unsigned-executable-memory codesign entitlement on macOS. #26331
  • Updated the ICU time zone database to the latest 2020f version. #27370

Also in earlier versions....

  • Added Electron DLLs like libGLESv2.dll to symbol server. #26966 (Also in 9, 10, 11)
  • Added default Bluetooth permission strings to info.plist. #26769 (Also in 11)
  • BrowserViews will properly resize within windows. #25951 (Also in 9, 10, 11)
  • Fixed "screen" methods to be reassignable again. #26868 (Also in 11)
  • Fixed CSP with unsafe-eval detection with Trusted Types. #27471 (Also in 9, 10, 11)
  • Fixed GdiTextPrinting when used with silent printing. #25679 (Also in 9, 10, 11)
  • Fixed OS-level shortcuts on macOS (e.g. Ctrl + F2, ⌘ + ~). #27769 (Also in 11)
  • Fixed <webview> not working with Trusted Types. #27467 (Also in 9, 10, 11)
  • Fixed LC_ALL environment variable getting changed in Electron. #26507 (Also in 9, 10, 11)
  • Fixed contentTracing.stopRecording() not rejecting when there is no trace in progress. #26656 (Also in 11)
  • Fixed protocol methods not being accessible via remote.protocol. #27043 (Also in 11)
  • Fixed readdir/readdirSync (w/ withFileTypes) failing on a deep directory within archive. #27011 (Also in 10, 11)
  • Fixed screen methods not being accessible via remote.screen. #26661 (Also in 11)
  • Fixed systemPreferences.effectiveAppearance returning systemPreferences.getAppLevelAppearance(). #26879 (Also in 9, 10, 11)
  • Fixed a crash seen when printing. #25989 (Also in 11)
  • Fixed a crash that could occur on app quit when using the remote module. #27070 (Also in 11)
  • Fixed a crash when calling webContents.fromId with an unknown ID. #26651 (Also in 11)
  • Fixed a memory leak in desktopCapturer.getSources. #27058 (Also in 9, 10, 11)
  • Fixed a memory leak when creating BrowserWindows. #27641 (Also in 11)
  • Fixed an Uncaught TypeError when opening DevTools. #26474 (Also in 10, 11)
  • Fixed an erroneous enableBlinkFeatures warning shown webviews which enabled no Blink features. #27790 (Also in 10, 11)
  • Fixed an issue that a message box in GTK contains no buttons. #26917 (Also in 10, 11)
  • Fixed an issue where BrowserViews couldn't be effectively reparented. #27187 (Also in 11)
  • Fixed an issue where SIGINT was improperly handled in Node.js processes. #26971 (Also in 10, 11)
  • Fixed an issue where Save as PDF from PDF Viewer Print dialog failed and sometimes crashed. #25959 (Also in 9, 10, 11)
  • Fixed an issue where event.reply could sometimes not deliver a reply to an IPC message when cross-site iframes were present. #26925 (Also in 9, 10, 11)
  • Fixed an issue where deleted download directories would be sometimes recreated by the operating system. #27806 (Also in 10, 11)
  • Fixed an issue where draggable regions did not work exclusively on BrowserViews on Windows. #26775 (Also in 10, 11)
  • Fixed an issue where draggable regions in BrowserWindow causes BrowserView to become draggable in non-correspondent places. #26755 (Also in 10, 11)
  • Fixed an issue where non-draggable regions on BrowserViews could have incorrectly calculated bounds. #27184 (Also in 10, 11)
  • Fixed an issue where renderer process stack traces were broken with contextIsolation enabled. #26912 (Also in 11)
  • Fixed an issue where some async_hooks were not properly emitted after an error in the renderer process. #26990 (Also in 11)
  • Fixed an issue where some buttons were un-clickable in some BrowserViews with draggable regions enabled. #26496 (Also in 9, 10, 11)
  • Fixed an issue where some draggable regions were not clickable when loaded into BrowserViews on Windows. #27177 (Also in 10, 11)
  • Fixed an issue whereby remote.screen EventEmitter methods are undefined in the renderer. #26988 (Also in 11)
  • Fixed an occasional crash on Windows related to NativeViewHost::SetParentAccessible. #26952 (Also in 9, 10, 11)
  • Fixed an occasional white flicker present when rendering BrowserViews in close succession. #27658 (Also in 10, 11)
  • Fixed callbacks passed via the remote module not being released after all references are dropped. #26833 (Also in 11)
  • Fixed crash when a keyboard event immediately precedes calling browserWindow.close() on Windows. #27359 (Also in 10, 11)
  • Fixed crash when destroying WebContents in the crashed event. #27756 (Also in 10, 11)
  • Fixed crash when extension fails to load. #27589 (Also in 10, 11)
  • Fixed detection of launch on login items
    • Fixed detection of enabled state set by TaskManager. #26515 (Also in 11)
  • Fixed import of unpacked node modules. #26750 (Also in 11)
  • Fixed issue where quitAndInstall() would not restart the app upon update completion on macOS Big Sur. #25864 (Also in 11)
  • Fixed maximized frameless window bleeding to other monitors. #25940 (Also in 8, 9, 10, 11)
  • Fixed memory leak when creating "Services" menu. #25617 (Also in 9, 10, 11)
  • Fixed memory leak when sending non-primitives over the context bridge. #27636 (Also in 10, 11)
  • Fixed native window freeze on Windows when Electron app is sent to tray and external display changes. #27668 (Also in 11)
  • Fixed native window.open() to not use windowName/frameName as title by default. #27552 (Also in 10, 11)
  • Fixed regression that crashed Electron when processing an invalid icon. #27463 (Also in 11)
  • Fixed shutdown crash when quitting with in-progress downloads. #27418 (Also in 10, 11)
  • Fixed the pretty-print JavaScript feature in DevTools not functioning correctly. #25780 (Also in 11)
  • Fixed uncaught promise rejection when creating webContents with javascript disabled. #26869 (Also in 10, 11)
  • Fixed chrome.webRequest extensions API not intercepting any requests. #27098 (Also in 10, 11)
  • Fixed crash when loading wasm modules in child node process with mac arm64 > 11.2. #27685 (Also in 11)
  • Fixed slow child process spawning on macOS Big Sur. #27656 (Also in 10, 11)
  • Fixed an issue where libuv might hang with multiple subframes when nodeIntegrationInSubframes is enabled. #27879 (Also in 10, 11)
  • Fixed an out-of-bounds access in WebContents.sendInputEvent. #27855 (Also in 10, 11)
  • Fixed navigator.bluetooth.requestDevice. #27927 (Also in 11)
  • Fixed background color not being applied for child windows created by native window.open path. #27942 (Also in 10, 11)
  • Fixed a potential crash when resetting BrowserViews. #27947
  • Increase stack size on windows x64 to 8MB. #27384 (Also in 10, 11)
  • Stopped using private API CTFontDescriptorIsSystemUIFont in MAS build. #26548 (Also in 11)
  • Updated setPermissionRequestHandler to correctly recognize permissions being requested. #26172 (Also in 11)

Other Changes

  • Windows 10 versions 2004 and later support WDA_EXCLUDEFROMCAPTURE and will now exclude a window entirely from screen capture when setContentProtection is enabled. Older Windows versions will continue to show a black window as before. #24274
  • Re-enable Rosetta on Apple Silicon devices. #26568 (Also in 7.3, 8, 9, 10, 11)

Documentation

End of Support for 9.x.y

Electron 9.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.

All Releases Back to index

Keyboard Shortcuts

Key Action
/ Focus the search bar
Esc Focus the search bar and cleans it
Select the next search result
Select the previous search result
Enter Open the selected search result
cmdEnter Ctrl+Enter Open the selected search result in a new tab