Electron v15.0.0
Release Notes
Stack Upgrades
Chromium 94.0.4606.51.
Node v16.5.0.
V8
Breaking Changes
nativeWindowOpen: trueis now the default. #28552
Features
Additions
Added 'dom-ready' event to
WebFrameMainwhich emits when the frame's document is ready.Added 'frame-created' event to
WebContentswhich emits when a frame is created in the page. #30801
Added
<webview>.sendToFrame()/frameIdto'ipc-message'event. #30704Added
<webview>'did-redirect-navigation'event. #30664Added
app.configureHostResolverAPI for configuring DNS-over-HTTPS. #30775Added
locationandmodifiersto the event properties provided in the'before-input-event'WebContents event. #29850Added
safeStoragestring encryption API. #30430Added
signaloption todialog.showMessageBox. #26102Added
webContents.fromDevToolsTargetId(targetId)to lookup a WebContents instance from an associated Chrome DevTools Protocol TargetID. #30733 (Also in 14)Added an Electron Fuse for enforcing code signatures on the
app.asarfile your application loads. Requires the latestasarmodule. #30900Added experimental cookie encryption support behind an Electron Fuse. #27524 (Also in 13, 14)
Added fuses to disable
NODE_OPTIONSand--inspectdebug arguments in packaged apps. #30420Added missing
resourceTypeconversions forwebRequestlistener details:font,ping,cspReport,media,webSocket. #29902 (Also in 14)Added new
MenuItem.userAcceleratorproperty to read user-assigned macOS accelerator overrides. #26682Added new
app.runningUnderARM64Translationproperty to detect when running under Rosetta on Apple Silicon, or WOW on Windows for ARM. #29168Added new
imageAnimationPolicyweb preference to control how images are animated. #29095Added resize
edgeinfo toBrowserWindow'swill-resizeevent. #29199Added support for Windows Control Overlay on Windows. #30497 (Also in 14)
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
Improvements
Extended
continue-activityevent API to supportwebpageURLproperty fromNSUserActivity. #30042
Fixes
Fixed a crash when selecting and opening files in a native file dialog on Mac. #30936
Fixed a crash when selecting files in a native file dialog on Windows and Linux. #30927
Fixed an issue where
GDK_BACKENDwas being propagated to subprocesses on Linux. #28898Fixed potential crash when programmatically closing a draggable frameless child window. #31027
Fixed typescript export definitions such that not-exported values are not declared in the exports interface. #28712
Installing the
electronpackage 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
Also in earlier versions....
Electron Fuses are now in a consistent order across platforms. #29599 (Also in 13, 14)
Fixed an issue where
fs.promises.readFilewould improperly error when passing aFileHandleto thepathargument. #29528 (Also in 12, 13, 14)Fixed BrowserWindow's backgroundColor option not having an effect. #30777 (Also in 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
documentEditedstatus not updating close button for frameless window on macOS. #30392 (Also in 13, 14)Fixed
requestFullscreeninside webview does not make the element take fullscreen. #29952 (Also in 12, 13, 14)Fixed
select-bluetooth-devicefiring on Windows. #29591 (Also in 12, 13, 14)Fixed a crash in the repl when
SharedArrayBufferis disabled. #30483 (Also in 14)Fixed a crash when
process.exitis called andnativeWindowOpenis enabled. #30238 (Also in 14)Fixed a crash when calling the
webContents.on('login')callback synchronously. #30068 (Also in 12, 13, 14)Fixed a hang when denying a
window.openusingsetWindowOpenHandlerwhennativeWindowOpen: false. #29851 (Also in 12, 13, 14)Fixed a potential crash that would occur with draggable regions on Windows. #30328 (Also in 13, 14)
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 on Mac where an application could not capture its own window using the desktop capture or getMediaSourceId APIs. #30525 (Also in 13, 14)
Fixed an issue on Windows where empty console windows were appearing when
--enable-loggingwas present. #30386 (Also in 14)Fixed an issue present in
webViewwhere theleave-html-full-screenevent is not emitted if the user exits fullscreen withescinstead of by clicking into thewebView. #30562 (Also in 12, 13, 14)Fixed an issue where BrowserWindows would not properly honor
transparency: trueor abackgroundColorbeing 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
BrowserViewwebContents would appear not to load in some circumstances. #30336 (Also in 14)Fixed an issue where
self.module.pathswouldn't work in Workers. #29955 (Also in 12, 13, 14)Fixed an issue where a specified aspect ratio could become incorrect when maximizing a window on macOS. #30332 (Also in 12, 13, 14)
Fixed an issue where background color would not be correctly applied to
BrowserViewson Windows when either thexorycoordinate is negative (off-screen). #30542 (Also in 13, 14)Fixed an issue where custom traffic lights could be covered by BrowserViews on macOS. #29595 (Also in 13, 14)
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
contextIsolationwas enabled. #29841 (Also in 13, 14)Fixed an issue where multiple calls to
BrowserWindow.setResizable()can cause the zoom button to incorrectly be disabled on macOS. #31014 (Also in 14)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 the TouchBarScrubber crashes when
showArrowButtonsis enabled ifitemsis an empty array. #30681 (Also in 13, 14)Fixed an issue where the
setAlwaysOnTopvalue would sometimes not be preserved for child windows on macOS. #29813 (Also in 12, 13, 14)Fixed an issue where the traffic lights would get double-drawn when exiting fullscreen and adding a
BrowserViewon 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 toggling
documentEditedstatus on macOS withtitlebarStyle: 'hiddenInset'inadvertently moves the traffic light location. #30604 (Also in 13, 14)Fixed an issue where undocked devtools was not resizable on Windows. #30848 (Also in 14)
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 beta-only bug that caused mouse clicks to not be processed in frameless windows. #30460 (Also in 14)
Fixed crash when clicking links with
target=_blankfrom 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
Geolocationwas used. #29913 (Also in 13, 14)Fixed frameless window having wrong traffic lights position on macOS 11. #30270 (Also in 13, 14)
Fixed hover state not clear bug when BrowserWindow is not resizable. #29721 (Also in 12, 13, 14)
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 media key
globalShortcuts on macOS. #30570 (Also in 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 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, 13, 14)Fixed pressing
Alt+ShiftandAlt+Ctrltoggling menu bar on KDE. #29328 (Also in 12, 13, 14)Fixed rare crash in UpdateDraggableRegions. #30558 (Also in 13, 14)
Fixed redirects between locations in custom protocols. #29796 (Also in 14)
Fixed sending intermediate certificates with 'select-client-certificate' event callback. #29552 (Also in 12, 13, 14)
Fixed shifted character getting changed in menu accelerator. #29202 (Also in 12, 13, 14)
Fixed some console messages still being printed to logs when the LogJsConsoleMessages feature was disabled. #30356 (Also in 14)
Fixed stack overflow crash in v8 on windows 32-bit builds. #30243 (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 spelling of 'attachment' in 'Content-Disposition' header when using the webRequest module. #29621 (Also in 12, 13, 14)
Fixed titlebar showing under simple fullscreen mode. #30708 (Also in 13, 14)
Fixed transparent frameless windows having an opaque background when opened in a maximized state. #30865 (Also in 12, 13, 14)
Fixed tray.setTitle not respecting ANSI colors if a font type was specified. #30146 (Also in 13, 14)
Other Changes
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)
Web Serial API is no longer experimental. #30334 (Also in 14)
Documentation
Documentation changes:
Continuing Support for 12.x.y
As per Electron's new 8-week cadence, we will be extending our supported version policy from the latest three versions to the latest four versions of Electron until May 2022, with the release of Electron 19. After Electron 19 is released, we'll return to supporting the latest three major versions, as well as the beta and nightly releases.
| E15 (Sep'21) | E16 (Nov'21) | E17 (Feb'22) | E18 (Mar'22) | E19 (May'22) |
|---|---|---|---|---|
| 15.x.y | 16.x.y | 17.x.y | 18.x.y | 19.x.y |
| 14.x.y | 15.x.y | 16.x.y | 17.x.y | 18.x.y |
| 13.x.y | 14.x.y | 15.x.y | 16.x.y | 17.x.y |
| 12.x.y | 13.x.y | 14.x.y | 15.x.y | -- |