Breaking changes will be documented here, and deprecation warnings added to JS code where possible, at least one major version before the change is made.
Types of Breaking Changes
This document uses the following convention to categorize breaking changes:
API Changed: An API was changed in such a way that code that has not been updated is guaranteed to throw an exception.
Behavior Changed: The behavior of Electron has changed, but not in such a way that an exception will necessarily be thrown.
Default Changed: Code depending on the old default may break, not necessarily throwing an exception. The old behavior can be restored by explicitly specifying the value.
Deprecated: An API was marked as deprecated. The API will continue to function, but will emit a deprecation warning, and will be removed in a future release.
Removed: An API or feature was removed, and is no longer supported by Electron.
Planned Breaking API Changes (33.0)
Behavior Changed: frame properties may retrieve detached WebFrameMain instances or none at all
APIs which provide access to a WebFrameMain instance may return an instance
with frame.detached set to true, or possibly return null.
When a frame performs a cross-origin navigation, it enters into a detached state
in which it's no longer attached to the page. In this state, it may be running
unload
handlers prior to being deleted. In the event of an IPC sent during this state,
frame.detached will be set to true with the frame being destroyed shortly
thereafter.
When receiving an event, it's important to access WebFrameMain properties
immediately upon being received. Otherwise, it's not guaranteed to point to the
same webpage as when received. To avoid misaligned expectations, Electron will
return null in the case of late access where the webpage has changed.
ipcMain.on('unload-event', async (event) => {
await crossOriginNavigationPromise;
event.senderFrame; // ❌ returns null due to late access
});
Behavior Changed: custom protocol URL handling on Windows
Due to changes made in Chromium to support Non-Special Scheme URLs, custom protocol URLs that use Windows file paths will no longer work correctly with the deprecated protocol.registerFileProtocol and the baseURLForDataURL property on BrowserWindow.loadURL, WebContents.loadURL, and <webview>.loadURL. protocol.handle will also not work with these types of URLs but this is not a change since it has always worked that way.
// No longer works
</tr></table>
... (truncated)
Commits
da32971 chore: bump node to v20.18.0 (32-x-y) (#44116)
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot show ignore conditions` will show all of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
Bumps electron from 31.4.0 to 32.2.0.
Release notes
Sourced from electron's releases.
... (truncated)
Changelog
Sourced from electron's changelog.
... (truncated)
Commits
da32971
chore: bump node to v20.18.0 (32-x-y) (#44116)27c38bd
build: add import/order eslint rule (#44107)bf8de29
fix: remove use of deprecated API base::Hash() (#44102)058a616
perf: use ArrayBuffer::Data() instead of GetBackingStore()->Data() (32-x-y) (...bd8b9da
fix: -Wunsafe-buffer-usage warnings in WebFrameRenderer::ExecuteJavaScript() ...a635dac
chore: bump chromium to 128.0.6613.178 (32-x-y) (#44086)653b928
build: fix relative file read during npm publish (#44092)98b1d30
build: cleanup release scripts, separate cli entrypoints from logic (#44081)2f519a8
build: update some build dependencies (#44070)2e84985
build: convert all release scripts to typescript (#44060)Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting
@dependabot rebase
.Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show