Change8

v43.4.1

📦 electronView on GitHub →
1 features🐛 25 fixes🔧 23 symbols

Summary

This release addresses numerous bugs and regressions across various Electron modules, including DevTools, protocols, window management, and process handling. It also includes improvements to tray icon visibility on Linux and reduces main process wakeups.

✨ New Features

  • `<webview>` and `window.open` now inherit `nodeIntegrationInWorker` from the embedder, consistent with the other Node and sandbox preferences.

🐛 Bug Fixes

  • Fixed DevTools popup and context menus not appearing when DevTools is hosted in a custom window via `webContents.setDevToolsWebContents()`.
  • Fixed `registerFileProtocol` and `registerHttpProtocol` returning readable responses to cross-origin `no-cors` fetches; they now return opaque responses like `protocol.handle`.
  • Fixed a `WebContentsView` staying blank after its window is shown when `setBackgroundThrottling(false)` was called while the window was hidden.
  • Fixed a crash in `systemPreferences.promptTouchID(reason)` when an invalid reason value is passed.
  • Fixed a crash when resolving a path inside a malformed ASAR archive that contains cyclic link entries.
  • Fixed a crash with `app.setLoginItemSettings` if a non-UTF8 service name is used.
  • Fixed a memory leak when creating BrowserWindows.
  • Fixed a possible crash (SIGABRT) during process exit when the process had loaded `tls`/`https` shortly before exiting, affecting `app.exit()` before `ready` and short-lived `ELECTRON_RUN_AS_NODE` / `child_process.fork()` scripts.
  • Fixed a possible main process crash at quit when a session was created from JavaScript that runs during shutdown.
  • Fixed a potential crash in `contentTracing.stopRecording()` when the trace file could not be written to the requested path.
  • Fixed a rare crash in the main process when DevTools were opened and a garbage collection ran before the DevTools frontend finished loading.
  • Fixed a regression preventing transparent frameless windows from being resized on Linux.
  • Fixed an `npm install` failure with no recovery path when the OS blocked the native zip extractor from loading (for example, Windows Smart App Control).
  • Fixed an issue on Windows where the app process could fail to exit after `app.quit()` while a `shell.openExternal()` or `shell.openPath()` call was still waiting on a system "Open with" dialog.
  • Fixed crash in sharedTexture module when GPU context becomes unavailable.
  • Fixed custom V8 snapshots (`electron-mksnapshot`, and the `loadBrowserProcessSpecificV8Snapshot` fuse) having no effect in the main process on macOS arm64, Linux x64 and Windows x64.
  • Fixed downloading files that live inside an asar archive, including saving a packed PDF from the built-in PDF viewer.
  • Fixed the built-in PDF viewer not rendering documents in in-memory sessions (partitions without the `persist:` prefix).
  • Fixed windows opened by a sandboxed top-level frame not inheriting the opener's sandbox restrictions.
  • Backported fix for 524628213.
  • Backported fixes for 542224257, 542025190.
  • Backported fixes from upstream Chromium and V8.
  • Fixed `Tray` icons not appearing (and their menus not opening) on Linux desktops that address the StatusNotifierItem by its unique D-Bus name or via the `org.freedesktop.StatusNotifierItem` interface, such as GNOME with the AppIndicator extension, Cinnamon and XFCE.
  • Fixed an issue on macOS where a page's first use of `speechSynthesis` could block the main process for several hundred milliseconds.
  • Reduced idle main-process CPU wakeups caused by Node.js timers and immediates.

Affected Symbols