Release Comparison

From:
To:

Dependency Changes

Google ChromeChromium
148.0.7778.280
Node.jsNode.js
24.18.1
24.18.1No Change
V8V8
14.8.178.38
14.8.178.38No Change

Combined Release Notes

Version Timeline
v42.10.0 includes changes from 5 versions since v42.8.1

Features

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

    • Added webFrameMain.printToPDF() to allow printing individual frames to PDF from the main process. #52626 (Also in 43, 44)

Fixes

    • Fixed DevTools device metrics overrides persisting indefinitely when a remote debugging client disconnected without clearing them. #53133 (Also in 43, 44)

    • Fixed DevTools popup and context menus not appearing when DevTools is hosted in a custom window via webContents.setDevToolsWebContents(). #52981 (Also in 43, 44)

    • Fixed BrowserWindow.unmaximize() and restore() having no effect on Wayland when the window was maximized immediately after creation. #53126 (Also in 44)

    • Fixed Uncaught illegal access errors and possible renderer crashes after closing a same-process child window or removing an iframe with nodeIntegrationInSubFrames enabled. #53042 (Also in 44)

    • Fixed dialog.showOpenDialog/dialog.showSaveDialog opening at an unusable location on Linux when defaultPath is a bare filename without a directory. #52980 (Also in 43, 44)

    • 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. #53094 (Also in 43, 44)

    • Fixed a crash on Windows when V8 posted a delayed worker task during shutdown. #53014 (Also in 43)

    • Fixed a crash with app.setLoginItemSettings if a non-UTF8 service name is used. #52989 (Also in 43, 44)

    • 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. #52992 (Also in 43, 44)

    • Fixed a possible main process crash at quit when a session was created from JavaScript that runs during shutdown. #53132 (Also in 43, 44)

    • Fixed a rare crash in the main process when DevTools were opened and a garbage collection ran before the DevTools frontend finished loading. #52994 (Also in 43, 44)

    • Fixed a renderer crash when a page calls SpeechRecognition.available() or SpeechRecognition.install() with processLocally. #53016 (Also in 43, 44)

    • Fixed an issue on Linux where the system theme color appeared at the top edge of frameless windows. #52978 (Also in 41, 43)

    • Fixed an issue where some values passed into requestSingleInstanceLock could result in a crash. #52982 (Also in 43, 44)

    • Fixed crash in sharedTexture module when GPU context becomes unavailable. #52983 (Also in 43, 44)

    • Fixed document title updates when using back/forward navigation using the same document without utilizing browserWindow.setTitle(). #53099 (Also in 43, 44)

    • Fixed the built-in PDF viewer not rendering documents in in-memory sessions (partitions without the persist: prefix). #52990 (Also in 43, 44)

    • Fixed titleBarOverlay.color set to rgba(0,0,0,0) failing back to default frame color. #52976 (Also in 41, 43)

    • Fixed utility process crashes at exit on Windows 11 24H2 and later. #53091 (Also in 43, 44)

    • Fixed a graphical glitch on Linux where thin borders appeared past the drop shadows on frameless windows when multiple windows were created. #52772 (Also in 43, 44)

    • Fixed a memory leak when creating BrowserWindows. #52893 (Also in 43, 44)

    • 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. #52900 (Also in 41, 43, 44)

    • 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. #52876 (Also in 43, 44)

    • Fixed registerFileProtocol and registerHttpProtocol returning readable responses to cross-origin no-cors fetches; they now return opaque responses like protocol.handle. #52855 (Also in 41, 43, 44)

    • Fixed a WebContentsView staying blank after its window is shown when setBackgroundThrottling(false) was called while the window was hidden. #52865 (Also in 43, 44)

    • Fixed a crash when resolving a path inside a malformed ASAR archive that contains cyclic link entries. #52859 (Also in 43, 44)

    • Fixed downloading files that live inside an asar archive, including saving a packed PDF from the built-in PDF viewer. #52828 (Also in 43, 44)

    • Fixed windows opened by a sandboxed top-level frame not inheriting the opener's sandbox restrictions. #52850 (Also in 41, 43, 44)

    • <webview> and window.open now inherit nodeIntegrationInWorker from the embedder, consistent with the other Node and sandbox preferences. #52831 (Also in 41, 43, 44)

    • Fixed a crash in systemPreferences.promptTouchID(reason) when an invalid reason value is passed. #52780 (Also in 43, 44)

    • Fixed a potential crash in contentTracing.stopRecording() when the trace file could not be written to the requested path. #52796 (Also in 43, 44)

    • Fixed a browser process crash that could occur during Windows logoff, shutdown, or restart. #52621 (Also in 43, 44)

    • Fixed a crash report when the X server or Wayland compositor exits while an app is running. #52686 (Also in 43, 44)

    • Fixed a crash when quickly switching menus while the app is under heavy load. #52671 (Also in 43, 44)

    • Fixed a potential crash when notifying user activation before the primary main frame was live. #52699 (Also in 43, 44)

    • Fixed an issue where a JavaScript out-of-memory crash could be reported from inside the crash-key handler instead of at the out-of-memory site. #52723 (Also in 43, 44)

Other Changes

    • Backported fixes from upstream Chromium and V8. #53060

    • 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. #52988 (Also in 43, 44)

    • Fixed a Windows x64 renderer performance regression introduced in 42.8.1 that made style/layout work (and app startup) noticeably slower. #53064

    • 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. #53019 (Also in 43, 44)

    • Improved startup time of utilityProcess.fork(), child_process.fork() / ELECTRON_RUN_AS_NODE child processes and Node.js-enabled renderers. #53136 (Also in 43, 44)

    • 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. #52880 (Also in 43, 44)

    • Backported fix for 524628213. #52869

    • Reduced idle main-process CPU wakeups caused by Node.js timers and immediates. #52907 (Also in 43, 44)

    • Backported fixes for 542224257, 542025190. #52843

    • Backported fixes from upstream ANGLE, Chromium, Skia and V8. #52706

    • Backported fixes from upstream Chromium and V8. #52785

    • Fixed an issue on macOS where a page's first use of speechSynthesis could block the main process for several hundred milliseconds. #52813

    • Backported fixes from upstream ANGLE, Chromium and V8. #52664

    • No user-facing change; semver/none. #52733