-
Notifications
You must be signed in to change notification settings - Fork 179
docs: add Electron 30 blog post #553
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Changes from 6 commits
Commits
Show all changes
15 commits
Select commit
Hold shift + click to select a range
29f6155
docs: add Electron 30 blog post
clavin 1bb433f
add keeley as author
clavin 0643b6f
fix version numbers
clavin fe3f150
Add PR numbers for extra context
clavin 2ac81ea
Use full URL on link
clavin fc162b9
Run linter
clavin 250cf74
Apply suggestions from code review
clavin 7e3464d
Additional formatting and link
clavin d0ed29c
Add another link
clavin ff88b67
Elaborate on new WebContentsView & BaseWindow APIs
clavin 475cf2d
Update electron-30-0.md
Kilian 0e663d5
Add clarification about `BrowserView` impl
clavin 867ef64
Add new features
clavin c856a9b
Apply suggestions from code review
clavin 2053e5f
Remove "also in" excerpts
clavin File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,96 @@ | ||
--- | ||
title: Electron 30.0.0 | ||
date: 2024-04-16T00:00:00.000Z | ||
authors: | ||
- name: clavin | ||
url: 'https://github.com/clavin' | ||
image_url: 'https://github.com/clavin.png?size=96' | ||
- name: VerteDinde | ||
url: 'https://github.com/vertedinde' | ||
image_url: 'https://github.com/vertedinde.png?size=96' | ||
slug: electron-30-0 | ||
--- | ||
|
||
Electron 30.0.0 has been released! It includes upgrades to Chromium `124.0.6367.49`, V8 `12.4`, and Node.js `20.11.1`. | ||
|
||
--- | ||
|
||
The Electron team is excited to announce the release of Electron 30.0.0! You can install it with npm via `npm install electron@latest` or download it from our [releases website](https://releases.electronjs.org/releases/stable). Continue reading for details about this release. | ||
|
||
If you have any feedback, please share it with us on [Twitter](https://twitter.com/electronjs) or [Mastodon](https://social.lfx.dev/@electronjs), or join our community [Discord](https://discord.com/invite/electronjs)! Bugs and feature requests can be reported in Electron's [issue tracker](https://github.com/electron/electron/issues). | ||
|
||
## Notable Changes | ||
|
||
### Highlights | ||
|
||
- ASAR Integrity fuse now supported on Windows [#40504](https://github.com/electron/electron/pull/40504) | ||
- Existing apps with ASAR Integrity enabled may not work on Windows if not configured correctly. | ||
- Take a look at our [ASAR Integrity tutorial](https://www.electronjs.org/docs/latest/tutorial/asar-integrity) for more information. | ||
- Added `WebContentsView` and `BaseWindow`, deprecating & replacing `BrowserView` [#35658](https://github.com/electron/electron/pull/35658) | ||
clavin marked this conversation as resolved.
Show resolved
Hide resolved
|
||
- Added `net` module to utility process [#40017](https://github.com/electron/electron/pull/40017) | ||
- Implemented support for the File System API [#41827](https://github.com/electron/electron/commit/cf1087badd437906f280373decb923733a8523e6) | ||
|
||
### Stack Changes | ||
|
||
- Chromium `124.0.6367.49` | ||
- New in [Chrome 124](https://developer.chrome.com/blog/new-in-chrome-124/) and in [DevTools 124](https://developer.chrome.com/blog/new-in-devtools-124/) | ||
- New in [Chrome 123](https://developer.chrome.com/blog/new-in-chrome-123/) and in [DevTools 123](https://developer.chrome.com/blog/new-in-devtools-123/) | ||
- Node `20.11.1` | ||
- [Node 20.11.1 notes](https://nodejs.org/en/blog/release/v20.11.1/) | ||
- V8 `12.4` | ||
|
||
Electron 29 upgrades Chromium from `122.0.6261.39` to `124.0.6367.49`, Node from `20.9.0` to `20.11.1`, and V8 from `12.2` to `12.4`. | ||
|
||
### Breaking Changes | ||
|
||
#### Behavior Changed: cross-origin iframes now use Permission Policy to access features | ||
|
||
Cross-origin iframes must now specify features available to a given `iframe` via the `allow` | ||
attribute in order to access them. | ||
|
||
See [documentation](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/iframe#allow) for | ||
more information. | ||
|
||
#### Removed: The `--disable-color-correct-rendering` switch | ||
clavin marked this conversation as resolved.
Show resolved
Hide resolved
|
||
|
||
This switch was never formally documented but it's removal is being noted here regardless. Chromium itself now has better support for color spaces so this flag should not be needed. | ||
clavin marked this conversation as resolved.
Show resolved
Hide resolved
|
||
|
||
#### Behavior Changed: `BrowserView.setAutoResize` behavior on macOS | ||
|
||
In Electron 30, BrowserView is now a wrapper around the new [WebContentsView](https://www.electronjs.org/docs/latest/api/web-contents-view) API. | ||
|
||
Previously, the `setAutoResize` function of the `BrowserView` API was backed by [autoresizing](https://developer.apple.com/documentation/appkit/nsview/1483281-autoresizingmask?language=objc) on macOS, and by a custom algorithm on Windows and Linux. | ||
For simple use cases such as making a BrowserView fill the entire window, the behavior of these two approaches was identical. | ||
However, in more advanced cases, BrowserViews would be autoresized differently on macOS than they would be on other platforms, as the custom resizing algorithm for Windows and Linux did not perfectly match the behavior of macOS's autoresizing API. | ||
The autoresizing behavior is now standardized across all platforms. | ||
|
||
If your app uses `BrowserView.setAutoResize` to do anything more complex than making a BrowserView fill the entire window, it's likely you already had custom logic in place to handle this difference in behavior on macOS. | ||
If so, that logic will no longer be needed in Electron 30 as autoresizing behavior is consistent. | ||
|
||
#### Removed: `params.inputFormType` property on `context-menu` on `WebContents` | ||
|
||
The `inputFormType` property of the params object in the `context-menu` | ||
event from `WebContents` has been removed. Use the new `formControlType` | ||
property instead. | ||
|
||
#### Removed: `process.getIOCounters()` | ||
|
||
Chromium has removed access to this information. | ||
|
||
## End of Support for 27.x.y | ||
|
||
Electron 27.x.y has reached end-of-support as per the project's [support policy](https://www.electronjs.org/docs/latest/tutorial/electron-timelines#version-support-policy). Developers and applications are encouraged to upgrade to a newer version of Electron. | ||
|
||
| E30 (Apr'24) | E31 (Jun'24) | E32 (Aug'24) | | ||
| ------------ | ------------ | ------------ | | ||
| 30.x.y | 31.x.y | 32.x.y | | ||
| 29.x.y | 30.x.y | 31.x.y | | ||
| 28.x.y | 29.x.y | 30.x.y | | ||
|
||
## What's Next | ||
|
||
In the short term, you can expect the team to continue to focus on keeping up with the development of the major components that make up Electron, including Chromium, Node, and V8. | ||
|
||
You can find [Electron's public timeline here](https://www.electronjs.org/docs/latest/tutorial/electron-timelines). | ||
|
||
More information about future changes can be found on the [Planned Breaking Changes](https://github.com/electron/electron/blob/main/docs/breaking-changes.md) page. |
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.