Update dependency electron to v45 [SECURITY] #8
No reviewers
Labels
No labels
bug
deps
deps-major
documentation
duplicate
enhancement
good first issue
help wanted
hold
invalid
question
security
wontfix
No milestone
No project
No assignees
2 participants
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
khyretos/LoquendoBot!8
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "renovate/npm-electron-vulnerability"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
This PR contains the following updates:
^25.9.8→^45.0.0Electron vulnerable to Heap Buffer Overflow in NativeImage
CVE-2024-46993 / GHSA-6r2x-8pq8-9489
More information
Details
Impact
The
nativeImage.createFromPath()andnativeImage.createFromBuffer()functions call a function downstream that is vulnerable to a heap buffer overflow. An Electron program that uses either of the affected functions is vulnerable to a buffer overflow if an attacker is in control of the image's height, width, and contents.Workaround
There are no app-side workarounds for this issue. You must update your Electron version to be protected.
Patches
v28.3.2v29.3.3v30.0.3For More Information
If you have any questions or comments about this advisory, email us at security@electronjs.org.
Severity
CVSS:4.0/AV:L/AC:H/AT:N/PR:L/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N/E:UReferences
This data is provided by OSV and the GitHub Advisory Database (CC-BY 4.0).
Electron has ASAR Integrity Bypass via resource modification
CVE-2025-55305 / GHSA-vmqv-hx8q-j7mg
More information
Details
Impact
This only impacts apps that have the
embeddedAsarIntegrityValidationandonlyLoadAppFromAsarfuses enabled. Apps without these fuses enabled are not impacted.Specifically this issue can only be exploited if your app is launched from a filesystem the attacker has write access too. i.e. the ability to edit files inside the
resourcesfolder in your app installation on Windows which these fuses are supposed to protect against.Workarounds
There are no app side workarounds, you must update to a patched version of Electron.
Fixed Versions
38.0.0-beta.637.3.136.8.135.7.5For more information
If you have any questions or comments about this advisory, email us at security@electronjs.org
Severity
CVSS:3.1/AV:L/AC:L/PR:L/UI:R/S:U/C:L/I:H/A:LReferences
This data is provided by OSV and the GitHub Advisory Database (CC-BY 4.0).
Electron: Out-of-bounds read in second-instance IPC on macOS and Linux
CVE-2026-34776 / GHSA-3c8v-cfp5-9885
More information
Details
Impact
On macOS and Linux, apps that call
app.requestSingleInstanceLock()were vulnerable to an out-of-bounds heap read when parsing a crafted second-instance message. Leaked memory could be delivered to the app'ssecond-instanceevent handler.This issue is limited to processes running as the same user as the Electron app.
Apps that do not call
app.requestSingleInstanceLock()are not affected. Windows is not affected by this issue.Workarounds
There are no app side workarounds, developers must update to a patched version of Electron.
Fixed Versions
41.0.040.8.139.8.138.8.6For more information
If there are any questions or comments about this advisory, please email security@electronjs.org
Severity
CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:N/A:LReferences
This data is provided by OSV and the GitHub Advisory Database (CC-BY 4.0).
Electron: HTTP Response Header Injection in custom protocol handlers and webRequest
CVE-2026-34767 / GHSA-4p4r-m79c-wq3v
More information
Details
Impact
Apps that register custom protocol handlers via
protocol.handle()/protocol.registerSchemesAsPrivileged()or modify response headers viawebRequest.onHeadersReceivedmay be vulnerable to HTTP response header injection if attacker-controlled input is reflected into a response header name or value.An attacker who can influence a header value may be able to inject additional response headers, affecting cookies, content security policy, or cross-origin access controls.
Apps that do not reflect external input into response headers are not affected.
Workarounds
Validate or sanitize any untrusted input before including it in a response header name or value.
Fixed Versions
41.0.340.8.339.8.338.8.6For more information
If there are any questions or comments about this advisory, send an email to security@electronjs.org
Severity
CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:L/I:H/A:NReferences
This data is provided by OSV and the GitHub Advisory Database (CC-BY 4.0).
Electron: AppleScript injection in app.moveToApplicationsFolder on macOS
CVE-2026-34779 / GHSA-5rqw-r77c-jp79
More information
Details
Impact
On macOS,
app.moveToApplicationsFolder()used an AppleScript fallback path that did not properly handle certain characters in the application bundle path. Under specific conditions, a crafted launch path could lead to arbitrary AppleScript execution when the user accepted the move-to-Applications prompt.Apps are only affected if they call
app.moveToApplicationsFolder(). Apps that do not use this API are not affected.Workarounds
There are no app side workarounds, developers must update to a patched version of Electron.
Fixed Versions
41.0.0-beta.840.8.039.8.138.8.6For more information
If there are any questions or comments about this advisory, please email security@electronjs.org
Severity
CVSS:3.1/AV:L/AC:H/PR:N/UI:R/S:U/C:H/I:H/A:LReferences
This data is provided by OSV and the GitHub Advisory Database (CC-BY 4.0).
Electron: Use-after-free in WebContents fullscreen, pointer-lock, and keyboard-lock permission callbacks
CVE-2026-34771 / GHSA-8337-3p73-46f4
More information
Details
Impact
Apps that register an asynchronous
session.setPermissionRequestHandler()may be vulnerable to a use-after-free when handling fullscreen, pointer-lock, or keyboard-lock permission requests. If the requesting frame navigates or the window closes while the permission handler is pending, invoking the stored callback dereferences freed memory, which may lead to a crash or memory corruption.Apps that do not set a permission request handler, or whose handler responds synchronously, are not affected.
Workarounds
Respond to permission requests synchronously, or deny fullscreen, pointer-lock, and keyboard-lock requests if an asynchronous flow is required.
Fixed Versions
41.0.0-beta.840.7.039.8.038.8.6For more information
If there are any questions or comments about this advisory, please email security@electronjs.org
Severity
CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:H/I:H/A:HReferences
This data is provided by OSV and the GitHub Advisory Database (CC-BY 4.0).
Electron: USB device selection not validated against filtered device list
CVE-2026-34766 / GHSA-9899-m83m-qhpj
More information
Details
Impact
The
select-usb-deviceevent callback did not validate the chosen device ID against the filtered list that was presented to the handler. An app whose handler could be influenced to select a device ID outside the filtered set would grant access to a device that did not match the renderer's requestedfiltersor was listed inexclusionFilters.The WebUSB security blocklist remained enforced regardless, so security-sensitive devices on the blocklist were not affected. The practical impact is limited to apps with unusual device-selection logic.
Workarounds
There are no app side workarounds, you must update to a patched version of Electron.
Fixed Versions
41.0.0-beta.840.7.039.8.038.8.6For more information
If there are any questions or comments about this advisory, send an email to security@electronjs.org
Severity
CVSS:3.1/AV:L/AC:H/PR:L/UI:R/S:U/C:L/I:L/A:NReferences
This data is provided by OSV and the GitHub Advisory Database (CC-BY 4.0).
Electron: Use-after-free in download save dialog callback
CVE-2026-34772 / GHSA-9w97-2464-8783
More information
Details
Impact
Apps that allow downloads and programmatically destroy sessions may be vulnerable to a use-after-free. If a session is torn down while a native save-file dialog is open for a download, dismissing the dialog dereferences freed memory, which may lead to a crash or memory corruption.
Apps that do not destroy sessions at runtime, or that do not permit downloads, are not affected.
Workarounds
Avoid destroying sessions while a download save dialog may be open. Cancel pending downloads before session teardown.
Fixed Versions
41.0.0-beta.740.7.039.8.038.8.6For more information
If there are any questions or comments about this advisory, please email security@electronjs.org
Severity
CVSS:3.1/AV:L/AC:H/PR:N/UI:R/S:U/C:H/I:L/A:LReferences
This data is provided by OSV and the GitHub Advisory Database (CC-BY 4.0).
Electron: Renderer command-line switch injection via undocumented commandLineSwitches webPreference
CVE-2026-34769 / GHSA-9wfr-w7mm-pc7f
More information
Details
Impact
An undocumented
commandLineSwitcheswebPreference allowed arbitrary switches to be appended to the renderer process command line. Apps that constructwebPreferencesby spreading untrusted configuration objects may inadvertently allow an attacker to inject switches that disable renderer sandboxing or web security controls.Apps are only affected if they construct
webPreferencesfrom external or untrusted input without an allowlist. Apps that use a fixed, hardcodedwebPreferencesobject are not affected.Workarounds
Do not spread untrusted input into
webPreferences. Use an explicit allowlist of permitted preference keys when constructingBrowserWindoworwebContentsoptions from external configuration.Fixed Versions
41.0.0-beta.840.7.039.8.038.8.6For more information
If there are any questions or comments about this advisory, send an email to security@electronjs.org
Severity
CVSS:3.1/AV:L/AC:H/PR:N/UI:R/S:C/C:H/I:H/A:HReferences
This data is provided by OSV and the GitHub Advisory Database (CC-BY 4.0).
Electron: Unquoted executable path in app.setLoginItemSettings on Windows
CVE-2026-34768 / GHSA-jfqx-fxh3-c62j
More information
Details
Impact
On Windows,
app.setLoginItemSettings({openAtLogin: true})wrote the executable path to theRunregistry key without quoting. If the app is installed to a path containing spaces, an attacker with write access to an ancestor directory may be able to cause a different executable to run at login instead of the intended app.On a default Windows install, standard system directories are protected against writes by standard users, so exploitation typically requires a non-standard install location.
Workarounds
Install the application to a path without spaces, or to a location where all ancestor directories are protected against unauthorized writes.
Fixed Versions
41.0.0-beta.840.8.039.8.138.8.6For more information
If there are any questions or comments about this advisory, send an email to security@electronjs.org
Severity
CVSS:3.1/AV:L/AC:H/PR:H/UI:N/S:U/C:L/I:L/A:LReferences
This data is provided by OSV and the GitHub Advisory Database (CC-BY 4.0).
Electron: Use-after-free in PowerMonitor on Windows and macOS
CVE-2026-34770 / GHSA-jjp3-mq3x-295m
More information
Details
Impact
Apps that use the
powerMonitormodule may be vulnerable to a use-after-free. After the nativePowerMonitorobject is garbage-collected, the associated OS-level resources (a message window on Windows, a shutdown handler on macOS) retain dangling references. A subsequent session-change event (Windows) or system shutdown (macOS) dereferences freed memory, which may lead to a crash or memory corruption.All apps that access
powerMonitorevents (suspend,resume,lock-screen, etc.) are potentially affected. The issue is not directly renderer-controllable.Workarounds
There are no app side workarounds, you must update to a patched version of Electron.
Fixed Versions
41.0.0-beta.840.8.039.8.138.8.6For more information
If there are any questions or comments about this advisory, please email security@electronjs.org
Severity
CVSS:3.1/AV:L/AC:H/PR:N/UI:R/S:U/C:H/I:H/A:HReferences
This data is provided by OSV and the GitHub Advisory Database (CC-BY 4.0).
Electron: Registry key path injection in app.setAsDefaultProtocolClient on Windows
CVE-2026-34773 / GHSA-mwmh-mq4g-g6gr
More information
Details
Impact
On Windows,
app.setAsDefaultProtocolClient(protocol)did not validate the protocol name before writing to the registry. Apps that pass untrusted input as the protocol name may allow an attacker to write to arbitrary subkeys underHKCU\Software\Classes\, potentially hijacking existing protocol handlers.Apps are only affected if they call
app.setAsDefaultProtocolClient()with a protocol name derived from external or untrusted input. Apps that use a hardcoded protocol name are not affected.Workarounds
Validate the protocol name matches
/^[a-zA-Z][a-zA-Z0-9+.-]*$/before passing it toapp.setAsDefaultProtocolClient().Fixed Versions
41.0.040.8.139.8.138.8.6For more information
If there are any questions or comments about this advisory, please email security@electronjs.org
Severity
CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:N/I:H/A:NReferences
This data is provided by OSV and the GitHub Advisory Database (CC-BY 4.0).
Electron: Incorrect origin passed to permission request handler for iframe requests
CVE-2026-34777 / GHSA-r5p7-gp4j-qhrx
More information
Details
Impact
When an iframe requests
fullscreen,pointerLock,keyboardLock,openExternal, ormediapermissions, the origin passed tosession.setPermissionRequestHandler()was the top-level page's origin rather than the requesting iframe's origin. Apps that grant permissions based on the origin parameter orwebContents.getURL()may inadvertently grant permissions to embedded third-party content.The correct requesting URL remains available via
details.requestingUrl. Apps that already checkdetails.requestingUrlare not affected.Workarounds
In your
setPermissionRequestHandler, inspectdetails.requestingUrlrather than the origin parameter orwebContents.getURL()when deciding whether to grantfullscreen,pointerLock,keyboardLock,openExternal, ormediapermissions.Fixed Versions
41.0.040.8.139.8.138.8.6For more information
If there are any questions or comments about this advisory, please email security@electronjs.org
Severity
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:L/I:L/A:NReferences
This data is provided by OSV and the GitHub Advisory Database (CC-BY 4.0).
Electron: Service worker can spoof executeJavaScript IPC replies
CVE-2026-34778 / GHSA-xj5x-m3f3-5x3h
More information
Details
Impact
A service worker running in a session could spoof reply messages on the internal IPC channel used by
webContents.executeJavaScript()and related methods, causing the main-process promise to resolve with attacker-controlled data.Apps are only affected if they have service workers registered and use the result of
webContents.executeJavaScript()(orwebFrameMain.executeJavaScript()) in security-sensitive decisions.Workarounds
Do not trust the return value of
webContents.executeJavaScript()for security decisions. Use dedicated, validated IPC channels for security-relevant communication with renderers.Fixed Versions
41.0.040.8.139.8.138.8.6For more information
If there are any questions or comments about this advisory, please email security@electronjs.org
Severity
CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:L/I:H/A:NReferences
This data is provided by OSV and the GitHub Advisory Database (CC-BY 4.0).
Electron: nodeIntegrationInWorker not correctly scoped in shared renderer processes
CVE-2026-34775 / GHSA-xwr5-m59h-vwqr
More information
Details
Impact
The
nodeIntegrationInWorkerwebPreference was not correctly scoped in all configurations. In certain process-sharing scenarios, workers spawned in frames configured withnodeIntegrationInWorker: falsecould still receive Node.js integration.Apps are only affected if they enable
nodeIntegrationInWorker. Apps that do not usenodeIntegrationInWorkerare not affected.Workarounds
Avoid enabling
nodeIntegrationInWorkerin apps that also open child windows or embed content with differing webPreferences.Fixed Versions
41.0.040.8.439.8.438.8.6For more information
If there are any questions or comments about this advisory, please email security@electronjs.org
Severity
CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:H/I:H/A:NReferences
This data is provided by OSV and the GitHub Advisory Database (CC-BY 4.0).
Electron: Use-after-free in offscreen child window paint callback
CVE-2026-34774 / GHSA-532v-xpq5-8h95
More information
Details
Impact
Apps that use offscreen rendering and allow child windows via
window.open()may be vulnerable to a use-after-free. If the parent offscreenWebContentsis destroyed while a child window remains open, subsequent paint frames on the child dereference freed memory, which may lead to a crash or memory corruption.Apps are only affected if they use offscreen rendering (
webPreferences.offscreen: true) and theirsetWindowOpenHandlerpermits child windows. Apps that do not use offscreen rendering, or that deny child windows, are not affected.Workarounds
Deny child window creation from offscreen renderers in your
setWindowOpenHandler, or ensure child windows are closed before the parent is destroyed.Fixed Versions
41.0.040.7.039.8.1For more information
If there are any questions or comments about this advisory, please email security@electronjs.org
Severity
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:HReferences
This data is provided by OSV and the GitHub Advisory Database (CC-BY 4.0).
Electron: Crash in clipboard.readImage() on malformed clipboard image data
CVE-2026-34781 / GHSA-f37v-82c4-4x64
More information
Details
Impact
Apps that call
clipboard.readImage()may be vulnerable to a denial of service. If the system clipboard contains image data that fails to decode, the resulting null bitmap is passed unchecked to image construction, triggering a controlled abort and crashing the process.Apps are only affected if they call
clipboard.readImage(). Apps that do not read images from the clipboard are not affected. This issue does not allow memory corruption or code execution.Workarounds
Validate that the clipboard contains image data via
clipboard.availableFormats()before callingclipboard.readImage(). Note this only narrows the window — upgrading to a fixed version is recommended.Fixed Versions
42.0.0-alpha.541.1.040.8.539.8.5For more information
If you have any questions or comments about this advisory, email us at security@electronjs.org
Severity
CVSS:3.1/AV:L/AC:L/PR:L/UI:R/S:U/C:N/I:N/A:LReferences
This data is provided by OSV and the GitHub Advisory Database (CC-BY 4.0).
Electron: Named window.open targets not scoped to the opener's browsing context
CVE-2026-34765 / GHSA-f3pv-wv63-48x8
More information
Details
Impact
When a renderer calls
window.open()with a target name, Electron did not correctly scope the named-window lookup to the opener's browsing context group. A renderer could navigate an existing child window that was opened by a different, unrelated renderer if both used the same target name. If that existing child was created with more permissivewebPreferences(viasetWindowOpenHandler'soverrideBrowserWindowOptions), content loaded by the second renderer inherits those permissions.Apps are only affected if they open multiple top-level windows with differing trust levels and use
setWindowOpenHandlerto grant child windows elevatedwebPreferencessuch as a privileged preload script. Apps that do not elevate child window privileges, or that use a single top-level window, are not affected.Apps that additionally grant
nodeIntegration: trueorsandbox: falseto child windows (contrary to the security recommendations) may be exposed to arbitrary code execution.Workarounds
Deny
window.open()in renderers that load untrusted content by returning{ action: 'deny' }fromsetWindowOpenHandler. Avoid granting child windows more permissivewebPreferencesthan their opener.Fixed Versions
42.0.0-alpha.541.1.040.8.539.8.5For more information
If you have any questions or comments about this advisory, email us at security@electronjs.org
Severity
CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:C/C:L/I:L/A:LReferences
This data is provided by OSV and the GitHub Advisory Database (CC-BY 4.0).
Electron: shell.openPath path validation bypass via embedded null byte
CVE-2026-70603 / GHSA-5c9j-mhmv-5xgx
More information
Details
Impact
shell.openPath()did not reject paths containing embedded null bytes. Apps that perform string-only validation of file paths (for example, checking the file extension) before passing them toshell.openPath()could be bypassed, allowing an attacker-controlled path to open a different file than the one that passed validation.Apps are only affected if they pass paths derived from untrusted input to
shell.openPath()and rely on string-based validation without a filesystem check. Node'sfsAPIs already reject paths containing null bytes, so apps that callfs.existsSync(),fs.stat(), or similar beforeshell.openPath()are not affected. Apps that do not callshell.openPath()with untrusted input are not affected.Workarounds
Reject any path containing a null byte before passing it to
shell.openPath():Fixed Versions
42.0.0-beta.141.1.140.9.039.8.6For more information
If you have any questions or comments about this advisory, email us at security@electronjs.org
Severity
CVSS:3.1/AV:L/AC:H/PR:L/UI:R/S:U/C:H/I:H/A:NReferences
This data is provided by OSV and the GitHub Advisory Database (CC-BY 4.0).
Electron: DevTools JavaScript Injection via Unsanitized Dock State Parameter
CVE-2026-70609 / GHSA-4f78-qhmw-8j8m
More information
Details
Impact
The
modeoption ofwebContents.openDevTools()was not sanitized before use by the DevTools frontend. If an attacker can influence this value, script under their control may run in the DevTools context, which in unsandboxed configurations has access to Node.js.Apps are only affected if untrusted input can reach the
modeargument ofopenDevTools(), or if untrusted content can callopenDevTools()on a<webview>it embeds. Apps that only ever pass a fixed dock mode are not affected.Workarounds
Only pass fixed, allowlisted values (
right,bottom,undocked,detach) as the DevToolsmode, and do not exposeopenDevToolsto untrusted content.Fixed Versions
42.0.0-beta.141.2.040.9.039.8.7For more information
If you have any questions or comments about this advisory, email Electron at security@electronjs.org
Severity
CVSS:3.1/AV:N/AC:H/PR:H/UI:R/S:U/C:H/I:H/A:NReferences
This data is provided by OSV and the GitHub Advisory Database (CC-BY 4.0).
Electron: Permission Check Handler Receives Main Frame Origin Instead of Requesting Iframe Origin
CVE-2026-70599 / GHSA-9pf5-hg6p-4pwp
More information
Details
Impact
For serial-port and media (camera / microphone) permission checks made from an iframe, the
requestingOriginpassed tosession.setPermissionCheckHandlerwas the top-level frame's origin rather than the requesting frame's. Origin-based handler logic could therefore grant a cross-origin iframe device access intended only for the top-level origin.Apps are only affected if they use
setPermissionCheckHandlerwith origin-based logic and embed cross-origin iframes with delegated device permissions. Apps that base the decision ondetails.securityOrigin, or that do not embed such iframes, are not affected.Workarounds
Check
details.securityOrigininstead ofrequestingOriginfor these permissions, or do not delegate device permissions to untrusted iframes.Fixed Versions
42.0.0-beta.141.2.040.9.039.8.7For more information
If you have any questions or comments about this advisory, email Electron at security@electronjs.org
Severity
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:N/A:NReferences
This data is provided by OSV and the GitHub Advisory Database (CC-BY 4.0).
Electron: Parent process code-sign check is spoofable
CVE-2026-70597 / GHSA-jm7p-cc5g-qwxx
More information
Details
Impact
On macOS, the check Electron uses to confirm it was launched by a same-signed parent process could be bypassed by a local process. Apps that enable the fuse-based hardening restricting
ELECTRON_RUN_AS_NODEandNODE_OPTIONSto same-signed parents rely on this check; a local attacker could bypass it and run their own code inside the signed app, inheriting its TCC permissions and keychain access.Apps are only affected if they enable those macOS fuse-based restrictions. Apps that do not enable them are not affected.
Workarounds
There are no app side workarounds, you must update to a patched version of Electron.
Fixed Versions
42.0.0-beta.341.2.140.9.039.8.8For more information
If you have any questions or comments about this advisory, email us at security@electronjs.org
Severity
CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:NReferences
This data is provided by OSV and the GitHub Advisory Database (CC-BY 4.0).
Electron: Extension tab APIs operate across session boundaries
CVE-2026-70602 / GHSA-m55f-7gqj-fr98
More information
Details
Impact
Extension tab and scripting APIs were not scoped to the extension's own
session. A malicious or compromised extension loaded into one session could navigate, script, and read from windows belonging to a different session.Apps are only affected if they load Chrome extensions via
session.loadExtensionand rely on separate sessions to isolate that extension from other content. Apps that do not load extensions, or that use a single session, are not affected.Workarounds
Only load extensions from sources you trust; do not rely on session separation alone to contain an extension.
Fixed Versions
42.0.0-beta.341.2.140.9.039.8.8For more information
If you have any questions or comments about this advisory, email Electron at security@electronjs.org
Severity
CVSS:3.1/AV:N/AC:H/PR:H/UI:N/S:C/C:H/I:L/A:NReferences
This data is provided by OSV and the GitHub Advisory Database (CC-BY 4.0).
Electron: Sandboxed iframes can launch external protocol handlers
CVE-2026-70612 / GHSA-p2rr-rvmm-c5fp
More information
Details
Impact
Requests to open external protocol URLs from web content did not take iframe sandbox restrictions into account, so a sandboxed iframe could cause an OS-registered external application to be launched. The frame's sandbox state was also not made available to the app's permission handlers.
Apps are only affected if they render untrusted content in sandboxed iframes and grant the
openExternalpermission (granted by default when nosetPermissionRequestHandleris installed). Apps whose permission handler deniesopenExternalfor untrusted content are not affected.Workarounds
Install a
setPermissionRequestHandlerthat denies theopenExternalpermission for untrusted content.Fixed Versions
42.0.0-beta.341.2.140.9.039.8.8For more information
If you have any questions or comments about this advisory, email Electron at security@electronjs.org
Severity
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:C/C:L/I:L/A:NReferences
This data is provided by OSV and the GitHub Advisory Database (CC-BY 4.0).
Electron: HTTP redirect followed into local file loader
CVE-2026-70605 / GHSA-v64r-4m7r-3mvq
More information
Details
Impact
When following HTTP redirects,
net.fetch()andnet.request()did not restrict which schemes a redirect could target. A remote server could redirect a request to a local resource, and if the app returns or forwards the response body, local file contents could be disclosed.Apps are only affected if they make
netrequests to attacker-influenced URLs with redirects followed (the default) and expose the response body. Apps that only request fixed, trusted URLs are not affected.Workarounds
Set
redirect: 'error'orredirect: 'manual'on requests to untrusted URLs and validate any redirect target before following it.Fixed Versions
42.0.0-beta.341.2.140.9.039.8.8For more information
If you have any questions or comments about this advisory, email Electron at security@electronjs.org
Severity
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:N/A:NReferences
This data is provided by OSV and the GitHub Advisory Database (CC-BY 4.0).
Electron: window.open features string controls some window options considered privileged
CVE-2026-70607 / GHSA-v93f-fgjr-hjrj
More information
Details
Impact
Some window options supplied by web content in the
window.open()features string were applied to the newBrowserWindowwithout an allowlist. Untrusted content could set window options it should not control, including options that cause the main process to access attacker-chosen file or network paths.Apps are only affected if untrusted content can call
window.open()and the app does not override child window options viasetWindowOpenHandler. Apps that denywindow.open()for untrusted content, or setoverrideBrowserWindowOptionsexplicitly, are not affected.Workarounds
Return
{ action: 'deny' }fromsetWindowOpenHandlerfor untrusted content, or supplyoverrideBrowserWindowOptionsso every window option is set explicitly.Fixed Versions
42.0.0-beta.341.2.140.9.039.8.8For more information
If you have any questions or comments about this advisory, email Electron at security@electronjs.org
Severity
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:NReferences
This data is provided by OSV and the GitHub Advisory Database (CC-BY 4.0).
Electron: Cross-origin iframe can position native autofill popup
CVE-2026-70600 / GHSA-x8rc-wpg4-grpf
More information
Details
Impact
The native autofill popup could be positioned by a cross-origin iframe outside that iframe's bounds, over the embedding page's UI, enabling clickjacking or spoofing of trusted UI.
Apps are only affected if they embed untrusted content in iframes within windows that also display trusted UI. Apps that do not embed untrusted third-party content are not affected.
Workarounds
Do not embed untrusted content in iframes inside windows that display trusted UI.
Fixed Versions
42.0.0-beta.341.2.140.9.039.8.8For more information
If you have any questions or comments about this advisory, email Electron at security@electronjs.org
Severity
CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:N/I:L/A:NReferences
This data is provided by OSV and the GitHub Advisory Database (CC-BY 4.0).
Electron: DevTools embedder handler executes arbitrary files via shell open
CVE-2026-70611 / GHSA-f2r8-jv7c-xqmp
More information
Details
Impact
The DevTools "reveal in file manager" action could launch the target file rather than reveal it. An attacker with a separate means of running script inside the DevTools frontend (such as a malicious DevTools extension) could use this to execute native code outside the sandbox.
Apps are only affected if DevTools is opened for windows exposed to untrusted content or untrusted DevTools extensions. Apps that do not open DevTools in that context are not affected.
Workarounds
Do not open DevTools for windows that load untrusted content, and do not load untrusted DevTools extensions.
Fixed Versions
42.0.0-beta.341.2.140.9.239.8.9For more information
If you have any questions or comments about this advisory, email Electron at security@electronjs.org
Severity
CVSS:3.1/AV:L/AC:H/PR:H/UI:R/S:C/C:H/I:H/A:NReferences
This data is provided by OSV and the GitHub Advisory Database (CC-BY 4.0).
Electron: contextBridge object copy honors prototype setters
CVE-2026-70610 / GHSA-ff2p-hmqr-hxm4
More information
Details
Impact
Objects copied across the
contextBridgeboundary from untrusted content could carry an attacker-influenced prototype, enabling prototype-pollution-style attacks against preload code despite context isolation being enabled.Apps are only affected if their preload code accepts object arguments from untrusted content and reads properties from them without own-property checks. Apps that only accept primitive arguments, or that validate object arguments, are not affected.
Workarounds
Validate objects received from untrusted content with own-property checks (
Object.hasOwn), or copy them onto a null-prototype object before use.Fixed Versions
42.0.0-beta.441.2.240.9.239.8.9For more information
If you have any questions or comments about this advisory, email Electron at security@electronjs.org
Severity
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:C/C:L/I:L/A:NReferences
This data is provided by OSV and the GitHub Advisory Database (CC-BY 4.0).
Electron: Context isolation bypass via Function.prototype.bind hijack
CVE-2026-70601 / GHSA-h7rp-cf8h-j98x
More information
Details
Impact
Apps that expose Promise-returning functions to web content via
contextBridgemay be vulnerable to a context isolation bypass. Untrusted web content could obtain access to the isolated preload world and, through it, every capability the preload script has. In renderers without a sandbox, or withnodeIntegrationenabled, this may escalate to Node.js access.Apps are affected if they expose Promise-returning functions via
contextBridge— the standard pattern for wrappingipcRenderer.invoke— in windows that load untrusted content. Apps that never load untrusted content in those windows are not affected.Workarounds
There are no app side workarounds, you must update to a patched version of Electron.
Fixed Versions
42.0.0-beta.541.2.240.9.239.8.9For more information
If you have any questions or comments about this advisory, email Electron at security@electronjs.org
Severity
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:C/C:H/I:L/A:NReferences
This data is provided by OSV and the GitHub Advisory Database (CC-BY 4.0).
Electron: Sandboxed iframe can bypass the allow-popups restriction via the OpenURL navigation path
CVE-2026-70608 / GHSA-9f4c-93c8-jc8g
More information
Details
Impact
A sandboxed iframe without the
allow-popupskeyword could still open a new window (or triggersetWindowOpenHandler) with no user interaction, because new-window navigations taking the OpenURL path did not apply the iframe sandbox popup restriction.Apps that embed untrusted content in sandboxed iframes and rely on the absence of
allow-popupsto prevent window creation are affected. Apps that deny window creation insetWindowOpenHandler, or that do not embed untrusted content in sandboxed iframes, are not affected.Workarounds
Return
{ action: 'deny' }fromsetWindowOpenHandlerfor any content you do not trust, rather than relying on the iframe sandbox alone.Fixed Versions
42.0.141.10.339.8.10For more information
If you have any questions or comments about this advisory, email Electron at security@electronjs.org
Severity
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:L/I:L/A:NReferences
This data is provided by OSV and the GitHub Advisory Database (CC-BY 4.0).
Electron: Off-screen rendering trusts GPU-supplied geometry over shared-memory size
CVE-2026-70598 / GHSA-pfmc-3mgc-p6fp
More information
Details
Impact
In offscreen rendering mode, frame data received from the GPU process was not fully validated by the main process. A compromised GPU process could cause the main process to read out-of-bounds memory while producing
paintevent images, disclosing memory or crashing the app.Apps are only affected if they use offscreen rendering (
webPreferences.offscreen) and an attacker has separately gained code execution in the GPU process. Apps that do not use offscreen rendering are not affected.Workarounds
There are no app side workarounds, you must update to a patched version of Electron.
Fixed Versions
42.0.0-beta.341.2.140.9.039.8.10For more information
If you have any questions or comments about this advisory, email us at security@electronjs.org
Severity
CVSS:3.1/AV:L/AC:H/PR:H/UI:N/S:C/C:L/I:N/A:LReferences
This data is provided by OSV and the GitHub Advisory Database (CC-BY 4.0).
Electron: Custom protocol with supportFetchAPI but not corsEnabled allows cross-origin reads
CVE-2026-70604 / GHSA-v3j7-r9gq-3gjw
More information
Details
Impact
A custom scheme registered with
supportFetchAPI: truebut withoutcorsEnabled: truewas not subject to CORS enforcement. A page loaded from a remote origin could thereforefetch()orXMLHttpRequestthat scheme cross-origin and read the full response body, rather than the read being blocked.Apps that serve sensitive data from such a scheme and load remote or untrusted content in a renderer are affected. Apps that set
corsEnabled: true, or that do not load untrusted content, are not affected.Workarounds
Set
corsEnabled: trueon schemes that must enforce CORS, and validate the requestOriginin your protocol handler before returning sensitive data.Fixed Versions
42.0.041.4.040.9.339.8.10For more information
If you have any questions or comments about this advisory, email Electron at security@electronjs.org
Severity
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:H/I:N/A:NReferences
This data is provided by OSV and the GitHub Advisory Database (CC-BY 4.0).
Electron: Local race condition in Squirrel.Mac update installation on macOS
CVE-2026-102672 / GHSA-vv43-5jgx-7qv8
More information
Details
Impact
On macOS, Electron bundles the Squirrel.Mac auto-update framework, whose privileged
ShipIthelper performs the final step of an update as root. A local attacker could cause that helper to overwrite a different application's files, as root, instead of the app that started the update. Exploitation requires local access to the machine.Apps are only affected on macOS if they ship Squirrel.Mac-based auto-updates. Apps on other platforms, or that do not use Squirrel.Mac auto-updates, are not affected.
Workarounds
There are no app side workarounds, you must update to a patched version of Electron.
Fixed Versions
42.0.0-beta.241.10.539.8.10For more information
If you have any questions or comments about this advisory, email us at security@electronjs.org
Severity
CVSS:3.1/AV:L/AC:H/PR:L/UI:R/S:U/C:H/I:H/A:HReferences
This data is provided by OSV and the GitHub Advisory Database (CC-BY 4.0).
Electron drops inherited HTML sandbox restrictions for popups opened through OpenURLFromTab
CVE-2026-102673 / GHSA-hq2x-r82h-9wj4
More information
Details
Impact
Popups opened from a sandboxed iframe through a link (for example
target="_blank"or a middle-click) did not inherit the iframe's HTMLsandboxrestrictions. Content that was meant to run sandboxed could open a popup with the embedding app's full origin, gaining access to that origin's cookies, storage, and same-origin scripting.Apps are only affected if they embed untrusted content in iframes sandboxed with
allow-scripts allow-popups. Apps that do not embed untrusted content in sandboxed iframes are not affected.Workarounds
Use
setWindowOpenHandleron the parentWebContentsto deny or constrain popups opened from sandboxed frames, or do not applyallow-popupsto sandboxed iframes that render untrusted content.Fixed Versions
43.0.042.5.241.10.4For more information
If you have any questions or comments about this advisory, email us at security@electronjs.org
Severity
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:H/I:L/A:NReferences
This data is provided by OSV and the GitHub Advisory Database (CC-BY 4.0).
Electron: can enable Node.js integration in Web Workers despite embedder restrictions
CVE-2026-102676 / GHSA-9qh4-3jw8-366w
More information
Details
Impact
A
<webview>could enable Node.js integration in its Web Workers even when its embedder had Node.js integration disabled, giving guest content more privilege than the embedder allowed.Apps are only affected if they enable the
<webview>tag and the embedder is unsandboxed. Apps that do not use<webview>, or that keep the embedder sandboxed, are not affected.Workarounds
Remove
nodeIntegrationInWorkerfrom the guest preferences in awill-attach-webviewhandler, or do not enable the<webview>tag when loading untrusted content.Fixed Versions
44.0.0-beta.543.4.142.9.241.10.6For more information
If you have any questions or comments about this advisory, email us at security@electronjs.org
Severity
CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:C/C:H/I:H/A:HReferences
This data is provided by OSV and the GitHub Advisory Database (CC-BY 4.0).
Electron: Windows opened from a sandboxed top-level document do not inherit its sandbox restrictions
CVE-2026-102674 / GHSA-gr2m-v5gq-v685
More information
Details
Impact
Windows opened from a sandboxed top-level document did not inherit that document's HTML
sandboxrestrictions, so content that was meant to run sandboxed could open a window with the app's full origin. GHSA-hq2x-r82h-9wj4 covers the same issue for sandboxed iframes.Apps are only affected if they render untrusted content in a sandboxed top-level document that allows popups. Apps that deny popups from untrusted content with
setWindowOpenHandlerare not affected.Workarounds
Return
{ action: 'deny' }fromsetWindowOpenHandlerfor windows opened by untrusted content.Fixed Versions
44.0.0-beta.543.4.142.9.241.10.6For more information
If you have any questions or comments about this advisory, email us at security@electronjs.org
Severity
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:H/I:L/A:NReferences
This data is provided by OSV and the GitHub Advisory Database (CC-BY 4.0).
Electron: File and HTTP protocol handlers allow cross-origin reads without corsEnabled
CVE-2026-102675 / GHSA-j84w-jfhq-vhvj
More information
Details
Impact
Responses served through
protocol.registerFileProtocolorprotocol.registerHttpProtocolfor a custom scheme registered withsupportFetchAPI: truebut withoutcorsEnabled: truecould be read cross-origin by web content. This completes the fix for CVE-2026-70604.Apps are only affected if they register such a scheme, serve it through one of those handlers, and load untrusted content. Apps that set
corsEnabled: true, or that do not load untrusted content, are not affected.Workarounds
Set
corsEnabled: trueon the scheme, or do not load untrusted content in windows that can reach it.Fixed Versions
44.0.0-beta.543.4.142.9.241.10.6For more information
If you have any questions or comments about this advisory, email us at security@electronjs.org
Severity
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:H/I:N/A:NReferences
This data is provided by OSV and the GitHub Advisory Database (CC-BY 4.0).
Electron: Extension tabs.query returns tab URLs and titles without the tabs permission
CVE-2026-113797 / GHSA-98mx-cjp9-gchm
More information
Details
Impact
chrome.tabs.query()returned each tab'surlandtitleto extensions that held neither thetabspermission nor matching host permissions, so any loaded extension could read the URL and title of every webContents in its session.Apps are only affected if they load extensions (
session.extensions.loadExtension) that they do not fully trust. Apps that load no extensions, or only trusted ones, are not affected.Workarounds
Do not load untrusted or unvalidated extensions. In general you should only load trusted extensions.
Fixed Versions
45.0.0-alpha.444.1.143.5.142.11.1For more information
If you have any questions or comments about this advisory, email us at security@electronjs.org
Severity
CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:L/I:N/A:NReferences
This data is provided by OSV and the GitHub Advisory Database (CC-BY 4.0).
Electron: SameSite cookie restrictions are not applied to windows opened from links
CVE-2026-113796 / GHSA-2p8c-gr87-2676
More information
Details
Impact
Pages opened into a new window from a link were loaded as if the app itself had navigated there rather than the page that contained the link, so the request was treated as same-site:
SameSite=Strictcookies were sent andSec-Fetch-Sitedid not identify the initiating page. Content shown in the app could use this to make a credentialed top-level request to another site that relies on SameSite cookies as a CSRF defence.Apps are only affected if they load untrusted content and allow it to open new windows. Apps that deny new windows from untrusted content with
setWindowOpenHandlerare not affected.Workarounds
Return
{ action: 'deny' }fromsetWindowOpenHandlerfor windows opened by untrusted content.Fixed Versions
45.0.0-alpha.644.3.043.7.042.11.3For more information
If you have any questions or comments about this advisory, email us at security@electronjs.org
Severity
CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:L/I:L/A:NReferences
This data is provided by OSV and the GitHub Advisory Database (CC-BY 4.0).
Electron: openExternal permission requests can be attributed to the wrong origin
CVE-2026-114121 / GHSA-997q-gvvc-jwmx
More information
Details
Impact
Requests to open external protocol URLs could be attributed to a document other than the one that asked for them, so the
requestingUrlpassed tosession.setPermissionRequestHandlerwas a trusted origin for a launch untrusted content had requested. An origin-based handler could therefore let untrusted content launch an OS-registered external application.Apps are only affected if they grant
openExternalbased on the requesting origin and let untrusted content open or navigate windows. Apps whose permission handler deniesopenExternalfor untrusted content are not affected.Workarounds
Deny the
openExternalpermission for untrusted content, or deny the windows it opens withsetWindowOpenHandler.Fixed Versions
45.0.0-alpha.544.3.043.7.042.11.3For more information
If you have any questions or comments about this advisory, email us at security@electronjs.org
Severity
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:C/C:L/I:L/A:NReferences
This data is provided by OSV and the GitHub Advisory Database (CC-BY 4.0).
Electron: HID and USB permission checks can be attributed to the wrong origin
CVE-2026-113800 / GHSA-fw47-9c62-h3vw
More information
Details
Impact
For
hidandusbpermission checks made from an iframe,session.setPermissionCheckHandlerwas given the top-level frame's origin and details instead of the requesting frame's. Apps that allow these permissions based on origin could grant an embedded frame access intended for the top-level page.You're only affected if you use
setPermissionCheckHandlerwith origin-based logic forhidorusband embed cross-origin iframes withallow="hid"orallow="usb". Apps that don't delegate those features to untrusted iframes are not affected.Workarounds
Don't add
allow="hid"/allow="usb"to untrusted iframes, or make the decision in yourselect-hid-device/select-usb-devicehandler usingdetails.frame.Fixed Versions
45.0.0-alpha.544.3.043.7.042.11.3For more information
If you have any questions or comments about this advisory, email us at security@electronjs.org
Severity
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:C/C:L/I:L/A:NReferences
This data is provided by OSV and the GitHub Advisory Database (CC-BY 4.0).
Electron: Frame subscription trusts GPU-supplied frame geometry
CVE-2026-114122 / GHSA-3qxv-5xgr-q7w9
More information
Details
Impact
Frame data received from the GPU process for
webContents.beginFrameSubscriptionwas not fully validated by the main process. A compromised GPU process could cause the main process to read out-of-bounds memory while producing the captured frame images, disclosing memory or crashing the app.Apps are only affected if they use
webContents.beginFrameSubscriptionand an attacker has separately gained code execution in the GPU process. Apps that do not subscribe to captured frames are not affected.Workarounds
There are no app side workarounds, you must update to a patched version of Electron.
Fixed Versions
45.0.0-alpha.944.4.343.7.342.11.6For more information
If you have any questions or comments about this advisory, email us at security@electronjs.org
Severity
CVSS:3.1/AV:L/AC:H/PR:H/UI:N/S:C/C:L/I:N/A:LReferences
This data is provided by OSV and the GitHub Advisory Database (CC-BY 4.0).
Electron: Off-screen rendering on macOS trusts GPU-supplied frame geometry
CVE-2026-114124 / GHSA-h3v5-h239-pg29
More information
Details
Impact
In offscreen rendering mode on macOS, frame data received from the GPU process was not fully validated by the main process. A compromised GPU process could cause the main process to read out-of-bounds memory while producing
paintevent images, disclosing memory or crashing the app. GHSA-pfmc-3mgc-p6fp covers the same issue on the other capture paths.Apps are only affected if they use offscreen rendering (
webPreferences.offscreen) on macOS and an attacker has separately gained code execution in the GPU process. Apps that do not use offscreen rendering are not affected.Workarounds
There are no app side workarounds, you must update to a patched version of Electron.
Fixed Versions
45.0.0-alpha.944.4.343.7.342.11.6For more information
If you have any questions or comments about this advisory, email us at security@electronjs.org
Severity
CVSS:3.1/AV:L/AC:H/PR:H/UI:N/S:C/C:L/I:N/A:LReferences
This data is provided by OSV and the GitHub Advisory Database (CC-BY 4.0).
Electron: Pointer lock permission requests can be attributed to the wrong frame
CVE-2026-113798 / GHSA-x562-297c-g43g
More information
Details
Impact
For
pointerLockpermission requests made from some cross-origin iframes,session.setPermissionRequestHandler()was given the top-level frame'srequestingUrlandisMainFrameinstead of the requesting frame's. Apps that grant pointer lock based on the requesting origin could grant it to embedded content under the top-level page's identity.Apps are only affected if they embed untrusted content in iframes and decide
pointerLockrequests by origin insetPermissionRequestHandler. Apps that do not embed untrusted content, or that denypointerLockfor it, are not affected.Workarounds
Deny the
pointerLockpermission for web contents that embed untrusted frames.Fixed Versions
45.0.0-alpha.1344.5.043.7.642.11.9For more information
If you have any questions or comments about this advisory, email us at security@electronjs.org
Severity
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:L/A:LReferences
This data is provided by OSV and the GitHub Advisory Database (CC-BY 4.0).
Electron: Mitigation for compromised eMudhra intermediate certificates
CVE-2026-115570 / GHSA-jr5w-w6x2-84p9
More information
Details
Impact
A set of eMudhra intermediate certificates were compromised and are being blocked by browsers and other TLS clients. This Electron update adds the same block to both Chromium networking and Node.js
tls,httpsandfetch. On earlier versions, an attacker holding a certificate issued through these intermediates and able to intercept network traffic could impersonate a TLS server to an app.Apps are only affected if they make TLS connections over a network an attacker can intercept. Apps that make no network connections are not affected.
Other software has shipped the same mitigation, including Go (CVE-2026-111943) and Firefox (CVE-2026-113470).
Workarounds
There are no app side workarounds, you must update to a patched version of Electron.
Fixed Versions
45.0.0-beta.644.9.143.8.142.11.16For more information
If you have any questions or comments about this advisory, email us at security@electronjs.org
Severity
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:NReferences
This data is provided by OSV and the GitHub Advisory Database (CC-BY 4.0).
Release Notes
electron/electron (electron)
v45.2.1: electron v45.2.1Compare Source
Release Notes for v45.2.1
Other Changes
v45.2.0: electron v45.2.0Compare Source
Release Notes for v45.2.0
Features
Menu.setHighlightColors()to set menu highlight colors on Windows. #55493 (Also in 46)chrome.storage.syncin extensions. It behaves as a second local storage area with Chrome's sync quotas; there is no cross-device sync. #55253Fixes
window.openfeature strings. #55499 (Also in 46)webContents.adjustSelection()ignoring theendoption. #55462 (Also in 44, 46)Performance Improvements
net.fetch()requests without a body. #55446 (Also in 43, 44, 46)net.fetch()calls forfile:URLs. #55459 (Also in 44, 46)Other Changes
v45.1.0: electron v45.1.0Compare Source
Release Notes for v45.1.0
Features
session.registerPreloadScript-matches,excludeMatches,includeGlobs,excludeGlobs,matchOriginAsFallback. #55181 (Also in 44)Fixes
onSendHeadersobserved Blob uploads. #55169 (Also in 44)chrome.webRequestevents reporting atabIdof-1andchrome.declarativeNetRequestrules restricted to tabs never matching. #55283 (Also in 46)session.clearStorageData()unregistering the service workers of loaded extensions.chrome.managementmethods and events being unavailable to extensions with themanagementpermission.__MSG_*__placeholders not being localized in extension stylesheets.chrome.alarmsand content scripts registered withpersistAcrossSessionsnot persisting across app restarts..git/hookswrites and hypervisor UNC shares. #55329Menu.popup()on macOS sometimes not showing a menu after another closed. #55326 (Also in 44, 46)protocol.registerSourceschemes not applying the same fetch rules asprotocol.handleschemes. #55178 (Also in 44)chrome.webRequestlistener. #55271 (Also in 46)utilityProcessnot emitting anexitevent when the app quit while the process was still launching. #55274 (Also in 43, 44, 46)Other Changes
v45.0.0: electron v45.0.0Compare Source
Release Notes for v45.0.0
Stack Upgrades
156.0.8078.48v24.22.015.6Breaking Changes
Buffer. #54048events,timersandurlmodules and theBuffer,setImmediateandclearImmediateglobals from sandboxed preload scripts; use a polyfill.webviewTagis enabled.nodeIntegrationInWorker: true, aWorkercreated from an<iframe>in the same process as the main frame used to get Node.js integration even though the iframe itself had none. Workers now only get Node.js integration when the frame that creates them has it: the main frame, or any frame whennodeIntegrationInSubFramesis enabled.chrome-extension://document used to receive the window's preload script (and session preload scripts) wherever it was embedded. It now only does so when it is a top-level frame or is hosted inside the DevTools front-end (adevtools_pageor panel); an extension frame embedded in an ordinary page is treated like any other subframe and followsnodeIntegrationInSubFrames.chromeMediaSource: 'desktop'constraint now only accepts screen and window source ids fromdesktopCapturer.getSources. Passing a WebContents source id there now fails with an "Invalid state" error. To capture a WebContents, usechromeMediaSource: 'tab'with an id fromwebContents.getMediaSourceId(), or useses.setDisplayMediaRequestHandler.contentTracing.enableHeapProfiling()API has been removed. Chromium removed the memlog implementation that backed this API and replaced it with a Perfetto heap-profiling data source. Pass anativeHeapProfilingoption tocontentTracing.startRecording()to enable heap profiling for the duration of a trace. Like all recordings, heap-enabled recordings use the Perfetto protobuf format.contentTracingrecordings to now use a perfetto heap-profiling data source. #54863setPermissionRequestHandlerasdisplay-captureinstead ofmedia; a handler that allows onlymediamust also allowdisplay-captureto keep screen sharing working. #52824document.requestStorageAccessForby default ahead of its removal. The API can temporarily be restored with theenableBlinkFeaturesweb preference set toRequestStorageAccessFor. See Chromium's intent to remove discussion for more information.fs.open,fs.openSyncandfs.promises.openon a file inside an ASAR archive used to extract the file to a temporary copy and return a descriptor for that copy. They now return a descriptor that only identifies the entry to Node'sfsmodule, which reads directly out of the archive with no temporary file (fs.read,fs.readv,fs.fstat,fs.readFile(fd),fs.createReadStreamand theFileHandlemethods). The descriptor itself is not backed by the file's contents: code that reads the raw descriptor (a native addon,child_processstdio,net.Socket({ fd }),http2stream.respondWithFile()/respondWithFD(), aFileHandletransferred to a worker, ...) fails withEBADFand is not supported. Opening a file inside an archive with a flag that allows writing (w,a,r+, ...) now fails withEACCESinstead of silently writing to the temporary copy, andfs.fchmod,fs.fchownandfs.futimeson these descriptors fail withEACCES.window.open()child whosesandboxstate differs from its opener's renderer process is now created in its own process with no opener relationship instead of silently sharing the opener's process; setsandbox: falseinsetWindowOpenHandlerto keep sharing an unsandboxed opener's process. #52472safeStoragemethods are deprecated and will be removed in Electron 46, following Chromium's removal of the synchronous OSCrypt backend they are built on. Use the asynchronous methods instead, which use the same per-platform key stores. Data encrypted withsafeStorage.encryptString()can be decrypted withsafeStorage.decryptStringAsync().select-client-certificateevent support fornet.requestandnet.fetch; requests to servers requesting a client certificate no longer fail withERR_SSL_CLIENT_AUTH_CERT_NEEDED, and applications can now select a certificate to present. #52162 (Also in 44)openAsHiddenoption fromapp.setLoginItemSettings(). #52351 (Also in 44)openAsHidden,wasOpenedAsHiddenandrestoreStatefields from return value ofapp.getLoginItemSettings().app.getLoginItemSettings()on macOS.See the Breaking Changes doc for more details about these changes.
Features
badgeproperty toMenuItemon macOS 14+ for showing a count or custom text badge next to a menu item's label. #50805 (Also in 43, 44)electron_wer.dll, renamed to<app>_wer.dllalongside the executable) socrashReportercaptures__fastfailand other crashes that bypass the in-process handler on Windows. #53851app.configureWebAuthn()API to enable iCloud Keychain passkey support on macOS. When enabled,navigator.credentials.create()and.get()present Apple's native passkey UI viaASAuthorizationController. #51563availabletoprocess.getSystemMemoryInfo()on Linux, exposingproc/meminfoMemAvailable. #52299 (Also in 42, 43, 44)disableWakeLocksoption to WebPreferences. #52342getIsolatedWorldsmethod andisolated-world-createdevent forwebFrameto enable discovery of isolated worlds. #50633initiatorOriginto webRequest and protocol handler requests,DownloadItem.getInitiatorOrigin(), and a trailingframeargument to thewill-downloadandpreconnectsession events. #53700 (Also in 43, 44)systemErrorCodeto theappchild-process-goneevent. #54230 (Also in 44)Notificationaction buttons on Linux. #54889 (Also in 44)localAIHandlermodule in UtilityProcess. #50659ELECTRON_DEBUG_DRAGGABLE_REGIONSenvironment variable, which visualizes and logs draggable regions in unpackaged apps to help debug custom title bars. #53626 (Also in 43, 44)protocol.registerSource()to serve a custom scheme from directories on disk without a JavaScript handler. #54521 (Also in 44)webFrameMain.printToPDF()to allow printing individual frames to PDF from the main process. #52439 (Also in 42, 43, 44)getDisplayMedia({ audio: { restrictOwnAudio: true } })was ignored insetDisplayMediaRequestHandler, causing loopback audio to include local app playback. #52455 (Also in 43, 44)fs.open,fs.createReadStream,fs.copyFile,fs.cpand friends now read files inside ASAR archives directly from the archive instead of extracting a temporary copy;fs.opendirandfs.readlinkwork on archives; opening a packed file for writing fails withEACCES. #52833app.setBadgeCountandwin.setProgressBarfor Linux. These APIs now support any dock or taskbar which implements the LauncherEntry D-Bus API, and they no longer requirelibunity. #52739 (Also in 44)autoUpdaternow streams update downloads to disk, resumes an interrupted download on the next check instead of starting over, and applies a binary delta when the update feed offers one for the running version. #52820 (Also in 44)Fixes
<webview>andwindow.opennow inheritnodeIntegrationInWorkerfrom the embedder, consistent with the other Node and sandbox preferences. #52823 (Also in 41, 42, 43, 44)<webview>withoutallowpopupsalso blocks links opened into a new window by modifier-click, and such windows navigate as the clicking document rather than as a browser-initiated load. #53717 (Also in 42, 43, 44)protocol.registerSchemesAsPrivileged()to reject protocol names that do not conform to RFC 3986 URI scheme grammar. #53742 (Also in 44)kioclient. #54362 (Also in 44)file-system-access-restrictedevent are scoped to the requesting document, grants are reset when the origin's last page closes, and write access works in in-memory sessions. #53690 (Also in 42, 43, 44)--xdg-portal-required-versionhaving no effect and a spurious portal warning being logged for file dialogs on Linux. #54302 (Also in 43, 44)<select>dropdowns not rendering in offscreen windows on macOS. #53716ValidateIntegrityOrDie) and spurious preloadENOENTerrors when an app'sapp.asaris replaced on disk (e.g. by an updater or MDM software) while the app is running. #52283 (Also in 42, 43, 44)WebContentsViewlosing focus when its window is reactivated. #54454 (Also in 43, 44)systemPreferences.promptTouchID(reason)when an invalid reason value is passed. #52764 (Also in 42, 43, 44)process.envwas written while another thread was reading the environment, and a memory leak when a worker thread exits. #53508 (Also in 42, 43, 44)navigator.usb.requestDevice()in in-memory sessions. #54615 (Also in 44)chrome.webstorePrivateAPI. #53775 (Also in 44)node:wasifunctions in optimized code. #53266 (Also in 42, 43, 44)setIgnoreMenuShortcuts()on DevTools. #54115 (Also in 43, 44)utilityProcess.postMessage()after the utility process had exited. #53299 (Also in 43, 44)webContents.debugger. #54444 (Also in 43, 44)app.setLoginItemSettingsif a non-UTF8 service name is used. #52773 (Also in 42, 43, 44)/System/Volumes/Datapaths. #54678thisvalue of a different native type; it now throws aTypeError. #54313 (Also in 43, 44)loadURL()again right after a load failed because the renderer process exited before the page committed. #53942 (Also in 43, 44)app.getPreferredSystemLanguages()was called. #53869 (Also in 43, 44)net.requestchunked upload stream inside a protocol handler never settling when the request failed or was aborted. #53368 (Also in 43, 44)tls/httpsshortly before exiting, affectingapp.exit()beforereadyand short-livedELECTRON_RUN_AS_NODE/child_process.fork()scripts. #52856 (Also in 42, 43, 44)vm.Scriptorvmcontexts created in the main process had been garbage collected shortly before quitting. #54267 (Also in 43, 44)powerMonitoris torn down. #54384 (Also in 44)<webview>is fullscreen. #53744contentTracing.stopRecording()when the trace file could not be written to the requested path. #52793 (Also in 42, 43, 44)menu.popupwith a frame from an offscreen rendered window. #53242 (Also in 43, 44)app.getPreferredSystemLanguages()on Windows. #53864 (Also in 43, 44)select-usb-devicehandler destroys the requestingwebContents. #54008 (Also in 43, 44)image.toPNG()from a sandboxed preload script. #54501 (Also in 43, 44)SpeechRecognition.available()orSpeechRecognition.install()withprocessLocally. #52955 (Also in 42, 43, 44)ResizeObserverloop-limit error handler modified layout. #54289 (Also in 42, 43, 44)contextBridge, and several main/utility-process crashes when option objects passed to Electron APIs contain throwing accessors or Proxy traps. #53069 (Also in 42, 43, 44)nodeIntegrationInSubFramesenabled andsandboxdisabled, e.g. on pages that embed Meta Pixel. #53883 (Also in 42, 43, 44)window.open()child whosecontextIsolationdiffered from its opener's. #53538 (Also in 42, 43, 44)node_initerror being logged when creating aShadowRealmwith Node.js integration enabled. #53578 (Also in 44)nativeTheme.shouldUseDarkColorsafter resettingthemeSource. #54648protocol.registerStreamProtocolwhen an error is emitted during a read. #52474 (Also in 41, 42, 43, 44)WebContentsViewstaying blank after its window is shown whensetBackgroundThrottling(false)was called while the window was hidden. #52844 (Also in 42, 43, 44)accent-color-changedon Windows reporting a colour that differed fromsystemPreferences.getAccentColor(). #54405 (Also in 44)guestInstanceId" error when removing a loaded<webview>from the DOM. #54096 (Also in 42, 43, 44)app.quit()while ashell.openExternal()orshell.openPath()call was still waiting on a system "Open with" dialog. #52888 (Also in 41, 43, 44)contextBridgewas swallowed instead of being thrown back to the caller. #53297 (Also in 43, 44)crashReporter.setUploadToServer()had no effect aftercrashReporter.start()was called. #54519 (Also in 44)WebContentsViewwouldn't see the correct window size. #53031 (Also in 42, 43, 44)requestSingleInstanceLockcould result in a crash. #52025 (Also in 42, 43, 44)npm installfailure with no recovery path when the OS blocked the native zip extractor from loading (for example, Windows Smart App Control). #52748 (Also in 43, 44)net.fetchwhen receiving response headers with non-ASCII characters, and preserved multiple Set-Cookie headers. #54671 (Also in 44)app.disableHardwareAcceleration()not fully disabling GPU hardware usage on Windows starting from Electron 38. #51817 (Also in 41, 42, 43, 44)app.getGPUInfo('complete')stalling the GPU process for several seconds on some Windows systems. #53645 (Also in 44)app.getLoginItemSettings()not finding login items on Windows when the executable path contains spaces. #54419app.getRecentDocuments()omitting documents with non-ASCII paths on Windows. #54385 (Also in 44)BrowserWindowsize corruption on Windows when created with explicitx/yon a secondary monitor whose DPI differs from the primary. #51603 (Also in 42, 43, 44)BrowserWindow.unmaximize()andrestore()having no effect on Wayland when the window was maximized immediately after creation. #53063 (Also in 42, 43, 44)chrome.tabs.query()returning taburlandtitleto extensions without thetabspermission or host access, aligning withtabs.get. #53353 (Also in 42, 43, 44)clipboard.read(),readText()andhas()resolving seconds late on Linux while the app was idle. #54307 (Also in 42, 43, 44)setDisplayMediaRequestHandlerwhen the granted frame had been destroyed or another tab was granted by id. #53673 (Also in 42, 43, 44)webRequest.onBeforeRequestlistener redirected a CORS preflight request, and when callingnet.fetch()with awebRequest-permission extension loaded. #53302 (Also in 43, 44)electron-mksnapshot, and theloadBrowserProcessSpecificV8Snapshotfuse) having no effect in the main process on macOS arm64, Linux x64 and Windows x64. #52872 (Also in 42, 43, 44)trueon Windows. #53958 (Also in 43, 44)desktopCapturer.getSources()leaving non-resizable windows resizable on macOS. #54398 (Also in 43, 44)webContents.setDevToolsWebContents(). #52205 (Also in 42, 43, 44)dialog.showOpenDialog/dialog.showSaveDialogopening at an unusable location on Linux whendefaultPathis a bare filename without a directory. #52243 (Also in 42, 43, 44)Dirent.parentPathbeingundefinedforfs.readdir,fs.readdirSync,fs.glob, andfs.globSyncwithwithFileTypes: trueinside asar archives. #51845 (Also in 42, 43, 44)fs.constants.O_DIRECTORY,O_NOFOLLOWandO_DIRECTholding x86 values on Linux arm64 and armv7l, which made opening a directory fail withEINVAL, and maderequire('trace_events')behave the same on cross-compiled builds as on native ones. #53321 (Also in 42, 43, 44)fs.rmSyncfailing to remove read-only files on Windows. #54190 (Also in 42, 43, 44)GDK_BACKENDleaking into processes spawned by Electron apps on Linux. #54424 (Also in 43, 44)globalShortcutnot working on GNOME Wayland by enabling Chromium'sGlobalShortcutsPortalPreferredTriggerfeature by default on Linux. #52221 (Also in 43)child_process.fork()with therunAsNodefuse disabled;fork()now throws in that configuration. #53839 (Also in 44)setBackgroundThrottling(false)followed bysetBackgroundThrottling(true). #54339 (Also in 44)webPreferences. #55051 (Also in 42, 43, 44)http://accessibility/orhttp://devtools/, when using theLanguageModelAPI from a Worker with a local AI handler registered, when an extension background page usednavigator.mediaDevices, and when callingSerialPort.forget()for a disconnected device. #53325 (Also in 43, 44)matchMedia('(display-mode: ...)')returningbrowserfor window-controls-overlay, frameless, and fullscreen BrowserWindows. #51396node::ObjectWrapaborting during garbage collection on Node.js 24.19.0 and later. #53391 (Also in 42, 43, 44)net.fetchandsession.fetchfailing permanently withnet::ERR_FAILEDafter the Network Service process restarts. #54910 (Also in 42, 43, 44)net.fetch()/net.request()spending seconds of main-process time buffering large streamed request bodies. #54062 (Also in 44)pointerLockpermission requests from some iframes reporting the parent frame. #54463 (Also in 42, 43, 44)process.nextTickand promise callbacks queued inprotocol/webRequesthandlers running at the wrong time. #54301ready-to-shownever firing for some hidden windows on Windows and Linux. #54110 (Also in 43, 44)--langvalues such asde-DEloading no locale resources on macOS, which left localized strings empty and could crash WebAuthn Touch ID prompts. #53184 (Also in 42, 43, 44)registerFileProtocolandregisterHttpProtocolreturning readable responses to cross-originno-corsfetches; they now return opaque responses likeprotocol.handle. #52822 (Also in 41, 42, 43, 44)select-hid-devicepresenting HID devices that could not be granted, which causednavigator.hid.requestDevice()to resolve with no device. #52467 (Also in 44)session.setPermissionCheckHandlerreceiving the top-level origin and a nullwebContentsforhidandusbchecks made from a subframe. #53679 (Also in 42, 43, 44)setCertificateVerifyPrococcasionally not being applied to a request issued concurrently with the first request to a host. #55045 (Also in 42, 43, 44)setContentProtection(true)having no effect in Windows remote sessions. #54499 (Also in 44)setIgnoreMouseEvents()taking effect late on X11. #54496 (Also in 43, 44)setIgnoreMouseEvents(true)being undone by the next resize on X11. #54394 (Also in 43, 44)setIgnoreMouseEventssupport on Wayland.Debugger,Menu,Tray,Notification,globalShortcut,utilityProcess,ServiceWorkerMain,WebFrameMain,webFrame,sharedTexture,systemPreferences,netLog,MessagePortMain,net.requestandshell.openPath(). #53805 (Also in 44)shell.showItemInFolder()on Linux for paths containing#,?or%when the file manager is reached over D-Bus. #54386 (Also in 44)persist:prefix). #52810 (Also in 42, 43, 44)NotAllowedError: Third party iframes are not allowed to show a file picker. #53326 (Also in 43, 44)additionalDatatoapp.requestSingleInstanceLock(). #52628 (Also in 42, 43, 44)/org/chromium/DbusMenupath. #54102 (Also in 44)file:and other host-less pages after alocation.hashchange. #54441 (Also in 43, 44)Trayicons not appearing when running inside Flatpak or Snap sandboxes on Linux. #53654 (Also in 44)alert()orconfirm()on Windows. #54460 (Also in 43, 44)Uncaught illegal accesserrors and renderer crashes when closing a same-process child window or removing an iframe withnodeIntegrationInSubFramesenabled, and when native modules use napi async work or thread-safe functions from such windows and frames. #52964 (Also in 42, 43, 44)utilityProcessdropping messages posted withprocess.parentPort.postMessage()right before the process exits. #54956 (Also in 42, 43)utilityProcessdroppingstdout/stderroutput that the child wrote immediately before exiting. #54335 (Also in 42, 43, 44)file://and custom-scheme pages. #53746 (Also in 44)RuntimeError: unreachableafter updating between certain patch releases. #54237 (Also in 42, 43, 44)webContentsemittingunresponsiveright after the system wakes from sleep on Windows, and emittingresponsivewhen a hung window was hidden rather than when it recovered. #53760 (Also in 44)webContents.capturePage()on offscreen windows returning an image resampled to the display's scale factor instead of rendered at the window'soffscreen.deviceScaleFactor. #53817 (Also in 43, 44)webContents.executeJavaScript()withuserGestureset not granting browser-side user activation, which could make activation-gated APIs fail. #54959webContents.executeJavaScriptInIsolatedWorldresolving withundefinedwhenworldIdwas not an integer. #53205 (Also in 43, 44)webContents.on(),removeListener()andremoveAllListeners()throwing "Object has been destroyed" forconsole-messagelisteners after the WebContents was destroyed. #53495 (Also in 42, 43, 44)webContents.print()honoringprintBackground,duplexMode, and printer default duplex settings. #52279 (Also in 42, 43, 44)webview.findInPage()hanging when the host page also has an iframe. #54585 (Also in 43, 44)win.isFullScreen()being stale in fullscreen events on Windows. #55008 (Also in 44)win.setEnabled(false)and modal child windows not blocking input on Wayland. #54448 (Also in 43, 44)navigator.windowControlsOverlaynot being populated forWebContentsViews in aBaseWindow. #53811 (Also in 44)setVisualZoomLevelLimits()shrinking pages when the minimum is under 1.browserWindow.setTitle(). #52089 (Also in 42, 43, 44)getUserMediawithchromeMediaSource: 'desktop'no longer accepts WebContents source ids; usechromeMediaSource: 'tab'withwebContents.getMediaSourceId()orsetDisplayMediaRequestHandlerto capture a WebContents. #53708 (Also in 42, 43, 44)<webview>,window.close()andexecuteJavaScriptreply IPCs are validated against the sending frame. #53724 (Also in 42, 43, 44)nodeIntegrationInWorkernow applies only to workers created by frames that themselves have Node integration; enablenodeIntegrationInSubFramesto keep Node in workers created by subframes. #53706 (Also in 42, 43, 44)openExternalpermission requests started by a frame that has since gone away are attributed to that frame's origin rather than to the navigating page. #53696 (Also in 42, 43, 44)pointerLockandkeyboardLockpermission requests now report the requesting frame, andexecCommand('paste')requires user activation in the frame that calls it. #53692 (Also in 42, 43, 44)BrowserWindow,BaseWindow,WebContents,WebFrameMainandViewfrom JavaScript. #54359BaseWindow.setBounds()throwing when given a partial bounds object.app.getName(),app.name,app.getVersion()andapp.getAppPath().Performance Improvements
BrowserWindowon Linux. #52923 (Also in 42, 43, 44)contextBridge-exposed APIs.Buffer.allocUnsafe()and of large file reads in the main and utility processes.ipcRenderer,ipcMainhandlers andwebContents.send.app-regiondraggable elements. #53596 (Also in 43, 44)utilityProcess.fork(),child_process.fork()/ELECTRON_RUN_AS_NODEchild processes and Node.js-enabled renderers. #52873 (Also in 42, 43, 44)fsoperations andrequire()on files inside asar archives. #53919 (Also in 44)session.getUserAgent(). #54245 (Also in 44)protocol.handlehandlers return straight fromnet.fetch. #53379 (Also in 44)fetch()calls and file:// loads in renderers no longer wait for the main process to be idle when nowebRequestlisteners or protocol interceptors are registered. #53115 (Also in 42, 43, 44)webRequestlisteners only observe requests (onCompleted,onErrorOccurred,onSendHeaders,onBeforeRedirect,onResponseStarted) or are filtered to other resource types. #53204 (Also in 44)BrowserWindownow 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. #53116 (Also in 44)Other Changes
safeStorage.isEncryptionAvailable(),safeStorage.encryptString()andsafeStorage.decryptString()in favor ofisAsyncEncryptionAvailable(),encryptStringAsync()anddecryptStringAsync(). #53850require('module').builtinModulesor loadable throughprocess.getBuiltinModule(). #53624setIgnoreMouseEvents(true, { forward: true })related issues. #54803 (Also in 44)Documentation
Notices
End of Support for 42.x.y
Electron 42.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.
v44.10.1: electron v44.10.1Compare Source
Release Notes for v44.10.1
Fixes
webContents.adjustSelection()ignoring theendoption. #55461 (Also in 45, 46)Performance Improvements
net.fetch()requests without a body. #55445 (Also in 43, 45, 46)net.fetch()calls forfile:URLs. #55458 (Also in 45, 46)Other Changes
v44.10.0: electron v44.10.0Compare Source
Release Notes for v44.10.0
Features
session.registerPreloadScript-matches,excludeMatches,includeGlobs,excludeGlobs,matchOriginAsFallback. #55182 (Also in 45)Fixes
onSendHeadersobserved Blob uploads. #55168 (Also in 45)app.getLoginItemSettings()not finding login items on Windows when the executable path contains spaces. #55207 (Also in 45).git/hookswrites and hypervisor UNC shares. #55330Menu.popup()on macOS sometimes not showing a menu after another closed. #55325 (Also in 45, 46)protocol.registerSourceschemes not applying the same fetch rules asprotocol.handleschemes. #55177 (Also in 45)utilityProcessnot emitting anexitevent when the app quit while the process was still launching. #55273 (Also in 43, 45, 46)Other Changes
v44.9.3: electron v44.9.3Compare Source
Release Notes for v44.9.3
Other Changes
v44.9.2: electron v44.9.2Compare Source
Release Notes for v44.9.2
v44.9.1: electron v44.9.1Compare Source
Release Notes for v44.9.1
v44.9.0: electron v44.9.0Compare Source
Release Notes for v44.9.0
Features
Fixes
webPreferences. #55048 (Also in 42, 43, 45)setCertificateVerifyPrococcasionally not being applied to a request issued concurrently with the first request to a host. #55046 (Also in 42, 43, 45)v44.8.0: electron v44.8.0Compare Source
Release Notes for v44.8.0
Features
Notificationaction buttons on Linux. #54890 (Also in 45)Fixes
net.fetchandsession.fetchfailing permanently withnet::ERR_FAILEDafter the Network Service process restarts. #54909 (Also in 42, 43, 45)utilityProcessdropping messages posted withprocess.parentPort.postMessage()right before the process exits. #54960 (Also in 42, 43, 45)win.isFullScreen()being stale in fullscreen events on Windows. #55009 (Also in 45)Other Changes
v44.7.2: electron v44.7.2Compare Source
Release Notes for v44.7.2
Fixes
Other Changes
Documentation
v44.7.1: electron v44.7.1Compare Source
Release Notes for v44.7.1
Fixes
WebContentsViewthat was removed withremoveChildView()and re-added withaddChildView()staying hidden behind its sibling views on Linux. #54798Other Changes
setIgnoreMouseEvents(true, { forward: true })related issues. #54802 (Also in 45)v44.7.0: electron v44.7.0Compare Source
Release Notes for v44.7.0
Features
autoUpdaternow streams update downloads to disk, resumes an interrupted download on the next check instead of starting over, and applies a binary delta when the update feed offers one for the running version. #54204Fixes
net.fetchwhen receiving response headers with non-ASCII characters, and preserved multiple Set-Cookie headers. #54672Other Changes
v44.6.0: electron v44.6.0Compare Source
Release Notes for v44.6.0
Features
protocol.registerSource()to serve a custom scheme from directories on disk without a JavaScript handler. #54522 (Also in 45)Fixes
navigator.usb.requestDevice()in in-memory sessions. #54616 (Also in 45)webview.findInPage()hanging when the host page also has an iframe. #54586 (Also in 43, 45)Documentation
v44.5.1: electron v44.5.1Compare Source
Release Notes for v44.5.1
Other Changes
v44.5.0: electron v44.5.0Compare Source
Release Notes for v44.5.0
Features
systemErrorCodeto theappchild-process-goneevent. #54231 (Also in 45)Fixes
kioclient. #54361 (Also in 45)--xdg-portal-required-versionhaving no effect and a spurious portal warning being logged for file dialogs on Linux. #54303 (Also in 43, 45)WebContentsViewlosing focus when its window is reactivated. #54455 (Also in 43, 45)webContents.debugger. #54445 (Also in 43, 45)thisvalue of a different native type; it now throws aTypeError. #54315 (Also in 43)vm.Scriptorvmcontexts created in the main process had been garbage collected shortly before quitting. #54266 (Also in 43, 45)powerMonitoris torn down. #54408 (Also in 45)image.toPNG()from a sandboxed preload script. #54502 (Also in 43, 45)ResizeObserverloop-limit error handler modified layout. #54290 (Also in 45)accent-color-changedon Windows reporting a colour that differed fromsystemPreferences.getAccentColor(). #54409 (Also in 45)crashReporter.setUploadToServer()had no effect aftercrashReporter.start()was called. #54518 (Also in 45)app.getRecentDocuments()omitting documents with non-ASCII paths on Windows. #54407 (Also in 45)clipboard.read(),readText()andhas()resolving seconds late on Linux while the app was idle. #54308 (Also in 42, 43, 45)desktopCapturer.getSources()leaving non-resizable windows resizable on macOS. #54397 (Also in 43, 45)fs.rmSyncfailing to remove read-only files on Windows. #54255 (Also in 42, 43, 45)GDK_BACKENDleaking into processes spawned by Electron apps on Linux. #54425 (Also in 43, 45)setBackgroundThrottling(false)followed bysetBackgroundThrottling(true). #54341 (Also in 45)pointerLockpermission requests from some iframes reporting the parent frame. #54464 (Also in 42, 43, 45)setContentProtection(true)having no effect in Windows remote sessions. #54500 (Also in 45)setIgnoreMouseEvents()taking effect late on X11. #54497 (Also in 43, 45)setIgnoreMouseEvents(true)being undone by the next resize on X11. #54393 (Also in 43, 45)setIgnoreMouseEventssupport on Wayland.shell.showItemInFolder()on Linux for paths containing#,?or%when the file manager is reached over D-Bus. #54406 (Also in 45)file:and other host-less pages after alocation.hashchange. #54442 (Also in 43, 45)alert()orconfirm()on Windows. #54461 (Also in 43, 45)utilityProcessdroppingstdout/stderroutput that the child wrote immediately before exiting. #54278 (Also in 42, 43, 45)RuntimeError: unreachableafter updating between certain patch releases. #54246 (Also in 42, 43, 45)win.setEnabled(false)and modal child windows not blocking input on Wayland. #54447 (Also in 43, 45)setVisualZoomLevelLimits()shrinking pages when the minimum is under 1.Performance Improvements
session.getUserAgent(). #54244 (Also in 45)Documentation
v44.4.5: electron v44.4.5Compare Source
Release Notes for v44.4.5
Other Changes
v44.4.4: electron v44.4.4Compare Source
Release Notes for v44.4.4
Fixes
Cannot read properties of undefined (reading 'startTime')error thrown in pages while the DevTools Performance panel's live metrics were active. #54162setIgnoreMenuShortcuts()on DevTools. #54116 (Also in 43, 45)sandboxed_renderer.bundle.jsscript failed to run" console error when DevTools attached to a sandboxed frame before its first navigation. #54155 (Also in 42, 43)guestInstanceId" error when removing a loaded<webview>from the DOM. #54099 (Also in 42, 43, 45)ready-to-shownever firing for some hidden windows on Windows and Linux. #54118 (Also in 43, 45)/org/chromium/DbusMenupath. #54103 (Also in 45)v44.4.3: electron v44.4.3Compare Source
Release Notes for v44.4.3
Fixes
net.fetch()/net.request()spending seconds of main-process time buffering large streamed request bodies. #54061 (Also in 45)Performance Improvements
fsoperations andrequire()on files inside asar archives. #54051 (Also in 45)Other Changes
v44.4.2: electron v44.4.2Compare Source
Release Notes for v44.4.2
Fixes
select-usb-devicehandler destroys the requestingwebContents. #54009 (Also in 43, 45)Other Changes
v44.4.1: electron v44.4.1Compare Source
Release Notes for v44.4.1
Fixes
trueon Windows. #53959 (Also in 43, 45)Debugger,Menu,Tray,Notification,globalShortcut,utilityProcess,ServiceWorkerMain,WebFrameMain,webFrame,sharedTexture,systemPreferences,netLog,MessagePortMain,net.requestandshell.openPath(). #53968 (Also in 45)v44.4.0: electron v44.4.0Compare Source
Release Notes for v44.4.0
Features
initiatorOriginto webRequest and protocol handler requests,DownloadItem.getInitiatorOrigin(), and a trailingframeargument to thewill-downloadandpreconnectsession events. #53703 (Also in 43, 45)Fixes
protocol.registerSchemesAsPrivileged()to reject protocol names that do not conform to RFC 3986 URI scheme grammar. #53743 (Also in 45)chrome.webstorePrivateAPI. #53776 (Also in 45)loadURL()again right after a load failed because the renderer process exited before the page committed. #53943 (Also in 43, 45)app.getPreferredSystemLanguages()was called. #53868 (Also in 43, 45)app.getPreferredSystemLanguages()on Windows. #53865 (Also in 43, 45)nodeIntegrationInSubFramesenabled andsandboxdisabled, e.g. on pages that embed Meta Pixel. #53885 (Also in 42, 43, 45)child_process.fork()with therunAsNodefuse disabled;fork()now throws in that configuration. #53840 (Also in 45)file://and custom-scheme pages. #53745 (Also in 45)webContentsemittingunresponsiveright after the system wakes from sleep on Windows, and emittingresponsivewhen a hung window was hidden rather than when it recovered. #53764 (Also in 45)webContents.capturePage()on offscreen windows returning an image resampled to the display's scale factor instead of rendered at the window'soffscreen.deviceScaleFactor. #53816 (Also in 43, 45)navigator.windowControlsOverlaynot being populated forWebContentsViews in aBaseWindow. #53812 (Also in 45)Other Changes
v44.3.0: electron v44.3.0Compare Source
Release Notes for v44.3.0
Features
ELECTRON_DEBUG_DRAGGABLE_REGIONSenvironment variable, which visualizes and logs draggable regions in unpackaged apps to help debug custom title bars. #53627 (Also in 43, 45)Fixes
file-system-access-restrictedevent are scoped to the requesting document, grants are reset when the origin's last page closes, and write access works in in-memory sessions. #53691 (Also in 42, 43, 45)Trayicons not appearing when running inside Flatpak or Snap sandboxes on Linux. #53653 (Also in 45)app.getGPUInfo('complete')stalling the GPU process for several seconds on some Windows systems. #53644 (Also in 45)session.setPermissionCheckHandlerreceiving the top-level origin and a nullwebContentsforhidandusbchecks made from a subframe. #53688 (Also in 42, 43, 45)webContents.on(),removeListener()andremoveAllListeners()throwing "Object has been destroyed" forconsole-messagelisteners after the WebContents was destroyed. #53494 (Also in 42, 43, 45)process.envwas written while another thread was reading the environment, and a memory leak when a worker thread exits. #53509 (Also in 42, 43, 45)window.open()child whosecontextIsolationdiffered from its opener's. #53539 (Also in 42, 43, 45)node_initerror being logged when creating aShadowRealmwith Node.js integration enabled. #53579 (Also in 45)setDisplayMediaRequestHandlerwhen the granted frame had been destroyed or another tab was granted by id. #53672 (Also in 42, 43, 45)<webview>,window.close()andexecuteJavaScriptreply IPCs are validated against the sending frame. #53723 (Also in 42, 43, 45)<webview>withoutallowpopupsalso blocks links opened into a new window by modifier-click, and such windows navigate as the clicking document rather than as a browser-initiated load. #53721 (Also in 42, 43, 45)getUserMediawithchromeMediaSource: 'desktop'no longer accepts WebContents source ids; usechromeMediaSource: 'tab'withwebContents.getMediaSourceId()orsetDisplayMediaRequestHandlerto capture a WebContents. #53709 (Also in 42, 43, 45)nodeIntegrationInWorkernow applies only to workers created by frames that themselves have Node integration; enablenodeIntegrationInSubFramesto keep Node in workers created by subframes. #53711 (Also in 42, 43, 45)openExternalpermission requests started by a frame that has since gone away are attributed to that frame's origin rather than to the navigating page. #53699 (Also in 42, 43, 45)pointerLockandkeyboardLockpermission requests now report the requesting frame, andexecCommand('paste')requires user activation in the frame that calls it. #53693 (Also in 42, 43, 45)Other Changes
app-regiondraggable elements. #53597 (Also in 43, 45)v44.2.0: electron v44.2.0Compare Source
Release Notes for v44.2.0
Fixes
net.requestchunked upload stream inside a protocol handler never settling when the request failed or was aborted. #53373 (Also in 43, 45)menu.popupwith a frame from an offscreen rendered window. #53362 (Also in 43)node::ObjectWrapaborting during garbage collection on Node.js 24.19.0 and later. #53392 (Also in 42, 43, 45)Other Changes
protocol.handlehandlers return straight fromnet.fetch. #53378v44.1.1: electron v44.1.1Compare Source
Release Notes for v44.1.1
Fixes
chrome.tabs.query()returning taburlandtitleto extensions without thetabspermission or host access, aligning withtabs.get. #53354 (Also in 42, 43, 45)contextBridge, and several main/utility-process crashes when option objects passed to Electron APIs contain throwing accessors or Proxy traps. #53331 (Also in 42, 43)contextBridgewas swallowed instead of being thrown back to the caller. #53335 (Also in 43, 45)http://accessibility/orhttp://devtools/, when an extension background page usednavigator.mediaDevices, and when callingSerialPort.forget()for a disconnected device. #53333 (Also in 43, 45)NotAllowedError: Third party iframes are not allowed to show a file picker. #53328 (Also in 43, 45)v44.1.0: electron v44.1.0Compare Source
Release Notes for v44.1.0
Fixes
fs.constants.O_DIRECTORY,O_NOFOLLOWandO_DIRECTholding x86 values on Linux arm64 and armv7l, which made opening a directory fail withEINVAL, and maderequire('trace_events')behave the same on cross-compiled builds as on native ones. #53320 (Also in 42, 43, 45)webContents.executeJavaScriptInIsolatedWorldresolving withundefinedwhenworldIdwas not an integer. #53238 (Also in 43)webContents.print()honoringprintBackground,duplexMode, and printer default duplex settings. #53159 (Also in 42, 43)node:wasifunctions in optimized code. #53268 (Also in 42, 43, 45)utilityProcess.postMessage()after the utility process had exited. #53300 (Also in 43, 45)WebContentsViewwouldn't see the correct window size. #53153 (Also in 42, 43)webRequest.onBeforeRequestlistener redirected a CORS preflight request, and when callingnet.fetch()with awebRequest-permission extension loaded. #53303 (Also in 43, 45)--langvalues such asde-DEloading no locale resources on macOS, which left localized strings empty and could crash WebAuthn Touch ID prompts. #53188 (Also in 42, 43)Other Changes
fetch()calls and file:// loads in renderers no longer wait for the main process to be idle when nowebRequestlisteners or protocol interceptors are registered. #53141 (Also in 42, 43)webRequestlisteners only observe requests (onCompleted,onErrorOccurred,onSendHeaders,onBeforeRedirect,onResponseStarted) or are filtered to other resource types. #53240Documentation
v44.0.0: electron v44.0.0Compare Source
Release Notes for v44.0.0
Stack Upgrades
152.0.7977.54v24.18.115.2Breaking Changes
select-client-certificateevent support fornet.requestandnet.fetch; requests to servers requesting a client certificate no longer fail withERR_SSL_CLIENT_AUTH_CERT_NEEDED, and applications can now select a certificate to present. #52397libEGL.(so|dylib|dll)andlibGLESv2.(so|dylib|dll)libraries are no longer shipped in the distribution. #52288net.requestnow rejects requests whereSec-Fetch-Destisdocument,frame,iframe, orfencedframeunlessSec-Fetch-Modeis also set tonavigate. #52216clipboardmodule is now aligned with the W3C Clipboard API and is no longer exposed to renderer processes. #52508openAsHiddenoption fromapp.setLoginItemSettings()and theopenAsHidden,wasOpenedAsHiddenandrestoreStatefields from the return value ofapp.getLoginItemSettings(). These only worked on macOS 12 and below, which are no longer supported. #52667See the Breaking Changes doc for more details about these changes.
Features
Notification.remove(),removeAll(), andremoveGroup()static methods for macOS. #51182 (Also in 42, 43)availabletoprocess.getSystemMemoryInfo()on Linux, exposingproc/meminfoMemAvailable. #52380 (Also in 42, 43)net.WebSocket, a WHATWG-compatible WebSocket client for the main process that routes through Chromium's network stack. #51593 (Also in 42, 43)webContents.setZoomMode(mode),webContents.getZoomMode(), andwebContents.zoomModefor per-WebContents zoom control. #49962webFrameMain.printToPDF()to allow printing individual frames to PDF from the main process. #52625 (Also in 42, 43)badgeproperty toMenuItemon macOS 14+ for showing a count or custom text badge next to a menu item's label. #53046win.setOpacity(opacity)on Linux. #51455webContents.caretBrowsingEnabledfor toggling caret browsing in a WebContents. #53035roundedCorners: falseon the window. #51459 (Also in 43)app.setBadgeCountandwin.setProgressBarfor Linux. These APIs now support any dock or taskbar which implements the LauncherEntry D-Bus API, and they no longer requirelibunity. #52895Fixes
nativeImagewas 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 anativeImage. #48178 (Also in 43)webContents.debuggeris attached. #51959 (Also in 42, 43)webContents.setDevToolsWebContents(). #52434 (Also in 42, 43)NativeWindowViews::MoveBehindTaskBarIfNeeded(). #52000 (Also in 41, 42, 43)BrowserWindow.unmaximize()andrestore()having no effect on Wayland when the window was maximized immediately after creation. #53124 (Also in 42)BrowserWindowsize corruption on Windows when created with explicitx/yon a secondary monitor whose DPI differs from the primary. #52499 (Also in 42, 43)Dirent.parentPathbeingundefinedforfs.readdir,fs.readdirSync,fs.glob, andfs.globSyncwithwithFileTypes: trueinside asar archives. #52507 (Also in 42, 43)ProtocolResponse.urlrequests being made through the default session instead of the session the protocol handler was registered on whenProtocolResponse.sessionwas not set. #52113 (Also in 40, 41, 42, 43)Uncaught illegal accesserrors and possible renderer crashes after closing a same-process child window or removing an iframe withnodeIntegrationInSubFramesenabled. #53040 (Also in 42)app.disableHardwareAcceleration()not fully disabling GPU hardware usage on Windows starting from Electron 38. #52370 (Also in 41, 42, 43)dialog.showOpenDialoganddialog.showSaveDialogopening at an unusable location on Linux whendefaultPathis a bare filename without a directory. #52402 (Also in 42, 43)registerFileProtocolandregisterHttpProtocolreturning readable responses to cross-originno-corsfetches; they now return opaque responses likeprotocol.handle. #52852 (Also in 41, 42, 43)select-hid-devicepresenting HID devices that could not be granted, which causednavigator.hid.requestDevice()to resolve with no device. #52497protocol.registerStreamProtocolwhen an error is emitted during a read. #52515 (Also in 41, 42, 43)setBackgroundThrottling(false)was called while the window was hidden. #52863 (Also in 42, 43)webContents.reload()or navigating synchronously from therender-process-goneevent; the event is now emitted after the renderer's teardown notification has completed. #51900 (Also in 41, 42, 43)ValidateIntegrityOrDie) and spurious preloadENOENTerrors when an app'sapp.asaris replaced on disk (e.g., by an updater or MDM software) while the app is running. #52292 (Also in 42, 43)systemPreferences.promptTouchID(reason)when an invalid reason value is passed. #52781 (Also in 42, 43)touchID.promptReasontoapp.configureWebAuthn()to customize the prompt text. #51592 (Also in 41, 42, 43)app.setLoginItemSettingsif a non-UTF8 service name is used. #52801 (Also in 42, 43)SIGABRT) during process exit when the process had loadedtls/httpsshortly before exiting, affectingapp.exit()beforereadyand short-livedELECTRON_RUN_AS_NODE/child_process.fork()scripts. #52871 (Also in 42, 43)contentTracing.stopRecording()when the trace file could not be written to the requested path. #52794 (Also in 42, 43)SpeechRecognition.available()orSpeechRecognition.install()withprocessLocally. #53021 (Also in 42, 43)WebAssembly.compileStreaming()orWebAssembly.instantiateStreaming()withnodeIntegrationenabled. #51953 (Also in 41, 42, 43)npm installfailure with no recovery path when the OS blocked the native zip extractor from loading (for example, Windows Smart App Control). #52846 (Also in 43)win.center(). Additionally, fixed an issue where frameless windows would appear slightly off-center on Windows. #51732 (Also in 41, 42, 43)app.quit()while ashell.openExternal()orshell.openPath()call was still waiting on a system "Open with" dialog. #52898 (Also in 41, 43)processand other Node globals were undefined in ESM preload scripts whencontextIsolationwas disabled. #51693 (Also in 42, 43)requestSingleInstanceLockcould result in a crash. #52470 (Also in 42, 43)close()on a notification within acloseevent on macOS. #51597 (Also in 41, 42, 43)sharedTexturemodule when GPU context becomes unavailable. #52926 (Also in 42, 43)electron-mksnapshot, and theloadBrowserProcessSpecificV8Snapshotfuse) having no effect in the main process on macOS arm64, Linux x64 and Windows x64. #52878 (Also in 42, 43)desktopCapturerthumbnail generation and premature portal timeout on Linux with Wayland. #51674 (Also in 43)tsximport transpilation. #51947 (Also in 41, 42, 43)systemPreferences.getAccentColor()returning an empty string on some launches). #52574persist:prefix). #52834 (Also in 42, 43)additionalDatatoapp.requestSingleInstanceLock(). #52950rgba(0,0,0,0)failing back to default frame color. #51017 (Also in 41, 42, 43)webContents.print()returning "Invalid printer settings" when print options are provided. #52382 (Also in 43)browserWindow.setTitle(). #52968 (Also in 42, 43)allow-popups-to-escape-sandboxis set. #52133 (Also in 41, 42, 43)getDisplayMedia({ audio: { restrictOwnAudio: true } })was ignored insetDisplayMediaRequestHandler, causing loopback audio to include local app playback. #52534 (Also in 43)<webview>andwindow.opennow inheritnodeIntegrationInWorkerfrom the embedder, consistent with the other Node and sandbox preferences. #52832 (Also in 41, 42, 43)app.getLoginItemSettings()on macOS. #52667Trayicons not appearing (and their menus not opening) on Linux desktops that address the StatusNotifierItem by its unique D-Bus name or via theorg.freedesktop.StatusNotifierIteminterface, such as GNOME with the AppIndicator extension, Cinnamon and XFCE. #52951Buffer/TextEncoderAPIs and a crash infs.writeFileSyncwith non-ASCII strings on Apple Silicon. #51848 (Also in 41, 42, 43)Performance Improvements
webRequestheader conversions and several other gin converter hot paths. #51599 (Also in 42, 43)utilityProcess.fork(),child_process.fork()/ELECTRON_RUN_AS_NODEchild processes and Node.js-enabled renderers. #53134 (Also in 42, 43)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 (Also in 42, 43)showHiddenFilessupport from thedialogAPI on Linux. #51704 (Also in 43)--enable-features=SpareRendererForSitePerProcess. #53144libEGL.soandlibGLESv2.sofiles are no longer included in the Linux distribution, now that ANGLE is statically linked. #52227Other Changes
Documentation
v43.8.6: electron v43.8.6Compare Source
Release Notes for v43.8.6
Performance Improvements
net.fetch()calls forfile:URLs. #55481 (Also in 44, 45, 46)Other Changes
v43.8.5: electron v43.8.5Compare Source
Release Notes for v43.8.5
Fixes
Performance Improvements
net.fetch()requests without a body. #55447 (Also in 44, 45, 46)Other Changes
v43.8.4: electron v43.8.4Compare Source
Release Notes for v43.8.4
Fixes
/System/Volumes/Datapaths. #54677.git/hookswrites and hypervisor UNC shares. #55331utilityProcessnot emitting anexitevent when the app quit while the process was still launching. #55272 (Also in 44, 45, 46)Other Changes
v43.8.3: electron v43.8.3Compare Source
Release Notes for v43.8.3
Other Changes
v43.8.2: electron v43.8.2Compare Source
Release Notes for v43.8.2
v43.8.1: electron v43.8.1Compare Source
Release Notes for v43.8.1
Fixes
webPreferences. #55049 (Also in 42, 44, 45)setCertificateVerifyPrococcasionally not being applied to a request issued concurrently with the first request to a host. #55047 (Also in 42, 44, 45)v43.8.0: electron v43.8.0Compare Source
Release Notes for v43.8.0
Fixes
net.fetchandsession.fetchfailing permanently withnet::ERR_FAILEDafter the Network Service process restarts. #54908 (Also in 42, 44, 45)utilityProcessdropping messages posted withprocess.parentPort.postMessage()right before the process exits. #54962 (Also in 42, 45)Other Changes
v43.7.11: electron v43.7.11Compare Source
Release Notes for v43.7.11
Other Changes
Documentation
v43.7.10: electron v43.7.10Compare Source
Release Notes for v43.7.10
Fixes
ResizeObserverloop-limit error handler modified layout. #54611 (Also in 42, 44, 45)v43.7.9: electron v43.7.9Compare Source
Release Notes for v43.7.9
Other Changes
v43.7.8: electron v43.7.8Compare Source
Release Notes for v43.7.8
Fixes
webview.findInPage()hanging when the host page also has an iframe. #54584 (Also in 44, 45)v43.7.7: electron v43.7.7Compare Source
Release Notes for v43.7.7
Other Changes
v43.7.6: electron v43.7.6Compare Source
Release Notes for v43.7.6
Fixes
--xdg-portal-required-versionhaving no effect and a spurious portal warning being logged for file dialogs on Linux. #54304 (Also in 44, 45)WebContentsViewlosing focus when its window is reactivated. #54456 (Also in 44, 45)webContents.debugger. #54443 (Also in 44, 45)thisvalue of a different native type; it now throws aTypeError. #54316 (Also in 44)vm.Scriptorvmcontexts created in the main process had been garbage collected shortly before quitting. #54268 (Also in 44, 45)image.toPNG()from a sandboxed preload script. #54503 (Also in 44, 45)clipboard.read(),readText()andhas()resolving seconds late on Linux while the app was idle. #54309 (Also in 42, 44, 45)desktopCapturer.getSources()leaving non-resizable windows resizable on macOS. #54396 (Also in 44, 45)fs.rmSyncfailing to remove read-only files on Windows. #54256 (Also in 42, 44, 45)GDK_BACKENDleaking into processes spawned by Electron apps on Linux. #54426 (Also in 44, 45)pointerLockpermission requests from some iframes reporting the parent frame. #54465 (Also in 42, 44, 45)setIgnoreMouseEvents()taking effect late on X11. #54498 (Also in 44, 45)setIgnoreMouseEvents(true)being undone by the next resize on X11. #54423 (Also in 44, 45)setIgnoreMouseEventssupport on Wayland.file:and other host-less pages after alocation.hashchange. #54440 (Also in 44, 45)alert()orconfirm()on Windows. #54462 (Also in 44, 45)utilityProcessdroppingstdout/stderroutput that the child wrote immediately before exiting. #54279 (Also in 42, 44, 45)RuntimeError: unreachableafter updating between certain patch releases. #54238 (Also in 42, 44, 45)win.setEnabled(false)and modal child windows not blocking input on Wayland. #54446 (Also in 44, 45)setVisualZoomLevelLimits()shrinking pages when the minimum is under 1.v43.7.5: electron v43.7.5Compare Source
Release Notes for v43.7.5
Other Changes
v43.7.4: electron v43.7.4Compare Source
Release Notes for v43.7.4
Fixes
setIgnoreMenuShortcuts()on DevTools. #54117 (Also in 44, 45)sandboxed_renderer.bundle.jsscript failed to run" console error when DevTools attached to a sandboxed frame before its first navigation. #54176 (Also in 42)guestInstanceId" error when removing a loaded<webview>from the DOM. #54097 (Also in 42, 44, 45)ready-to-shownever firing for some hidden windows on Windows and Linux. #54119 (Also in 44, 45)v43.7.3: electron v43.7.3Compare Source
Release Notes for v43.7.3
Other Changes
v43.7.2: electron v43.7.2Compare Source
Release Notes for v43.7.2
Fixes
select-usb-devicehandler destroys the requestingwebContents. #54007 (Also in 44, 45)trueon Windows. #53960 (Also in 44, 45)Other Changes
v43.7.1: electron v43.7.1Compare Source
Release Notes for v43.7.1
Fixes
loadURL()again right after a load failed because the renderer process exited before the page committed. #53944 (Also in 44, 45)app.getPreferredSystemLanguages()was called. #53867 (Also in 44, 45)app.getPreferredSystemLanguages()on Windows. #53866 (Also in 44, 45)nodeIntegrationInSubFramesenabled andsandboxdisabled, e.g. on pages that embed Meta Pixel. #53884 (Also in 42, 44, 45)webContents.capturePage()on offscreen windows returning an image resampled to the display's scale factor instead of rendered at the window'soffscreen.deviceScaleFactor. #53818 (Also in 44, 45)v43.7.0: electron v43.7.0Compare Source
Release Notes for v43.7.0
Features
initiatorOriginto webRequest and protocol handler requests,DownloadItem.getInitiatorOrigin(), and a trailingframeargument to thewill-downloadandpreconnectsession events. #53704 (Also in 44, 45)ELECTRON_DEBUG_DRAGGABLE_REGIONSenvironment variable, which visualizes and logs draggable regions in unpackaged apps to help debug custom title bars. #53633 (Also in 44, 45)Fixes
file-system-access-restrictedevent are scoped to the requesting document, grants are reset when the origin's last page closes, and write access works in in-memory sessions. #53694 (Also in 42, 44, 45)session.setPermissionCheckHandlerreceiving the top-level origin and a nullwebContentsforhidandusbchecks made from a subframe. #53689 (Also in 42, 44, 45)webContents.on(),removeListener()andremoveAllListeners()throwing "Object has been destroyed" forconsole-messagelisteners after the WebContents was destroyed. #53496 (Also in 42, 44, 45)process.envwas written while another thread was reading the environment, and a memory leak when a worker thread exits. #53510 (Also in 42, 44, 45)window.open()child whosecontextIsolationdiffered from its opener's. #53540 (Also in 42, 44, 45)setDisplayMediaRequestHandlerwhen the granted frame had been destroyed or another tab was granted by id. #53671 (Also in 42, 44, 45)<webview>,window.close()andexecuteJavaScriptreply IPCs are validated against the sending frame. #53726 (Also in 42, 44, 45)<webview>withoutallowpopupsalso blocks links opened into a new window by modifier-click, and such windows navigate as the clicking document rather than as a browser-initiated load. #53718 (Also in 42, 44, 45)getUserMediawithchromeMediaSource: 'desktop'no longer accepts WebContents source ids; usechromeMediaSource: 'tab'withwebContents.getMediaSourceId()orsetDisplayMediaRequestHandlerto capture a WebContents. #53707 (Also in 42, 44, 45)nodeIntegrationInWorkernow applies only to workers created by frames that themselves have Node integration; enablenodeIntegrationInSubFramesto keep Node in workers created by subframes. #53712 (Also in 42, 44, 45)openExternalpermission requests started by a frame that has since gone away are attributed to that frame's origin rather than to the navigating page. #53698 (Also in 42, 44, 45)pointerLockandkeyboardLockpermission requests now report the requesting frame, andexecCommand('paste')requires user activation in the frame that calls it. #53701 (Also in 42, 44, 45)Other Changes
app-regiondraggable elements. #53632 (Also in 44, 45)v43.6.0: electron v43.6.0Compare Source
Release Notes for v43.6.0
Features
badgeproperty toMenuItemon macOS 14+ for showing a count or custom text badge next to a menu item's label. #53045 (Also in 44)Fixes
AXLineForIndexandAXRangeForLinenow return the line containing the caret. #53428net.requestchunked upload stream inside a protocol handler never settling when the request failed or was aborted. #53374 (Also in 44, 45)menu.popupwith a frame from an offscreen rendered window. #53432 (Also in 44)node::ObjectWrapaborting during garbage collection on Node.js 24.19.0 and later. #53393 (Also in 42, 44, 45)Other Changes
v43.5.1: electron v43.5.1Compare Source
Release Notes for v43.5.1
Fixes
chrome.tabs.query()returning taburlandtitleto extensions without thetabspermission or host access, aligning withtabs.get. #53356 (Also in 42, 44, 45)contextBridge, and several main/utility-process crashes when option objects passed to Electron APIs contain throwing accessors or Proxy traps. #53330 (Also in 42, 44)contextBridgewas swallowed instead of being thrown back to the caller. #53334 (Also in 44, 45)http://accessibility/orhttp://devtools/, when an extension background page usednavigator.mediaDevices, and when callingSerialPort.forget()for a disconnected device. #53332 (Also in 44, 45)NotAllowedError: Third party iframes are not allowed to show a file picker. #53327 (Also in 44, 45)desktopNamecontains dashes, which brokeglobalShortcutand other portal-based APIs on Linux. #52722v43.5.0: electron v43.5.0Compare Source
Release Notes for v43.5.0
Fixes
BrowserWindow.unmaximize()andrestore()having no effect on Wayland when the window was maximized immediately after creation. #53125 (Also in 42, 44)Uncaught illegal accesserrors and possible renderer crashes after closing a same-process child window or removing an iframe withnodeIntegrationInSubFramesenabled. #53041 (Also in 42, 44)fs.constants.O_DIRECTORY,O_NOFOLLOWandO_DIRECTholding x86 values on Linux arm64 and armv7l, which made opening a directory fail withEINVAL, and maderequire('trace_events')behave the same on cross-compiled builds as on native ones. #53319 (Also in 42, 44, 45)webContents.executeJavaScriptInIsolatedWorldresolving withundefinedwhenworldIdwas not an integer. #53237 (Also in 44)webContents.print()honoringprintBackground,duplexMode, and printer default duplex settings. #53160 (Also in 42, 44)node:wasifunctions in optimized code. #53265 (Also in 42, 44, 45)utilityProcess.postMessage()after the utility process had exited. #53301 (Also in 44, 45)SpeechRecognition.available()orSpeechRecognition.install()withprocessLocally. #53015 (Also in 42, 44)WebContentsViewwouldn't see the correct window size. #53152 (Also in 42, 44)webRequest.onBeforeRequestlistener redirected a CORS preflight request, and when callingnet.fetch()with awebRequest-permission extension loaded. #53304 (Also in 44, 45)browserWindow.setTitle(). #53023 (Also in 42, 44)--langvalues such asde-DEloading no locale resources on macOS, which left localized strings empty and could crash WebAuthn Touch ID prompts. #53186 (Also in 42, 44)additionalDatatoapp.requestSingleInstanceLock(). #53156 (Also in 42, 44)Other Changes
BrowserWindowon Linux.contextBridge-exposed APIs.ipcRenderer,ipcMainhandlers andwebContents.send. #53018 (Also in 42, 44)utilityProcess.fork(),child_process.fork()/ELECTRON_RUN_AS_NODEchild processes and Node.js-enabled renderers. #53135 (Also in 42, 44)fetch()calls and file:// loads in renderers no longer wait for the main process to be idle when nowebRequestlisteners or protocol interceptors are registered. #53142 (Also in 42, 44)v43.4.1: electron v43.4.1Compare Source
Release Notes for v43.4.1
Fixes
webContents.setDevToolsWebContents(). #52937 (Also in 44)registerFileProtocolandregisterHttpProtocolreturning readable responses to cross-originno-corsfetches; they now return opaque responses likeprotocol.handle. #52853 (Also in 41, 42, 44)WebContentsViewstaying blank after its window is shown whensetBackgroundThrottling(false)was called while the window was hidden. #52864 (Also in 42, 44)systemPreferences.promptTouchID(reason)when an invalid reason value is passed. #52782 (Also in 42, 44)app.setLoginItemSettingsif a non-UTF8 service name is used. #52944 (Also in 44)tls/httpsshortly before exiting, affectingapp.exit()beforereadyand short-livedELECTRON_RUN_AS_NODE/child_process.fork()scripts. #52870 (Also in 44)contentTracing.stopRecording()when the trace file could not be written to the requested path. #52795 (Also in 42, 44)npm installfailure with no recovery path when the OS blocked the native zip extractor from loading (for example, Windows Smart App Control). #52845 (Also in 44)app.quit()while ashell.openExternal()orshell.openPath()call was still waiting on a system "Open with" dialog. #52897 (Also in 41, 44)electron-mksnapshot, and theloadBrowserProcessSpecificV8Snapshotfuse) having no effect in the main process on macOS arm64, Linux x64 and Windows x64. #52877 (Also in 42, 44)persist:prefix). #52835 (Also in 44)<webview>andwindow.opennow inheritnodeIntegrationInWorkerfrom the embedder, consistent with the other Node and sandbox preferences. #52830 (Also in 41, 42, 44)Other Changes
5246282. #528685422242,5420251. #52842Trayicons not appearing (and their menus not opening) on Linux desktops that address the StatusNotifierItem by its unique D-Bus name or via theorg.freedesktop.StatusNotifierIteminterface, such as GNOME with the AppIndicator extension, Cinnamon and XFCE. #52952speechSynthesiscould block the main process for several hundred milliseconds. #52814v43.4.0: electron v43.4.0Compare Source
Release Notes for v43.4.0
Features
webFrameMain.printToPDF()to allow printing individual frames to PDF from the main process. #52627 (Also in 42, 44)getDisplayMedia({ audio: { restrictOwnAudio: true } })was ignored insetDisplayMediaRequestHandler, causing loopback audio to include local app playback. #52533 (Also in 44)Fixes
systemPreferences.getAccentColor()returning an empty string on some launches). #52575Other Changes
v43.3.0: electron v43.3.0Compare Source
Release Notes for v43.3.0
Features
availabletoprocess.getSystemMemoryInfo()on Linux, exposingproc/meminfoMemAvailable. #52379 (Also in 42, 44)Fixes
BrowserWindowsize corruption on Windows when created with explicitx/yon a secondary monitor whose DPI differs from the primary. #52501 (Also in 42, 44)Dirent.parentPathbeingundefinedforfs.readdir,fs.readdirSync,fs.glob, andfs.globSyncwithwithFileTypes: trueinside asar archives. #52505 (Also in 42, 44)dialog.showOpenDialog/dialog.showSaveDialogopening at an unusable location on Linux whendefaultPathis a bare filename without a directory. #52401 (Also in 44)protocol.registerStreamProtocolwhen an error is emitted during a read. #52514 (Also in 41, 42, 44)requestSingleInstanceLockcould result in a crash. #52471 (Also in 44)Other Changes
v43.2.0: electron v43.2.0Compare Source
Release Notes for v43.2.0
Features
net.WebSocket, a WHATWG-compatible WebSocket client for the main process that routes through Chromium's network stack. #52344 (Also in 42)Fixes
app.disableHardwareAcceleration()not fully disabling GPU hardware usage on Windows starting from Electron 38. #52369 (Also in 41, 42, 44)globalShortcutnot working on GNOME Wayland by enabling Chromium'sGlobalShortcutsPortalPreferredTriggerfeature by default on Linux. #52228Other Changes
v43.1.1: electron v43.1.1Compare Source
Release Notes for v43.1.1
Fixes
ValidateIntegrityOrDie) and spurious preloadENOENTerrors when an app'sapp.asaris replaced on disk (e.g. by an updater or MDM software) while the app is running. #52293 (Also in 42, 44)Other Changes
v43.1.0: electron v43.1.0Compare Source
Release Notes for v43.1.0
Fixes
Other Changes
v43.0.0: electron v43.0.0Compare Source
Release Notes for v43.0.0
Stack Upgrades
150.0.7871.46v24.147.015.0Breaking Changes
nativeImagewas 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 anativeImage. #51565roundedCorners: falseon the window. #52111showHiddenFilessupport from thedialogAPI on Linux. #51880Features
Additions
app.getApplicationInfoForProtocol(). #51297 (Also in 42)Notification.getHistory()for macOS, allowing developers to restore all delivered notifications still present in Notification Center. #50325 (Also in 42)accessibilityLabelproperty toMenuItemconstructor options and properties for defining screen-reader-friendly labels. #50240allowExtensionsprivilege toprotocol.registerSchemesAsPrivileged()to enable Chrome extensions on custom protocols. #49951 (Also in 40, 41, 42)app.configureWebAuthn()to enable the Touch ID platform authenticator for WebAuthn on macOS, and aselect-webauthn-accountsession event for choosing between multiple discoverable credentials. #51255 (Also in 41, 42)globalShortcut.setSuspended()andglobalShortcut.isSuspended()methods to temporarily suspend and resume global shortcut handling. #50425 (Also in 42)idandgroupIdoptions to the Notification constructor on macOS.idallows custom identifiers for notifications, andgroupIdvisually groups notifications together in Notification Center. #50097 (Also in 42)nv12OSR pixel format support for professional use. #49799view.setBackgroundBlur. #51076webContents.copyVideoFrameAt(x, y)andwebContents.saveVideoFrameAs(x, y)methods. #48149contentTracing.enableHeapProfiling(). #50826 (Also in 41, 42)urgencyoption in Notifications on Windows. #50225 (Also in 41, 42)--experimental-inspector-network-resourceNode.js flag to be passed through Electron. #49689 (Also in 41, 42)Improvements
app.getApplicationNameForProtocol()on Linux. #51251 (Also in 42)app.isDefaultProtocolClient()andapp.setAsDefaultProtocolClient()on Linux. #51316 (Also in 42)webRequestheader conversions and several other gin converter hot paths. #51608 (Also in 42)Fixes
desktopCapturer.getSources()hanging on macOS. #51128process.exit()with no argument did not exit withprocess.exitCodeprocess.exit()in the main process. #51428rgba(0,0,0,0)failing back to default frame color. #52010Also in earlier versions...
fscopy methods. #50226 (Also in 39, 40, 41, 42)metadatafields tocontentTracingtraces. #50892 (Also in 41, 42)kResizeThresholdto trigger the resize on corners. #50637 (Also in 41, 42)fetch()and XHR are blocked for custom protocols registered withsupportFetchAPI: trueunlesscorsEnabled: trueis also set; cross-originmode: 'no-cors'requests now receive an opaque response. #51152 (Also in 39, 40, 41, 42)ps aux. #50509 (Also in 42)NativeWindowViews::MoveBehindTaskBarIfNeeded(). #52021 (Also in 41, 42)ELECTRON_INSTALL_PLATFORMbeing ignored when resolving the Electron executable path during postinstall, which causedpath.txtto be written for the host platform instead of the requested target and madeisInstalled()always re-download on subsequent installs. #51029 (Also in 42)ProtocolResponse.urlrequests being made through the default session instead of the session the protocol handler was registered on whenProtocolResponse.sessionwas not set. #52131 (Also in 40, 41, 42)app.getLoginItemSettings()returningundefinedforexecutableWillLaunchAtLoginon macOS; the property is now always a boolean. #51416 (Also in 40, 41, 42)fs.staton files inside asar archives returningundefinedforblksizeandblocksinstead of numeric values. #50825 (Also in 40, 41, 42)webContents.printToPDFrejecting on all subsequent calls after a prior call was rejected with an invalidpageRangesvalue. #51174 (Also in 40, 41, 42)webRequest.onBeforeSendHeaders()callback. #51340 (Also in 40, 41, 42)webContents.reload()or navigating synchronously from therender-process-goneevent; the event is now emitted after the renderer's teardown notification has completed. #51918 (Also in 41, 42)clipboard.readImage()when the clipboard contains malformed image data. #50475 (Also in 39, 40, 41, 42)touchID.promptReasontoapp.configureWebAuthn()to customize the prompt text. #51595 (Also in 41, 42)contentTracing.getTraceBufferUsage()while a trace session is active. #50556 (Also in 39, 40, 41, 42)release()after the texture object was garbage collected. #50473 (Also in 39, 40, 41, 42)webContents.print(). #50843 (Also in 41, 42)setResizable. #51252 (Also in 41, 42)<geolocation>HTML element. #51346 (Also in 41, 42)WebAssembly.compileStreaming()orWebAssembly.instantiateStreaming()withnodeIntegrationenabled. #51955 (Also in 42)Invoke in DisallowJavascriptExecutionScopecrash on application quit when aWebContents(or other JS-emitting native object) is garbage-collected during shutdown. #50688 (Also in 40, 41, 42)win.center(). Additionally, fixed an issue where frameless windows would appear slightly off-center on Windows. #51920 (Also in 41, 42)UnhookWindowsHookExfailure insetIgnoreMouseEvents(true, { forward: true })teardown could cause duplicate low-level mouse hooks to be installed on the next activation. #51098 (Also in 41, 42)show/hideevents andWebContentsvisibility state could be reported incorrectly when multipleWebContentsViews were attached to a window. #50579 (Also in 40, 41, 42)app-region: draginside a hiddenWebContentsViewwould still drag the parent window on Windows. #51200 (Also in 40, 41, 42)nodeIntegrationInWorkerdidn't always work in AudioWorklet. #47244 (Also in 40, 41, 42)processand other Node globals were undefined in ESM preload scripts whencontextIsolationwas disabled. #51723 (Also in 42)setSimpleFullScreenon macOS would exit when web content calledrequestFullscreen(). #50874 (Also in 40, 41, 42)contentTracingAPIs beforeapp.whenReady()would crash the application. #50920 (Also in 41, 42)getFileHandlerequests on the same path could stall indefinitely. #50597 (Also in 40, 41, 42)webContents.print()did not prefill the print dialog on macOS. #50600 (Also in 40, 41, 42)electronvia ESM would touch the OS keychain on app-ready even whensafeStoragewas never used.safeStorage.isAsyncEncryptionAvailable()now returns a Promise as documented. #50419 (Also in 42)webContents.print()callback may not fire correctly in some cases. #50431 (Also in 41, 42)always-on-top-changedeven to fire with incorrect values. #51110 (Also in 40, 41, 42)contenteditableelements. #51289 (Also in 40, 41, 42)enable_pdfdisabled. #51223 (Also in 41, 42)app.setPath('sessionData')was called with a non-existent directory. #50891 (Also in 41, 42)setResizable(false)followed bysetResizable(true). #51175 (Also in 41, 42)--remote-debugging-portnot working when inspecting from Chrome'schrome://inspectpage. The DevTools page would appear empty due to the frontend URL pointing to a CDN that returned 404 for Electron's Chromium builds. #51236 (Also in 41)frame: false, matching the behavior for windows with frames. #50706 (Also in 41, 42)desktopNameis not provided inpackage.json. #51424 (Also in 41, 42)BaseWindow. #52119 (Also in 41, 42)allow-popups-to-escape-sandboxis set. #52189 (Also in 42)Other Changes
gn genfailing to resolveelectron_versionwhen building from agit worktreecheckout. #51146 (Also in 39, 40, 41, 42)Buffer/TextEncoderAPIs and a crash infs.writeFileSyncwith non-ASCII strings on Apple Silicon. #51850 (Also in 41, 42)Documentation
Notices
Support for 32-bit platforms ending
Electron 43.x.y will be the last version series of Electron to ship with prebuilt binaries for 32-bit platforms: Windows x86 (
win32-ia32) and Linux ARM (linux-armv7l). Once the v43 series reaches end of life in January 2027, these 32-bit platforms will no longer be supported.End of Support for 40.x.y
Electron 40.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.
v42.11.18: electron v42.11.18Compare Source
Release Notes for v42.11.18
Other Changes
v42.11.17: electron v42.11.17Compare Source
Release Notes for v42.11.17
v42.11.16: electron v42.11.16Compare Source
Release Notes for v42.11.16
Fixes
webPreferences. #55050 (Also in 43, 44, 45)setCertificateVerifyPrococcasionally not being applied to a request issued concurrently with the first request to a host. #55054 (Also in 43, 44, 45)v42.11.15: electron v42.11.15Compare Source
Release Notes for v42.11.15
Fixes
net.fetchandsession.fetchfailing permanently withnet::ERR_FAILEDafter the Network Service process restarts. #54925 (Also in 43, 44, 45)utilityProcessdropping messages posted withprocess.parentPort.postMessage()right before the process exits. #55000 (Also in 43, 45)Other Changes
v42.11.14: electron v42.11.14Compare Source
Release Notes for v42.11.14
Other Changes
v42.11.13: electron v42.11.13Compare Source
Release Notes for v42.11.13
Fixes
v42.11.12: electron v42.11.12Compare Source
Release Notes for v42.11.12
Fixes
ResizeObserverloop-limit error handler modified layout. #54610 (Also in 43, 44, 45)Other Changes
v42.11.11: electron v42.11.11Compare Source
Release Notes for v42.11.11
Fixes
v42.11.10: electron v42.11.10Compare Source
Release Notes for v42.11.10
Other Changes
v42.11.9: electron v42.11.9Compare Source
Release Notes for v42.11.9
Fixes
clipboard.read(),readText()andhas()resolving seconds late on Linux while the app was idle. #54310 (Also in 43, 44, 45)fs.rmSyncfailing to remove read-only files on Windows. #54257 (Also in 43, 44, 45)pointerLockpermission requests from some iframes reporting the parent frame. #54466 (Also in 43, 44, 45)utilityProcessdroppingstdout/stderroutput that the child wrote immediately before exiting. #54332 (Also in 43, 44, 45)RuntimeError: unreachableafter updating between certain patch releases. #54239 (Also in 43, 44, 45)v42.11.8: electron v42.11.8Compare Source
Release Notes for v42.11.8
Other Changes
v42.11.7: electron v42.11.7Compare Source
Release Notes for v42.11.7
Fixes
sandboxed_renderer.bundle.jsscript failed to run" console error when DevTools attached to a sandboxed frame before its first navigation. #54175 (Also in 43)guestInstanceId" error when removing a loaded<webview>from the DOM. #54098 (Also in 43, 44, 45)v42.11.6: electron v42.11.6Compare Source
Release Notes for v42.11.6
Other Changes
v42.11.5: electron v42.11.5Compare Source
Release Notes for v42.11.5
Other Changes
v42.11.4: electron v42.11.4Compare Source
Release Notes for v42.11.4
Fixes
nodeIntegrationInSubFramesenabled andsandboxdisabled, e.g. on pages that embed Meta Pixel. #53886 (Also in 43, 44, 45)Other Changes
v42.11.3: electron v42.11.3Compare Source
Release Notes for v42.11.3
Fixes
file-system-access-restrictedevent are scoped to the requesting document, grants are reset when the origin's last page closes, and write access works in in-memory sessions. #53695 (Also in 43, 44, 45)session.setPermissionCheckHandlerreceiving the top-level origin and a nullwebContentsforhidandusbchecks made from a subframe. #53736 (Also in 43, 44, 45)webContents.on(),removeListener()andremoveAllListeners()throwing "Object has been destroyed" forconsole-messagelisteners after the WebContents was destroyed. #53497 (Also in 43, 44, 45)process.envwas written while another thread was reading the environment, and a memory leak when a worker thread exits. #53511 (Also in 43, 44, 45)window.open()child whosecontextIsolationdiffered from its opener's. #53541 (Also in 43, 44, 45)setDisplayMediaRequestHandlerwhen the granted frame had been destroyed or another tab was granted by id. #53674 (Also in 43, 44, 45)<webview>,window.close()andexecuteJavaScriptreply IPCs are validated against the sending frame. #53727 (Also in 43, 44, 45)<webview>withoutallowpopupsalso blocks links opened into a new window by modifier-click, and such windows navigate as the clicking document rather than as a browser-initiated load. #53719 (Also in 43, 44, 45)getUserMediawithchromeMediaSource: 'desktop'no longer accepts WebContents source ids; usechromeMediaSource: 'tab'withwebContents.getMediaSourceId()orsetDisplayMediaRequestHandlerto capture a WebContents. #53710 (Also in 43, 44, 45)nodeIntegrationInWorkernow applies only to workers created by frames that themselves have Node integration; enablenodeIntegrationInSubFramesto keep Node in workers created by subframes. #53713 (Also in 43, 44, 45)openExternalpermission requests started by a frame that has since gone away are attributed to that frame's origin rather than to the navigating page. #53697 (Also in 43, 44, 45)pointerLockandkeyboardLockpermission requests now report the requesting frame, andexecCommand('paste')requires user activation in the frame that calls it. #53702 (Also in 43, 44, 45)v42.11.2: electron v42.11.2Compare Source
Release Notes for v42.11.2
Fixes
node::ObjectWrapaborting during garbage collection on Node.js 24.19.0 and later. #53394 (Also in 43, 44, 45)Other Changes
v42.11.1: electron v42.11.1Compare Source
Release Notes for v42.11.1
Fixes
chrome.tabs.query()returning taburlandtitleto extensions without thetabspermission or host access, aligning withtabs.get. #53355 (Also in 43, 44, 45)contextBridge, and several main/utility-process crashes when option objects passed to Electron APIs contain throwing accessors or Proxy traps. #53329 (Also in 43, 44)Other Changes
v42.11.0: electron v42.11.0Compare Source
Release Notes for v42.11.0
Fixes
fs.constants.O_DIRECTORY,O_NOFOLLOWandO_DIRECTholding x86 values on Linux arm64 and armv7l, which made opening a directory fail withEINVAL, and maderequire('trace_events')behave the same on cross-compiled builds as on native ones. #53318 (Also in 43, 44, 45)node:wasifunctions in optimized code. #53267 (Also in 43, 44, 45)--langvalues such asde-DEloading no locale resources on macOS, which left localized strings empty and could crash WebAuthn Touch ID prompts. #53187 (Also in 43, 44)Other Changes
v42.10.1: electron v42.10.1Compare Source
Release Notes for v42.10.1
Fixes
webContents.print()honoringprintBackground,duplexMode, and printer default duplex settings. #53158 (Also in 43, 44)WebContentsViewwouldn't see the correct window size. #53151 (Also in 43, 44)additionalDatatoapp.requestSingleInstanceLock(). #53157 (Also in 43, 44)Other Changes
fetch()calls and file:// loads in renderers no longer wait for the main process to be idle when nowebRequestlisteners or protocol interceptors are registered. #53143 (Also in 43, 44)v42.10.0: electron v42.10.0Compare Source
Release Notes for v42.10.0
Features
Fixes
webContents.setDevToolsWebContents(). #52981 (Also in 43, 44)BrowserWindow.unmaximize()andrestore()having no effect on Wayland when the window was maximized immediately after creation. #53126 (Also in 44)Uncaught illegal accesserrors and possible renderer crashes after closing a same-process child window or removing an iframe withnodeIntegrationInSubFramesenabled. #53042 (Also in 44)dialog.showOpenDialog/dialog.showSaveDialogopening at an unusable location on Linux whendefaultPathis a bare filename without a directory. #52980 (Also in 43, 44)app.setLoginItemSettingsif a non-UTF8 service name is used. #52989 (Also in 43, 44)tls/httpsshortly before exiting, affectingapp.exit()beforereadyand short-livedELECTRON_RUN_AS_NODE/child_process.fork()scripts. #52992 (Also in 43, 44)SpeechRecognition.available()orSpeechRecognition.install()withprocessLocally. #53016 (Also in 43, 44)requestSingleInstanceLockcould result in a crash. #52982 (Also in 43, 44)browserWindow.setTitle(). #53099 (Also in 43, 44)persist:prefix). #52990 (Also in 43, 44)rgba(0,0,0,0)failing back to default frame color. #52976 (Also in 41, 43)Other Changes
BrowserWindowon Linux.contextBridge-exposed APIs.ipcRenderer,ipcMainhandlers andwebContents.send. #53019 (Also in 43, 44)utilityProcess.fork(),child_process.fork()/ELECTRON_RUN_AS_NODEchild processes and Node.js-enabled renderers. #53136 (Also in 43, 44)v42.9.3: electron v42.9.3Compare Source
Release Notes for v42.9.3
Fixes
app.quit()while ashell.openExternal()orshell.openPath()call was still waiting on a system "Open with" dialog. #52900 (Also in 41, 43, 44)electron-mksnapshot, and theloadBrowserProcessSpecificV8Snapshotfuse) having no effect in the main process on macOS arm64, Linux x64 and Windows x64. #52876 (Also in 43, 44)Other Changes
5246282. #52869v42.9.2: electron v42.9.2Compare Source
Release Notes for v42.9.2
Fixes
registerFileProtocolandregisterHttpProtocolreturning readable responses to cross-originno-corsfetches; they now return opaque responses likeprotocol.handle. #52855 (Also in 41, 43, 44)WebContentsViewstaying blank after its window is shown whensetBackgroundThrottling(false)was called while the window was hidden. #52865 (Also in 43, 44)<webview>andwindow.opennow inheritnodeIntegrationInWorkerfrom the embedder, consistent with the other Node and sandbox preferences. #52831 (Also in 41, 43, 44)Other Changes
5422242,5420251. #52843v42.9.1: electron v42.9.1Compare Source
Release Notes for v42.9.1
Fixes
systemPreferences.promptTouchID(reason)when an invalid reason value is passed. #52780 (Also in 43, 44)contentTracing.stopRecording()when the trace file could not be written to the requested path. #52796 (Also in 43, 44)Other Changes
speechSynthesiscould block the main process for several hundred milliseconds. #52813v42.9.0: electron v42.9.0Compare Source
Release Notes for v42.9.0
Features
webFrameMain.printToPDF()to allow printing individual frames to PDF from the main process. #52626 (Also in 43, 44)Fixes
Other Changes
v42.8.1: electron v42.8.1Compare Source
Release Notes for v42.8.1
Fixes
BrowserWindowsize corruption on Windows when created with explicitx/yon a secondary monitor whose DPI differs from the primary. #52500 (Also in 43, 44)Dirent.parentPathbeingundefinedforfs.readdir,fs.readdirSync,fs.glob, andfs.globSyncwithwithFileTypes: trueinside asar archives. #52506 (Also in 43, 44)protocol.registerStreamProtocolwhen an error is emitted during a read. #52516 (Also in 41, 43, 44)Other Changes
v42.8.0: electron v42.8.0Compare Source
Release Notes for v42.8.0
Features
availabletoprocess.getSystemMemoryInfo()on Linux, exposingproc/meminfoMemAvailable. #52378 (Also in 43, 44)Fixes
v42.7.1: electron v42.7.1Compare Source
Release Notes for v42.7.1
Fixes
app.disableHardwareAcceleration()not fully disabling GPU hardware usage on Windows starting from Electron 38. #52371 (Also in 41, 43, 44)--remote-debugging-portnot working when inspecting from Chrome'schrome://inspectpage. The DevTools page would appear empty due to the frontend URL pointing to a CDN that returned 404 for Electron's Chromium builds. #51415 (Also in 41)Other Changes
v42.7.0: electron v42.7.0Compare Source
Release Notes for v42.7.0
Features
net.WebSocket, a WHATWG-compatible WebSocket client for the main process that routes through Chromium's network stack. #52345v42.6.2: electron v42.6.2Compare Source
Release Notes for v42.6.2
Fixes
ValidateIntegrityOrDie) and spurious preloadENOENTerrors when an app'sapp.asaris replaced on disk (e.g. by an updater or MDM software) while the app is running. #52294 (Also in 43, 44)BrowserWindowwithuseContentSize: truewould clamp the content area smaller than the configuredmaxWidth/maxHeightwhen programmatically resizing beyond those constraints viasetBounds,setSize, orsetContentSize. #51622Other Changes
v42.6.1: electron v42.6.1Compare Source
Release Notes for v42.6.1
Fixes
v42.6.0: electron v42.6.0Compare Source
Release Notes for v42.6.0
Fixes
Other Changes
v42.5.2: electron v42.5.2Compare Source
Release Notes for v42.5.2
Fixes
allow-popups-to-escape-sandboxis set. #52190 (Also in 43)v42.5.1: electron v42.5.1Compare Source
Release Notes for v42.5.1
Fixes
ProtocolResponse.urlrequests being made through the default session instead of the session the protocol handler was registered on whenProtocolResponse.sessionwas not set. #52132 (Also in 40, 41, 43)BaseWindow. #52117 (Also in 41, 43)Other Changes
v42.5.0: electron v42.5.0Compare Source
Release Notes for v42.5.0
Fixes
NativeWindowViews::MoveBehindTaskBarIfNeeded(). #52022 (Also in 41, 43)Other Changes
v42.4.1: electron v42.4.1Compare Source
Release Notes for v42.4.1
Fixes
safeStorage.isAsyncEncryptionAvailable()incorrectly reportingfalseshortly after the appreadyevent, and a crash when callingsafeStorage.encryptStringAsync()orsafeStorage.decryptStringAsync()before async encryption initialization completed.safeStorage.isAsyncEncryptionAvailable()now returns a Promise as documented. #51924WebAssembly.compileStreaming()orWebAssembly.instantiateStreaming()withnodeIntegrationenabled. #51956 (Also in 43)Other Changes
Documentation
v42.4.0: electron v42.4.0Compare Source
Release Notes for v42.4.0
Fixes
webContents.reload()or navigating synchronously from therender-process-goneevent; the event is now emitted after the renderer's teardown notification has completed. #51916 (Also in 43)win.center(). Additionally, fixed an issue where frameless windows would appear slightly off-center on Windows. #51921 (Also in 41, 43)Other Changes
v42.3.3: electron v42.3.3Compare Source
Release Notes for v42.3.3
Fixes
node:wasifunctions with fast API calls enabled. #51867Other Changes
Buffer/TextEncoderAPIs and a crash infs.writeFileSyncwith non-ASCII strings on Apple Silicon. #51849 (Also in 41, 43)v42.3.2: electron v42.3.2Compare Source
Release Notes for v42.3.2
simdutfwhen processing strings in the main processv42.3.1: electron v42.3.1Compare Source
Release Notes for v42.3.1
Fixes
desktopCapturercrash when sharing a window on Windows. #51787Other Changes
app.isDefaultProtocolClient()andapp.setAsDefaultProtocolClient()on Linux. #51627v42.3.0: electron v42.3.0Compare Source
Release Notes for v42.3.0
Features
app.getApplicationInfoForProtocol(). #51680Fixes
processand other Node globals were undefined in ESM preload scripts whencontextIsolationwas disabled. #51726 (Also in 43)Other Changes
v42.2.0: electron v42.2.0Compare Source
Release Notes for v42.2.0
Features
--experimental-inspector-network-resourceNode.js flag to be passed through Electron. #51378 (Also in 41)Fixes
Other Changes
app.getApplicationNameForProtocol()on Linux. #51628Documentation
v42.1.0: electron v42.1.0Compare Source
Release Notes for v42.1.0
Fixes
touchID.promptReasontoapp.configureWebAuthn()to customize the prompt text. #51594 (Also in 41, 43)Other Changes
webRequestheader conversions and several other gin converter hot paths. #51607 (Also in 43)v42.0.1: electron v42.0.1Compare Source
Release Notes for v42.0.1
Fixes
app.getLoginItemSettings()returningundefinedforexecutableWillLaunchAtLoginon macOS; the property is now always a boolean. #51507 (Also in 40, 41)Other Changes
v42.0.0: electron v42.0.0Compare Source
Release Notes for v42.0.0
Stack Upgrades
148.0.7778.96v24.15.014.8Breaking Changes
Behavior Changed: macOS notifications now use
UNNotificationAPIElectron has migrated from the deprecated
NSUserNotificationAPI to theUNNotificationAPI on macOS. The new API requires that an application be code-signed in order for notifications to be displayed. If an application is not code-signed, notifications will emit afailedevent on theNotificationobject. #47817Behavior Changed:
electronno longer downloads itself viapostinstallscriptPreviously, the
electronnpm package would download the Electron binary from the repository's GitHub Releases in the package'spostinstallscript. With recent supply chain security attacks against the npm ecosystem withpostinstallscripts as a common attack vector, Electron will now download itself dynamically the first time that its mainbinscript is run (e.g. vianpx electron). See RFC #22 for more context. #49328Behavior Changed: Offscreen rendering default device scale factor
Previously, OSR used the primary display's device scale factor for rendering. Starting from Electron 42, the default changes to a constant value of
1.0for more consistent output sizes. UsewebPreferences.offscreen.deviceScaleFactorto specify a custom value. #49683Removed:
quotasobject fromSession.clearStorageData(options)When calling
Session.clearStorageData(options), theoptions.quotasobject is no longer supported because it has been removed from upstream Chromium.Removed:
ELECTRON_SKIP_BINARY_DOWNLOADenvironment variableThis environment variable is no longer supported due to the new lazy download behavior. #50459
Features
Additions
app.configureWebAuthn({ touchID: { keychainAccessGroup } })to enable the WebAuthn Touch ID platform authenticator on macOS. Also introduces aselect-webauthn-accountsession event for discoverable-credential selection. #51411 (Also in 41)Notification.getHistory()for macOS. #51123Notification.handleActivation(callback)API on Windows to handle notification clicks, replies, and action buttons - including when the app is launched from a notification (cold start). #49919ELECTRON_INSTALL_PLATFORMandELECTRON_INSTALL_ARCHvariables to install binaries from other platforms and architectures. #49981allowExtensionsprivilege toprotocol.registerSchemesAsPrivileged()to enable Chrome extensions on custom protocols. #50530 (Also in 40, 41)app.isActive()to check if the app is the active/foreground application (macOS only). #49622globalShortcut.setSuspended()andglobalShortcut.isSuspended()methods to temporarily suspend and resume global shortcut handling. #50777idandgroupIdoptions to the Notification constructor on macOS.idallows custom identifiers for notifications, andgroupIdvisually groups notifications together in Notification Center. #50304webContents.getOrCreateDevToolsTargetId(). #49733 (Also in 41)disclaimoption to the UtilityProcess API to allow for TCC disclaiming on macOS. #49128 (Also in 39, 40, 41)reasonproperty to the Notification 'closed' event on Windows to allow developers to know the reason the Notification was dismissed. #49913 (Also in 40, 41)usePrinterDefaultPageSizeoption towebContents.print()to allow using the printer's default page size. #49523 (Also in 41)view.setBoundsand addedview.setBackgroundBlur. #48812nativeTheme.shouldDifferentiateWithoutColoron macOS. #50409 (Also in 41)--experimental-transform-types. #49711 (Also in 39, 40, 41)long-animation-framescript attribution (via--enable-features=AlwaysLogLOAFURL). #49706 (Also in 39, 40, 41)contentTracing. #51162 (Also in 41)safeStoragebackends via new asynchronous functionality in safeStorage. #49054urgencyoption in Notifications on Windows. #50383 (Also in 41)webPreferences.focusOnNavigation. #49425 (Also in 40, 41)node_modulesdynamically on first launch instead of running apostinstallscript. Added theinstall-electronscript to manually trigger the download as well. #49328WasmTrapHandlersfuse. #48983 (Also in 41)hasShadow: falsein the window constructor. #49295 (Also in 41)Fixes
fscopy methods. #50285 (Also in 39, 40, 41)metadatafields tocontentTracingtraces. #51007 (Also in 41)CoreAudio Tap APIfor audio capture used in electron'sdesktopCapturer(macOS). #49717 (Also in 39, 40, 41)kResizeThresholdto trigger the resize on corners. #51001 (Also in 41)AllowUniversalAccessFromFileURLsnot being properly constrained tofile:origins in agent cluster key assignment. #51404corsEnabled: falseprotocol handlers incorrectly working across protocols. #51269 (Also in 39, 40, 41)printToPDFqueue not resetting after a rejection. #51222 (Also in 40, 41)webContents.print()not honoringdpihorizontal/vertical options. #51354 (Also in 41)ps aux. #50533fs.staton files inside asar archives returningundefinedforblksizeandblocksinstead of numeric values. #50877 (Also in 40, 41)globalShortcutnot working on Wayland withGlobalShortcutsPortalfeature enabled. #49842 (Also in 40, 41)webPreference.offscreen.deviceScaleFactorto allow user specify a value. #48730 (Also in 40, 41)AutofillPopupteardown. #51317 (Also in 40, 41)clipboard.readImage()when the clipboard contains malformed image data. #50494 (Also in 39, 40, 41)contentTracingAPIs before app is ready. #51353 (Also in 41)contentTracing.getTraceBufferUsage()while a trace session is active. #50592 (Also in 39, 40, 41)webRequest.onBeforeSendHeaderswith invalid header names or values. #51366 (Also in 40, 41)release()after the texture object was garbage collected. #50502 (Also in 39, 40, 41)MicrotasksScopefor worker exit emit inContextWillDestroy. #51350 (Also in 40, 41)<permission>element was used, by including permission element string resources in locale paks. #51374 (Also in 41)webContents.print(). #50853Invoke in DisallowJavascriptExecutionScopecrash on application quit when aWebContents(or other JS-emitting native object) is garbage-collected during shutdown. #50695 (Also in 40, 41)chrome://accessibility. #49547 (Also in 39, 40, 41)app.on('continue-activity')on cold launch whenNSUserActivity.userInfowas nil. #49986 (Also in 39, 40, 41)show/hideevents andWebContentsvisibility state could be reported incorrectly when multipleWebContentsViews were attached to a window. #50712 (Also in 40, 41)autoUpdater.quitAndInstall()could fail ifcheckForUpdates()was called again after an update was already downloaded. #50210 (Also in 39, 40, 41)VideoFrameobjects returned throughcontextBridgehad an incorrect prototype. #49997 (Also in 39, 40, 41)additionalDatapassed toapp.requestSingleInstanceLockon Windows could be truncated or fail to deserialize in the primary instance'ssecond-instanceevent. #50119 (Also in 38, 39, 40, 41)net.fetch()requests in the main process and utility processes would permanently fail withnet::ERR_FAILEDafter the Network Service process crashed and restarted. #49887nodeIntegrationInWorkerdidn't always work in AudioWorklet. #51005 (Also in 40, 41)nodeIntegrationInWorkeroverrides insetWindowOpenHandlerwere not honored for child windows sharing a renderer process with their opener. #50122 (Also in 38, 39, 40, 41)screen.getCursorScreenPoint()crashed on Wayland when it was called before aBrowserWindowhad been created. #50092 (Also in 39, 40, 41)setSimpleFullScreenon macOS would exit when web content calledrequestFullscreen(). #50987 (Also in 40, 41)shell.writeShortcutLinkwas throwingTypeError: Insufficient number of argumentswhen called with just[(path, options)]. #49476 (Also in 39, 40, 41)setBoundson aWebContentsViewcould trigger redundantpage-favicon-updatedevents even when the favicon had not changed. #49464 (Also in 39, 40, 41)getFileHandlerequests on the same path could stall indefinitely. #50671 (Also in 40, 41)webContents.print()did not prefill the print dialog on macOS. #50643toastXmlcould cause a Notification crash. #49947 (Also in 40, 41)nullfor their accelerator property. #49558 (Also in 39, 40, 41)zoomFactorinsetWindowOpenHandler'soverrideBrowserWindowOptionshad no effect on windows opened viawindow.open(). #49886 (Also in 39, 40, 41)shellfunctionality may not work on Linux if the target window is already open. #49499 (Also in 41)webContents.print()callback may not fire correctly in some cases. #50603 (Also in 41)trafficLightPositionfrom minimization on macOS. #50183 (Also in 39, 40, 41)always-on-top-changedevent to fire with incorrect values. #51133 (Also in 40, 41)app.setPath('sessionData')was called with a non-existent directory. #50908 (Also in 41)WebContentsView. #51245 (Also in 40, 41)UnhookWindowsHookExfails inSetForwardMouseMessages. #51418 (Also in 41)contenteditableelements. #51344 (Also in 40, 41)win.setFullScreen(false)when not in fullscreen on Linux. #45930 (Also in 39, 40, 41)menu-will-closeevent when closed after any submenu has been open. #49783 (Also in 40, 41)frame: false, matching the behavior for windows with frames. #50864 (Also in 41)setResizablefor frameless windows. #51296 (Also in 41)setResizabletoggles on Windows. #51218 (Also in 41)resizableisfalse. Windows no longer shrink below the requested max size or grow taller when resizability is disabled. #49903 (Also in 41)globalShortcutAPI. #49988 (Also in 41)Other Changes
4835695. #49788gn genfailing to resolveelectron_versionwhen building from agit worktreecheckout. #51166 (Also in 39, 40, 41)gin_helper::Promiseto be managed by cppgc. #51405Documentation
Notices
End of Support for 39.x.y
Electron 39.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.
v41.10.7: electron v41.10.7Compare Source
Release Notes for v41.10.7
Fixes
rgba(0,0,0,0)failing back to default frame color. #53004 (Also in 42, 43)Other Changes
v41.10.6: electron v41.10.6Compare Source
Release Notes for v41.10.6
Fixes
registerFileProtocolandregisterHttpProtocolreturning readable responses to cross-originno-corsfetches; they now return opaque responses likeprotocol.handle. #52854 (Also in 42, 43, 44)app.quit()while ashell.openExternal()orshell.openPath()call was still waiting on a system "Open with" dialog. #52899 (Also in 43, 44)<webview>andwindow.opennow inheritnodeIntegrationInWorkerfrom the embedder, consistent with the other Node and sandbox preferences. #52829 (Also in 42, 43, 44)Other Changes
v41.10.5: electron v41.10.5Compare Source
Release Notes for v41.10.5
Fixes
Other Changes
v41.10.4: electron v41.10.4Compare Source
Release Notes for v41.10.4
Fixes
protocol.registerStreamProtocolwhen an error is emitted during a read. #52513 (Also in 42, 43, 44)allow-popups-to-escape-sandboxis set. #52486 (Also in 42, 43)v41.10.3: electron v41.10.3Compare Source
Release Notes for v41.10.3
Fixes
app.disableHardwareAcceleration()not fully disabling GPU hardware usage on Windows starting from Electron 38. #52368 (Also in 42, 43, 44)Other Changes
v41.10.2: electron v41.10.2Compare Source
Release Notes for v41.10.2
Fixes
WebAssembly.compileStreaming()orWebAssembly.instantiateStreaming()withnodeIntegrationenabled. #52240 (Also in 42, 43)Other Changes
v41.10.1: electron v41.10.1Compare Source
Release Notes for v41.10.1
Fixes
v41.10.0: electron v41.10.0Compare Source
Release Notes for v41.10.0
Other Changes
v41.9.2: electron v41.9.2Compare Source
Release Notes for v41.9.2
Fixes
v41.9.1: electron v41.9.1Compare Source
Release Notes for v41.9.1
Fixes
ProtocolResponse.urlrequests being made through the default session instead of the session the protocol handler was registered on whenProtocolResponse.sessionwas not set. #52134 (Also in 40, 42, 43)BaseWindow. #52118 (Also in 42, 43)Other Changes
v41.9.0: electron v41.9.0Compare Source
Release Notes for v41.9.0
Fixes
NativeWindowViews::MoveBehindTaskBarIfNeeded(). #52023 (Also in 42, 43)Other Changes
v41.8.0: electron v41.8.0Compare Source
Release Notes for v41.8.0
Fixes
webContents.reload()or navigating synchronously from therender-process-goneevent; the event is now emitted after the renderer's teardown notification has completed. #51917 (Also in 42, 43)Other Changes
Documentation
v41.7.2: electron v41.7.2Compare Source
Release Notes for v41.7.2
Fixes
win.center(). Additionally, fixed an issue where frameless windows would appear slightly off-center on Windows. #51919 (Also in 42, 43)Other Changes
Buffer/TextEncoderAPIs and a crash infs.writeFileSyncwith non-ASCII strings on Apple Silicon. #51851 (Also in 42, 43)v41.7.1: electron v41.7.1Compare Source
Release Notes for v41.7.1
Fixes
webContents.print(). #51728 (Also in 42)webContents.print()did not prefill the print dialog on macOS. #51682 (Also in 40, 42)v41.7.0: electron v41.7.0Compare Source
Release Notes for v41.7.0
Features
--experimental-inspector-network-resourceNode.js flag to be passed through Electron. #51377 (Also in 42)Fixes
Other Changes
v41.6.1: electron v41.6.1Compare Source
Release Notes for v41.6.1
Other Changes
v41.6.0: electron v41.6.0Compare Source
Release Notes for v41.6.0
Fixes
touchID.promptReasontoapp.configureWebAuthn()to customize the prompt text. #51604 (Also in 42, 43)v41.5.2: electron v41.5.2Compare Source
Release Notes for v41.5.2
Fixes
v41.5.1: electron v41.5.1Compare Source
Release Notes for v41.5.1
Fixes
app.getLoginItemSettings()returningundefinedforexecutableWillLaunchAtLoginon macOS; the property is now always a boolean. #51508 (Also in 40, 42)desktopNameis not provided inpackage.json. #51480 (Also in 42)v41.5.0: electron v41.5.0Compare Source
Release Notes for v41.5.0
Features
app.configureWebAuthn()to enable the Touch ID platform authenticator for WebAuthn on macOS, and aselect-webauthn-accountsession event for choosing between multiple discoverable credentials. #51412 (Also in 42)Fixes
setResizable. #51427 (Also in 42)UnhookWindowsHookExfailure insetIgnoreMouseEvents(true, { forward: true })teardown could cause duplicate low-level mouse hooks to be installed on the next activation. #51419 (Also in 42)--remote-debugging-portnot working when inspecting from Chrome'schrome://inspectpage. The DevTools page would appear empty due to the frontend URL pointing to a CDN that returned 404 for Electron's Chromium builds. #51413v41.4.0: electron v41.4.0Compare Source
Release Notes for v41.4.0
Features
contentTracing.enableHeapProfiling(). #51178 (Also in 42)Fixes
fetch()and XHR are blocked for custom protocols registered withsupportFetchAPI: trueunlesscorsEnabled: trueis also set; cross-originmode: 'no-cors'requests now receive an opaque response. #51270 (Also in 39, 40, 42)webRequest.onBeforeSendHeaders()callback. #51365 (Also in 40, 42)webPreference.offscreen.deviceScaleFactorto allow user specify a value, instead of using user's primary display's value. #50375 (Also in 40)<geolocation>HTML element. #51373 (Also in 42)contentTracingAPIs beforeapp.whenReady()would crash the application. #51352 (Also in 42)contenteditableelements. #51343 (Also in 40, 42)Other Changes
4955347. #512644927361,4926688,4934134,4933194,4941583,4962818. #51259v41.3.0: electron v41.3.0Compare Source
Release Notes for v41.3.0
Fixes
webContents.printToPDFrejecting on all subsequent calls after a prior call was rejected with an invalidpageRangesvalue. #51221 (Also in 40, 42)app-region: draginside a hiddenWebContentsViewwould still drag the parent window on Windows. #51246 (Also in 40, 42)enable_pdfdisabled. #51248 (Also in 42)setResizable(false)followed bysetResizable(true). #51217 (Also in 42)Other Changes
v41.2.2: electron v41.2.2Compare Source
Release Notes for v41.2.2
Fixes
nodeIntegrationInWorkerdidn't always work in AudioWorklet. #51006 (Also in 42)always-on-top-changedeven to fire with incorrect values. #51135 (Also in 40, 42)Other Changes
gn genfailing to resolveelectron_versionwhen building from agit worktreecheckout. #51165 (Also in 39, 40, 42)v41.2.1: electron v41.2.1Compare Source
Release Notes for v41.2.1
Fixes
metadatafields tocontentTracingtraces. #51021 (Also in 42)kResizeThresholdto trigger the resize on corners. #51002 (Also in 42)fs.staton files inside asar archives returningundefinedforblksizeandblocksinstead of numeric values. #50876 (Also in 40, 42)setSimpleFullScreenon macOS would exit when web content calledrequestFullscreen(). #50985 (Also in 40, 42)app.setPath('sessionData')was called with a non-existent directory. #50958 (Also in 42)frame: false, matching the behavior for windows with frames. #50863 (Also in 42)Other Changes
v41.2.0: electron v41.2.0Compare Source
Release Notes for v41.2.0
Features
allowExtensionsprivilege toprotocol.registerSchemesAsPrivileged()to enable Chrome extensions on custom protocols. #50529 (Also in 40, 42)Fixes
Invoke in DisallowJavascriptExecutionScopecrash on application quit when aWebContents(or other JS-emitting native object) is garbage-collected during shutdown. #50694 (Also in 40, 42)show/hideevents andWebContentsvisibility state could be reported incorrectly when multipleWebContentsViews were attached to a window. #50715 (Also in 40, 42)getFileHandlerequests on the same path could stall indefinitely. #50670 (Also in 40, 42)webContents.print()callback may not fire correctly in some cases. #50604 (Also in 42)Other Changes
v41.1.1: electron v41.1.1Compare Source
Release Notes for v41.1.1
Fixes
contentTracing.getTraceBufferUsage()while a trace session is active. #50594 (Also in 39, 40, 42)Other Changes
v41.1.0: electron v41.1.0Compare Source
Release Notes for v41.1.0
Features
urgencyoption in Notifications on Windows. #50382 (Also in 42)Fixes
clipboard.readImage()when the clipboard contains malformed image data. #50492 (Also in 39, 40, 42)release()after the texture object was garbage collected. #50501 (Also in 39, 40, 42)Other Changes
v41.0.4: electron v41.0.4Compare Source
Release Notes for v41.0.4
Fixes
Other Changes
v41.0.3: electron v41.0.3Compare Source
Release Notes for v41.0.3
Fixes
fscopy methods. #50286 (Also in 39, 40, 42)Other Changes
Documentation
v41.0.2: electron v41.0.2Compare Source
Release Notes for v41.0.2
Other Changes
v41.0.1: electron v41.0.1Compare Source
Release Notes for v41.0.1
Fixes
autoUpdater.quitAndInstall()could fail ifcheckForUpdates()was called again after an update was already downloaded. #50217 (Also in 39, 40)trafficLightPositionfrom minimization on macOS. #50209 (Also in 39, 40)Other Changes
v41.0.0: electron v41.0.0Compare Source
Release Notes for v41.0.0
Stack Upgrades
146.0.7680.65v24.14.014.6Breaking Changes
For breaking changes inherited via Chromium, see blog post
Features
Additions
webContents.getOrCreateDevToolsTargetId(). #50176disclaimoption to the UtilityProcess API to allow for TCC disclaiming on macOS. #49693 (Also in 39, 40)reasonproperty to the Notification 'closed' event on Windows to allow developers to know the reason the Notification was dismissed. #50029 (Also in 40)usePrinterDefaultPageSizeoption towebContents.print()to allow using the printer's default page size. #49812loginevent onwebContents. #48512 (Also in 39, 40)--experimental-transform-types. #49882 (Also in 39, 40)long-animation-framescript attribution (via--enable-features=AlwaysLogLOAFURL). #49773 (Also in 39, 40)webPreferences.focusOnNavigation. #49511 (Also in 40)WasmTrapHandlersfuse. #49839hasShadow: falsein the window constructor. #49885Improvements
nativeImage.createFromNamedImageto support SF Symbol names. #48203 (Also in 39, 40)Removed/Deprecated
Fixes
shellfunctionality may not work on Linux if the target window is already open. #49594resizableisfalse. Windows no longer shrink below the requested max size or grow taller when resizability is disabled. #49971globalShortcutAPI. #50051Also in earlier versions...
CoreAudio Tap APIfor audio capture used in electron'sdesktopCapturer(🍏 macOS). #49739 (Also in 39, 40)globalShortcutnot working on Wayland withGlobalShortcutsPortalfeature enabled. #49871 (Also in 40)setRepresentedFilename()not settingAXDocumentaccessibility attribute on macOS. #49346 (Also in 39, 40)chrome://accessibility. #49561 (Also in 39, 40)app.on('continue-activity')on cold launch whenNSUserActivity.userInfowas nil. #50006 (Also in 39, 40)VideoFrameobjects returned throughcontextBridgehad an incorrect prototype. #50023 (Also in 39, 40)additionalDatapassed toapp.requestSingleInstanceLockon Windows could be truncated or fail to deserialize in the primary instance'ssecond-instanceevent. #50154 (Also in 38, 39, 40)menu-did-closewas not emitted properly for some application menus. #49075 (Also in 38, 39, 40)nodeIntegrationInWorkeroverrides insetWindowOpenHandlerwere not honored for child windows sharing a renderer process with their opener. #50134 (Also in 38)screen.getCursorScreenPoint()crashed on Wayland when it was called before aBrowserWindowhad been created. #50105 (Also in 39, 40)shell.writeShortcutLinkwas throwingTypeError: Insufficient number of argumentswhen called with just[(path, options)]. #49503 (Also in 39, 40)setBoundson aWebContentsViewcould trigger redundantpage-favicon-updatedevents even when the favicon had not changed. #50085 (Also in 39, 40)toastXmlcould cause a Notification crash. #49953 (Also in 40)nullfor their accelerator property. #49668 (Also in 39, 40)zoomFactorinsetWindowOpenHandler'soverrideBrowserWindowOptionshad no effect on windows opened viawindow.open(). #49911 (Also in 39, 40)menu.popupwould fire when any arbitrary submenu of the given menu closed, and not the menu itself. #49017 (Also in 38, 39, 40)win.setFullScreen(false)when not in fullscreen on Linux. #49996 (Also in 39, 40)menu-will-closeevent when closed after any submenu has been open. #49964 (Also in 40)netare now capable of having their headers modified to use reserved headers viawebRequest. #49226 (Also in 39, 40)Other Changes
4835695. #49789Documentation
Notices
End of Support for 38.x.y
Electron 38.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.
v40.10.6: electron v40.10.6Compare Source
Release Notes for v40.10.6
Fixes
ProtocolResponse.urlrequests being made through the default session instead of the session the protocol handler was registered on whenProtocolResponse.sessionwas not set. #52135 (Also in 41, 42, 43)Other Changes
v40.10.5: electron v40.10.5Compare Source
Release Notes for v40.10.5
Other Changes
v40.10.4: electron v40.10.4Compare Source
Release Notes for v40.10.4
Other Changes
Documentation
v40.10.3: electron v40.10.3Compare Source
Release Notes for v40.10.3
Other Changes
v40.10.2: electron v40.10.2Compare Source
Release Notes for v40.10.2
Fixes
webContents.print()did not prefill the print dialog on macOS. #51692 (Also in 41, 42)v40.10.1: electron v40.10.1Compare Source
Release Notes for v40.10.1
Other Changes
v40.10.0: electron v40.10.0Compare Source
Release Notes for v40.10.0
Fixes
app.getLoginItemSettings()returningundefinedforexecutableWillLaunchAtLoginon macOS; the property is now always a boolean. #51509 (Also in 41, 42)Other Changes
v40.9.3: electron v40.9.3Compare Source
Release Notes for v40.9.3
Fixes
fetch()and XHR are blocked for custom protocols registered withsupportFetchAPI: trueunlesscorsEnabled: trueis also set; cross-originmode: 'no-cors'requests now receive an opaque response. #51271 (Also in 39, 41, 42)webContents.printToPDFrejecting on all subsequent calls after a prior call was rejected with an invalidpageRangesvalue. #51220 (Also in 41, 42)webRequest.onBeforeSendHeaders()callback. #51364 (Also in 41, 42)app-region: draginside a hiddenWebContentsViewwould still drag the parent window on Windows. #51247 (Also in 41, 42)contenteditableelements. #51345 (Also in 41, 42)Other Changes
4933194,4941583,4932347,4927361,4934134,4926688,4962818. #51258v40.9.2: electron v40.9.2Compare Source
Release Notes for v40.9.2
Fixes
nodeIntegrationInWorkerdidn't always work in AudioWorklet. #51004 (Also in 41, 42)always-on-top-changedeven to fire with incorrect values. #51134 (Also in 41, 42)Other Changes
gn genfailing to resolveelectron_versionwhen building from agit worktreecheckout. #51164 (Also in 39, 41, 42)v40.9.1: electron v40.9.1Compare Source
Release Notes for v40.9.1
Features
allowExtensionsprivilege toprotocol.registerSchemesAsPrivileged()to enable Chrome extensions on custom protocols. #50588 (Also in 41, 42)Fixes
fs.staton files inside asar archives returningundefinedforblksizeandblocksinstead of numeric values. #50875 (Also in 41, 42)Invoke in DisallowJavascriptExecutionScopecrash on application quit when aWebContents(or other JS-emitting native object) is garbage-collected during shutdown. #50693 (Also in 41, 42)show/hideevents andWebContentsvisibility state could be reported incorrectly when multipleWebContentsViews were attached to a window. #50713 (Also in 41, 42)setSimpleFullScreenon macOS would exit when web content calledrequestFullscreen(). #50986 (Also in 42)getFileHandlerequests on the same path could stall indefinitely. #50672 (Also in 41, 42)Other Changes
4897116. #506234939526. #50619v40.8.5: electron v40.8.5Compare Source
Release Notes for v40.8.5
Fixes
clipboard.readImage()when the clipboard contains malformed image data. #50491 (Also in 39, 41, 42)release()after the texture object was garbage collected. #50500 (Also in 39, 41, 42)Other Changes
v40.8.4: electron v40.8.4Compare Source
Release Notes for v40.8.4
Fixes
nodeIntegrationInWorkeroverrides insetWindowOpenHandlerwere not honored for child windows sharing a renderer process with their opener. #50467 (Also in 38, 39, 41)Other Changes
4859353. #504414893813. #504494847510,4871177. #50460v40.8.3: electron v40.8.3Compare Source
Release Notes for v40.8.3
Fixes
fscopy methods. #50287 (Also in 39, 41, 42)v40.8.2: electron v40.8.2Compare Source
Release Notes for v40.8.2
Other Changes
v40.8.1: electron v40.8.1Compare Source
Release Notes for v40.8.1
Fixes
autoUpdater.quitAndInstall()could fail ifcheckForUpdates()was called again after an update was already downloaded. #50216 (Also in 39, 41)additionalDatapassed toapp.requestSingleInstanceLockon Windows could be truncated or fail to deserialize in the primary instance'ssecond-instanceevent. #50162 (Also in 38, 39, 41)screen.getCursorScreenPoint()crashed on Wayland when it was called before aBrowserWindowhad been created. #50104 (Also in 39, 41)setBoundson aWebContentsViewcould trigger redundantpage-favicon-updatedevents even when the favicon had not changed. #50084 (Also in 39, 41)trafficLightPositionfrom minimization on macOS. #50207 (Also in 39, 41)Other Changes
v40.8.0: electron v40.8.0Compare Source
Release Notes for v40.8.0
Features
reasonproperty to the Notification 'closed' event on Windows to allow developers to know the reason the Notification was dismissed. #50030 (Also in 41)Fixes
Other Changes
v40.7.0: electron v40.7.0Compare Source
Release Notes for v40.7.0
Features
--experimental-transform-types. #49883 (Also in 39, 41)Fixes
safeStoragefailing to clean up legacy keychain entries when migrating to suffixed account names on macOS, and fixed first launch creating entries with the wrong (unsuffixed) account name. #49817app.on('continue-activity')on cold launch whenNSUserActivity.userInfowas nil. #50005 (Also in 39, 41)VideoFrameobjects returned throughcontextBridgehad an incorrect prototype. #50022 (Also in 39, 41)toastXmlcould cause a Notification crash. #49952 (Also in 41)win.setFullScreen(false)when not in fullscreen on Linux. #49994 (Also in 41)menu-will-closeevent when closed after any submenu has been open. #49963 (Also in 41)Other Changes
v40.6.1: electron v40.6.1Compare Source
Release Notes for v40.6.1
Fixes
globalShortcutnot working on Wayland withGlobalShortcutsPortalfeature enabled. #49870 (Also in 41)zoomFactorinsetWindowOpenHandler'soverrideBrowserWindowOptionshad no effect on windows opened viawindow.open(). #49909 (Also in 41)Other Changes
v40.6.0: electron v40.6.0Compare Source
Release Notes for v40.6.0
Features
webPreferences.focusOnNavigation. #49512 (Also in 41)Fixes
v40.5.0: electron v40.5.0Compare Source
Release Notes for v40.5.0
Features
long-animation-framescript attribution (via--enable-features=AlwaysLogLOAFURL). #49772 (Also in 41)Fixes
CoreAudio Tap APIfor audio capture used in electron'sdesktopCapturer(🍏 macOS). #49741 (Also in 39, 41)Other Changes
v40.4.1: electron v40.4.1Compare Source
Release Notes for v40.4.1
Other Changes
4835695. #49790v40.4.0: electron v40.4.0Compare Source
Release Notes for v40.4.0
Features
v40.3.0: electron v40.3.0Compare Source
Release Notes for v40.3.0
Fixes
nullfor their accelerator property. #49669 (Also in 39, 41)Other Changes
4797260. #49699v40.2.1: electron v40.2.1Compare Source
Release Notes for v40.2.1
Other Changes
v40.1.0: electron v40.1.0Compare Source
Release Notes for v40.1.0
Features
Fixes
setRepresentedFilename()not settingAXDocumentaccessibility attribute on macOS. #49417 (Also in 39)chrome://accessibility. #49560 (Also in 39, 41)shell.writeShortcutLinkwas throwingTypeError: Insufficient number of argumentswhen called with just[(path, options)]. #49501 (Also in 39, 41)Other Changes
4738514. #49487Unknown
v40.0.0: electron v40.0.0Compare Source
Release Notes for v40.0.0
Stack Upgrades
144.0.7559.60v24.11.114.4Breaking Changes
Features
Additions
RGBAF16output format with scRGB HDR color space support to Offscreen Rendering. #48265 (Also in 39)app.isHardwareAccelerationEnabled(). #47614 (Also in 37, 38, 39)loginevent onwebContents. #49064 (Also in 39)systemPreferences.getAccentColor. #48027 (Also in 39)Improvements
window.setAccentColor(null). #48274 (Also in 38, 39)nativeImage.createFromNamedImageto support SF Symbol names. #48772 (Also in 39)Fixes
--no-stdio-initto be used when nul device is disabled on windows. #47870Also in earlier versions...
GetPackageJSON. #48293 (Also in 37, 38, 39)XDG_SESSION_TYPEenvironment variable. #48301 (Also in 38, 39)dialog.showMessageBoxdefault button handling. #48216 (Also in 36, 37, 38, 39)dialog.showOpenDialogon Windows with an empty extension filter array. #48640 (Also in 37, 38, 39)menu-did-closewas not emitted properly for some application menus. #49092 (Also in 38, 39)shell.openExternalcaused an unexpected dialog to open when there was no app suitable to open the url. #48502 (Also in 38, 39)systemPreferences.getAccentColorinverted the color. #48511 (Also in 37, 38, 39)trafficLightPositionwould not be correctly applied when usingtitleBarStyle: 'customButtonsOnHover'on macOS 26. #48538 (Also in 37, 38, 39)titleBarOverlaywasn't always calculated to provide appropriate minimum contrast. #48568 (Also in 37, 38, 39)webContents.openDevTools({ mode: 'detach' })would cause a crash on Wayland. #48600 (Also in 38, 39)menu.popupwould fire when any arbitrary submenu of the given menu closed, and not the menu itself. #49046 (Also in 38, 39)webContents.sessionorwebContents.debugger. #48318 (Also in 39)--enable-features=Feature:ParamA/Value. #48411 (Also in 39)<input>tag on macOS 26. #48379 (Also in 36, 37, 38, 39)netare now capable of having their headers modified to use reserved headers viawebRequest. #49241 (Also in 39)Other Changes
4453807. #48335 (Also in 36, 37, 38, 39)4667866. #49286Documentation
Notices
End of Support for 37.x.y
Electron 37.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.
v39.8.10: electron v39.8.10Compare Source
Release Notes for v39.8.10
Fixes
fetch()and XHR are blocked for custom protocols registered withsupportFetchAPI: trueunlesscorsEnabled: trueis also set; cross-originmode: 'no-cors'requests now receive an opaque response. #51272 (Also in 40, 41, 42)Other Changes
4933194,4941583,4932347,4927361,4934134,4926688,4962818. #51257v39.8.9: electron v39.8.9Compare Source
Release Notes for v39.8.9
Other Changes
gn genfailing to resolveelectron_versionwhen building from agit worktreecheckout. #51163 (Also in 40, 41, 42)v39.8.8: electron v39.8.8Compare Source
Release Notes for v39.8.8
Fixes
Other Changes
v39.8.7: electron v39.8.7Compare Source
Release Notes for v39.8.7
Other Changes
4897116. #506244939526. #50620v39.8.6: electron v39.8.6Compare Source
Release Notes for v39.8.6
Fixes
contentTracing.getTraceBufferUsage()while a trace session is active. #50595 (Also in 40, 41, 42)v39.8.5: electron v39.8.5Compare Source
Release Notes for v39.8.5
Fixes
clipboard.readImage()when the clipboard contains malformed image data. #50493 (Also in 40, 41, 42)release()after the texture object was garbage collected. #50499 (Also in 40, 41, 42)v39.8.4: electron v39.8.4Compare Source
Release Notes for v39.8.4
Fixes
nodeIntegrationInWorkeroverrides insetWindowOpenHandlerwere not honored for child windows sharing a renderer process with their opener. #50468 (Also in 38, 40, 41)Other Changes
4859353. #504404893813. #504434847510,4871177. #50461v39.8.3: electron v39.8.3Compare Source
Release Notes for v39.8.3
Fixes
fscopy methods. #50284 (Also in 40, 41, 42)v39.8.2: electron v39.8.2Compare Source
Release Notes for v39.8.2
Other Changes
v39.8.1: electron v39.8.1Compare Source
Release Notes for v39.8.1
Fixes
autoUpdater.quitAndInstall()could fail ifcheckForUpdates()was called again after an update was already downloaded. #50215 (Also in 40, 41)additionalDatapassed toapp.requestSingleInstanceLockon Windows could be truncated or fail to deserialize in the primary instance'ssecond-instanceevent. #50174 (Also in 38, 40, 41)screen.getCursorScreenPoint()crashed on Wayland when it was called before aBrowserWindowhad been created. #50106 (Also in 40, 41)setBoundson aWebContentsViewcould trigger redundantpage-favicon-updatedevents even when the favicon had not changed. #50086 (Also in 40, 41)trafficLightPositionfrom minimization on macOS. #50208 (Also in 40, 41)win.setFullScreen(false)when not in fullscreen on Linux. #49995 (Also in 40, 41)Other Changes
v39.8.0: electron v39.8.0Compare Source
Release Notes for v39.8.0
Features
--experimental-transform-types. #49881 (Also in 40, 41)Fixes
app.on('continue-activity')on cold launch whenNSUserActivity.userInfowas nil. #50004 (Also in 40, 41)VideoFrameobjects returned throughcontextBridgehad an incorrect prototype. #50021 (Also in 40, 41)zoomFactorinsetWindowOpenHandler'soverrideBrowserWindowOptionshad no effect on windows opened viawindow.open(). #49910 (Also in 40, 41)v39.7.0: electron v39.7.0Compare Source
Release Notes for v39.7.0
Features
long-animation-framescript attribution (via--enable-features=AlwaysLogLOAFURL). #49771 (Also in 40, 41)Fixes
v39.6.1: electron v39.6.1Compare Source
Release Notes for v39.6.1
Fixes
v39.6.0: electron v39.6.0Compare Source
Release Notes for v39.6.0
Features
Fixes
CoreAudio Tap APIfor audio capture used in electron'sdesktopCapturer(🍏 macOS). #49740 (Also in 41)Other Changes
4835695. #49791v39.5.2: electron v39.5.2Compare Source
Release Notes for v39.5.2
Fixes
nullfor their accelerator property. #49670 (Also in 40, 41)Other Changes
Unknown
v39.5.1: electron v39.5.1Compare Source
Release Notes for v39.5.1
Fixes
v39.5.0: electron v39.5.0Compare Source
Release Notes for v39.5.0
Features
Fixes
v39.4.0: electron v39.4.0Compare Source
Release Notes for v39.4.0
Fixes
chrome://accessibility. #49559 (Also in 40, 41)shell.writeShortcutLinkwas throwingTypeError: Insufficient number of argumentswhen called with just[(path, options)]. #49502 (Also in 40, 41)Other Changes
Unknown
v39.3.0: electron v39.3.0Compare Source
Release Notes for v39.3.0
Features
loginevent onwebContents. #49065 (Also in 40)Fixes
setRepresentedFilename()not settingAXDocumentaccessibility attribute on macOS. #49418 (Also in 40)netare now capable of having their headers modified to use reserved headers viawebRequest. #49242 (Also in 40)Other Changes
4667866. #49287v39.2.7: electron v39.2.7Compare Source
Release Notes for v39.2.7
Other Changes
v39.2.6: electron v39.2.6Compare Source
Release Notes for v39.2.6
Fixes
Other Changes
v39.2.5: electron v39.2.5Compare Source
Release Notes for v39.2.5
Fixes
menu-did-closewas not emitted properly for some application menus. #49093 (Also in 38, 40)Other Changes
v39.2.4: electron v39.2.4Compare Source
Release Notes for v39.2.4
Fixes
menu.popupwould fire when any arbitrary submenu of the given menu closed, and not the menu itself. #49045 (Also in 38, 40)Other Changes
v39.2.3: electron v39.2.3Compare Source
Release Notes for v39.2.3
v39.2.2: electron v39.2.2Compare Source
Release Notes for v39.2.2
Fixes
v39.2.1: electron v39.2.1Compare Source
Release Notes for v39.2.1
Fixes
v39.2.0: electron v39.2.0Compare Source
Release Notes for v39.2.0
Features
app.isHardwareAccelerationEnabled(). #48680 (Also in 37, 38)window.setAccentColor(null). #48852 (Also in 38)nativeImage.createFromNamedImageto support SF Symbol names. #48773 (Also in 40)Fixes
Other Changes
v39.1.2: electron v39.1.2Compare Source
Release Notes for v39.1.2
Fixes
Other Changes
Documentation
Unknown
v39.1.1: electron v39.1.1Compare Source
Release Notes for v39.1.1
Fixes
v39.1.0: electron v39.1.0Compare Source
Release Notes for v39.1.0
Fixes
Other Changes
v39.0.0: electron v39.0.0Compare Source
Release Notes for v39.0.0
Stack Upgrades
142.0.7444.5222.20.014.2Breaking Changes
colorSpaceto offscreen shared texture info ofwebContents.on('paint')event.OffscreenSharedTextureto provide a unifiedhandlethat holds the native handle. #47315window.openwhere it should always create a resizable popup window but did not. #47540For breaking changes inherited via Chromium, see blog post
Features
Additions
RGBAF16output format with scRGB HDR color space support to Offscreen Rendering. #48504fileBackedandpurgeablefields toprocess.getSystemMemoryInfo()for macOS. #47628 (Also in 37, 38)guidTrayconstructor option on macOS to allow tray icons to maintain position across launches. #47838 (Also in 36, 37, 38)webFrameMain.fromFrameToken(processId, frameToken)to get aWebFrameMaininstance from its frame token. #47850 (Also in 38)app.getRecentDocuments()on Windows and macOS. #45839 (Also in 36, 37, 38)USBDevice.configurations. #47459systemPreferences.getAccentColor. #48628{get|set}AccentColor. #47741 (Also in 36, 37, 38)DIR_ASSETSinstead ofDIR_MODULE/DIR_EXEto locate assets and resources, and added "assets" as a key that can be queried viaapp.getPath. #47439 (Also in 37, 38)Fixes
systemPreferences.getAccentColorinverted the color. #48624webContents.openDevTools({ mode: 'detach' })would cause a crash on Wayland. #48623webContents.session. #48344--enable-features=Feature:ParamA/Value. #48442Also in earlier versions...
GetPackageJSON. #48425 (Also in 37, 38)XDG_SESSION_TYPEenvironment variable. #48310 (Also in 38)dialog.showMessageBoxdefault button handling. #48521 (Also in 36, 37, 38)appextensions filters didn't allow for selecting app bundles in macOS file dialogs. #47825 (Also in 36, 37, 38)Refererheader was not being set correctly when usingwebContents.downloadURL(). #47625 (Also in 36, 37, 38)webContents.loadURL()from a failedwebContents.loadURL()call's catch handler. #48004 (Also in 36, 37, 38)-electron-corner-smoothingCSS rule to a stylesheet with no associated document. #47759 (Also in 37, 38)desktopCapturer.getSourceswith an empty thumbnail size. #47641 (Also in 36, 37, 38)webContentsfunctions afterwindow.close(). #47933 (Also in 36, 37, 38)dialog.showOpenDialogon Windows with an empty extension filter array. #48658 (Also in 37, 38)setContentProtectiondidn't work as expected. #47856 (Also in 36, 37, 38)app.accessibilitySupportEnableddidn't work as expected. #48041 (Also in 37, 38)dialog.showMessageDialogshowed a window incorrectly centered to monitor instead of parent window when passed. #48181 (Also in 38)net.isOnline()always returnedtruein utilityProcesses. #48111 (Also in 36, 37, 38)require('node:sqlite')didn't work. #47706 (Also in 36, 37, 38)shell.openExternalcaused an unexpected dialog to open when there was no app suitable to open the url. #48518 (Also in 38)shell.openPathwas not non-blocking as expected. #48079 (Also in 36, 37, 38)trafficLightPositionwould not be correctly applied when usingtitleBarStyle: 'customButtonsOnHover'on macOS 26. #48621 (Also in 38)accentColorwould result in a white accent color. #47660 (Also in 37, 38)titleBarOverlaywasn't always calculated to provide appropriate minimum contrast. #48597 (Also in 37, 38)roundedCornersset tofalse. #47664 (Also in 36, 37, 38)contextmenuevent was emitted. #48199 (Also in 36, 37, 38)electron/utilityin an ESM file threw an error at runtime. #47998 (Also in 36, 37, 38)electron/utilitythrew aERR_MODULE_NOT_FOUNDerror at runtime. #47968 (Also in 36, 37, 38)window.openwould never be offscreen. #47868 (Also in 37, 38)<input>tag on macOS 26. #48393 (Also in 36, 37, 38)app.getLoginItemSettingson macOS. #48090 (Also in 36, 37, 38)Other Changes
abi_versionfile to the npm package. #47598Electron.Eventobject backing class is now managed by v8. #48161appmodule backing C++ object is now managed by v8. #48118sessionmodule backing C++ object is now managed by v8. #48141Documentation
Notices
End of Support for 36.x.y
Electron 36.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.
v38.8.6: electron v38.8.6Compare Source
Release Notes for v38.8.6
Fixes
additionalDatapassed toapp.requestSingleInstanceLockon Windows could be truncated or fail to deserialize in the primary instance'ssecond-instanceevent. #50177 (Also in 39, 40, 41)v38.8.4: electron v38.8.4Compare Source
Release Notes for v38.8.4
Fixes
v38.8.2: electron v38.8.2Compare Source
Release Notes for v38.8.2
Other Changes
4835695. #49792v38.8.1: electron v38.8.1Compare Source
Release Notes for v38.8.1
Fixes
v38.8.0: electron v38.8.0Compare Source
Release Notes for v38.8.0
Fixes
menu-did-closewas not emitted properly for some application menus. #49094 (Also in 39, 40)systemPreferences.getAccentColorinverted the color. #49066 (Also in 37, 39)Other Changes
Unknown
v38.7.2: electron v38.7.2Compare Source
Release Notes for v38.7.2
Fixes
menu.popupwould fire when any arbitrary submenu of the given menu closed, and not the menu itself. #49047 (Also in 39, 40)v38.7.1: electron v38.7.1Compare Source
Release Notes for v38.7.1
Other Changes
4503289. #490094573510. #48984v38.7.0: electron v38.7.0Compare Source
Release Notes for v38.7.0
Features
app.isHardwareAccelerationEnabled(). #48681 (Also in 37, 39)window.setAccentColor(null). #48853 (Also in 39)Fixes
webContents.openDevTools({ mode: 'detach' })would cause a crash on Wayland. #48926 (Also in 39)Other Changes
4600173. #48950Unknown
v38.6.0: electron v38.6.0Compare Source
Release Notes for v38.6.0
Fixes
Other Changes
v38.5.0: electron v38.5.0Compare Source
Release Notes for v38.5.0
Features
Fixes
dialog.showOpenDialogon Windows with an empty extension filter array. #48660 (Also in 37, 39)trafficLightPositionwould not be correctly applied when usingtitleBarStyle: 'customButtonsOnHover'on macOS 26. #48620 (Also in 37, 39)titleBarOverlaywasn't always calculated to provide appropriate minimum contrast. #48595 (Also in 37, 39)Other Changes
Documentation
v38.4.0: electron v38.4.0Compare Source
Release Notes for v38.4.0
Features
Fixes
v38.3.0: electron v38.3.0Compare Source
Release Notes for v38.3.0
Fixes
dialog.showMessageBoxdefault button handling. #48519 (Also in 36, 37, 39)shell.openExternalcaused an unexpected dialog to open when there was no app suitable to open the url. #48517 (Also in 39)Other Changes
v38.2.2: electron v38.2.2Compare Source
Release Notes for v38.2.2
Fixes
GetPackageJSON. #48424 (Also in 37, 39)v38.2.1: electron v38.2.1Compare Source
Release Notes for v38.2.1
Fixes
v38.2.0: electron v38.2.0Compare Source
Release Notes for v38.2.0
Features
Fixes
XDG_SESSION_TYPEenvironment variable. #48309<input>tag on macOS 26. #48394 (Also in 37, 39)v38.1.2: electron v38.1.2Compare Source
Release Notes for v38.1.2
Other Changes
v38.1.1: electron v38.1.1Compare Source
Release Notes for v38.1.1
Other Changes
v38.1.0: electron v38.1.0Compare Source
Release Notes for v38.1.0
Other Changes
v38.0.0: electron v38.0.0Compare Source
Release Notes for v38.0.0
Stack Upgrades
140.0.7339.4122.18.014.0Breaking Changes
Features
Additions
before-mouse-eventto allow intercepting and preventing mouse events in WebContents. #47280 (Also in 36, 37)fileBackedandpurgeablefields toprocess.getSystemMemoryInfo()for macOS. #48146 (Also in 37)innerWidthandinnerHeightoptions for window.open. #46749 (Also in 35, 36, 37)guidTrayconstructor option on macOS to allow tray icons to maintain position across launches. #48077 (Also in 36, 37)webFrameMain.fromFrameToken(processId, frameToken)to get aWebFrameMaininstance from its frame token. #47942app.getRecentDocuments()on Windows and macOS. #47924 (Also in 36, 37)--no-experimental-global-navigatorflag. #47370 (Also in 35, 36, 37)HIDDevice.collections. #47391 (Also in 36, 37)screen.dipToScreenPoint(point)andscreen.screenToDipPoint(point)on Linux X11. #46211 (Also in 35, 36, 37)paletteandheaderon macOS. #45538 (Also in 37)--experimental-network-inspection. #46690 (Also in 35, 36, 37){get|set}AccentColor. #47939 (Also in 36, 37)Improvements
win.isContentProtected()to allow developers to check window protection status. #47242 (Also in 36, 37)DIR_ASSETSinstead ofDIR_MODULE/DIR_EXEto locate assets and resources, and added "assets" as a key that can be queried viaapp.getPath. #47950 (Also in 37)Fixes
dialog.showMessageDialogshowed a window incorrectly centered to monitor instead of parent window when passed. #48215chrome://accessibilitypage. #47497Also in earlier versions...
addChildView()crashes when adding a closed WebContentsView. #47099 (Also in 35, 36, 37)appextensions filters didn't allow for selecting app bundles in macOS file dialogs. #47841 (Also in 36, 37)Refererheader was not being set correctly when usingwebContents.downloadURL(). #47867 (Also in 36, 37)webContents.loadURL()from a failedwebContents.loadURL()call's catch handler. #48043 (Also in 36, 37)-electron-corner-smoothingCSS rule to a stylesheet with no associated document. #47785 (Also in 37)desktopCapturer.getSourceswith an empty thumbnail size. #47652 (Also in 36, 37)webContentsfunctions afterwindow.close(). #47952 (Also in 36, 37)session.clearDatain some circumstances. #47361 (Also in 35, 36, 37)electronfor the first time from an ESM module loaded by a CJS module in a packaged app. #46810 (Also in 35, 36, 37)setContentProtectiondidn't work as expected. #47886 (Also in 36, 37)app.accessibilitySupportEnableddidn't work as expected. #48060 (Also in 37)net.isOnline()always returnedtruein utilityProcesses. #48151 (Also in 36, 37)require('node:sqlite')didn't work. #47757 (Also in 36, 37)shell.openPathwas not non-blocking as expected. #48089 (Also in 36, 37)webContents.printdid not work as expected whenmediaSizewas not passed. #46937 (Also in 36, 37)accentColorwould result in a white accent color. #47684 (Also in 37)Fetch.continueResponsevia debugger withWebContentsViewcould cause a crash. #47434 (Also in 35, 36, 37)roundedCornersset tofalse. #47681 (Also in 36, 37)contextmenuevent was emitted. #48224 (Also in 36, 37)electron/utilityin an ESM file threw an error at runtime. #48019 (Also in 36, 37)electron/utilitythrew aERR_MODULE_NOT_FOUNDerror at runtime. #47989 (Also in 36, 37)webContents.print({ silent: true })would fail. #47378 (Also in 36, 37)window.openwould never be offscreen. #48026 (Also in 37)autoUpdateron macOS when zip extraction failed. #47271 (Also in 34, 35, 36, 37)treatPackageAsDirectoryis enabled on macOS. #47077 (Also in 35, 36, 37)app.getLoginItemSettingson macOS. #48094 (Also in 36, 37)webContents.print()where the callback would not be called. #47377 (Also in 35, 36, 37)win.setContentProtected()on Windows. #47020 (Also in 35, 36, 37)Documentation
Notices
End of Support for 35.x.y
Electron 35.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.
v37.10.3: electron v37.10.3Compare Source
Release Notes for v37.10.3
Fixes
systemPreferences.getAccentColorinverted the color. #49067 (Also in 39)v37.10.2: electron v37.10.2Compare Source
Release Notes for v37.10.2
Other Changes
4503289. #49015v37.10.1: electron v37.10.1Compare Source
Release Notes for v37.10.1
Fixes
v37.10.0: electron v37.10.0Compare Source
Release Notes for v37.10.0
Features
app.isHardwareAccelerationEnabled(). #48679 (Also in 38, 39)Fixes
Other Changes
4600173. #48949v37.9.0: electron v37.9.0Compare Source
Release Notes for v37.9.0
Fixes
Other Changes
v37.8.0: electron v37.8.0Compare Source
Release Notes for v37.8.0
Features
Fixes
dialog.showOpenDialogon Windows with an empty extension filter array. #48659 (Also in 38, 39)trafficLightPositionwould not be correctly applied when usingtitleBarStyle: 'customButtonsOnHover'on macOS 26. #48622 (Also in 38, 39)Documentation
v37.7.1: electron v37.7.1Compare Source
Release Notes for v37.7.1
Fixes
titleBarOverlaywasn't always calculated to provide appropriate minimum contrast. #48596 (Also in 39)v37.7.0: electron v37.7.0Compare Source
Release Notes for v37.7.0
Fixes
dialog.showMessageBoxdefault button handling. #48520 (Also in 36, 38, 39)Other Changes
v37.6.1: electron v37.6.1Compare Source
Release Notes for v37.6.1
Fixes
GetPackageJSON. #48423 (Also in 38, 39)v37.6.0: electron v37.6.0Compare Source
Release Notes for v37.6.0
Features
Fixes
<input>tag on macOS 26. #48392 (Also in 39)v37.5.1: electron v37.5.1Compare Source
Release Notes for v37.5.1
Other Changes
v37.5.0: electron v37.5.0Compare Source
Release Notes for v37.5.0
Features
fileBackedandpurgeablefields toprocess.getSystemMemoryInfo()for macOS. #48143 (Also in 38)Fixes
dialog.showMessageDialogshowed a window incorrectly centered to monitor instead of parent window when passed. #48213 (Also in 36, 38)contextmenuevent was emitted. #48226 (Also in 36, 38)Other Changes
v37.4.0: electron v37.4.0Compare Source
Release Notes for v37.4.0
Features
guidTrayconstructor option on macOS to allow tray icons to maintain position across launches. #48076 (Also in 36, 38)Fixes
net.isOnline()always returnedtruein utilityProcesses. #48152 (Also in 36, 38)Other Changes
v37.3.1: electron v37.3.1Compare Source
Release Notes for v37.3.1
Fixes
shell.openPathwas not non-blocking as expected. #48088 (Also in 36, 38)window.openwould never be offscreen. #48070 (Also in 38)app.getLoginItemSettingson macOS. #48096 (Also in 36)Other Changes
v37.3.0: electron v37.3.0Compare Source
Release Notes for v37.3.0
Features
app.getRecentDocuments()on Windows and macOS. #47923 (Also in 36, 38){get|set}AccentColor. #48017 (Also in 36, 38)DIR_ASSETSinstead ofDIR_MODULE/DIR_EXEto locate assets and resources, and added "assets" as a key that can be queried viaapp.getPath. #47951 (Also in 38)Fixes
webContents.loadURL()from a failedwebContents.loadURL()call's catch handler. #48045 (Also in 36, 38)app.accessibilitySupportEnableddidn't work as expected. #48061 (Also in 38)electron/utilityin an ESM file threw an error at runtime. #48021 (Also in 36, 38)electron/utilitythrew aERR_MODULE_NOT_FOUNDerror at runtime. #47988 (Also in 36, 38)Other Changes
v37.2.6: electron v37.2.6Compare Source
Release Notes for v37.2.6
Fixes
Refererheader was not being set correctly when usingwebContents.downloadURL(). #47865 (Also in 36, 38)webContentsfunctions afterwindow.close(). #47954 (Also in 36, 38)setContentProtectiondidn't work as expected. #47887 (Also in 36, 38)accentColorwould result in a white accent color. #47800 (Also in 38)Other Changes
v37.2.5: electron v37.2.5Compare Source
Release Notes for v37.2.5
Other Changes
v37.2.4: electron v37.2.4Compare Source
Release Notes for v37.2.4
Fixes
appextensions filters didn't allow for selecting app bundles in macOS file dialogs. #47839 (Also in 36, 38)Other Changes
v37.2.3: electron v37.2.3Compare Source
Release Notes for v37.2.3
Fixes
-electron-corner-smoothingCSS rule to a stylesheet with no associated document. #47792require('node:sqlite')didn't work. #47756 (Also in 36, 38)v37.2.2: electron v37.2.2Compare Source
Release Notes for v37.2.2
Other Changes
v37.2.1: electron v37.2.1Compare Source
Release Notes for v37.2.1
Fixes
desktopCapturer.getSourceswith an empty thumbnail size. #47653 (Also in 36, 38)roundedCornersset tofalse. #47682 (Also in 36, 38)v37.2.0: electron v37.2.0Compare Source
Release Notes for v37.2.0
Other Changes
v37.1.0: electron v37.1.0Compare Source
Release Notes for v37.1.0
Features
Fixes
v37.0.0: electron v37.0.0Compare Source
Release Notes for v37.0.0
Stack Upgrades
138.0.7204.3522.16.013.8Breaking Changes
ProtocolResponse.session's property tonull. #46264Features
Additions
BrowserWindow.isSnapped()to indicate whether a given window has been arranged via Snap. #46079 (Also in 36)before-mouse-eventto allow intercepting and preventing mouse events in WebContents. #47364 (Also in 36)ffmpeg.dllto delay load configuration. #46151 (Also in 34, 35, 36)innerWidthandinnerHeightoptions for window.open. #47039 (Also in 35, 36)nativeTheme.shouldUseDarkColorsForSystemIntegratedUIto distinguish system and app theme. #46438 (Also in 35, 36)scriptURLproperty toServiceWorkerMain. #45863frameoption inmenu.popup. #45138 (Also in 36)HIDDevice.collections. #47483 (Also in 36)--no-experimental-global-navigatorflag. #47418 (Also in 35, 36)screen.dipToScreenPoint(point)andscreen.screenToDipPoint(point)on Linux X11. #46895 (Also in 35, 36)system-context-menuon Linux. #45848 (Also in 35, 36)paletteandheaderon macOS. #47245--experimental-network-inspection. #47031 (Also in 35, 36)win.isContentProtected()to allow developers to check window protection status. #47310 (Also in 36)Improvements
Removed/Deprecated
NativeImage.getBitmap()and fixed incorrect documentation. #46696 (Also in 36)Fixes
webContents.print({ silent: true })would fail. #47397Also in earlier versions...
addChildView()crashes when adding a closed WebContentsView. #47338 (Also in 35, 36)electron.shell.openExternalandelectron.shell.openPathto honor user-defined system defaults on Linux. #45310 (Also in 33, 34, 35, 36)getNativeWindowHandle()crash that affected 36 betas on macOS. #46733 (Also in 36)webContents.print(). #46087 (Also in 35, 36)shell.readShortcutLink. #46294 (Also in 35, 36)navigator.bluetooth.requestDeviceand theselect-bluetooth-deviceevent. #46745 (Also in 34, 35, 36)parentPort. #46437 (Also in 34, 35, 36)utilityProcess.postMessagewhen calling with an invalid transferable. #46639 (Also in 35, 36)session.clearDatain some circumstances. #47412 (Also in 35, 36)window.emit('close')after toggling fullscreen mode. #46605 (Also in 35, 36)electronfor the first time from an ESM module loaded by a CJS module in a packaged app. #47342 (Also in 35, 36)context-menuevent weren't emitted as expected on Windows in draggable regions. #45851 (Also in 34, 35, 36)navigationHistory.restore()failed to restore theuserAgentif it was overridden. #46260 (Also in 34, 35, 36)system-context-menuincorrectly fired for all regions in frameless windows. #45893 (Also in 33, 34, 35, 36)webContents.printToPDF()didn't work as expected with cross-process subframes. #46218 (Also in 34, 35, 36)webContents.printdid not work as expected whenmediaSizewas not passed. #46971 (Also in 36)app.commandLinefunctions. #46004 (Also in 35, 36)Fetch.continueResponsevia debugger withWebContentsViewcould cause a crash. #47444 (Also in 35, 36)UtilityProcess.forkprior to the app ready event would cause a crash. #46380 (Also in 34, 35, 36)backgroundMaterialfeature did not work in a frameless window on initial window creation. #46657 (Also in 35, 36)--inspect-brkfailing in packaged apps. #46560 (Also in 35, 36)assertNode.js module in the renderer process. #46528 (Also in 35, 36)pushNotifications.registerForAPNSNotifications(). #46101 (Also in 34, 35, 36)enable_electron_extensions=false. #46812 (Also in 34, 35, 36)*filter was included. #46660 (Also in 34, 35, 36)autoUpdateron macOS when zip extraction failed. #47302 (Also in 34, 35, 36)app.getGPUInfopromise. #46434 (Also in 34, 35, 36)treatPackageAsDirectoryis enabled on macOS. #47108 (Also in 35, 36)webContents.print()where the callback would not be called. #47398 (Also in 35, 36)win.setContentProtected()on Windows. #47033 (Also in 35, 36)enabled = false), it is now greyed out. #46307 (Also in 34, 35, 36)Other Changes
4010597. #459364010597. #459414090597. #473584206375. #47356Documentation
Notices
End of Support for 34.x.y
Electron 34.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.
v36.9.5: electron v36.9.5Compare Source
Release Notes for v36.9.5
Fixes
dialog.showMessageBoxdefault button handling. #48522 (Also in 37, 38, 39)v36.9.4: electron v36.9.4Compare Source
Release Notes for v36.9.4
Other Changes
v36.9.3: electron v36.9.3Compare Source
Release Notes for v36.9.3
Fixes
<input>tag on macOS 26. #48419 (Also in 37, 38, 39)v36.9.2: electron v36.9.2Compare Source
Release Notes for v36.9.2
Fixes
v36.9.1: electron v36.9.1Compare Source
Release Notes for v36.9.1
Other Changes
v36.9.0: electron v36.9.0Compare Source
Release Notes for v36.9.0
Features
guidTrayconstructor option on macOS to allow tray icons to maintain position across launches. #48078 (Also in 37, 38)Fixes
dialog.showMessageDialogshowed a window incorrectly centered to monitor instead of parent window when passed. #48214 (Also in 37, 38)net.isOnline()always returnedtruein utilityProcesses. #48153 (Also in 37, 38)contextmenuevent was emitted. #48225 (Also in 37, 38)Other Changes
v36.8.1: electron v36.8.1Compare Source
Release Notes for v36.8.1
Fixes
shell.openPathwas not non-blocking as expected. #48087 (Also in 37, 38)app.getLoginItemSettingson macOS. #48095 (Also in 37)v36.8.0: electron v36.8.0Compare Source
Release Notes for v36.8.0
Features
app.getRecentDocuments()on Windows and macOS. #47925 (Also in 37, 38){get|set}AccentColor. #48018 (Also in 37, 38)Fixes
webContents.loadURL()from a failedwebContents.loadURL()call's catch handler. #48044 (Also in 37, 38)electron/utilityin an ESM file threw an error at runtime. #48020 (Also in 37, 38)electron/utilitythrew aERR_MODULE_NOT_FOUNDerror at runtime. #47987 (Also in 37, 38)Other Changes
v36.7.4: electron v36.7.4Compare Source
Release Notes for v36.7.4
Fixes
Refererheader was not being set correctly when usingwebContents.downloadURL(). #47866 (Also in 37, 38)webContentsfunctions afterwindow.close(). #47953 (Also in 37, 38)setContentProtectiondidn't work as expected. #47888 (Also in 37, 38)accentColorwould result in a white accent color. #47921 (Also in 37, 38)v36.7.3: electron v36.7.3Compare Source
Release Notes for v36.7.3
Fixes
appextensions filters didn't allow for selecting app bundles in macOS file dialogs. #47840 (Also in 37, 38)require('node:sqlite')didn't work. #47755 (Also in 37, 38)Other Changes
v36.7.1: electron v36.7.1Compare Source
Release Notes for v36.7.1
Fixes
desktopCapturer.getSourceswith an empty thumbnail size. #47651 (Also in 37, 38)roundedCornersset tofalse. #47683 (Also in 37, 38)webContents.print({ silent: true })would fail. #47624 (Also in 37)v36.7.0: electron v36.7.0Compare Source
Release Notes for v36.7.0
Other Changes
v36.6.0: electron v36.6.0Compare Source
Release Notes for v36.6.0
Features
--no-experimental-global-navigatorflag. #47417 (Also in 35, 37)HIDDevice.collections. #47484 (Also in 37)Fixes
Other Changes
v36.5.0: electron v36.5.0Compare Source
Release Notes for v36.5.0
Features
before-mouse-eventto allow intercepting and preventing mouse events in WebContents. #47365 (Also in 37)win.isContentProtected()to allow developers to check window protection status. #47311 (Also in 37)Fixes
addChildView()crashes when adding a closed WebContentsView. #47340 (Also in 35, 37)session.clearDatain some circumstances. #47411 (Also in 35, 37)electronfor the first time from an ESM module loaded by a CJS module in a packaged app. #47343 (Also in 35, 37)Fetch.continueResponsevia debugger withWebContentsViewcould cause a crash. #47442 (Also in 35, 37)webContents.print()where the callback would not be called. #47400 (Also in 35, 37)Other Changes
4206375. #47368v36.4.0: electron v36.4.0Compare Source
Release Notes for v36.4.0
Fixes
autoUpdateron macOS when zip extraction failed. #47300 (Also in 34, 35, 37)Other Changes
Documentation
v36.3.2: electron v36.3.2Compare Source
Release Notes for v36.3.2
Fixes
Other Changes
v36.3.1: electron v36.3.1Compare Source
Release Notes for v36.3.1
Other Changes
4172564. #47233v36.3.0: electron v36.3.0Compare Source
Release Notes for v36.3.0
Features
innerWidthandinnerHeightoptions for window.open. #47038 (Also in 35, 37)screen.dipToScreenPoint(point)andscreen.screenToDipPoint(point)on Linux X11. #47125 (Also in 35, 37)--experimental-network-inspection. #47030 (Also in 35, 37)Fixes
treatPackageAsDirectoryis enabled on macOS. #47109 (Also in 35, 37)Other Changes
v36.2.1: electron v36.2.1Compare Source
Release Notes for v36.2.1
Fixes
win.setContentProtected()on Windows. #47032 (Also in 35, 37)Other Changes
v36.2.0: electron v36.2.0Compare Source
Release Notes for v36.2.0
Fixes
webContents.printdid not work as expected whenmediaSizewas not passed. #46972 (Also in 37)Other Changes
v36.1.0: electron v36.1.0Compare Source
Release Notes for v36.1.0
Fixes
Other Changes
--js-flags=--perf-profon macOS. #46876 (Also in 35)v36.0.1: electron v36.0.1Compare Source
Release Notes for v36.0.1
Fixes
visibleOnAllWorkspacesproperty on Linux. #46850 (Also in 35)v36.0.0: electron v36.0.0Compare Source
Release Notes for v36.0.0
Stack Upgrades
136.0.7103.4822.14.013.6Breaking Changes
NativeImage.getBitmap()and fixed incorrect documentation. #46736Sessionextension APIs toSession.extensions. #45597systemPreferences.isAeroGlassEnabled()API has been removed. #45563ses.clearDataStorage({ quota: 'syncable' })in c180524 #45923Features
Additions
BrowserWindow.isSnapped()to indicate whether a given window has been arranged via Snap. #46226ServiceWorkerMainclass to interact with service workers in the main process.fromVersionIDonServiceWorkersto get an instance ofServiceWorkerMain.running-status-changedevent onServiceWorkersto indicate when a service worker's running status has changed.startWorkerForScopeonServiceWorkersto start a worker that may have been previously stopped. #45232 (Also in 35)WebContents.focusedFrameto get the focused frame.WebContents.openerto specify potentialnulltype. #45667contextBridge.executeInMainWorldto safely execute code across world boundaries. #45229 (Also in 35)ffmpeg.dllto delay load configuration. #46173 (Also in 34, 35)nativeTheme.shouldUseDarkColorsForSystemIntegratedUIto distinguish system and app theme. #46598 (Also in 35)view.getVisible(). #44999 (Also in 34, 35)webContents.navigationHistory.restore(index, entries)API that allows restoration of navigation history. #45433 (Also in 34, 35)urlsproperty. #44692 (Also in 35)document.executeCommand("paste"). #45377 (Also in 33, 34, 35)frameoption inmenu.popup. #46350roundedCornersBrowserWindow constructor option on Windows. #45594 (Also in 34, 35)system-context-menuon Linux. #46399registerPreloadScript,unregisterPreloadScript,getPreloadScriptsonSession.getPreloadsandsetPreloadsonSession. #45230 (Also in 35)Improvements
Removed/Deprecated
systemPreferences.isAeroGlassEnabled()API has been deprecated and will be removed without replacement. #45434 (Also in 35)Fixes
getNativeWindowHandle()crash that affected 36 betas on macOS. #46750shell.readShortcutLink. #46324Also in earlier versions...
electron.shell.openExternalandelectron.shell.openPathto honor user-defined system defaults on Linux. #46788 (Also in 33, 34, 35)v8.setHeapSnapshotNearHeapLimitapi in main and utility process, along with support for--diagnostic-dirNode.js cli flag to specify the directory to save the heap snapshots. #45606 (Also in 33, 34, 35)webContents.print()after switch to OOP printing on macOS and Linux. #45266 (Also in 35)webContents.print(). #46146 (Also in 35)shell.readShortcutLinkcaused byPKEY_AppUserModel_ToastActivatorCLSIDsometimes being represented by a string uuid. #45195 (Also in 33, 34, 35)navigator.bluetooth.requestDeviceand theselect-bluetooth-deviceevent. #46782 (Also in 34, 35)chrome.tabs.update(). #45276 (Also in 33, 34, 35)parentPort. #46496 (Also in 34, 35)utilityProcess.postMessagewhen calling with an invalid transferable. #46667 (Also in 35)getUserMediawith an invalidchromeMediaSourceId. #45733 (Also in 34, 35)window.emit('close')after toggling fullscreen mode. #46621 (Also in 35)context-menuevent weren't emitted as expected on Windows in draggable regions. #46032 (Also in 34, 35)contextmenuevents wouldn't be correctly dispatched in draggable regions on Linux. #45813 (Also in 34, 35)navigationHistory.restore()failed to restore theuserAgentif it was overridden. #46299 (Also in 34, 35)setContentProtection(true)was reverted when a given window was hidden. #45868 (Also in 34, 35)system-context-menuincorrectly fired for all regions in frameless windows. #46002 (Also in 33, 34, 35)webContents.printToPDF()didn't work as expected with cross-process subframes. #46259 (Also in 34, 35)UtilityProcess.forkprior to the app ready event would cause a crash. #46404 (Also in 34, 35)getAsFileSystemHandleto never resolve. #45234 (Also in 33, 34, 35)dialogmodule didn't work on Linux. #45373 (Also in 34, 35)about:blankin subframes. #45694 (Also in 35)backgroundMateriallost effect on maximization. #45456 (Also in 34, 35)--inspect-brkfailing in packaged apps. #46584 (Also in 35)assertNode.js module in the renderer process. #46561 (Also in 35)pushNotifications.registerForAPNSNotifications(). #46149 (Also in 34, 35)window.print()on macOS/Linux. #45214 (Also in 35)enable_electron_extensions=false. #46842 (Also in 34, 35)*filter was included. #46722 (Also in 34, 35)app.getGPUInfopromise. #46471 (Also in 34, 35)BaseWindow.showInactive. #45427 (Also in 35)Window.autoHideMenuBaras supported on Linux and Windows. #46830 (Also in 34, 35)win.closeFilePreviewtwice on macOS. #45319 (Also in 32, 33, 34, 35)webFrame.getZoomLevelandwebFrame.getZoomFactorAPIs. #45499 (Also in 35)enabled = false), it is now greyed out. #46342 (Also in 34, 35)Other Changes
NSPrefersDisplaySafeAreaCompatibilityMode=falseto Info.plist to remove "Scale to fit below built-in camera." from app options. #45318 (Also in 33, 34, 35)3872580,383070811. #454954010597. #459374010597. #45942Documentation
Notices
End of Support for 33.x.y
Electron 33.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.
v35.7.5: electron v35.7.5Compare Source
Release Notes for v35.7.5
Fixes
shell.openPathwas not non-blocking as expected. #48079 (Also in 36, 37, 38)v35.7.4: electron v35.7.4Compare Source
Release Notes for v35.7.4
v35.7.2: electron v35.7.2Compare Source
Release Notes for v35.7.2
Fixes
webContents.print({ silent: true })would fail. #47645 (Also in 36, 37)v35.7.0: electron v35.7.0Compare Source
Release Notes for v35.7.0
Other Changes
v35.6.0: electron v35.6.0Compare Source
Release Notes for v35.6.0
Features
--no-experimental-global-navigatorflag. #47416 (Also in 36, 37)Fixes
session.clearDatain some circumstances. #47410 (Also in 36, 37)electronfor the first time from an ESM module loaded by a CJS module in a packaged app. #47344 (Also in 36, 37)Fetch.continueResponsevia debugger withWebContentsViewcould cause a crash. #47443 (Also in 36, 37)webContents.print()where the callback would not be called. #47399 (Also in 36, 37)Other Changes
4206375. #47369v35.5.1: electron v35.5.1Compare Source
Release Notes for v35.5.1
Fixes
addChildView()crashes when adding a closed WebContentsView. #47339autoUpdateron macOS when zip extraction failed. #47299 (Also in 34, 36, 37)Other Changes
v35.5.0: electron v35.5.0Compare Source
Release Notes for v35.5.0
Features
screen.dipToScreenPoint(point)andscreen.screenToDipPoint(point)on Linux X11. #47124 (Also in 36, 37)--experimental-network-inspection. #47029 (Also in 36, 37)Fixes
shell.readShortcutLink. #47226 (Also in 36)backgroundMaterialfeature did not work in a frameless window on initial window creation. #47236 (Also in 36)treatPackageAsDirectoryis enabled on macOS. #47110 (Also in 36, 37)Other Changes
4033643. #47069v35.4.0: electron v35.4.0Compare Source
Release Notes for v35.4.0
Features
system-context-menuon Linux. #46977 (Also in 36)Fixes
win.setContentProtected()on Windows. #47034 (Also in 36, 37)Other Changes
v35.3.0: electron v35.3.0Compare Source
Release Notes for v35.3.0
Fixes
Other Changes
--js-flags=--perf-profon macOS. #46877 (Also in 36)v35.2.2: electron v35.2.2Compare Source
Release Notes for v35.2.2
Fixes
electron.shell.openExternalandelectron.shell.openPathto honor user-defined system defaults on Linux. #46789 (Also in 33, 34, 36)navigator.bluetooth.requestDeviceand theselect-bluetooth-deviceevent. #46784 (Also in 34, 36)enable_electron_extensions=false. #46840 (Also in 34, 36)Window.autoHideMenuBaras supported on Linux and Windows. #46829 (Also in 34, 36)visibleOnAllWorkspacesproperty on Linux. #46861v35.2.1: electron v35.2.1Compare Source
Release Notes for v35.2.1
Fixes
utilityProcess.postMessagewhen calling with an invalid transferable. #46666 (Also in 36)*filter was included. #46721 (Also in 34, 36)v35.2.0: electron v35.2.0Compare Source
Release Notes for v35.2.0
Features
nativeTheme.shouldUseDarkColorsForSystemIntegratedUIto distinguish system and app theme. #46599 (Also in 36)Fixes
window.emit('close')after toggling fullscreen mode. #46620 (Also in 36)app.commandLinefunctions. #46631 (Also in 36)--inspect-brkfailing in packaged apps. #46583 (Also in 36)assertNode.js module in the renderer process. #46632 (Also in 36)Other Changes
v35.1.5: electron v35.1.5Compare Source
Release Notes for v35.1.5
Fixes
parentPort. #46495 (Also in 34, 36)Unknown
v35.1.4: electron v35.1.4Compare Source
Release Notes for v35.1.4
Fixes
app.getGPUInfopromise. #46470 (Also in 34, 36)v35.1.3: electron v35.1.3Compare Source
Release Notes for v35.1.3
Fixes
context-menuevent weren't emitted as expected on Windows in draggable regions. #46334 (Also in 34, 36)UtilityProcess.forkprior to the app ready event would cause a crash. #46403 (Also in 34, 36)enabled = false), it is now greyed out. #46341 (Also in 34, 36)Other Changes
v35.1.2: electron v35.1.2Compare Source
Release Notes for v35.1.2
Fixes
navigationHistory.restore()failed to restore theuserAgentif it was overridden. #46300 (Also in 34, 36)Other Changes
v35.1.1: electron v35.1.1Compare Source
Release Notes for v35.1.1
Fixes
v35.1.0: electron v35.1.0Compare Source
Release Notes for v35.1.0
Features
ffmpeg.dllto delay load configuration. #46172 (Also in 34, 36)Fixes
webContents.print(). #46147 (Also in 36)system-context-menuincorrectly fired for all regions in frameless windows. #46178 (Also in 33, 34, 36)webContents.printToPDF()didn't work as expected with cross-process subframes. #46257 (Also in 34, 36)pushNotifications.registerForAPNSNotifications(). #46148 (Also in 34, 36)Other Changes
v35.0.3: electron v35.0.3Compare Source
Release Notes for v35.0.3
Fixes
Documentation
v35.0.2: electron v35.0.2Compare Source
Release Notes for v35.0.2
Fixes
Other Changes
v35.0.1: electron v35.0.1Compare Source
Release Notes for v35.0.1
Fixes
setContentProtection(true)was reverted when a given window was hidden. #45889 (Also in 34)Other Changes
4010597. #459384010597. #45943v35.0.0: electron v35.0.0Compare Source
Release Notes for v35.0.0
Stack Upgrades
134.0.6998.4422.14.013.4Breaking Changes
fromVersionIDonServiceWorkersto get an instance ofServiceWorkerMain. #45341getPreloadsandsetPreloadsonSession. #45329systemPreferences.isAeroGlassEnabled()API has been deprecated and will be removed without replacement. #45554Features
Additions
session.getSharedDictionaryUsageInfo(),session.getSharedDictionaryInfo(options),session.clearSharedDictionaryCache(), andsession.clearSharedDictionaryCacheForIsolationKey(options). #44750 (Also in 33, 34)NSPrefersDisplaySafeAreaCompatibilityMode=falseto Info.plist to remove "Scale to fit below built-in camera." from app options. #45357 (Also in 33, 34)ServiceWorkerMainclass to interact with service workers in the main process. #45341running-status-changedevent onServiceWorkersto indicate when a service worker's running status has changed.startWorkerForScopeonServiceWorkersto start a worker that may have been previously stopped.WebFrameMain.collectJavaScriptCallStack()for accessing the JavaScript call stack of unresponsive renderers. #44204 (Also in 33, 34)contextBridge.executeInMainWorldto safely execute code across world boundaries. #45330frameto 'console-message' event. #43617query-session-endevent and improvedsession-endevents on Windows. #44598view.getVisible(). #45409 (Also in 34)webContents.navigationHistory.restore(index, entries)API that allows restoration of navigation history. #45583 (Also in 34)document.executeCommand("paste"). #45471 (Also in 33, 34)roundedCornersBrowserWindow constructor option on Windows. #45740 (Also in 34)Improvements
registerPreloadScript,unregisterPreloadScript,getPreloadScriptsonSession.#45329Removed/Deprecated
Fixes
webContents.print()after switch to OOP printing on macOS and Linux. #45285window.print()on macOS/Linux. #45259webFrame.getZoomLevelandwebFrame.getZoomFactorAPIs. #45557Also in earlier versions...
chrome.i18nextension API being unavailable in service workers. #45031 (Also in 31, 32, 33, 34)trace-startupnot working on macOS. #44257 (Also in 32, 33, 34)v8.setHeapSnapshotNearHeapLimitapi in main and utility process, along with support for--diagnostic-dirNode.js cli flag to specify the directory to save the heap snapshots. #45632 (Also in 33, 34)shell.readShortcutLinkon Windows. #44784 (Also in 33, 34)shell.readShortcutLinkcaused byPKEY_AppUserModel_ToastActivatorCLSIDsometimes being represented by a string uuid. #45348 (Also in 33, 34)chrome.tabs.update(). #45302 (Also in 33, 34)getUserMediawith an invalidchromeMediaSourceId. #45755 (Also in 34)EventSourcewasundefinedin both renderer and worker processes when Node.js integration was enabled. #44475 (Also in 32, 33, 34)WebContentsViews were being improperly removed. #44656 (Also in 31, 32, 33, 34)contextmenuevents wouldn't be correctly dispatched in draggable regions on Linux. #45841 (Also in 34)resizewasn't being emitted for single-pixel resizes on Windows. #44700 (Also in 32, 33, 34)utilityProcesspid would not beundefinedafter exit. #44677 (Also in 32, 33, 34)getAsFileSystemHandleto never resolve. #45256 (Also in 33, 34)dialogmodule didn't work on Linux. #45394 (Also in 34)exitevent could be emitted twice from theutilityProcess. #44243 (Also in 31, 32, 33, 34)context-menuevent was not emitted when using-webkit-app-region: drag. #44761 (Also in 32, 33, 34)backgroundMateriallost effect on maximization. #45525 (Also in 34)context-menuevent. #44940 (Also in 32, 33, 34)win.closeFilePreviewtwice on macOS. #45664 (Also in 32, 33, 34)webContents.canGoToOffset. #44989 (Also in 32, 33, 34)libgdk_pixbuf. #44423 (Also in 32, 33, 34)avoidClosingConnectionsoption forsession.clearDatanow properly defaults tofalsewhen thedataTypesoption is not set. #45187 (Also in 33, 34)Other Changes
3872580,383070811. #45496-Wunsafe-buffer-usageClang warnings and enabled the compiler warning in new builds. #44056Documentation
Notices
End of Support for 32.x.y
Electron 32.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.
v34.5.8: electron v34.5.8Compare Source
Release Notes for v34.5.8
Fixes
autoUpdateron macOS when zip extraction failed. #47301 (Also in 35, 36, 37)Other Changes
v34.5.7: electron v34.5.7Compare Source
Release Notes for v34.5.7
Other Changes
4033643. #47070v34.5.6: electron v34.5.6Compare Source
Release Notes for v34.5.6
Other Changes
v34.5.5: electron v34.5.5Compare Source
Release Notes for v34.5.5
Fixes
visibleOnAllWorkspacesproperty on Linux. #46862 (Also in 35)Other Changes
v34.5.4: electron v34.5.4Compare Source
Release Notes for v34.5.4
Fixes
electron.shell.openExternalandelectron.shell.openPathto honor user-defined system defaults on Linux. #46791 (Also in 33, 35, 36)navigator.bluetooth.requestDeviceand theselect-bluetooth-deviceevent. #46783 (Also in 35, 36)enable_electron_extensions=false. #46841 (Also in 35, 36)Window.autoHideMenuBaras supported on Linux and Windows. #46831 (Also in 35, 36)v34.5.3: electron v34.5.3Compare Source
Release Notes for v34.5.3
Fixes
*filter was included. #46720 (Also in 35, 36)Other Changes
4052926. #46728v34.5.2: electron v34.5.2Compare Source
Release Notes for v34.5.2
Fixes
Other Changes
v34.5.1: electron v34.5.1Compare Source
Release Notes for v34.5.1
Fixes
parentPort. #46494 (Also in 35, 36)app.getGPUInfopromise. #46472 (Also in 35, 36)Unknown
v34.5.0: electron v34.5.0Compare Source
Release Notes for v34.5.0
Fixes
context-menuevent weren't emitted as expected on Windows in draggable regions. #46328 (Also in 35, 36)UtilityProcess.forkprior to the app ready event would cause a crash. #46405 (Also in 35, 36)enabled = false), it is now greyed out. #46340 (Also in 35, 36)Other Changes
v34.4.1: electron v34.4.1Compare Source
Release Notes for v34.4.1
Fixes
navigationHistory.restore()failed to restore theuserAgentif it was overridden. #46298 (Also in 35, 36)Other Changes
v34.4.0: electron v34.4.0Compare Source
Release Notes for v34.4.0
Features
ffmpeg.dllto delay load configuration. #46174 (Also in 35, 36)Fixes
system-context-menuincorrectly fired for all regions in frameless windows. #46175 (Also in 33, 35, 36)webContents.printToPDF()didn't work as expected with cross-process subframes. #46258 (Also in 35, 36)pushNotifications.registerForAPNSNotifications(). #46150 (Also in 35, 36)Other Changes
v34.3.4: electron v34.3.4Compare Source
Release Notes for v34.3.4
Fixes
Other Changes
3820050. #460093907431. #46008v34.3.3: electron v34.3.3Compare Source
Release Notes for v34.3.3
Fixes
3919071,3613701. #45966Other Changes
v34.3.2: electron v34.3.2Compare Source
Release Notes for v34.3.2
Fixes
Other Changes
4010597. #459394010597. #45944v34.3.1: electron v34.3.1Compare Source
Release Notes for v34.3.1
Fixes
contextmenuevents wouldn't be correctly dispatched in draggable regions on Linux. #45840 (Also in 35)setContentProtection(true)was reverted when a given window was hidden. #45890 (Also in 35)Other Changes
uv.hbeforenode.hdon't compile as expected. #45870v34.3.0: electron v34.3.0Compare Source
Release Notes for v34.3.0
Features
roundedCornersBrowserWindow constructor option on Windows. #45739 (Also in 35)Fixes
v8.setHeapSnapshotNearHeapLimitapi in main and utility process, along with support for--diagnostic-dirNode.js cli flag to specify the directory to save the heap snapshots. #45644 (Also in 33, 35)getUserMediawith an invalidchromeMediaSourceId. #45756 (Also in 35)win.closeFilePreviewtwice on macOS. #45662 (Also in 32, 33, 35)Other Changes
3837725. #45704v34.2.0: electron v34.2.0Compare Source
Release Notes for v34.2.0
Features
webContents.navigationHistory.restore(index, entries)API that allows restoration of navigation history. #45584Fixes
backgroundMateriallost effect on maximization. #45526 (Also in 35)Other Changes
v34.1.1: electron v34.1.1Compare Source
Release Notes for v34.1.1
Other Changes
3872580,383070811. #45497v34.1.0: electron v34.1.0Compare Source
Release Notes for v34.1.0
Features
view.getVisible(). #45410 (Also in 35)document.executeCommand("paste"). #45472 (Also in 33, 35)Fixes
dialogmodule didn't work on Linux. #45395 (Also in 35)Other Changes
NSPrefersDisplaySafeAreaCompatibilityMode=falseto Info.plist to remove "Scale to fit below built-in camera." from app options. #45469 (Also in 33, 35)v34.0.2: electron v34.0.2Compare Source
Release Notes for v34.0.2
Fixes
shell.readShortcutLinkcaused byPKEY_AppUserModel_ToastActivatorCLSIDsometimes being represented by a string uuid. #45350 (Also in 33)chrome.tabs.update(). #45304 (Also in 33, 35)Other Changes
v34.0.1: electron v34.0.1Compare Source
Release Notes for v34.0.1
Fixes
getAsFileSystemHandleto never resolve. #45258 (Also in 33, 35)avoidClosingConnectionsoption forsession.clearDatanow properly defaults tofalsewhen thedataTypesoption is not set. #45208 (Also in 33)v34.0.0: electron v34.0.0Compare Source
Release Notes for v34.0.0
Stack Upgrades
132.0.6834.8320.18.113.2Breaking Changes
Features
Additions
session.getSharedDictionaryUsageInfo(),session.getSharedDictionaryInfo(options),session.clearSharedDictionaryCache(), andsession.clearSharedDictionaryCacheForIsolationKey(options). #44950 (Also in 33)WebFrameMain.collectJavaScriptCallStack()for accessing the JavaScript call stack of unresponsive renderers. #44938 (Also in 33)WebFrameMain.detachedfor frames in an unloading state.WebFrameMain.isDestroyed()to determine if a frame has been destroyed.webFrameMain.fromId(processId, frameId)returning aWebFrameMaininstance which doesn't match the given parameters when the frame is unloading. #43473 (Also in 33)desktopCapturerandsetDisplayMediaRequestHandler. #43581 (Also in 32, 33)Improvements
Fixes
Also in earlier versions...
MenuItem.clickhandler not settingfocusedWindowparameter when focused window is aBaseWindow. #43404 (Also in 31, 32, 33)chrome.i18nextension API being unavailable in service workers. #45036 (Also in 31, 32, 33)trace-startupnot working on macOS. #44275 (Also in 32, 33)enable_pluginsbuild flag is false. #44003 (Also in 33)shell.readShortcutLinkon Windows. #44804 (Also in 33)focuson aWebView'swebContents. #43921 (Also in 31, 32, 33)setWindowOpenHandler. #43775 (Also in 31, 32, 33)BaseWindow.setTouchBardidn't work as expected. #43353 (Also in 30, 31, 32, 33)EventSourcewasundefinedin both renderer and worker processes when Node.js integration was enabled. #44495 (Also in 32, 33)WebContentsViews did not show correctly in some circumstances on macOS after being added as child views. #43638 (Also in 31, 32, 33)WebContentsViews were being improperly removed. #44670 (Also in 31, 32, 33)defaultPathdid not work for all users on Linux when creating an open file dialog. #43570 (Also in 30, 31, 32, 33)resizewasn't being emitted for single-pixel resizes on Windows. #44722 (Also in 32, 33)utilityProcesspid would not beundefinedafter exit. #44695 (Also in 32, 33)exitevent could be emitted twice from theutilityProcess. #44265 (Also in 31, 32, 33)context-menuevent was not emitted when using-webkit-app-region: drag. #44799 (Also in 32, 33)resizeevents being emitted on Windows when the window was moved but not resized. #43431 (Also in 32, 33)context-menuevent. #44952 (Also in 32, 33)getDisplayMediafrom multiple iframes. #43905 (Also in 33)Title
Update dependency electron to v45 [SECURITY]
PR Type
Bug fix
Description
Updates Electron dependency to version 45.0.0
Resolves heap buffer overflow vulnerability (CVE-2024-46993)
Ensures security patches for
nativeImagefunctions are appliedDiagram Walkthrough
File Walkthrough
package.json
Bump Electron major version to 45 for security patchpackage.json
electronversion from^25.9.8to^45.0.0in devDependenciesvulnerabilities
PR Reviewer Guide 🔍
(Review updated until commit
28a55a4bf9)Here are some key observations to aid the review process:
/review
/review
View command line instructions
Checkout
From your project repository, check out a new branch and test the changes.Merge
Merge the changes and update on Forgejo.Warning: The "Autodetect manual merge" setting is not enabled for this repository, you will have to mark this pull request as manually merged afterwards.