Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

dependency(deps): update dependency electron to v24 🌟 #26416

Closed
wants to merge 2 commits into from

Conversation

renovate[bot]
Copy link
Contributor

@renovate renovate bot commented Apr 4, 2023

Mend Renovate

This PR contains the following updates:

Package Change Age Adoption Passing Confidence
electron 21.0.0 -> 24.0.0 age adoption passing confidence

Release Notes

electron/electron

v24.0.0: electron v24.0.0

Compare Source

Release Notes for v24.0.0

Stack Upgrades

Breaking Changes

  • nativeImage.createThumbnailFromPath() now takes size instead of maxSize. #​37796

Features

  • Added httpOnly to the cookie filter. #​37365
  • Added logUsage to shell.openExternal() options, which allows passing the SEE_MASK_FLAG_LOG_USAGE flag to ShellExecuteEx on Windows. #​37291
  • Added types to webRequest filter. #​37427
  • Added several standard page size options to webContents.print(). #​37265 (Also in 22, 23)
  • Added the enableLocalEcho flag to the session handler ses.setDisplayMediaRequestHandler() callback for allowing remote audio input to be echoed in the local output stream when audio is a WebFrameMain. #​37528 (Also in 23)

Fixes

  • Corrects an issue with HTML fullscreen when BrowserWindow fullscreening is disabled. #​37368 (Also in 23)
  • Fixed WebUSB on ARM64 macs. #​37522 (Also in 23)
  • Fixed destroyed event not emitted on close for BrowserView.webContents. #​37450 (Also in 23)
  • Fixed a crash on capturing sources when using desktopCapturer API on Wayland. #​37527 (Also in 23)
  • Fixed a crash when BrowserViews are present and a user attempts to prevent beforeunload in the renderer process. #​37268 (Also in 22, 23)
  • Fixed an incorrect result returned when using secure as a cookies filter. #​37246 (Also in 22, 23)
  • Fixed an issue where BroadcastChannel did not work correctly when contextIsolation: false. #​37443 (Also in 23)
  • Fixed an issue where minWidth/minHeight and maxWidth/maxHeight would not be enforced if the user set an aspectRatio on macOS. #​37456 (Also in 22, 23)
  • Fixed an issue where calling port.postMessage in MessagePortMain with some invalid parameters could cause a crash. #​37726 (Also in 22, 23)
  • Fixed an issue where draggable regions incorrectly captured clicks in framed windows. #​37741 (Also in 23)
  • Fixed an issue where passing both hasReply and actions to a main process Notification on macOS resulted in the first action being obscured and unavailable. #​37449 (Also in 22, 23)
  • Fixed an issue where unhandled rejections could cause duplicate logs in some cases. #​37500 (Also in 22, 23)
  • Fixed an issue with potential dock icon duplication on macOS. #​37625 (Also in 22, 23)
  • Fixed canceling of bluetooth requests when no devices are returned. #​37717 (Also in 23)
  • Fixed draggable regions not working in Mac App Store builds. #​37474 (Also in 23)
  • Fixed issue with BrowserWindow not updating after call to previewFile. #​37578 (Also in 22, 23)
  • Fixed potential private API usage for MAS builds on macOS. #​37364 (Also in 23)
  • Fixed right-click events not being delivered in frameless window draggable regions. #​37395 (Also in 23)
  • Fixed the active background color for top-level menu items on Windows. #​37785
  • Fixed window could not go back to maximized state when restored on Linux. #​37358 (Also in 22, 23)
  • Improved error messages on session.cookies.set failure. #​37597 (Also in 22, 23)
  • Setting the about panel's options no longer crashes. #​37442
  • app.showAboutPanel() no longer blocks the main thread on Windows or Linux, thus matching macOS. #​37508

Other Changes

  • Improved error messages for contents.takeHeapSnapshot. #​37461 (Also in 22, 23)
  • Updated Chromium to 112.0.5615.49. Fixed performance regression. #​37767

Documentation

v23.2.2: electron v23.2.2

Compare Source

Release Notes for v23.2.2

Fixes

  • Fixed an issue where draggable regions incorrectly captured clicks in framed windows. #​37740 (Also in 24)

v23.2.1: electron v23.2.1

Compare Source

Release Notes for v23.2.1
Fixes
  • Fixed an issue where calling port.postMessage in MessagePortMain with some invalid parameters could cause a crash. #​37724 (Also in 22, 24)
  • Fixed canceling of bluetooth requests when no devices are returned. #​37720 (Also in 24)
Other Changes

v23.2.0: electron v23.2.0

Compare Source

Release Notes for v23.2.0

Features

  • Added the enableLocalEcho flag to the session handler ses.setDisplayMediaRequestHandler() callback for allowing remote audio input to be echoed in the local output stream when audio is a WebFrameMain. #​37529 (Also in 24)

Fixes

  • Fixed an issue where BroadcastChannel did not work correctly when contextIsolation: false. #​37444 (Also in 24)
  • Fixed an issue with potential dock icon duplication on macOS. #​37624 (Also in 22, 24)
  • Fixed issue with BrowserWindow not updating after call to previewFile. #​37577 (Also in 22, 24)
  • Improved error messages on session.cookies.set failure. #​37596 (Also in 22, 24)

v23.1.4: electron v23.1.4

Compare Source

Release Notes for v23.1.4

Fixes

  • Fixed an issue where unhandled rejections could cause duplicate logs in some cases. #​37501 (Also in 22, 24)

Other Changes

v23.1.3: electron v23.1.3

Compare Source

Release Notes for v23.1.3
Fixes
  • Fixed WebUSB on ARM64 macs. #​37521 (Also in 24)
  • Fixed a crash on capturing sources when using desktopCapturer API on Wayland. #​37526
Other Changes

v23.1.2: electron v23.1.2

Compare Source

Release Notes for v23.1.2

Fixes

  • Fixed destroyed event not emitted on close for BrowserView.webContents. #​37451 (Also in 24)
  • Fixed an incorrect result returned when using secure as a cookies filter. #​37248 (Also in 22, 24)
  • Fixed an issue where minWidth/minHeight and maxWidth/maxHeight would not be enforced if the user set an aspectRatio on macOS. #​37457 (Also in 22, 24)
  • Fixed an issue where passing both hasReply and actions to a main process Notification on macOS resulted in the first action being obscured and unavailable. #​37448 (Also in 22, 24)
  • Fixed draggable regions not working in Mac App Store builds. #​37473 (Also in 24)
  • Fixed right-click events not being delivered in frameless window draggable regions. #​37394 (Also in 24)

Other Changes

v23.1.1: electron v23.1.1

Compare Source

Release Notes for v23.1.1

Fixes

  • Corrects an issue with HTML fullscreen when BrowserWindow fullscreening is disabled. #​37367 (Also in 24)
  • Fixed potential private API usage for MAS builds on macOS. #​37363 (Also in 24)
  • Fixed window could not go back to maximized state when restored on Linux. #​37359 (Also in 24)

Other Changes

Documentation

v23.1.0: electron v23.1.0

Compare Source

Release Notes for v23.1.0
Features
  • Added several standard page size options to webContents.print(). #​37264 (Also in 22, 24)
Fixes
  • Changed HTML5 Notifications created with the requireInteraction option to not timeout on Linux and Windows. #​36502 (Also in 21, 22)
  • Fixed a crash when BrowserViews are present and a user attempts to prevent beforeunload in the renderer process. #​37267 (Also in 22, 24)
  • Fixed a potential crash in some types of Worklets. #​37081
Other Changes
Documentation

v23.0.0: electron v23.0.0

Compare Source

Release Notes for v23.0.0
Stack Upgrades
Breaking Changes
  • Windows 7, Windows 8, and Windows 8.1 are not supported anymore, as Chromium 110 dropped support. #​36513
Features
  • Added label property to Display objects. #​36933 (Also in 21, 22)
  • Added an app.getPreferredSystemLanguages() API to return the user's system languages. #​36035 (Also in 21, 22)
  • Added new UtilityProcess API to launch chromium child process with node integration. #​34980 (Also in 22)
  • Added support for WebUSB. #​36289
  • Added support for serialPort.forget() as well as a new event serial-port-revoked emitted when a given origin is revoked. #​35310 (Also in 22)
  • Adds new setHiddenInMissionControl API to allow developers to opt out of mission control on macOS. #​36092 (Also in 22)
Fixes
  • Basic accessibility support is now enabled when macOS Voice Control is activated to allow for full voice control of Electron applications. #​37145
  • Fixed a printing crash caused by an uninitialized pref. #​37149
  • Default margin has been added in the code. #​36060 (Also in 21, 22)
  • Doing require('electron/*') where * is not one of main, common or renderer no longer resolves with the built-in electron module. #​35915
  • Enable crashpad for ELECTRON_RUN_AS_NODE processes. #​36460 (Also in 22)
  • Fixed click event and tooltip of Tray not working on Linux. #​36333 (Also in 22)
  • Fixed a crash that could occur when running eval in inline scripts in unsandboxed renderer processes. #​36667 (Also in 22)
  • Fixed a drag-and-drop issue on macOS where items would be incorrectly moved instead of copied in some contexts. #​35963 (Also in 20, 21, 22)
  • Fixed a potential issue when calling webContents.printToPDF(). #​36046 (Also in 21, 22)
  • Fixed a potential memory leak. #​35932 (Also in 21, 22)
  • Fixed an RTL issue that could happen in some locales when calling BrowserWindow.setTrafficLightPosition() on macOS. #​36850 (Also in 21, 22)
  • Fixed an error when fs.readdir gets null for options. #​36848 (Also in 21, 22)
  • Fixed an issue on macOS when trying to switch processes with Cmd+Tab after exiting Kiosk Mode. #​36917 (Also in 21, 22)
  • Fixed an issue where <datalist> elements were improperly positioned within the page. #​36959
  • Fixed an issue where webViews could have an incorrect initial background color following reloads. #​36938 (Also in 21, 22)
  • Fixed an issue where calling app.dock.setIcon(/path/t/icon) would crash when called before the ready event on app. #​36279 (Also in 20, 21, 22)
  • Fixed an issue where frameless non-resizable windows showed a Windows 7 frame during startup. #​35365 (Also in 22)
  • Fixed an issue where some options were incorrectly ignored when using webContents.printToPDF(). #​35975 (Also in 21, 22)
  • Fixed an issue where the setPermissionRequestHandler callback would be invoked twice when using navigator.getUserMedia(...). #​36874 (Also in 22)
  • Fixed an issue with incorrect focus ring highlighting when using dialog.showMessageBox(). #​36803 (Also in 21, 22)
  • Fixed binary stripping for branded release builds on Linux. #​36656 (Also in 21, 22)
  • Fixed missing headers in libcxx_headers bundle. #​36864
  • Fixed on-screen-keyboard not hiding on input rendered in webview is blurred. #​35921 (Also in 20, 21, 22)
  • Fixed race condition during update on macOS that could result in TCC and Keychain errors. #​36130 (Also in 22)
  • Fixed spurious promise rejection in webContents.loadURL when navigating to a hash. #​36129 (Also in 20, 21, 22)
  • Fixed v8 flags and desktop name in package.json does not hornored when running local app using electron cli. #​35997 (Also in 20, 21, 22)
  • Fixed warning about duplicate WebSwapCGLLayer symbols when Electron starts on macOS. #​36799 (Also in 21, 22)
  • Removed plugin helper checks on macOS gated behind enable_plugins buildflag. #​36977 (Also in 22)
  • Removed support for nodeIntegrationInWorker in Service Workers and Shared Workers owing to sandboxing policies. #​35919 (Also in 21, 22)
  • Removed unneeded --turbo-profiling-input argument from mksnapshot_args. #​36378 (Also in 22)
  • The keychain account name for MAS and Darwin builds of the same Electron application now differ. #​35864
  • Use the process cache to reduce the memory for asar file. #​36665 (Also in 21, 22)
  • You can now import the built-in electron module via ESModule loaders, i.e. import('electron') and import 'electron' now work natively. #​35930 (Also in 20, 21, 22)
Other Changes
  • The deprecated incrementCapturerCount() / decrementCapturerCount() methods have been removed. #​37148
  • Updated Chromium to 110.0.5481.77. #​37120
  • Added node-api: handle no support for external buffers. #​36623
  • Enabled out-of-process iframe printing to PDF with webContents.printToPDF().. #​36051 (Also in 22)
  • Removed unneeded --turbo-profiling-input argument from mksnapshot_args for Linux mksnapshot zips. #​36534 (Also in 22)
  • Updated Chromium to 110.0.5481.38. #​36955
  • Updated Node.js to v18.12.1. #​36356
  • Upgraded Node.js to v18.10.0. #​35999
Documentation
Notices
Sunsetting Windows 7/8/8.1

Electron has ended support for Windows 7/8/8.1 in version 23.x.y following Chromium's plan to end support. Older versions of Electron will continue to work, but no further updates will be made for these operating systems.

End of Support for 20.x.y

Electron 20.x.y has reached end-of-support as per the project's support policy. Developers and applications are encouraged to upgrade to a newer version of Electron.

v22.3.5: electron v22.3.5

Compare Source

Release Notes for v22.3.5

Fixes

  • Fixed an issue where calling port.postMessage in MessagePortMain with some invalid parameters could cause a crash. #​37725 (Also in 23, 24)
  • Fixed canceling of bluetooth requests when no devices are returned. #​37739 (Also in 23, 24)

Other Changes

v22.3.4: electron v22.3.4

Compare Source

Release Notes for v22.3.4

Fixes

  • Fixed an issue with potential dock icon duplication on macOS. #​37623 (Also in 23, 24)
  • Fixed issue with BrowserWindow not updating after call to previewFile. #​37576 (Also in 23, 24)
  • Improved error messages on session.cookies.set failure. #​37595 (Also in 23, 24)

Other Changes

v22.3.3: electron v22.3.3

Compare Source

Release Notes for v22.3.3

Fixes

  • Fixed an issue where unhandled rejections could cause duplicate logs in some cases. #​37502 (Also in 23, 24)

Other Changes

v22.3.2: electron v22.3.2

Compare Source

Release Notes for v22.3.2

Fixes

  • Fixed an issue where minWidth/minHeight and maxWidth/maxHeight would not be enforced if the user set an aspectRatio on macOS. #​37458 (Also in 23, 24)
  • Fixed an issue where passing both hasReply and actions to a main process Notification on macOS resulted in the first action being obscured and unavailable. #​37447 (Also in 23, 24)
  • Fixed window could not go back to maximized state when restored on Linux. #​37360 (Also in 23, 24)

Other Changes

  • Improved error messages for contents.takeHeapSnapshot. #​37459 (Also in 23, 24)

v22.3.1: electron v22.3.1

Compare Source

Release Notes for v22.3.1

Other Changes

  • Security: backported fix for chromium:1408392. #​37298

Documentation

v22.3.0: electron v22.3.0

Compare Source

Release Notes for v22.3.0
Features
  • Added several standard page size options to webContents.print(). #​37263 (Also in 23, 24)
Fixes
  • Fixed a crash when BrowserViews are present and a user attempts to prevent beforeunload in the renderer process. #​37266 (Also in 23, 24)
  • Fixed an incorrect result returned when using secure as a cookies filter. #​37247 (Also in 24)
Other Changes

v22.2.1: electron v22.2.1

Compare Source

Release Notes for v22.2.1

Features

  • Whole-program optimization is enabled by default in electron node headers config file. #​37047 (Also in 21, 23)

Fixes

  • Basic accessibility support is now enabled when macOS Voice Control is activated to allow for full voice control of Electron applications. #​37146 (Also in 21, 23)
  • Fixed audio worklet scripts failing to run when nodeIntegrationInWorker: true. #​37102 (Also in 23)

Documentation

v22.2.0: electron v22.2.0

Compare Source

Release Notes for v22.0.0

Stack Upgrades

Breaking Changes

  • Added WebContents input-event event.
    • Deprecated BrowserWindow scroll-touch-* events. #​35531
  • The deprecated new-window event has been removed. #​34526

Features

  • Added LoadBrowserProcessSpecificV8Snapshot as a new fuse that will let the main/browser process load its v8 snapshot from a file at browser_v8_context_snapshot.bin. Any other process will use the same path as is used today. #​35266 (Also in 20, 21)
  • Added WebContents.opener to access window opener.
    • Added webContents.fromFrame(frame) to get the WebContents corresponding to a WebFrameMain instance. #​35140 (Also in 21)
  • Added app.getSystemLocale() method. #​35697 (Also in 21)
  • Added contextBridge.exposeInIsolatedWorld(worldId, key, api) to expose an API to an isolatedWorld within a renderer from a preload script. #​34974
  • Added webContents.close() method. #​35509
  • Added webFrameMain.origin. #​35438 (Also in 19, 20, 21)
  • Added an app.getPreferredSystemLanguages() API to return the user's system languages. #​36291 (Also in 21)
  • Added new UtilityProcess API to launch chromium child process with node integration. #​36089
  • Added new WebContents event content-bounds-updated. #​35533
  • Added new WebContents.ipc and WebFrameMain.ipc APIs. #​34959 (Also in 21)
  • Added support for Web Bluetooth pin pairing on Linux and Windows. #​35416 (Also in 21)
  • Added support for navigator.mediaDevices.getDisplayMedia via a new session handler, ses.setDisplayMediaRequestHandler. #​30702
  • Added support for serialPort.forget() as well as a new event serial-port-revoked emitted when a given origin is revoked. #​36062

Fixes

  • Added support for Webauthn discoverable keys (aka resident keys), allowing users to authenticate without first having to select or type a username. #​35374
  • Enable crashpad for ELECTRON_RUN_AS_NODE processes on linux. #​36483
  • Fixed click event and tooltip of Tray not working on Linux. #​36472
  • Fixed an issue where frameless non-resizable windows showed a Windows 7 frame during startup. #​36024
  • Fixed an issue with incomplete EventEmitter object in sandboxed renderer preload script. #​35522
  • Fixed race condition during update on macOS that could result in TCC and Keychain errors. #​36362
  • Removed unneeded --turbo-profiling-input argument from mksnapshot_args. #​36463
Also in earlier versions...
  • Added a background to the WCO container to avoid rendering glitches. #​35569 (Also in 19, 20, 21)
  • Added support for Windows drop-down dialog extensions. #​35618 (Also in 18, 19, 20, 21)
  • Default margin has been added in the code. #​36073 (Also in 21)
  • Enable WCO maximize button when window enters tablet mode and is not already maximized. #​35617 (Also in 19, 20, 21)
  • Fixed uv_os_gethostname failing on Windows 7. #​35702 (Also in 19, 20, 21)
  • Fixed a bug where calling atob in the renderer process could fail under some circumstances. #​35415 (Also in 19, 20, 21)
  • Fixed a crash that occured when loading non-standard schemes from iframes. #​35485 (Also in 21)
  • Fixed a crash when switching origins with emulation settings set. #​35466 (Also in 21)
  • Fixed a drag-and-drop issue on macOS where items would be incorrectly moved instead of copied in some contexts. #​35976 (Also in 20, 21)
  • Fixed a potential crash on WebWorker destruction. #​35422 (Also in 19, 20, 21)
  • Fixed a potential issue when calling webContents.printToPDF(). #​36065 (Also in 21)
  • Fixed a potential memory leak. #​35964 (Also in 21)
  • Fixed an edge case in app.isInApplicationsFolder() which would return false incorrectly in some cases. #​35636 (Also in 19, 20, 21)
  • Fixed an issue where DevTools could not be docked with Windows Control Overlay enabled. #​35754 (Also in 19, 20, 21)
  • Fixed an issue where WCO could occlude DevTools opened in any non-detached mode. #​35209 (Also in 18, 19, 20, 21)
  • Fixed an issue where screen.getCursorScreenPoint() crashed on Wayland when it was called before a BrowserWindow had been created. #​35503 (Also in 21)
  • Fixed an issue where serialPort.open() failed with NetworkError: Failed to open serial port.. #​35306 (Also in 21)
  • Fixed an issue where app.relaunch loses args when execPath is specified. #​35108 (Also in 19, 20, 21)
  • Fixed an issue where calling app.dock.setIcon(/path/t/icon) would crash when called before the ready event on app. #​36293 (Also in 20, 21)
  • Fixed an issue where frameless resizable windows showed Window 7 style frames while opening. #​35189 (Also in 18, 19, 20, 21)
  • Fixed an issue where frameless windows with roundedCorners: false couldn't enter fullscreen without crashing. #​35421 (Also in 19, 20, 21)
  • Fixed an issue where part of the BrowserView could be cut off when calling setBounds on some windows. #​34713 (Also in 19, 20, 21)
  • Fixed an issue where some options were incorrectly ignored when using webContents.printToPDF(). #​35993 (Also in 21)
  • Fixed crash in renderer when resuming system from sleep. #​35322 (Also in 18, 19, 20, 21)
  • Fixed enable promise support with webFrameMain.executeJavaScript. #​35292 (Also in 20, 21)
  • Fixed issue with history.back() in sandboxed iframes affecting parent browsing context. #​35420 (Also in 19, 20, 21)
  • Fixed on-screen-keyboard not hiding on input rendered in webview is blurred. #​35983 (Also in 20, 21)
  • Fixed session.getBlobData never resolves with blob sizes > 65536. #​35277 (Also in 19, 20, 21)
  • Fixed spurious promise rejection in webContents.loadURL when navigating to a hash. #​36151 (Also in 20, 21)
  • Fixed undefined details.requestingUrl from session.setPermissionCheckHandler. #​35281 (Also in 20, 21)
  • Fixed v8 flags and desktop name in package.json does not hornored when running local app using electron cli. #​36049 (Also in 20, 21)
  • Fixed: If a custom Electron build contains an electron.d.ts file, it is now being used. #​33979 (Also in 20, 21)
  • Picture-In-Picture mode no longer becomes a red rectangle on hover. #​35034 (Also in 19, 20, 21)
  • Provided display_id for desktopCapturer on Linux. #​33861 (Also in [19](https://t

@renovate renovate bot added renovate Triggered by renovatebot type: dependencies labels Apr 4, 2023
@nagash77 nagash77 changed the title dependency: update dependency electron to v24 🌟 chore(dependency): update dependency electron to v24 🌟 Apr 4, 2023
@renovate renovate bot changed the title chore(dependency): update dependency electron to v24 🌟 dependency(deps): update dependency electron to v24 🌟 Apr 8, 2023
@renovate renovate bot force-pushed the renovate/major-24-electron branch from c33c698 to 8089056 Compare April 15, 2023 06:03
@renovate
Copy link
Contributor Author

renovate bot commented Apr 25, 2023

Edited/Blocked Notification

Renovate will not automatically rebase this PR, because it does not recognize the last commit author and assumes somebody else may have edited the PR.

You can manually request rebase by checking the rebase/retry box above.

⚠ Warning: custom changes will be lost.

@nagash77 nagash77 assigned AtofStryker and unassigned mjhenkes Jul 18, 2023
@AtofStryker AtofStryker mentioned this pull request Aug 1, 2023
3 tasks
@AtofStryker
Copy link
Contributor

We will be updating to electron 25 w/ node 18 as there were issues with mksnapshot that were not backpatched, meaning we need to update to 25. This update also required a webpack 5 upgrade from 4, which is now done in develop. The code where this is functioning is https://github.com/cypress-io/cypress/compare/electron_upgrade_wip?expand=1

@AtofStryker
Copy link
Contributor

@MikeMcC399
Copy link
Contributor

@AtofStryker

We will be updating to electron 25 w/ node 18 as there were issues with mksnapshot that were not backpatched, meaning we need to update to 25. This update also required a webpack 5 upgrade from 4, which is now done in develop. The code where this is functioning is https://github.com/cypress-io/cypress/compare/electron_upgrade_wip?expand=1

It would be helpful to have the Electron update in the Roadmap overview as this is an important migration, including the Node.js bump to 18.

$ npx cypress version
Cypress package version: 12.17.4
Cypress binary version: 12.17.4
Electron version: 21.0.0
Bundled Node version:
16.16.0

@nagash77
Copy link
Contributor

@MikeMcC399 good idea to share on the App Priorities board. I have added a ticket there - #27595

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
renovate Triggered by renovatebot type: dependencies
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants