Note: This is an alpha release. Please file new issues for any bugs you find in it.
This release is published to npm under the alpha tag and can be installed via npm install electron@alpha
, or npm install electron@15.0.0-alpha.1
.
New Release Cadence
https://www.electronjs.org/blog/8-week-cadence
Release Notes for v15.0.0-alpha.1
Features
- Added
BrowserWindow.isFocusable()
to determine whether a window is focusable. #28642 - Added
WebFrameMain.visibilityState
instance property. #28706 - Added
disposition
,referrer
andpostBody
to the details object passed to the window open handler registered withsetWindowOpenHandler
. #28518 (Also in 13) - Added
location
andmodifiers
to the event properties provided in the'before-input-event'
WebContents event. #29850 - Added
process.contextId
used by@electron/remote
. #28007 (Also in 13) - Added
signal
option todialog.showMessageBox
. #26102 - Added experimental cookie encryption support behind an Electron Fuse. #27524 (Also in 13, 14)
- Added missing
resourceType
conversions forwebRequest
listener details:font
,ping
,cspReport
,media
,webSocket
. #29902 (Also in 14) - Added new
MenuItem.userAccelerator
property to read user-assigned macOS accelerator overrides. #26682 - Added new
app.runningUnderARM64Translation
property to detect when running under Rosetta on Apple Silicon, or WOW on Windows for ARM. #29168 - Added new
imageAnimationPolicy
web preference to control how images are animated. #29095 - Added new
session.storagePath
API to get the path on disk for session-specific data. #28665 (Also in 13) - Added resize
edge
info toBrowserWindow
'swill-resize
event. #29199 - Added support for Windows Control Overlay on macOS. #29253 (Also in 14)
- Added support for debug URLs such as
chrome://gpucrash
. #29404 (Also in 13, 14) - Added support for directing Chromium logging to a file with
--log-file=.../path/to/file.log
. Also, it's now possible to enable logging from JavaScript by appending command-line switches during the first JS tick. #25089 (Also in 14) - Added support for sending Blobs over the context bridge. #29247
- Added support for the des-ede3 cipher in node crypto. #27897 (Also in 11, 12)
- Adding
ContextBridgeMutability
feature that skips context bridgeDeepFreeze
andSetReadOnlyNonConfigurable
when exposing a value. #27348 - Child windows no longer inherit BrowserWindow construction options from their parents. #28550
- Extended
continue-activity
event API to supportwebpageURL
property fromNSUserActivity
. #30042 - Removed deprecated
additionalFeatures
property fromnew-window
anddid-create-window
WebContents events. #28548 - The
submitURL
option forcrashReporter.start
is no longer a required argument whenuploadToServer
is false. #28105 (Also in 13) nativeWindowOpen: true
is now the default. #28552
Fixes
- Allow Node.js to manage microtasks queue by using explicit microtasks policy before calling
uv_run()
. #28957 (Also in 11, 12, 13) - Allow loading source maps from custom protocols and asar bundles. #28573 (Also in 12, 13)
- Child windows with specified background colors or transpency now work as intended. #28054 (Also in 12, 13)
- Colors returned from
systemPreferences.getAccentColor()
,getSystemColor
andgetColor
are now correctly converted into the devices color space. Previously the color would have been subtly incorrect. #28121 (Also in 11, 12, 13) - Electron Fuses are now in a consistent order across platforms. #29599 (Also in 13, 14)
- Fixd an issue where
fs.promises.readFile
would improperly error when passing aFileHandle
to thepath
argument. #29528 (Also in 12, 13, 14) - Fixed CORS preflight request always being cancelled when connecting via proxy requiring authentication for apps that had registered WebRequest listeners. #29266 (Also in 12, 13, 14)
- Fixed
<webview>
focus
/blur
events not working withcontextIsolation
enabled. #29004 (Also in 10, 11, 12, 13) - Fixed
desktopCapturer.getSources()
promise result sometimes never resolving. #28273 (Also in 10, 11, 12, 13) - Fixed
postData
parameter missing fromnew-window
event. #28513 (Also in 12, 13) - Fixed
requestFullscreen
inside webview does not make the element take fullscreen. #29952 (Also in 12, 13, 14) - Fixed
select-bluetooth-device
firing on Windows. #29591 (Also in 12, 13, 14) - Fixed
webFrame
spell checker APIs crashing when called in sandboxed renderer. #29053 (Also in 12, 13) - Fixed
will-resize
andwill-move
events not scaling the emittednewBounds
rectangle to the appropriate Windows display scale factor. #29162 (Also in 11, 12, 13) - Fixed a bug where, when a JumpList task description exceeded 260 characters, the JumpList was empty, despite valid entries. #28485 (Also in 11, 12, 13)
- Fixed a crash when calling
shell.trashItem()
from the renderer process. #28748 (Also in 12, 13) - Fixed a crash when calling the
webContents.on('login')
callback synchronously. #30068 (Also in 12, 13, 14) - Fixed a hang when denying a
window.open
usingsetWindowOpenHandler
whennativeWindowOpen: false
. #29851 (Also in 12, 13, 14) - Fixed a network process crash that could happen when using
setCertificateVerifyProc
with many concurrent verification requests. #28358 (Also in 11, 12, 13) - Fixed a potential crash when calling
app.quit()
on macOS. #29941 (Also in 12, 13, 14) - Fixed a potential crash when setting vibrancy on macOS. #29677 (Also in 13, 14)
- Fixed an issue where BrowserWindows would not properly honor
transparency: true
or abackgroundColor
being set in their constructor options. #30136 (Also in 14) - Fixed an issue where Electron would sometimes not honor the user-defined Downloads directory. #29938 (Also in 12, 13, 14)
- Fixed an issue where
GDK_BACKEND
was being propagated to subprocesses on Linux. #28898 - Fixed an issue where
beforeunload
andunload
weren't firing properly inBrowserView
s. #28382 - Fixed an issue where
illegal access error
could be thrown whennodeIntegrationInSubFrames
is enabled. #29093 (Also in 12, 13) - Fixed an issue where
select-serial-port
callback crashes when called with an invalid serial port ID. #28602 (Also in 12, 13) - Fixed an issue where
self.module.paths
wouldn't work in Workers. #29955 (Also in 12, 13, 14) - Fixed an issue where
win.capturePage()
never called back after callinghide()
for a hidden window on some platforms. #27883 (Also in 11, 12, 13) - Fixed an issue where
window.print()
did not work properly when printing a pdf from the pdf plugin. #28328 (Also in 12, 13) - Fixed an issue where custom traffic lights could be covered by BrowserViews on macOS. #29595 (Also in 13, 14)
- Fixed an issue where drag regions on macOS would be offset incorrectly when no drag regions were set,. #28984 (Also in 11, 12, 13)
- Fixed an issue where draggable regions sometimes did not work properly when DevTools is open. #29696 (Also in 12, 13, 14)
- Fixed an issue where dropdown menus did not work in DevTools when
contextIsolation
was enabled. #29841 (Also in 13, 14) - Fixed an issue where errors thrown in functions passed over the
contextBridge
could be displayed incorrectly. #28346 (Also in 12, 13) - Fixed an issue where extensions without a background page might not have file access. #29123 (Also in 12, 13)
- Fixed an issue where multiple calls to
window.setFullScreen
could cause problems. #25470 (Also in 11, 12, 13) - Fixed an issue where request headers were cleared if the optional "requestHeaders" parameter was not included in the webRequest.onBeforeSendHeaders callback response object. #29798 (Also in 12, 13, 14)
- Fixed an issue where right-clicking in the devtools console throws an error. #29436 (Also in 14)
- Fixed an issue where some Node.js modules would hang on page reload on Windows. #28175 (Also in 11, 12, 13)
- Fixed an issue where some dialogs would stop working on macOS if
window.hide()
was called while they were open. #28671 (Also in 11, 12, 13) - Fixed an issue where the
setAlwaysOnTop
value would sometimes not be preserved for child windows on macOS. #29813 (Also in 12, 13, 14) - Fixed an issue where the drag regions in BrowserViews on macOS could be off in their y-axis. #28268 (Also in 10, 11, 12, 13)
- Fixed an issue where the thumbar disappeared after
win.hide()
on Windows. #28366 (Also in 10, 11, 12, 13) - Fixed an issue where the traffic lights would get double-drawn when exiting fullscreen and adding a
BrowserView
on macOS. #30114 (Also in 13, 14) - Fixed an issue where the user-data directory was incorrect in unpackaged apps. #30113 (Also in 14)
- Fixed an issue where the void function
Menu.setApplicationMenu
would return a value on some platforms. #29118 (Also in 12, 13) - Fixed an issue where the window couldn't be closed if a user tried to quit with a message box showing. #28967 (Also in 12, 13)
- Fixed an issue where windows in
simpleFullscreen
mode were not properly resizing when display metrics changed. #28150 (Also in 11, 12, 13) - Fixed an issue with PDF loading on Windows, where metadata was not loading correctly and causing the PDF to load as a blank page. #29827 (Also in 13, 14)
- Fixed context menus not being positioned correctly when near the edge of the screen. #28224 (Also in 11, 12, 13)
- Fixed corner radius for vibrancy view in macOS 11. #28655 (Also in 11, 12, 13)
- Fixed crash when an exception occurs within the event emitter. #28971 (Also in 13)
- Fixed crash when calling
getBackgroundColor
on a transparent window with no assigned background color. #28120 (Also in 11, 12, 13) - Fixed crash when clicking links with
target=_blank
from webview. #29874 (Also in 12, 13, 14) - Fixed crashes in debug builds caused by microtasks policy mismatch. #29531 (Also in 12, 13, 14)
- Fixed crashes on latest gen Intel and Ryzen processors. #29689 (Also in 14)
- Fixed crashes on macOS when
Geolocation
was used. #29913 (Also in 13, 14) - Fixed failing to request file:// resources when web security is disabled. #28489 (Also in 11, 12, 13)
- Fixed hover state not clear bug when BrowserWindow is not resizable. #29721 (Also in 12, 13, 14)
- Fixed incorrect value of
document.focus
when opening multiple windows on macOS. #29204 (Also in 12, 13) - Fixed intensive I/O from asar files causing ERR_FILE_NOT_FOUND after a while. #28137 (Also in 11, 12, 13)
- Fixed issue where the update permission prompt would cause 100% CPU spin while the prompt was open. #29791 (Also in 13, 14)
- Fixed key window status on mac when opening panels or using custom window switchers. #29857 (Also in 12, 14)
- Fixed memory leak when creating notification on macOS. #29990 (Also in 12, 13, 14)
- Fixed memory leak when requesting files in ASAR archive from renderer. #29293 (Also in 12, 13, 14)
- Fixed missing 'fetch' event in service workers for requests using a registered protocol. #29425 (Also in 12, 13, 14)
- Fixed page title not being updated on child windows without navigation entries under nativeWindowOpen. #29946 (Also in 12, 13, 14)
- Fixed permissions issue that was preventing the PDF viewer from displaying. #29210 (Also in 13)
- Fixed potential corruption of piped response data when using interceptHttpProtocol/registerHttpProtocol. #29567 (Also in 11, 12, 13, 14)
- Fixed pressing Alt with mouse click results in toggling menu bar. #29318 (Also in 12, 13, 14)
- Fixed pressing ESC not exiting fullscreen from
webview
. #30063 (Also in 12, 14) - Fixed pressing
Alt+Shift
andAlt+Ctrl
toggling menu bar on KDE. #29328 (Also in 12, 13, 14) - Fixed rare crash when initializing the internal PDF extension. #28432 (Also in 12, 13)
- Fixed redirects between locations in custom protocols. #29796
- Fixed sending intermediate certificates with 'select-client-certificate' event callback. #29552 (Also in 12, 13, 14)
- Fixed service worker not working with custom protocol. #28326 (Also in 11, 12, 13)
- Fixed shifted character getting changed in menu accelerator. #29202 (Also in 12, 13, 14)
- Fixed systemPreferences.getSystemColor returning colors missing alpha values. #30055 (Also in 13, 14)
- Fixed the 'did-fail-load' event not being emitted when the 'certificate-error' handler allowed an error through. #29826 (Also in 14)
- Fixed the
<select>
element dropdown not appearing on Windows or Linux. #29742 (Also in 14) - Fixed the color select eyedropper not working within DevTools. #29729 (Also in 13, 14)
- Fixed the handler set with
setWindowOpenHandler
not being invoked when a link was middle-clicked or shift-clicked. #28498 (Also in 12, 13) - Fixed the possibility for incorrect visual artifacts when using vibrancy and making frameless windows fullscreen on macOS. #29084 (Also in 13)
- Fixed the spelling of 'attachment' in 'Content-Disposition' header when using the webRequest module. #29621 (Also in 12, 13, 14)
- Fixed the window-all-closed event being emitted while the last BrowserWindow was still in the process of being closed. #28867 (Also in 11, 12, 13)
- Fixed tray.setTitle not respecting ANSI colors if a font type was specified. #30146
- Fixed typescript export definitions such that not-exported values are not declared in the exports interface. #28712
- Fixed using navigator.setAppBadge and navigator.clearAppBadge from a service worker in Electron. #27950 (Also in 12)
- Fixed using vibrancy with titleBarStyle together resulting in weird window shadow on macOS. #29114 (Also in 13)
- Installing the
electron
package on an M1 macbook while using an x64 version of node will now automatically download the arm64 version of Electron instead of the x64 version. #29953 - No longer set backgroundColor in default-app when opening custom files / URLs. #28792 (Also in 10, 11, 12, 13)
- Restored cross-platform noop implementation of
app.setAppUserModelId
. #28915 (Also in 13) - Support
wasm-eval
csp behindWebAssemblyCSP
flag. #28535 (Also in 11, 12, 13) - Transparent windows cannot be maximized using the Windows system menu or by double clicking the title bar. #28207 (Also in 12, 13)
- URLS passed to
shell.openExternal
on windows are now correctly URI encoded. This was already occurring on macOS and Linux. #28334 (Also in 10, 11, 12, 13)
Other Changes
- : Updated Node.js to v16.2.0. #29244
- Adds an additional crash key to gin::wrappable. #30161
- Backported fix for 1216190. #30084 (Also in 12, 13, 14)
- Deprecated
worldSafeExecuteJavaScript
option was removed fromwebPreferences
. #28456 - Fixed
app.getPath('logs')
returning the wrong path on Linux and Windows. #29649 (Also in 14) - Fixed a feature flag issue where spellchecker methods returned empty suggestion lists on Windows. #29690 (Also in 13, 14)
- Fixed native module compilation with AsyncCleanupHooks on windows. #28067 (Also in 11, 12, 13)
- Fixed using custom v8 snapshots on Apple Silicon. #29338 (Also in 12, 13)
- Improved performance characteristics of functions being sent back and forth over the contextBridge. #28285
- Improved performance of
napi_threadsafe_function
. #29021 (Also in 12, 13) - Refactored
<webview>
usingcontextBridge
to make it safer to use whencontextIsolation
is enabled. #29037 - Removed the deprecated
app.allowRendererProcessReuse
and BrowserWindowaffinity
options. #26874 - Updated Chromium to 93.0.4566.0. #29980
- Updated Node.js to v16.5.0. #30031
- Updated community discussions link in default Electron menu. #28449 (Also in 12, 13)