-
Notifications
You must be signed in to change notification settings - Fork 208
docs: add Electron 39 blog post #894
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 all commits
Commits
Show all changes
16 commits
Select commit
Hold shift + click to select a range
6fb6a35
docs: add Electron 39 blog post
ckerr 5966566
chore: make prettier happy
ckerr 38218e2
use jsx style prop
erickzhao 8e718c8
use `<sup>`
erickzhao 180c5cf
empty commit
ckerr 7f785d3
fix: invalid date format in metainfo
ckerr 9a103ca
Update blog/electron-39-0.md
ckerr 5d4f0c8
Update blog/electron-39-0.md
ckerr fb75c0e
Update blog/electron-39-0.md
ckerr 6fa9521
Update blog/electron-39-0.md
ckerr 3231ae9
Update blog/electron-39-0.md
ckerr 30d3750
Update blog/electron-39-0.md
ckerr 63234da
Update blog/electron-39-0.md
ckerr 81e50d1
Update blog/electron-39-0.md
ckerr 5855fc9
fix: incorrect Node.js version listed
ckerr 5f1786b
fix: incorrect v8 version listed
ckerr 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,99 @@ | ||
| --- | ||
| title: Electron 39.0.0 | ||
| date: 2025-10-28T00:00:00.000Z | ||
| authors: | ||
| - ckerr | ||
| slug: electron-39-0 | ||
| tags: [release] | ||
| --- | ||
|
|
||
| Electron 39.0.0 has been released! It includes upgrades to Chromium 142.0.7444.52, V8 14.2, and Node 22.20.0. | ||
|
|
||
| --- | ||
|
|
||
| The Electron team is excited to announce the release of Electron 39.0.0! You can install it with npm via `npm install electron@latest` or download it from our [releases website](https://releases.electronjs.org/release?channel=stable). Continue reading for details about this release. | ||
|
|
||
| If you have any feedback, please share it with us on [Bluesky](https://bsky.app/profile/electronjs.org) 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 | ||
|
|
||
| ### Stack Changes | ||
|
|
||
| - Chromium `142.0.7444.52` | ||
| - [New in 142](https://developer.chrome.com/blog/new-in-chrome-142) | ||
| - [New in 141](https://developer.chrome.com/blog/new-in-chrome-141) | ||
| - Node `22.20.0` | ||
| - [v22.20.0 Announcement](https://nodejs.org/en/blog/release/v22.20.0) | ||
| - [v22.19.0 Announcement](https://nodejs.org/en/blog/release/v22.19.0) | ||
| - V8 `14.2` | ||
| - [V8 roll increment](https://chromium.googlesource.com/v8/v8.git/+/bb294624702efbb17691b642333f06bf5108e600) | ||
|
|
||
| Electron 39 upgrades Chromium from `140.0.7339.41` to `142.0.7444.52`, Node.js from `22.18.0` to `v22.20.0`, and V8 from `14.0` to `14.2`. | ||
|
|
||
| ### ASAR Integrity graduates to stable | ||
|
|
||
| A long-standing "experimental" feature -- ASAR integrity -- is now stable in Electron 39. When you enable this feature, it validates your packaged `app.asar` at runtime against a build-time hash to detect any tampering. If no hash is present or if there is a mismatch in the hashes, the app will forcefully terminate. | ||
|
|
||
| See [the ASAR integrity documentation](https://www.electronjs.org/docs/latest/tutorial/asar-integrity) for full information on how on the feature works, on how to use it in your application, and how to use it in Electron Forge and Electron Packager. | ||
|
|
||
| In related news, [Electron Packager](https://github.com/electron/packager) v19 now enables ASAR by default. [#1841](https://github.com/electron/packager/pull/1841) | ||
|
|
||
| ### New Features and Improvements | ||
|
|
||
| - Added `app.isHardwareAccelerationEnabled()`. [#48680](https://github.com/electron/electron/pull/48680) | ||
| - Added `RGBAF16` output format with scRGB HDR color space support to Offscreen Rendering. [#48504](https://github.com/electron/electron/pull/48504) | ||
| - Added methods to enable more granular accessibility support management. [#48625](https://github.com/electron/electron/pull/48625) | ||
| - Added support for `USBDevice.configurations`. [#47459](https://github.com/electron/electron/pull/47459) | ||
| - Added the ability to retrieve the system accent color on Linux using `systemPreferences.getAccentColor`. [#48628](https://github.com/electron/electron/pull/48628) | ||
| - Allowed for persisting File System API grant status within a given session. [#48326](https://github.com/electron/electron/pull/48326) <sup>(Also in [37](https://github.com/electron/electron/pull/48328), [38](https://github.com/electron/electron/pull/48327))</sup> | ||
| - Support dynamic ESM imports in non-context isolated preloads. [#48488](https://github.com/electron/electron/pull/48488) <sup>(Also in [37](https://github.com/electron/electron/pull/48487), [38](https://github.com/electron/electron/pull/48489))</sup> | ||
| - Marked the [ASAR integrity](https://www.electronjs.org/docs/latest/tutorial/asar-integrity) feature as stable. It had previously been experimental. [#48434](https://github.com/electron/electron/pull/48434) | ||
|
|
||
| ### Breaking Changes | ||
|
|
||
| #### Deprecated: `--host-rules` command line switch | ||
|
|
||
| Chromium is deprecating the `--host-rules` switch. | ||
|
|
||
| You should use `--host-resolver-rules` instead. | ||
|
|
||
| #### Behavior Changed: `window.open` popups are always resizable | ||
|
|
||
| Per current [WHATWG spec](https://html.spec.whatwg.org/multipage/nav-history-apis.html#dom-open-dev), the `window.open` API will now always create a resizable popup window. | ||
|
|
||
| To restore previous behavior: | ||
|
|
||
| ```js | ||
| webContents.setWindowOpenHandler((details) => { | ||
| return { | ||
| action: 'allow', | ||
| overrideBrowserWindowOptions: { | ||
| resizable: details.features.includes('resizable=yes'), | ||
| }, | ||
| }; | ||
| }); | ||
| ``` | ||
|
|
||
| #### Behavior Changed: shared texture OSR `paint` event data structure | ||
|
|
||
| When using the shared texture offscreen rendering feature, the `paint` event now emits a more structured object. | ||
| It moves the `sharedTextureHandle`, `planes`, `modifier` into a unified `handle` property. | ||
| See [the `OffscreenSharedTexture` documentation](https://www.electronjs.org/docs/latest/api/structures/offscreen-shared-texture) for more details. | ||
|
|
||
| ## End of Support for 36.x.y | ||
|
|
||
| Electron 36.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. | ||
|
|
||
| | E39 (Oct'25) | E40 (Jan'26) | E41 (Feb'26) | | ||
| | ------------ | ------------ | ------------ | | ||
| | 39.x.y | 40.x.y | 41.x.y | | ||
| | 38.x.y | 39.x.y | 40.x.y | | ||
| | 37.x.y | 38.x.y | 39.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.