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
contentTracingDevToolswebContents.setDevToolsWebContents()BrowserWindow.unmaximize()restore()nodeIntegrationInSubFramesdialog.showOpenDialogdialog.showSaveDialogapp.setLoginItemSettingstlshttpsapp.exit()ELECTRON_RUN_AS_NODEchild_process.fork()SpeechRecognition.available()SpeechRecognition.install()requestSingleInstanceLocksharedTexturebrowserWindow.setTitle()titleBarOverlay.colorutilityProcess.fork()contextBridge