Electron: v21.0.0-alpha.1 Release

Release date:
February 8, 2023
Previous version:
v20.3.12 (released February 8, 2023)
Magnitude:
3,096 Diff Delta
Contributors:
17 total committers
Data confidence:
Commits:

245 Features Released with v21.0.0-alpha.1

Top Contributors in v21.0.0-alpha.1

trop[bot]
VerteDinde
jkleinsc
electron-roller[bot]
ppontes
sudowoodo-release-bot[bot]
miniak
mlaurencin
RaisinTen
msizanoen1

Directory Browser for v21.0.0-alpha.1

We haven't yet finished calculating and confirming the files and directories changed in this release. Please check back soon.

Release Notes Published

Note: This is an alpha release. Please file new issues for any bugs you find in it.

This release is published to npm under the alpha tag and can be installed via npm install electron@alpha, or npm install [email protected].

# Release Notes for v21.0.0-alpha.1

Breaking Changes

  • Enabled the V8 memory cage for external buffers. See https://www.electronjs.org/blog/v8-memory-cage for more details. #34724
  • Refactored webContents.printToPDF to align with the Chrome Devtools implementation. #33654
  • Renderers are now sandboxed by default unless nodeIntegration: true or sandbox: false is specified. #32869 <span style="font-size:small;">(Also in 20)</span>

    Features

  • Added immersive dark mode on Windows. #33624 <span style="font-size:small;">(Also in 20)</span>

  • Added support for panel-like behavior. Window can float over full-screened apps. #34388 <span style="font-size:small;">(Also in 20)</span>

  • Added support for push notifications from APNs for macOS apps. #33574

    Fixes

  • Added support for --ozone-platform-hint flag on Linux. #34937 <span style="font-size:small;">(Also in 19, 20)</span>

  • Adds a warning for building native modules with node-gyp and electron-rebuild, encouraging users to upgrade to >=8.4.0 for node-gyp and >=3.2.8 for electron-rebuild if using Electron 20 or higher.. #35159 <span style="font-size:small;">(Also in 20)</span>

  • Do not exit when logging initialization fails. #35138 <span style="font-size:small;">(Also in 20)</span>

  • Enable missing HKDF support in Node.js crypto. #34767

  • Ensures that requestMediaKeySystemAccess eventually resolves / rejects. #34886 <span style="font-size:small;">(Also in 19, 20)</span>

  • Fixed 20.0.0-beta.8 X11 crash regression. #35075 <span style="font-size:small;">(Also in 20)</span>

  • Fixed WCO not responding to touch events on windows. #35117 <span style="font-size:small;">(Also in 18, 19, 20)</span>

  • Fixed _dyld_missing_symbol_abort crash on macOS when using c++ native modules. #34932 <span style="font-size:small;">(Also in 20)</span>

  • Fixed serial-port-added and serial-port-removed events not firing. #34958 <span style="font-size:small;">(Also in 20)</span>

  • Fixed webContents.getUserAgent() incorrectly returning an empty string unless previously set. #35069 <span style="font-size:small;">(Also in 17, 18, 19, 20)</span>

  • Fixed a Windows Control Overlay issue where a window taken directly from minimized to maximized state could have incorrect hover state. #35070 <span style="font-size:small;">(Also in 19, 20)</span>

  • Fixed a crash when calling BrowserWindow.setEnabled(). #34904 <span style="font-size:small;">(Also in 18, 19, 20)</span>

  • Fixed a crash when loading a same-origin URL after a render process crash. #34428 <span style="font-size:small;">(Also in 18, 19, 20)</span>

  • Fixed a performance problem in crashReporter.start() on macOS. #34609 <span style="font-size:small;">(Also in 17, 18, 19, 20)</span>

  • Fixed a potential crash when changing window settings after initializing WCO with an invalid titleBarStyle. #34833 <span style="font-size:small;">(Also in 17, 18, 19, 20)</span>

  • Fixed a potential printing hang. #34892 <span style="font-size:small;">(Also in 20)</span>

  • Fixed alwaysOnTop BrowserWindow option for X11 Linux. #34766 <span style="font-size:small;">(Also in 18, 19, 20)</span>

  • Fixed an error where setWindowOpenHandler() would crash if the callback threw an error. #34523 <span style="font-size:small;">(Also in 17, 18, 19, 20)</span>

  • Fixed an issue in which calling setBounds() after e.preventDefault in a 'will-move' or 'will-resize' event wouldn't change the window's shape until the mouse button was released. #34843 <span style="font-size:small;">(Also in 18, 19, 20)</span>

  • Fixed an issue where BrowserWindows on macOS were incorrectly marked as resizable. #34379 <span style="font-size:small;">(Also in 18, 19, 20)</span>

  • Fixed an issue where DataList bounds had part of the item text cut off vertically. #34759 <span style="font-size:small;">(Also in 19, 20)</span>

  • Fixed an issue where Windows Control Overlay buttons did not respect maximizable/minimizable/closable states of a BrowserWindow. #34677 <span style="font-size:small;">(Also in 17, 18, 19, 20)</span>

  • Fixed an issue where calling BrowserWindow.setRepresentedFilename on macOS with titlebarStyle: 'hiddenInset' or titlebarStyle: 'hidden' inadvertently moves the traffic light location. #34834 <span style="font-size:small;">(Also in 18, 19, 20)</span>

  • Fixed an issue where calling w.setWindowButtonVisibility(true) immediately after exiting fullscreen fails to show window buttons. #34530 <span style="font-size:small;">(Also in 18, 19, 20)</span>

  • Fixed an issue where draggable regions were not recalculated when BrowserView bounds changed on Windows. #34582 <span style="font-size:small;">(Also in 18, 19, 20)</span>

  • Fixed an issue where invalid pageSize values would cause a silent hang and eventual crash. #34893

  • Fixed an issue where invalid print job settings would correctly call back Invalid print settings as the failure reason, but would then not terminate the print job, leading to an eventual crash on exit. #34894 <span style="font-size:small;">(Also in 20)</span>

  • Fixed an issue where media keys would be sent to Electron on Windows no matter which window was in focus. #34594 <span style="font-size:small;">(Also in 19, 20)</span>

  • Fixed an issue where normal bounds would not be appropriately updated if the user minimized with the minimize button. #34473 <span style="font-size:small;">(Also in 18, 19, 20)</span>

  • Fixed an issue where passing { name: 'All Files', extensions: ['*'] } in the filters param of open or save dialogs on Linux would disallow choosing files without an extension. #34496 <span style="font-size:small;">(Also in 18, 19, 20)</span>

  • Fixed an issue where printing with an invalid deviceName on Linux caused silent failures. #34872 <span style="font-size:small;">(Also in 19, 20)</span>

  • Fixed an issue where the minimize button with WCO enabled would incorrectly be highlighted in some cases. #34771 <span style="font-size:small;">(Also in 17, 18, 19, 20)</span>

  • Fixed an issue where zombie windows can be created if window.close() is called during a fullscreen transition. #34378 <span style="font-size:small;">(Also in 17, 18, 19, 20)</span>

  • Fixed an issue with fullscreen transitions when HTML fullscreen is requested. #32905 <span style="font-size:small;">(Also in 19, 20)</span>

  • Fixed child about:blank windows from inheriting their parents' preload scripts when sandbox: false and nodeIntegrationInSubFrames: true. #34531 <span style="font-size:small;">(Also in 20)</span>

  • Fixed context menu not showing all items on macOS when dock is not hidden. #35194 <span style="font-size:small;">(Also in 18, 19)</span>

  • Fixed empty app_id when running under wayland. #34855 <span style="font-size:small;">(Also in 18, 19, 20)</span>

  • Fixed linux arm64 builds to not require glibc 2.29+. #34491 <span style="font-size:small;">(Also in 19, 20)</span>

  • Fixed missing Sec-CH-UA headers and empty navigator.userAgentData. #34481 <span style="font-size:small;">(Also in 17, 18, 19, 20)</span>

  • Fixed native module compilation issues on arm. #34914 <span style="font-size:small;">(Also in 20)</span>

  • Fixed potential crash in WebFrameMain when performing a cross-origin navigation. #34411 <span style="font-size:small;">(Also in 18, 19, 20)</span>

  • Fixed spontaneous crashing in native modules that depended on nan. #34844 <span style="font-size:small;">(Also in 20)</span>

  • Fixed support for Wayland client-side decorations. #34955

  • Fixed symbol generation on 32-bit Windows release builds. #35078 <span style="font-size:small;">(Also in 18, 19, 20)</span>

  • Fixed the 'length' property in UploadFile objects being ignored. #34657

  • None. #34723 <span style="font-size:small;">(Also in 18, 19, 20)</span>

  • Removed the skip-taskbar feature on Linux. #35123 <span style="font-size:small;">(Also in 20)</span>

  • Updated Windows Control Overlay buttons to look and feel more native on Windows 11. #34790 <span style="font-size:small;">(Also in 20)</span>

    Other Changes

  • Added deprecation warning for the new-window event. #34528 <span style="font-size:small;">(Also in 20)</span>

  • Backported fix for v8:13055. #34931

  • Changed release uploads to now upload libcxx objects for MacOS x64 and arm64. #34586

  • Fixed an issue where BrowserViews didn't always visually update after call to setBounds. #34581 <span style="font-size:small;">(Also in 18, 19, 20)</span>

  • On Linux, changed the libgdk-pixbuf dependency to be dynamically linked rather than statically linked. #34077 <span style="font-size:small;">(Also in 18, 19, 20)</span>

  • The undocumented page-title-set webview event has been removed. #34533

  • Updated Chromium to 105.0.5187.0. #34921

  • Updated Node.js to v16.16.0. #34853

  • WebContents for <webview> are now only created after the 'will-attach-webview' event is emitted and preventDefault is not called. #32941 <span style="font-size:small;">(Also in 20)</span>

    Documentation

    • Documentation changes: #34451