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
63d1d9c fix: SCContentSharingPicker crash in iframes (#44228)
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 32.1.2 to 33.0.0.
Release notes
Sourced from electron's releases.
... (truncated)
Changelog
Sourced from electron's changelog.
... (truncated)
Commits
63d1d9c
fix: SCContentSharingPicker crash in iframes (#44228)dd5bce1
docs: update timelines for E34 (#44225)258a4a7
fix: -Wunsafe-buffer-usage warning in ChunkedDataPipeReadableStream (#44223)f269ca1
test: fix visibility-state-spec.ts flaky test (#44199)7887395
fix: -Wunsafe-buffer-usage warnings when read()ing and write()ing integers (#...9011532
fix: clang variable configuration in generated node headers (#44200)afce3ce
docs: clarify interplay between utility process events (#44203)eb90fb3
ci: don't call datadog test logging on forks (#44193)6964b79
refactor: spanify image utils (#44178)5bb1bb9
chore: bump chromium to 130.0.6723.44 (33-x-y) (#44177)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