Change8

v44.0.0-alpha.1

📦 electronView on GitHub →
5 features🐛 20 fixes🔧 21 symbols

Summary

This alpha release introduces new features like WHATWG-compatible WebSocket client in the main process and per-webContents zoom control. It also includes numerous bug fixes across platform-specific window behavior, notifications, and protocol handling.

Migration Steps

  1. If you rely on color profiles in `nativeImage`, be aware that pixel values are now normalized to SRGB upon conversion.

✨ New Features

  • Added Notification.remove(), removeAll(), and removeGroup() static methods for macOS.
  • Added `net.WebSocket`, a WHATWG-compatible WebSocket client for the main process that routes through Chromium's network stack.
  • Added `webContents.setZoomMode(mode)` / `webContents.getZoomMode()` and `webContents.zoomMode` property for per-webContents zoom control.
  • Added support for `win.setOpacity(opacity)` on Linux.
  • On Linux, frameless windows now have rounded corners by default, which can be disabled via `roundedCorners: false` on the window.

🐛 Bug Fixes

  • If a `nativeImage` was passed an image with a color profile, its pixel values will now be normalized to SRGB.
  • Fixed DevTools Network panel missing most requests after navigating when webContents.debugger is attached.
  • Fixed Windows edge case in `NativeWindowViews::MoveBehindTaskBarIfNeeded()`.
  • 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.
  • 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.
  • Fixed a bug on Linux where a 1px line appeared at the top of frameless windows if the window and web contents had different background colors.
  • 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.
  • Fixed a crash on MacOS when a user clicked into a title bar or top view.
  • Fixed a renderer crash when calling `WebAssembly.compileStreaming()` or `WebAssembly.instantiateStreaming()` with `nodeIntegration` enabled.
  • 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.
  • Fixed an issue on Linux where the system theme color appeared at the top edge of frameless windows.
  • Fixed an issue where `process` and other Node globals were undefined in ESM preload scripts when `contextIsolation` was disabled.
  • Fixed an issue where clicking the maximize button could progressively shrink the window in some Wayland environments.
  • Fixed an issue where frameless windows windows could shrink after applying constraints or toggling resizability on Windows.
  • Fixed an issue where the "Toggle Developer Tools" menu item failed to function correctly with BaseWindow.
  • Fixed crash for Notification close.
  • Fixed desktopCapturer thumbnail generation and premature portal timeout on Linux with Wayland.
  • Fixed native addon compilation failure with undefined msvc intrinsic from v8 headers.
  • Fixed running under tsx import transpilation.
  • Fixed sandboxed preload scripts running a stale cached version after the script was modified without its file size changing.

Affected Symbols