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
- 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
Notification.removeNotification.removeAllNotification.removeGroupnet.WebSocketwebContents.setZoomModewebContents.getZoomModewebContents.zoomModewin.setOpacitynativeImagewebContents.debuggerProtocolResponse.urlProtocolResponse.sessionwebContents.reload()render-process-gone eventapp.configureWebAuthntouchID.promptReasonwin.center()process globalsWebAssembly.compileStreaming()WebAssembly.instantiateStreaming()BaseWindow