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

Stable Releases

Electron 17.1.2 2022-03-09T18:33:48Z ()

Fixes

  • Fixed an issue where setting window maxHeight or maxWidth made it so the width and height could no longer be resized. #33118 (Also in 18)
  • Strip crashpad_handler binary on Linux, reducing bundle size. #33176 (Also in 15, 16, 18)

Electron 17.1.1 2022-03-07T20:51:35Z ()

Fixes

  • Fixed an issue where alternateImages did not work properly on macOS. #33105 (Also in 15, 16, 18)
  • Fixed an issue where the Tray could get garbage collected incorrectly under some circumstances. #33076 (Also in 15, 16, 18)
  • Fixed an occasional crash on Mac when spawning a child process. #33116 (Also in 18)
  • Fixed broken transparency option in offscreen window rendering. #33052 (Also in 16, 18)

Other Changes

  • Updated Chromium to 98.0.4758.109. #33085

Electron 17.1.0 2022-02-23T20:26:06Z ()

Features

  • Added height option for Windows Control Overlay. #32939

Fixes

  • Fixed BrowserWindow.showInactive restoring a maximized window to non-maximized on Windows. #33021 (Also in 16, 18)
  • Fixed a crash that occurred when a user attempted to print a document either with window.print(), the print button in the PDF viewer, or with BrowserWindow.webContents() and clicked cancel in the resulting print dialog. #33015
  • Fixed an issue where webContents.openDevTools({ mode }) did not work for certain dock positions. #32945 (Also in 18)
  • Fixed an issue where webContents.savePage failed when passing a relative path instead of an absolute one. #33016 (Also in 15, 16, 18)
  • Fixed command string registered via setAsDefaultProtocolClient on windows. #33012 (Also in 14, 15, 16, 18)
  • Fixed stale renderer process when application is quit while renderer is busy. #32970 (Also in 14, 15, 16, 18)

Other Changes

  • Chore: backport EPROTOTYPE fixes from libuv. #32943 (Also in 16, 18)
  • Updated Chromium to 98.0.4758.102. #32906

Electron 17.0.1 2022-02-15T00:22:30Z ()

Fixes

  • Fixed an issue where frameless windows on Windows would incorrectly show a small frame during the loading process. #32707 (Also in 14, 15, 16, 18)
  • Fixed effect when hovering over window controls on Windows in a WCO-enabled window. #32719 (Also in 14, 15, 16, 18)
  • Fixed possible race conditions between frame state and electron ipc. #32815

Other Changes

  • Updated Chromium to 98.0.4758.82. #32832

Electron 17.0.0 2022-02-01T02:03:51Z ()

Stack Upgrades

Breaking Changes

  • desktopCapturer.getSources is now only available in the main process. #30720

Features

Additions

  • Added WebHID support. #30213 (Also in 15, 16)
  • Added commandLine.removeSwitch to allow apps to remove command line switches from Chromiums internal command line representation. #30933 (Also in 15, 16)
  • Added textWidth option to dialog.showMessageBox() / dialog.showMessageBoxSync(). #30474 (Also in 15, 16)
  • Added webContents.getMediaSourceId(), can be used with getUserMedia to get a stream for a WebContents. #31204
  • Added missing info to in-app purchase's transaction and product structures. #32602
  • Added new data parameter to app.requestSingleInstanceLock(). #30891 (Also in 16)
  • Added warning when ipcRenderer.sendSync() is called with no listeners for channel on ipcMain. #31344 (Also in 13, 14, 15, 16)
  • Began passing securityOrigin in details for permission request handlers for media requests in addition to permission check handlers. #31357 (Also in 13, 14, 15, 16)
  • Support obsolete blowfish ciphers bf-{cbc,cfb,ecb} through the Node.js crypto API. #32439

Removed/Deprecated

  • Deprecates webContents.getPrinters() and introduces webContents.getPrintersAsync(). #31023

Fixes

  • Fixed maxWidth not working in BrowserWindow constructor options. #32637
  • Fixed VoiceOver not reading typed words correctly in MAS builds. #32567
  • Fixed a crash when starting VoiceOver on macOS. #32578
  • Fixed a potential crash in v8 by using allocation type: kOld in v8 ScriptOrModule legacy lifetime. #32355
  • Fixed an issue where calling screen capture on macOS does not properly release underlying OS capture mechanisms. #32464
  • Fixed issue where not all serial devices were exposed to the handler specified by session.setDevicePermissionHandler. #32685
  • Fixed an issue with transparent windows failing to fire the maximize and unmaximize events on Windows. #32690
  • Fixed draggable regions not updating unless a relayout occurs. #32638

Also in earlier versions....

  • Allowed specifying x64 arch on Mac Rosetta via npm_config_arch. #32382 (Also in 15, 16)
  • Assertion failure happening in the showSaveDialogSync() code path has been fixed. (Fixes #31997). #32083 (Also in 14, 15, 16)
  • Bug fixed for registering protocol in windows which used to set invalid command if the execution path included space. #32329 (Also in 14, 15, 16)
  • Changed WebHID to use disable-hid-blocklist flag to enable FIDO devices. #31626 (Also in 15, 16)
  • Enables support for navigator.keyboard.lock(). #31572 (Also in 16)
  • Fixed "Failed to serialize arguments" error when emitting 'context-menu' event for webview. #31259 (Also in 15, 16)
  • Fixed Let's Encrypt DST Root CA X3 certificate expiration. #31213 (Also in 12, 13, 14, 15, 16)
  • Fixed <webview> background transparency regression. #31722 (Also in 16)
  • Fixed BrowserView.setBackgroundColor() not working correctly. #31746 (Also in 16)
  • Fixed clipboard.writeBuffer(), clipboard.readBuffer() and clipboard.read()'s ability to manipulate platform-specific clipboard formats. #31116 (Also in 15, 16)
  • Fixed window.open not overriding parent's webPreferences. #32107 (Also in 15, 16)
  • Fixed a JavaScript exception from webContents if render frame was disposed in WebFrameMain, resets the value of render_frame_disposed_ after updating render frame host. #31401 (Also in 14, 15, 16)
  • Fixed a crash caused by app.getLocaleCountryCode(). #32322 (Also in 15, 16)
  • Fixed a crash that occurred when user attempted to download an edited PDF. #32539 (Also in 15, 16)
  • Fixed a crash when a BrowserWindow is closed subsequent to its webContents being destroyed. #31620 (Also in 14, 15, 16)
  • Fixed a potential crash when importing media files or custom file types. #31884 (Also in 16)
  • Fixed a potential crash when setting nativeTheme.themeSource on macOS. #31329 (Also in 14, 15, 16)
  • Fixed a potential issue when setting backgroundColor on BrowserViews. #31948 (Also in 14, 15, 16)
  • Fixed a tracing agent-related crash when initializing Node.js in service workers. #31459 (Also in 14, 15, 16)
  • Fixed an issue that the alert() dialog title is corrupted. #32469 (Also in 14, 15, 16)
  • Fixed an issue where BrowserView dragging behavior was inconsistent with MacOS window dragging. #31114 (Also in 13, 14, 15, 16)
  • Fixed an issue where BrowserView may sometimes crash on browserView.webContents.destroy(). #31796 (Also in 15, 16)
  • Fixed an issue where BrowserViews crashed if view.webContents.destroy() is called after loading a URL. #31794 (Also in 14, 15, 16)
  • Fixed an issue where Content-Disposition filenames would be incorrectly truncated at the first comma for a filename attachment which contained one. #31669 (Also in 13, 14, 15, 16)
  • Fixed an issue where MediaMetadata did not work properly. #31492 (Also in 13, 14, 15, 16)
  • Fixed an issue where app.getPath('crashDumps') returned an incorrect path for Linux. #31668 (Also in 15, 16)
  • Fixed an issue where clipboard.read() could cause crashes with custom clipboard formats. #31566 (Also in 15, 16)
  • Fixed an issue where ipcRenderer.postMessage would throw errors when the transfer argument was not passed. #32459 (Also in 14, 15, 16)
  • Fixed an issue where button labels in file choosers were improperly localized on Linux. #30888 (Also in 14, 15, 16)
  • Fixed an issue where changes to draggable regions in a BrowserWindow incorrectly affected those in an attached BrowserView. #31085 (Also in 13, 14, 15, 16)
  • Fixed an issue where frameless vibrant windows would not show transparency correctly on macOS. #32649 (Also in 16)
  • Fixed an issue where if backgroundColor was set to undefined, vibrancy failed to work and the backgroundColor would show up as white. #32653 (Also in 16)
  • Fixed an issue where out-of-focus BrowserViews could not be immediately dragged. #31062 (Also in 13, 14, 15, 16)
  • Fixed an issue where playing media would open Accessibility permissions dialog on macOS. #31805 (Also in 15, 16)
  • Fixed an issue where some calls to crypto.createPrivateKey made with algorithms unsupported by BoringSSL cause a crash when invoking methods on their return values. #31087 (Also in 15, 16)
  • Fixed an issue where the 'maximize' and 'unmaximize' events didn't fire properly on linux. #32492 (Also in 14, 15, 16)
  • Fixed an issue where transparency was not always set correctly on webContents. #31685 (Also in 16)
  • Fixed an issue where windows with vibrancy types set on them would incorrectly have a white instead of transparent background. #31493 (Also in 16)
  • Fixed an issue which caused print settings to not work properly when printing silently. #31489 (Also in 13, 14, 15, 16)
  • Fixed an potential crash in WebContents::MessageTo when a render frame has been destroyed. #31289 (Also in 13, 14, 15, 16)
  • Fixed aspect ratio resize for frameless windows on macOS. #32447 (Also in 15, 16)
  • Fixed behaviour on posix when passing lists into app.requestSingleInstanceLock(additionalData) API. #31661 (Also in 16)
  • Fixed black border around the page after resizing is disabled. #31021 (Also in 13, 14, 15, 16)
  • Fixed black window when screen capturing a content-protected BrowserWindow on Windows 10. #31340 (Also in 13, 14, 15, 16)
  • Fixed clipboard.read to once again work like clipboard.readBuffer. #31623 (Also in 15, 16)
  • Fixed console windows from ELECTRON_RUN_AS_NODE instances. #31972 (Also in 16)
  • Fixed crash caused by GetHostNameW on Windows 7. #31804 (Also in 16)
  • Fixed crash caused by double free when destroying WebContents. #31104 (Also in 14, 15, 16)
  • Fixed crash in GTK open dialog when trying to preview huge image files. #31799 (Also in 14, 15, 16)
  • Fixed crash in v8 due to (Check failed: !regexp_stack_->is_in_use()). #31102 (Also in 13, 14, 15, 16)
  • Fixed crash when calling webContents.setZoomFactor(1.0). #32621 (Also in 13, 14, 15, 16)
  • Fixed crash when changing zoom level for webview. #31350 (Also in 14, 15, 16)
  • Fixed crash when playing media files on Windows 7/8 or macOS 10.11/10.12. #32214 (Also in 13, 14, 15, 16)
  • Fixed crash when using singleton api with packaged apps on macOS. #31608 (Also in 16)
  • Fixed crash when using sync dialog APIs immediately after async dialog APIs. #31606 (Also in 15, 16)
  • Fixed default label text in GTK dialogs. #31798 (Also in 14, 15, 16)
  • Fixed default setting used when setting an insecure cookie on a secure site. #31800 (Also in 16)
  • Fixed event with invalid timestamp in trace log. #31349 (Also in 14, 15, 16)
  • Fixed incorrect skipTransformProcessType option parsing in win.setVisibleOnAllWorkspaces(). #32398 (Also in 13, 14, 15, 16)
  • Fixed issue where non-resizable frameless windows aren't draggable. #30925 (Also in 13, 14, 15, 16)
  • Fixed minimized BrowserWindow being restored by BrowserWindow.unmaximize(). #32496 (Also in 14, 15, 16)
  • Fixed possible 'Object has been destroyed' error when calling window.open with a frame name and using setWindowOpenHandler. #31208 (Also in 14, 15, 16)
  • Fixed potential crash on Windows and Linux when using desktopCapturer.getSources. #32070 (Also in 16)
  • Fixed regression where console windows would open for execSync and some spawnSync calls for Windows users. #32378 (Also in 16)
  • Fixed respecting aspect ratio when maximum size is set on BrowserWindow. #31958 (Also in 14, 15, 16)
  • Fixed window frame glitch when calling setContentProtection. #31768 (Also in 14, 16)
  • Fixed windows with roundedCorners: false unable to be closed. #32612 (Also in 15, 16)
  • Generate valid config.gypi file in Node.js headers. #31404 (Also in 14, 15, 16)
  • Having a secure CSP will no longer cause a CSP violation warning to appear in console. #30991 (Also in 16)
  • Removes several Chromium private enterprise APIs from Mac Apple Store builds. #31482 (Also in 12, 13, 14, 15, 16)
  • Strip symbols from crashpad_handler binary on Linux, reducing bundle size. #32549 (Also in 15, 16)
  • The <webview> implementation was made more robust, it no longer breaks when will-attach-webview handler modifies the internal params.instanceId. #32430 (Also in 16)
  • ~/.config/{App Name} will no longer be incorrectly deleted if it is a symlink on unix systems. #31777 (Also in 16)

Other Changes

  • Changed Web Serial to use ses.setDevicePermissionHandler to allow developers more control over Web Serial permissioning. #31181 (Also in 15, 16)

Documentation

  • Documentation changes

End of Support for 13.x.y

Electron 13.x.y has reached end-of-support. As per Electron's new 8-week cadence, we are supporting the latest four versions of Electron until May 2022, with the release of Electron 19. After Electron 19 is released, we'll return to supporting the latest three major versions, as well as the alpha, beta, and nightly releases.

E17 (Feb'22)E18 (Mar'22)E19 (May'22)
17.x.y18.x.y19.x.y
16.x.y17.x.y18.x.y
15.x.y16.x.y17.x.y
14.x.y15.x.y--
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