Skip to content

electron v18.0.0

Compare
Choose a tag to compare
@sudowoodo-release-bot sudowoodo-release-bot released this 29 Mar 07:11
· 252 commits to 18-x-y since this release

Release Notes for v18.0.0

Stack Upgrades

Breaking Changes

  • Removed the old BrowserWindowProxy-based implementation of window.open. This also removes the nativeWindowOpen option from webPreferences. #29405

Features

Additions

  • Added 'focus' and 'blur' events to WebContents. #25873
  • Added BrowserWindow method to change the button color, symbol color, and height of a window with WCO enabled. #33440
  • Added nativeTheme.inForcedColorsMode API to allow detecting forced color mode. #33357 (Also in 15, 16, 17)
  • Added Substitutions menu roles on macOS: showSubstitutions, toggleSmartQuotes, toggleSmartDashes, toggleTextReplacement. #32024
  • Added first-instance-ack event to the app.requestSingleInstanceLock() flow, so that users can pass some data back from the second instance to the first instance. #31460
  • Added height option for Windows Control Overlay. #31222 (Also in 15, 16, 17)
  • Added ses.setCodeCachePath() API for setting code cache directory. #33286 (Also in 17)
  • Added rawHeaders to IncomingMessage. #31853
  • Added support for more color formats in setBackgroundColor. #33364
  • Added warning that preload scripts will be sandboxed by default beginning in Electron 20. #33203
  • Support obsolete blowfish ciphers bf-{cbc,cfb,ecb} through the Node.js crypto API. #32356 (Also in 17)

Fixes

  • Fixed a V8 crash that could happen randomly in non-sandboxed renderer processes. #33260
  • Fixed a bug where BrowserWindow.fromWebContents would return undefined during the browser-window-created event. #33316
  • Fixed an issue where First Party Sets were not correctly loaded on app launch. #33345
  • Fixed an issue where new bounds set via setBounds was not correctly applied if the user was moving or resizing the window concurrently on Windows. #33375
  • Fixed an issue where pages would not properly print on macOS due to a rendering failure. #32813
  • Fix: initialize asar support in worker threads. #33396
  • Fixed the IncrementCapturerCount regression introduced by 13.0.0-beta.21. #33371

Also in earlier versions....

  • Allowed specifying x64 arch on Mac Rosetta via npm_config_arch. #32266 (Also in 15, 16, 17)
  • Assertion failure happening in the showSaveDialogSync() code path has been fixed. (Fixes #31997). #32049 (Also in 14, 15, 16, 17)
  • Bug fixed for registering protocol in windows which used to set invalid command if the execution path included space. #32220 (Also in 14, 15, 16, 17)
  • Fire 'show' event when a BrowserWindow is shown via maximize(). #33214 (Also in 16, 17)
  • Fixed BrowserWindow.showInactive restoring a maximized window to non-maximized on Windows. #33022 (Also in 16, 17)
  • Fixed VoiceOver not reading typed words correctly in MAS builds. #32543 (Also in 17)
  • Fixed maxWidth not working in BrowserWindow constructor options. #32628 (Also in 17)
  • Fixed window.open not overriding parent's webPreferences. #32057 (Also in 15, 16, 17)
  • Fixed a crash caused by app.getLocaleCountryCode(). #32256 (Also in 15, 16, 17)
  • 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. #32632 (Also in 17)
  • Fixed a crash that occurred when user attempted to download an edited PDF. #32512 (Also in 15, 16, 17)
  • Fixed a crash when starting VoiceOver on macOS. #32564 (Also in 17)
  • Fixed a network service crash that could occur when using setCertificateVerifyProc. #33253 (Also in 17)
  • Fixed a potential crash in v8 by using allocation type: kOld in v8 ScriptOrModule legacy lifetime. #32339 (Also in 17)
  • Fixed a potential crash when importing media files or custom file types. #31881 (Also in 16, 17)
  • Fixed a potential issue when setting backgroundColor on BrowserViews. #31863 (Also in 14, 15, 16, 17)
  • Fixed an issue that the alert() dialog title is corrupted. #32434 (Also in 14, 15, 16, 17)
  • Fixed an issue where BrowserView layout bounds where limited to it's visible bounds. #33399 (Also in 17)
  • Fixed an issue where Chrom DevTools settings didn't persist between loads. #33206 (Also in 17)
  • Fixed an issue where alternateImages did not work properly on macOS. #33107 (Also in 15, 16, 17)
  • Fixed an issue where ipcRenderer.postMessage would throw errors when the transfer argument was not passed. #32433 (Also in 14, 15, 16, 17)
  • Fixed an issue where webContents.openDevTools({ mode }) did not work for certain dock positions. #32946 (Also in 17)
  • Fixed an issue where webContents.savePage failed when passing a relative path instead of an absolute one. #33019 (Also in 15, 16, 17)
  • Fixed an issue where adding/removing display changes the BrowserWindow size. #33250 (Also in 14, 15, 16, 17)
  • Fixed an issue where calling screen capture on macOS does not properly release underlying OS capture mechanisms. #32435 (Also in 17)
  • Fixed an issue where clicking "Open in Containing Folder" in the Sources tab in Devtools caused a crash. #33197 (Also in 16, 17)
  • Fixed an issue where frameless vibrant windows would not show transparency correctly on macOS. #32593 (Also in 16, 17)
  • Fixed an issue where frameless windows on Windows would incorrectly show a small frame during the loading process. #32714 (Also in 14, 15, 16, 17)
  • Fixed an issue where if backgroundColor was set to undefined, vibrancy failed to work and the backgroundColor would show up as white. #32517 (Also in 16, 17)
  • Fixed an issue where setting window maxHeight or maxWidth made it so the width and height could no longer be resized. #33119 (Also in 17)
  • Fixed an issue where the 'maximize' and 'unmaximize' events didn't fire properly on linux. #32441 (Also in 14, 15, 16, 17)
  • Fixed an issue where the Tray could get garbage collected incorrectly under some circumstances. #33074 (Also in 15, 16, 17)
  • Fixed an issue with transparent windows failing to fire the maximize and unmaximize events on Windows. #32643 (Also in 17)
  • Fixed an occasional crash on Mac when spawning a child process. #33117 (Also in 17)
  • Fixed aspect ratio resize for frameless windows on macOS. #32287 (Also in 15, 16, 17)
  • Fixed broken event loop in renderer process when process reuse is enabled on windows platform. #33361 (Also in 16, 17)
  • Fixed broken transparency option in offscreen window rendering. #33053 (Also in 16, 17)
  • Fixed command string registered via setAsDefaultProtocolClient on windows. #33013 (Also in 14, 15, 16, 17)
  • Fixed console windows from ELECTRON_RUN_AS_NODE instances. #31963 (Also in 16, 17)
  • Fixed crash in the render process on reload with pending node fs.promises. #33302 (Also in 15, 16, 17)
  • Fixed crash when calling webContents.setZoomFactor(1.0). #32604 (Also in 13, 14, 15, 16, 17)
  • Fixed crash when playing media files on Windows 7/8 or macOS 10.11/10.12. #32046 (Also in 13, 14, 15, 16, 17)
  • Fixed drag regions on WCO windows on Windows. #33202 (Also in 15, 16, 17)
  • Fixed effect when hovering over window controls on Windows in a WCO-enabled window. #32723 (Also in 14, 15, 16, 17)
  • Fixed incorrect skipTransformProcessType option parsing in win.setVisibleOnAllWorkspaces(). #32364 (Also in 13, 14, 15, 16, 17)
  • Fixed incorrect external memory allocation tracking in nativeImage module. #33305 (Also in 15, 16, 17)
  • Fixed issue where not all serial devices were exposed to the handler specified by session.setDevicePermissionHandler. #32651 (Also in 17)
  • Fixed maximizing frameless windows by double-clicking on a draggable (title bar) region. #33446 (Also in 15, 16, 17)
  • Fixed minimized BrowserWindow being restored by BrowserWindow.unmaximize(). #32438 (Also in 14, 15, 16, 17)
  • Fixed possible race conditions between frame state and electron ipc. #32851 (Also in 17)
  • Fixed potential crash on Windows and Linux when using desktopCapturer.getSources. #32052 (Also in 16, 17)
  • Fixed regression where console windows would open for execSync and some spawnSync calls for Windows users. #32340 (Also in 16, 17)
  • Fixed respecting aspect ratio when maximum size is set on BrowserWindow. #29101 (Also in 14, 15, 16, 17)
  • Fixed slowness when using child_process.spawn and related methods on macOS Big Sur and newer. #33407 (Also in 16, 17)
  • Fixed stale renderer process when application is quit while renderer is busy. #32971 (Also in 14, 15, 16, 17)
  • Fixed windows with roundedCorners: false unable to be closed. #32597 (Also in 15, 16, 17)
  • Strip crashpad_handler binary on Linux, reducing bundle size. #33175 (Also in 15, 16, 17)
  • Strip symbols from crashpad_handler binary on Linux, reducing bundle size. #32540 (Also in 15, 16, 17)
  • The <webview> implementation was made more robust, it no longer breaks when will-attach-webview handler modifies the internal params.instanceId. #32386 (Also in 16, 17)
  • Theoretical fix for a crash we're seeing when closing multiple child windows at the same time on macOS. #33284 (Also in 17)

Other Changes

  • Updated Chromium to 100.0.4896.56. #33475
  • Updated node types version. #33477
  • Chore: backport EPROTOTYPE fixes from libuv. #32944 (Also in 16, 17)

Documentation

End of Support for 14.x.y

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

E18 (Mar'22) E19 (May'22)
18.x.y 19.x.y
17.x.y 18.x.y
16.x.y 17.x.y
15.x.y --