Change8

v42.10.0

📦 electronView on GitHub →
1 features🐛 27 fixes🔧 22 symbols

Summary

This release includes a fix for the contentTracing module to capture Node.js trace categories and addresses numerous bug fixes across various modules including DevTools, BrowserWindow, dialog, and process management, alongside performance improvements.

✨ New Features

  • Fixed contentTracing module to capture Node.js trace categories.

🐛 Bug Fixes

  • Fixed DevTools device metrics overrides persisting indefinitely when a remote debugging client disconnected without clearing them.
  • Fixed DevTools popup and context menus not appearing when DevTools is hosted in a custom window via `webContents.setDevToolsWebContents()`.
  • Fixed `BrowserWindow.unmaximize()` and `restore()` having no effect on Wayland when the window was maximized immediately after creation.
  • Fixed `Uncaught illegal access` errors and possible renderer crashes after closing a same-process child window or removing an iframe with `nodeIntegrationInSubFrames` enabled.
  • Fixed `dialog.showOpenDialog`/`dialog.showSaveDialog` opening at an unusable location on Linux when `defaultPath` is a bare filename without a directory.
  • Fixed a crash on Linux when the D-Bus session bus disconnected while the app was running, such as at logout or when dbus is restarted.
  • Fixed a crash on Windows when V8 posted a delayed worker task during shutdown.
  • Fixed a crash with `app.setLoginItemSettings` if a non-UTF8 service name is used.
  • 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 rare crash in the main process when DevTools were opened and a garbage collection ran before the DevTools frontend finished loading.
  • Fixed a renderer crash when a page calls `SpeechRecognition.available()` or `SpeechRecognition.install()` with `processLocally`.
  • Fixed an issue on Linux where the system theme color appeared at the top edge of frameless windows.
  • Fixed an issue where some values passed into `requestSingleInstanceLock` could result in a crash.
  • Fixed crash in sharedTexture module when GPU context becomes unavailable.
  • Fixed document title updates when using back/forward navigation using the same document without utilizing `browserWindow.setTitle()`.
  • Fixed the built-in PDF viewer not rendering documents in in-memory sessions (partitions without the `persist:` prefix).
  • Fixed titleBarOverlay.color set to `rgba(0,0,0,0)` failing back to default frame color.
  • Fixed utility process crashes at exit on Windows 11 24H2 and later.
  • Fixed a 1-in-200 chance per renderer process on Windows of scripts on the first page load being compiled without their V8 code cache.
  • Fixed a Windows x64 renderer performance regression introduced in 42.8.1 that made style/layout work (and app startup) noticeably slower.
  • Fixed a stall of tens of milliseconds while creating the first `BrowserWindow` on Linux.
  • Improved the performance of file lookups inside ASAR archives and of large files served from them to the renderer.
  • Improved the performance of calls through `contextBridge`-exposed APIs.
  • Reduced the main-thread cost of sending large values through `ipcRenderer`, `ipcMain` handlers and `webContents.send`.
  • Improved startup time of `utilityProcess.fork()`, `child_process.fork()` / `ELECTRON_RUN_AS_NODE` child processes and Node.js-enabled renderers.
  • Linux arm64, Windows arm64 and macOS x64 builds now start the main process from the embedded Node.js startup snapshot like the other platforms, improving startup time.

Affected Symbols