Ir al contenido
verdict:

Electron 44.0.0

featured

note: la síntesis y las notas de la versión están en inglés

warning: requiere intervención

8 breaking changes5 puntos clave

Electron 44 drops macOS 12, 32-bit builds and Unity support, with several other breaking changes to review.

síntesis · solo a partir de las notas de la versión · claude-haiku-5-5 · prompt v7

breaking changestodos citados, cada uno con su solución

breaking[1]: Support for the Unity desktop environment on Linux is removed.

Removed support for the Unity desktop environment on Linux. #51649

help: The notes give no migration. Check whether your app relies on Unity on Linux.

breaking[2]: Requests to servers that ask for a client certificate no longer fail with ERR_SSL_CLIENT_AUTH_CERT_NEEDED, and apps can select a certificate to present.

Added select-client-certificate event support for net.request and net.fetch; requests to servers requesting a client certificate no longer fail with ERR_SSL_CLIENT_AUTH_CERT_NEEDED, and applications can now select a certificate to present. #52397

help: The notes give no migration. Check net.request and net.fetch code that handles client certificate errors, and use the new select-client-certificate event where needed.

breaking[3]: macOS 12 (Monterey) is no longer supported.

macOS 12 (Monterey) is no longer supported by Chromium. Older versions of Electron will continue to run on Monterey, but macOS 13 (Ventura) or later will be required to run Electron v44.0.0 and higher. #51967

help: Run Electron v44.0.0 and higher on macOS 13 (Ventura) or later. Older Electron versions still run on Monterey.

breaking[4]: ANGLE is statically linked into the Electron binary, and the libEGL and libGLESv2 libraries are no longer shipped.

ANGLE is now statically linked into the Electron binary on all platforms, matching upstream Chromium. The libEGL.(so|dylib|dll) and libGLESv2.(so|dylib|dll) libraries are no longer shipped in the distribution. #52288

help: The notes give no migration. Check any packaging or code that loads libEGL or libGLESv2 files from the distribution.

breaking[5]: net.request rejects requests where Sec-Fetch-Dest is document, frame, iframe or fencedframe unless Sec-Fetch-Mode is also set to navigate.

net.request now rejects requests where Sec-Fetch-Dest is document, frame, iframe, or fencedframe unless Sec-Fetch-Mode is also set to navigate. #52216

help: The notes give no migration. Check net.request calls that set Sec-Fetch-Dest to one of these values and whether they also set Sec-Fetch-Mode to navigate.

breaking[6]: 32-bit builds are removed: Windows ia32 and Linux armv7l. Electron is published only for x64 and arm64.

Removed 32-bit builds (Windows ia32 and Linux armv7l). Electron is now published only for 64-bit (x64 and arm64) platforms. #52326

help: The notes give no migration. Check whether you ship 32-bit Windows or armv7l Linux builds, and move to x64 or arm64.

breaking[7]: The clipboard module is no longer exposed to renderer processes.

The clipboard module is now aligned with the W3C Clipboard API and is no longer exposed to renderer processes. #52508

help: The notes give no migration. Check renderer code that calls the clipboard module.

breaking[8]: The openAsHidden option is removed from app.setLoginItemSettings(), and the openAsHidden, wasOpenedAsHidden and restoreState fields are removed from app.getLoginItemSettings().

Removed the openAsHidden option from app.setLoginItemSettings() and the openAsHidden, wasOpenedAsHidden and restoreState fields from the return value of app.getLoginItemSettings(). These only worked on macOS 12 and below, which are no longer supported. #52667

help: The notes give no migration. Check code that passes openAsHidden or reads these return fields.

puntos clave

release-notesgithub.com/electron/electron · 157 líneas
  1. # Release Notes for v44.0.0
  2. ## Stack Upgrades
  3. * Chromium `152.0.7977.54`
  4. * [New in 152](https://developer.chrome.com/blog/new-in-chrome-152/)
  5. * [New in 151](https://developer.chrome.com/blog/new-in-chrome-151/)
  6. * Node `v24.18.1`
  7. * [Node 24.18.1 blog post](https://nodejs.org/en/blog/release/v24.18.1/)
  8. * [Node 24.18.0 blog post](https://nodejs.org/en/blog/release/v24.18.0/)
  9. * V8 `15.2`
  10. ## Breaking Changes
  11. * Removed support for the Unity desktop environment on Linux. [#51649](https://github.com/electron/electron/pull/51649)
  12. * Added `select-client-certificate` event support for `net.request` and `net.fetch`; requests to servers requesting a client certificate no longer fail with `ERR_SSL_CLIENT_AUTH_CERT_NEEDED`, and applications can now select a certificate to present. [#52397](https://github.com/electron/electron/pull/52397)
  13. * macOS 12 (Monterey) is no longer supported by [Chromium](https://chromium-review.googlesource.com/c/chromium/src/+/7907086). Older versions of Electron will continue to run on Monterey, but macOS 13 (Ventura) or later will be required to run Electron v44.0.0 and higher. [#51967](https://github.com/electron/electron/pull/51967)
  14. * ANGLE is now [statically linked](https://issues.chromium.org/issues/40268378) into the Electron binary on all platforms, matching upstream Chromium. The `libEGL.(so|dylib|dll)` and `libGLESv2.(so|dylib|dll)` libraries are no longer shipped in the distribution. [#52288](https://github.com/electron/electron/pull/52288)
  15. * `net.request` now rejects requests where `Sec-Fetch-Dest` is `document`, `frame`, `iframe`, or `fencedframe` unless `Sec-Fetch-Mode` is also set to `navigate`. [#52216](https://github.com/electron/electron/pull/52216)
  16. * Removed 32-bit builds (Windows ia32 and Linux armv7l). Electron is now published only for 64-bit (x64 and arm64) platforms. [#52326](https://github.com/electron/electron/pull/52326)
  17. * The `clipboard` module is now aligned with the W3C Clipboard API and is no longer exposed to renderer processes. [#52508](https://github.com/electron/electron/pull/52508)
  18. * Removed the `openAsHidden` option from `app.setLoginItemSettings()` and the `openAsHidden`, `wasOpenedAsHidden` and `restoreState` fields from the return value of `app.getLoginItemSettings()`. These only worked on macOS 12 and below, which are no longer supported. [#52667](https://github.com/electron/electron/pull/52667)
  19. See the [Breaking Changes](https://github.com/electron/electron/blob/main/docs/breaking-changes.md) doc for more details about these changes.
  20. ## Features
  21. * Added `Notification.remove()`, `removeAll()`, and `removeGroup()` static methods for macOS. [#51182](https://github.com/electron/electron/pull/51182) <sup>(Also in [42](https://github.com/electron/electron/pull/51691), [43](https://github.com/electron/electron/pull/51690))</sup>
  22. * Added `available` to `process.getSystemMemoryInfo()` on Linux, exposing `proc/meminfo` MemAvailable. [#52380](https://github.com/electron/electron/pull/52380) <sup>(Also in [42](https://github.com/electron/electron/pull/52378), [43](https://github.com/electron/electron/pull/52379))</sup>
  23. * Added `net.WebSocket`, a WHATWG-compatible WebSocket client for the main process that routes through Chromium's network stack. [#51593](https://github.com/electron/electron/pull/51593) <sup>(Also in [42](https://github.com/electron/electron/pull/52345), [43](https://github.com/electron/electron/pull/52344))</sup>
  24. * Added `webContents.setZoomMode(mode)`, `webContents.getZoomMode()`, and `webContents.zoomMode` for per-WebContents zoom control. [#49962](https://github.com/electron/electron/pull/49962)
  25. * Added `webFrameMain.printToPDF()` to allow printing individual frames to PDF from the main process. [#52625](https://github.com/electron/electron/pull/52625) <sup>(Also in [42](https://github.com/electron/electron/pull/52626), [43](https://github.com/electron/electron/pull/52627))</sup>
  26. * Added a Save/Restore Window State API for cross-platform use. [#52270](https://github.com/electron/electron/pull/52270)
  27. * Added a `badge` property to `MenuItem` on macOS 14+ for showing a count or custom text badge next to a menu item's label. [#53046](https://github.com/electron/electron/pull/53046)
  28. * Added support for `win.setOpacity(opacity)` on Linux. [#51455](https://github.com/electron/electron/pull/51455)
  29. * Added `webContents.caretBrowsingEnabled` for toggling caret browsing in a WebContents. [#53035](https://github.com/electron/electron/pull/53035)
  30. * Frameless windows on Linux now use system-themed titlebar icons for Window Controls Overlay (WCO). [#52531](https://github.com/electron/electron/pull/52531)
  31. * Frameless windows on Linux now have rounded corners by default, just like on macOS and Windows. Rounded corners can be disabled on all platforms by setting `roundedCorners: false` on the window. [#51459](https://github.com/electron/electron/pull/51459) <sup>(Also in [43](https://github.com/electron/electron/pull/52111))</sup>
  32. * Restored `app.setBadgeCount` and `win.setProgressBar` for Linux. These APIs now support any dock or taskbar which implements the LauncherEntry D-Bus API, and they no longer require `libunity`. [#52895](https://github.com/electron/electron/pull/52895)
  33. ## Fixes
  34. * If a `nativeImage` was passed an image with a color profile, its pixel values will now be normalized to SRGB. This ensures that two visually identical images after color space application will receive similar pixel values when converted to a `nativeImage`. [#48178](https://github.com/electron/electron/pull/48178) <sup>(Also in [43](https://github.com/electron/electron/pull/51565))</sup>
  35. * Fixed DevTools Network panel missing most requests after navigating when `webContents.debugger` is attached. [#51959](https://github.com/electron/electron/pull/51959) <sup>(Also in [42](https://github.com/electron/electron/pull/51965), [43](https://github.com/electron/electron/pull/51964))</sup>
  36. * Fixed DevTools device metrics overrides persisting indefinitely when a remote debugging client disconnected without clearing them. [#52930](https://github.com/electron/electron/pull/52930) <sup>(Also in [42](https://github.com/electron/electron/pull/53133), [43](https://github.com/electron/electron/pull/52946))</sup>
  37. * Fixed DevTools popup and context menus not appearing when DevTools is hosted in a custom window via `webContents.setDevToolsWebContents()`. [#52434](https://github.com/electron/electron/pull/52434) <sup>(Also in [42](https://github.com/electron/electron/pull/52981), [43](https://github.com/electron/electron/pull/52937))</sup>
  38. * Fixed Window Controls Overlay caption buttons not rendering on Linux. [#52580](https://github.com/electron/electron/pull/52580)
  39. * Fixed Windows edge case in `NativeWindowViews::MoveBehindTaskBarIfNeeded()`. [#52000](https://github.com/electron/electron/pull/52000) <sup>(Also in [41](https://github.com/electron/electron/pull/52023), [42](https://github.com/electron/electron/pull/52022), [43](https://github.com/electron/electron/pull/52021))</sup>
  40. * Fixed `BrowserWindow.unmaximize()` and `restore()` having no effect on Wayland when the window was maximized immediately after creation. [#53124](https://github.com/electron/electron/pull/53124) <sup>(Also in [42](https://github.com/electron/electron/pull/53126))</sup>
  41. * Fixed `BrowserWindow` size corruption on Windows when created with explicit `x`/`y` on a secondary monitor whose DPI differs from the primary. [#52499](https://github.com/electron/electron/pull/52499) <sup>(Also in [42](https://github.com/electron/electron/pull/52500), [43](https://github.com/electron/electron/pull/52501))</sup>
  42. * Fixed `Dirent.parentPath` being `undefined` for `fs.readdir`, `fs.readdirSync`, `fs.glob`, and `fs.globSync` with `withFileTypes: true` inside asar archives. [#52507](https://github.com/electron/electron/pull/52507) <sup>(Also in [42](https://github.com/electron/electron/pull/52506), [43](https://github.com/electron/electron/pull/52505))</sup>
  43. * Fixed `ProtocolResponse.url` requests being made through the default session instead of the session the protocol handler was registered on when `ProtocolResponse.session` was not set. [#52113](https://github.com/electron/electron/pull/52113) <sup>(Also in [40](https://github.com/electron/electron/pull/52135), [41](https://github.com/electron/electron/pull/52134), [42](https://github.com/electron/electron/pull/52132), [43](https://github.com/electron/electron/pull/52131))</sup>
  44. * Fixed `Uncaught illegal access` errors and possible renderer crashes after closing a same-process child window or removing an iframe with `nodeIntegrationInSubFrames` enabled. [#53040](https://github.com/electron/electron/pull/53040) <sup>(Also in [42](https://github.com/electron/electron/pull/53042))</sup>
  45. * Fixed `app.disableHardwareAcceleration()` not fully disabling GPU hardware usage on Windows starting from Electron 38. [#52370](https://github.com/electron/electron/pull/52370) <sup>(Also in [41](https://github.com/electron/electron/pull/52368), [42](https://github.com/electron/electron/pull/52371), [43](https://github.com/electron/electron/pull/52369))</sup>
  46. * Fixed `dialog.showOpenDialog` and `dialog.showSaveDialog` opening at an unusable location on Linux when `defaultPath` is a bare filename without a directory. [#52402](https://github.com/electron/electron/pull/52402) <sup>(Also in [42](https://github.com/electron/electron/pull/52980), [43](https://github.com/electron/electron/pull/52401))</sup>
  47. * Fixed `registerFileProtocol` and `registerHttpProtocol` returning readable responses to cross-origin `no-cors` fetches; they now return opaque responses like `protocol.handle`. [#52852](https://github.com/electron/electron/pull/52852) <sup>(Also in [41](https://github.com/electron/electron/pull/52854), [42](https://github.com/electron/electron/pull/52855), [43](https://github.com/electron/electron/pull/52853))</sup>
  48. * Fixed `select-hid-device` presenting HID devices that could not be granted, which caused `navigator.hid.requestDevice()` to resolve with no device. [#52497](https://github.com/electron/electron/pull/52497)
  49. * Fixed a use-after-free crash with `protocol.registerStreamProtocol` when an error is emitted during a read. [#52515](https://github.com/electron/electron/pull/52515) <sup>(Also in [41](https://github.com/electron/electron/pull/52513), [42](https://github.com/electron/electron/pull/52516), [43](https://github.com/electron/electron/pull/52514))</sup>
  50. * Fixed a WebContentsView staying blank after its window is shown when `setBackgroundThrottling(false)` was called while the window was hidden. [#52863](https://github.com/electron/electron/pull/52863) <sup>(Also in [42](https://github.com/electron/electron/pull/52865), [43](https://github.com/electron/electron/pull/52864))</sup>
  51. * Fixed a browser process crash that could occur during Windows logoff, shutdown, or restart. [#52619](https://github.com/electron/electron/pull/52619) <sup>(Also in [42](https://github.com/electron/electron/pull/52621), [43](https://github.com/electron/electron/pull/52620))</sup>
  52. * Fixed a browser process crash when calling `webContents.reload()` or navigating synchronously from the `render-process-gone` event; the event is now emitted after the renderer's teardown notification has completed. [#51900](https://github.com/electron/electron/pull/51900) <sup>(Also in [41](https://github.com/electron/electron/pull/51917), [42](https://github.com/electron/electron/pull/51916), [43](https://github.com/electron/electron/pull/51918))</sup>
  53. * Fixed a browser-process crash (`ValidateIntegrityOrDie`) and spurious preload `ENOENT` errors when an app's `app.asar` is replaced on disk (e.g., by an updater or MDM software) while the app is running. [#52292](https://github.com/electron/electron/pull/52292) <sup>(Also in [42](https://github.com/electron/electron/pull/52294), [43](https://github.com/electron/electron/pull/52293))</sup>
  54. * Fixed a bug on Linux where a 1px line appeared at the top of a frameless window if the window and web contents had different background colors. [#51458](https://github.com/electron/electron/pull/51458) <sup>(Also in [41](https://github.com/electron/electron/pull/52004), [42](https://github.com/electron/electron/pull/52005), [43](https://github.com/electron/electron/pull/51999))</sup>
  55. * Fixed a crash in `systemPreferences.promptTouchID(reason)` when an invalid reason value is passed. [#52781](https://github.com/electron/electron/pull/52781) <sup>(Also in [42](https://github.com/electron/electron/pull/52780), [43](https://github.com/electron/electron/pull/52782))</sup>
  56. * Fixed a crash in the macOS Touch ID WebAuthn prompt caused by a missing string resource, and added `touchID.promptReason` to `app.configureWebAuthn()` to customize the prompt text. [#51592](https://github.com/electron/electron/pull/51592) <sup>(Also in [41](https://github.com/electron/electron/pull/51604), [42](https://github.com/electron/electron/pull/51594), [43](https://github.com/electron/electron/pull/51595))</sup>
  57. * 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. [#53096](https://github.com/electron/electron/pull/53096) <sup>(Also in [42](https://github.com/electron/electron/pull/53094), [43](https://github.com/electron/electron/pull/53095))</sup>
  58. * Fixed a crash on MacOS when a user clicked into a title bar or top view. [#51586](https://github.com/electron/electron/pull/51586) <sup>(Also in [42](https://github.com/electron/electron/pull/51605), [43](https://github.com/electron/electron/pull/51606))</sup>
  59. * Fixed a crash report when the X server or Wayland compositor exits while an app is running. [#52684](https://github.com/electron/electron/pull/52684) <sup>(Also in [42](https://github.com/electron/electron/pull/52686), [43](https://github.com/electron/electron/pull/52685))</sup>
  60. * Fixed a crash that could occur when closing DevTools while the host WebContents was being destroyed. [#52509](https://github.com/electron/electron/pull/52509) <sup>(Also in [41](https://github.com/electron/electron/pull/52512), [42](https://github.com/electron/electron/pull/52511), [43](https://github.com/electron/electron/pull/52510))</sup>
  61. * Fixed a crash when accessing frame details during cross-origin navigation. [#53109](https://github.com/electron/electron/pull/53109)
  62. * Fixed a crash when quickly switching menus while the app is under heavy load. [#52672](https://github.com/electron/electron/pull/52672) <sup>(Also in [42](https://github.com/electron/electron/pull/52671), [43](https://github.com/electron/electron/pull/52673))</sup>
  63. * Fixed a crash when resolving a path inside a malformed ASAR archive that contains cyclic link entries. [#52858](https://github.com/electron/electron/pull/52858) <sup>(Also in [42](https://github.com/electron/electron/pull/52859), [43](https://github.com/electron/electron/pull/52857))</sup>
  64. * Fixed a crash when showing Linux message boxes while another Linux UI implementation was active. [#52409](https://github.com/electron/electron/pull/52409) <sup>(Also in [42](https://github.com/electron/electron/pull/52408), [43](https://github.com/electron/electron/pull/52410))</sup>
  65. * Fixed a crash with `app.setLoginItemSettings` if a non-UTF8 service name is used. [#52801](https://github.com/electron/electron/pull/52801) <sup>(Also in [42](https://github.com/electron/electron/pull/52989), [43](https://github.com/electron/electron/pull/52944))</sup>
  66. * Fixed a graphical glitch on Linux where thin borders appeared past the drop shadows on frameless windows when multiple windows were created. [#52606](https://github.com/electron/electron/pull/52606) <sup>(Also in [42](https://github.com/electron/electron/pull/52772), [43](https://github.com/electron/electron/pull/52607))</sup>
  67. * Fixed a memory leak when creating BrowserWindows. [#52894](https://github.com/electron/electron/pull/52894) <sup>(Also in [42](https://github.com/electron/electron/pull/52893), [43](https://github.com/electron/electron/pull/52892))</sup>
  68. * 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. [#52871](https://github.com/electron/electron/pull/52871) <sup>(Also in [42](https://github.com/electron/electron/pull/52992), [43](https://github.com/electron/electron/pull/52870))</sup>
  69. * Fixed a possible main process crash at quit when a session was created from JavaScript running during shutdown. [#52924](https://github.com/electron/electron/pull/52924) <sup>(Also in [42](https://github.com/electron/electron/pull/53132), [43](https://github.com/electron/electron/pull/52925))</sup>
  70. * Fixed a potential crash in `contentTracing.stopRecording()` when the trace file could not be written to the requested path. [#52794](https://github.com/electron/electron/pull/52794) <sup>(Also in [42](https://github.com/electron/electron/pull/52796), [43](https://github.com/electron/electron/pull/52795))</sup>
  71. * Fixed a potential crash when notifying user activation before the primary main frame was live. [#52698](https://github.com/electron/electron/pull/52698) <sup>(Also in [42](https://github.com/electron/electron/pull/52699), [43](https://github.com/electron/electron/pull/52697))</sup>
  72. * Fixed a rare crash in the main process when DevTools were opened and a garbage collection ran before the DevTools frontend finished loading. [#52904](https://github.com/electron/electron/pull/52904) <sup>(Also in [42](https://github.com/electron/electron/pull/52994), [43](https://github.com/electron/electron/pull/52903))</sup>
  73. * Fixed a regression preventing transparent frameless windows from being resized on Linux. [#52891](https://github.com/electron/electron/pull/52891) <sup>(Also in [43](https://github.com/electron/electron/pull/52947))</sup>
  74. * Fixed a renderer crash when a page calls `SpeechRecognition.available()` or `SpeechRecognition.install()` with `processLocally`. [#53021](https://github.com/electron/electron/pull/53021) <sup>(Also in [42](https://github.com/electron/electron/pull/53016), [43](https://github.com/electron/electron/pull/53015))</sup>
  75. * Fixed a renderer crash when calling `WebAssembly.compileStreaming()` or `WebAssembly.instantiateStreaming()` with `nodeIntegration` enabled. [#51953](https://github.com/electron/electron/pull/51953) <sup>(Also in [41](https://github.com/electron/electron/pull/52240), [42](https://github.com/electron/electron/pull/51956), [43](https://github.com/electron/electron/pull/51955))</sup>
  76. * Fixed a window being marked hidden and background-throttled on macOS when covered by a transparent or click-through window. [#52391](https://github.com/electron/electron/pull/52391) <sup>(Also in [42](https://github.com/electron/electron/pull/52390), [43](https://github.com/electron/electron/pull/52389))</sup>
  77. * 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). [#52846](https://github.com/electron/electron/pull/52846) <sup>(Also in [43](https://github.com/electron/electron/pull/52845))</sup>
  78. * Fixed an issue on Linux and Windows where frameless windows would shrink when calling `win.center()`. Additionally, fixed an issue where frameless windows would appear slightly off-center on Windows. [#51732](https://github.com/electron/electron/pull/51732) <sup>(Also in [41](https://github.com/electron/electron/pull/51919), [42](https://github.com/electron/electron/pull/51921), [43](https://github.com/electron/electron/pull/51920))</sup>
  79. * Fixed an issue on Linux where the system theme color appeared at the top edge of frameless windows. [#52062](https://github.com/electron/electron/pull/52062) <sup>(Also in [41](https://github.com/electron/electron/pull/53006), [42](https://github.com/electron/electron/pull/52978), [43](https://github.com/electron/electron/pull/52179))</sup>
  80. * 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. [#52898](https://github.com/electron/electron/pull/52898) <sup>(Also in [41](https://github.com/electron/electron/pull/52899), [43](https://github.com/electron/electron/pull/52897))</sup>
  81. * Fixed an issue where `process` and other Node globals were undefined in ESM preload scripts when `contextIsolation` was disabled. [#51693](https://github.com/electron/electron/pull/51693) <sup>(Also in [42](https://github.com/electron/electron/pull/51726), [43](https://github.com/electron/electron/pull/51723))</sup>
  82. * 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. [#52724](https://github.com/electron/electron/pull/52724) <sup>(Also in [42](https://github.com/electron/electron/pull/52723), [43](https://github.com/electron/electron/pull/52725))</sup>
  83. * Fixed an issue where clicking the maximize button could progressively shrink the window in some Wayland environments. [#52012](https://github.com/electron/electron/pull/52012) <sup>(Also in [42](https://github.com/electron/electron/pull/52045), [43](https://github.com/electron/electron/pull/52039))</sup>
  84. * Fixed an issue where frameless windows windows could shrink after applying constraints or toggling resizability on Windows. [#51562](https://github.com/electron/electron/pull/51562) <sup>(Also in [42](https://github.com/electron/electron/pull/52366), [43](https://github.com/electron/electron/pull/51954))</sup>
  85. * Fixed an issue where loading ICO files from ASAR archives on Windows left temporary icon files behind. [#52477](https://github.com/electron/electron/pull/52477) <sup>(Also in [42](https://github.com/electron/electron/pull/52479), [43](https://github.com/electron/electron/pull/52478))</sup>
  86. * Fixed an issue where some values passed into `requestSingleInstanceLock` could result in a crash. [#52470](https://github.com/electron/electron/pull/52470) <sup>(Also in [42](https://github.com/electron/electron/pull/52982), [43](https://github.com/electron/electron/pull/52471))</sup>
  87. * Fixed an issue where the "Toggle Developer Tools" menu item failed to function correctly with BaseWindow. [#49356](https://github.com/electron/electron/pull/49356) <sup>(Also in [41](https://github.com/electron/electron/pull/51902), [42](https://github.com/electron/electron/pull/51903), [43](https://github.com/electron/electron/pull/51901))</sup>
  88. * Fixed a crash when calling `close()` on a notification within a `close` event on macOS. [#51597](https://github.com/electron/electron/pull/51597) <sup>(Also in [41](https://github.com/electron/electron/pull/51656), [42](https://github.com/electron/electron/pull/51657), [43](https://github.com/electron/electron/pull/51655))</sup>
  89. * Fixed a crash in the `sharedTexture` module when GPU context becomes unavailable. [#52926](https://github.com/electron/electron/pull/52926) <sup>(Also in [42](https://github.com/electron/electron/pull/52983), [43](https://github.com/electron/electron/pull/52938))</sup>
  90. * Fixed a crash triggered by replacing an open application menu. [#52277](https://github.com/electron/electron/pull/52277) <sup>(Also in [41](https://github.com/electron/electron/pull/52278), [42](https://github.com/electron/electron/pull/52275), [43](https://github.com/electron/electron/pull/52276))</sup>
  91. * 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. [#52878](https://github.com/electron/electron/pull/52878) <sup>(Also in [42](https://github.com/electron/electron/pull/52876), [43](https://github.com/electron/electron/pull/52877))</sup>
  92. * Fixed `desktopCapturer` thumbnail generation and premature portal timeout on Linux with Wayland. [#51674](https://github.com/electron/electron/pull/51674) <sup>(Also in [43](https://github.com/electron/electron/pull/51783))</sup>
  93. * Fixed downloading files that live inside an ASAR archive, including saving a packed PDF from the built-in PDF viewer. [#52827](https://github.com/electron/electron/pull/52827) <sup>(Also in [42](https://github.com/electron/electron/pull/52828), [43](https://github.com/electron/electron/pull/52826))</sup>
  94. * Fixed native addon compilation failure with undefined MSVC intrinsic from v8 headers. [#51695](https://github.com/electron/electron/pull/51695) <sup>(Also in [42](https://github.com/electron/electron/pull/51706), [43](https://github.com/electron/electron/pull/51705))</sup>
  95. * Fixed running under `tsx` import transpilation. [#51947](https://github.com/electron/electron/pull/51947) <sup>(Also in [41](https://github.com/electron/electron/pull/53003), [42](https://github.com/electron/electron/pull/52046), [43](https://github.com/electron/electron/pull/51978))</sup>
  96. * Fixed sandboxed preload scripts running a stale cached version after the script was modified without its file size changing. [#51930](https://github.com/electron/electron/pull/51930) <sup>(Also in [42](https://github.com/electron/electron/pull/51933), [43](https://github.com/electron/electron/pull/51932))</sup>
  97. * Fixed spellcheck not initializing on Linux when the dictionary was already cached from a previous run. [#52716](https://github.com/electron/electron/pull/52716)
  98. * Fixed the Linux system accent color intermittently not being applied (`systemPreferences.getAccentColor()` returning an empty string on some launches). [#52574](https://github.com/electron/electron/pull/52574)
  99. * Fixed the built-in PDF viewer not rendering documents in in-memory sessions (partitions without the `persist:` prefix). [#52834](https://github.com/electron/electron/pull/52834) <sup>(Also in [42](https://github.com/electron/electron/pull/52990), [43](https://github.com/electron/electron/pull/52835))</sup>
  100. * Fixed the context menu in a detached DevTools window focusing the inspected page's window instead of the DevTools window. [#51805](https://github.com/electron/electron/pull/51805) <sup>(Also in [41](https://github.com/electron/electron/pull/53002), [42](https://github.com/electron/electron/pull/51864), [43](https://github.com/electron/electron/pull/51863))</sup>
  101. * Fixed the primary instance being killed or receiving truncated arguments when a second instance passed a very long command line or large `additionalData` to `app.requestSingleInstanceLock()`. [#52950](https://github.com/electron/electron/pull/52950)
  102. * Fixed titleBarOverlay.color set to `rgba(0,0,0,0)` failing back to default frame color. [#51017](https://github.com/electron/electron/pull/51017) <sup>(Also in [41](https://github.com/electron/electron/pull/53004), [42](https://github.com/electron/electron/pull/52976), [43](https://github.com/electron/electron/pull/52010))</sup>
  103. * Fixed unnecessary autofill popup creation for fields without datalist suggestions, which could cause input latency on macOS. [#52318](https://github.com/electron/electron/pull/52318) <sup>(Also in [41](https://github.com/electron/electron/pull/52320), [42](https://github.com/electron/electron/pull/52319), [43](https://github.com/electron/electron/pull/52321))</sup>
  104. * Fixed utility process crashes at exit on Windows 11 24H2 and later. [#53093](https://github.com/electron/electron/pull/53093) <sup>(Also in [42](https://github.com/electron/electron/pull/53091), [43](https://github.com/electron/electron/pull/53092))</sup>
  105. * Fixed windows opened by a sandboxed top-level frame not inheriting the opener's sandbox restrictions. [#52851](https://github.com/electron/electron/pull/52851) <sup>(Also in [41](https://github.com/electron/electron/pull/52849), [42](https://github.com/electron/electron/pull/52850), [43](https://github.com/electron/electron/pull/52848))</sup>
  106. * Fixed `webContents.print()` returning "Invalid printer settings" when print options are provided. [#52382](https://github.com/electron/electron/pull/52382) <sup>(Also in [43](https://github.com/electron/electron/pull/52381))</sup>
  107. * Fixeed document title updates when using back/forward navigation using the same document without utilizing `browserWindow.setTitle()`. [#52968](https://github.com/electron/electron/pull/52968) <sup>(Also in [42](https://github.com/electron/electron/pull/53099), [43](https://github.com/electron/electron/pull/53023))</sup>
  108. * Improved external resize band positioning and scaling for frameless windows on Windows. [#51503](https://github.com/electron/electron/pull/51503) <sup>(Also in [41](https://github.com/electron/electron/pull/51560), [42](https://github.com/electron/electron/pull/51561), [43](https://github.com/electron/electron/pull/51552))</sup>
  109. * Made "reload" menu items work with BaseWindow. [#51985](https://github.com/electron/electron/pull/51985) <sup>(Also in [41](https://github.com/electron/electron/pull/52118), [42](https://github.com/electron/electron/pull/52117), [43](https://github.com/electron/electron/pull/52119))</sup>
  110. * Windows opened from links inside a sandboxed iframe now inherit the iframe's sandbox restrictions unless `allow-popups-to-escape-sandbox` is set. [#52133](https://github.com/electron/electron/pull/52133) <sup>(Also in [41](https://github.com/electron/electron/pull/52486), [42](https://github.com/electron/electron/pull/52190), [43](https://github.com/electron/electron/pull/52189))</sup>
  111. * Fixed an issue where `getDisplayMedia({ audio: { restrictOwnAudio: true } })` was ignored in `setDisplayMediaRequestHandler`, causing loopback audio to include local app playback. [#52534](https://github.com/electron/electron/pull/52534) <sup>(Also in [43](https://github.com/electron/electron/pull/52533))</sup>
  112. * `<webview>` and `window.open` now inherit `nodeIntegrationInWorker` from the embedder, consistent with the other Node and sandbox preferences. [#52832](https://github.com/electron/electron/pull/52832) <sup>(Also in [41](https://github.com/electron/electron/pull/52829), [42](https://github.com/electron/electron/pull/52831), [43](https://github.com/electron/electron/pull/52830))</sup>
  113. * Fixed potential deadlock inside `app.getLoginItemSettings()` on macOS. [#52667](https://github.com/electron/electron/pull/52667)
  114. * 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. [#52951](https://github.com/electron/electron/pull/52951)
  115. * 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. [#52792](https://github.com/electron/electron/pull/52792) <sup>(Also in [42](https://github.com/electron/electron/pull/52988), [43](https://github.com/electron/electron/pull/52943))</sup>
  116. * On Linux, fixed runtime toggling of shadows for frameless windows and added support for system-configured button layouts in Window Controls Overlay on Linux. [#51161](https://github.com/electron/electron/pull/51161) <sup>(Also in [43](https://github.com/electron/electron/pull/51658))</sup>
  117. * Fixed silent data truncation in `Buffer`/`TextEncoder` APIs and a crash in `fs.writeFileSync` with non-ASCII strings on Apple Silicon. [#51848](https://github.com/electron/electron/pull/51848) <sup>(Also in [41](https://github.com/electron/electron/pull/51851), [42](https://github.com/electron/electron/pull/51849), [43](https://github.com/electron/electron/pull/51850))</sup>
  118. * Improved the error message when an asar integrity check fails to name the entry that failed. [#52624](https://github.com/electron/electron/pull/52624) <sup>(Also in [42](https://github.com/electron/electron/pull/52623), [43](https://github.com/electron/electron/pull/52622))</sup>
  119. ## Performance Improvements
  120. * Enabled ThinLTO on macOS builds. [#51669](https://github.com/electron/electron/pull/51669) <sup>(Also in [41](https://github.com/electron/electron/pull/53001), [42](https://github.com/electron/electron/pull/51823), [43](https://github.com/electron/electron/pull/51819))</sup>
  121. * Made various performance improvements related to initialization and IPC. [#53017](https://github.com/electron/electron/pull/53017) <sup>(Also in [42](https://github.com/electron/electron/pull/53019), [43](https://github.com/electron/electron/pull/53018))</sup>
  122. * Improved app startup time by booting the main process from an embedded Node.js startup snapshot. [#51703](https://github.com/electron/electron/pull/51703) <sup>(Also in [42](https://github.com/electron/electron/pull/51831), [43](https://github.com/electron/electron/pull/51792))</sup>
  123. * Improved application startup time on Linux by skipping GDK's OpenGL probe and loading FontConfig off the main thread during toolkit initialization. [#53107](https://github.com/electron/electron/pull/53107) <sup>(Also in [43](https://github.com/electron/electron/pull/53108))</sup>
  124. * Improved performance of Linux and Windows release builds by enabling ThinLTO link-time optimization for the main Electron binary. [#51809](https://github.com/electron/electron/pull/51809) <sup>(Also in [42](https://github.com/electron/electron/pull/51821), [43](https://github.com/electron/electron/pull/51820))</sup>
  125. * Improved performance of `webRequest` header conversions and several other gin converter hot paths. [#51599](https://github.com/electron/electron/pull/51599) <sup>(Also in [42](https://github.com/electron/electron/pull/51607), [43](https://github.com/electron/electron/pull/51608))</sup>
  126. * Improved performance of native event emission, IPC dispatch, and option-dictionary parsing. [#51596](https://github.com/electron/electron/pull/51596) <sup>(Also in [41](https://github.com/electron/electron/pull/51613), [42](https://github.com/electron/electron/pull/51614), [43](https://github.com/electron/electron/pull/51615))</sup>
  127. * Improved runtime performance by consuming Electron-generated PGO profiles instead of Chrome's published ones. [#51815](https://github.com/electron/electron/pull/51815) <sup>(Also in [42](https://github.com/electron/electron/pull/51828), [43](https://github.com/electron/electron/pull/51829))</sup>
  128. * Improved sandboxed renderer startup performance — preload scripts and process info are now pushed ahead of navigation instead of fetched via blocking IPC, and preload compilation results are cached on disk. Preload stack traces now show the correct file path and line number. [#51602](https://github.com/electron/electron/pull/51602) <sup>(Also in [42](https://github.com/electron/electron/pull/51831), [43](https://github.com/electron/electron/pull/51792))</sup>
  129. * Improved startup time of `utilityProcess.fork()`, `child_process.fork()` / `ELECTRON_RUN_AS_NODE` child processes and Node.js-enabled renderers. [#53134](https://github.com/electron/electron/pull/53134) <sup>(Also in [42](https://github.com/electron/electron/pull/53136), [43](https://github.com/electron/electron/pull/53135))</sup>
  130. * 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. [#52879](https://github.com/electron/electron/pull/52879) <sup>(Also in [42](https://github.com/electron/electron/pull/52880), [43](https://github.com/electron/electron/pull/52881))</sup>
  131. * Reduced idle main-process CPU wakeups caused by Node.js timers and immediates. [#52906](https://github.com/electron/electron/pull/52906) <sup>(Also in [43](https://github.com/electron/electron/pull/52905))</sup>
  132. * Reduced sandboxed renderer cold-start time (`DidClearWindowObject`) by ~35% by deserializing a build-time V8 code cache for Electron's framework bundles instead of parsing and compiling them from source on every launch. [#51697](https://github.com/electron/electron/pull/51697) <sup>(Also in [42](https://github.com/electron/electron/pull/51831), [43](https://github.com/electron/electron/pull/51792))</sup>
  133. * Reduced the Linux distribution size by ~37 MB by only shipping locale strings and resources that Electron can actually use. [#51804](https://github.com/electron/electron/pull/51804)
  134. * Removed `showHiddenFiles` support from the `dialog` API on Linux. [#51704](https://github.com/electron/electron/pull/51704) <sup>(Also in [43](https://github.com/electron/electron/pull/51880))</sup>
  135. * The first sandboxed BrowserWindow now starts in a renderer process launched ahead of time when the default session already exists, shortening the time from window creation to the page's first script; apps that open many windows can keep a spare renderer warm at all times with `--enable-features=SpareRendererForSitePerProcess`. [#53144](https://github.com/electron/electron/pull/53144)
  136. * The non-functional dummy `libEGL.so` and `libGLESv2.so` files are no longer included in the Linux distribution, now that ANGLE is statically linked. [#52227](https://github.com/electron/electron/pull/52227)
  137. ## Other Changes
  138. * Updated the Squirrel.Mac autoUpdater backend on macOS to pick up upstream fixes, including correct version-string validation when downgrade prevention is enabled, fixes for stale launcher errors persisting across update checks, and forwarding of custom download request headers. [#51584](https://github.com/electron/electron/pull/51584)
  139. * Backported fixes from upstream Chromium and V8. [#52774](https://github.com/electron/electron/pull/52774)
  140. * Backported fixes from upstream Chromium. [#52701](https://github.com/electron/electron/pull/52701)
  141. ## Documentation
  142. * Documentation changes: [#50560](https://github.com/electron/electron/pull/50560), [#51426](https://github.com/electron/electron/pull/51426), [#51559](https://github.com/electron/electron/pull/51559), [#52538](https://github.com/electron/electron/pull/52538), [#52539](https://github.com/electron/electron/pull/52539)

ver en githubimported 2026-09-28 vía npm