惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

D
Docker
阮一峰的网络日志
阮一峰的网络日志
T
Tailwind CSS Blog
博客园 - 【当耐特】
量子位
博客园 - 叶小钗
有赞技术团队
有赞技术团队
Jina AI
Jina AI
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
博客园 - Franky
博客园 - 司徒正美
爱范儿
爱范儿
美团技术团队
小众软件
小众软件
酷 壳 – CoolShell
酷 壳 – CoolShell
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
V
V2EX
罗磊的独立博客
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
Last Week in AI
Last Week in AI
Hugging Face - Blog
Hugging Face - Blog
I
InfoQ
D
DataBreaches.Net
宝玉的分享
宝玉的分享

Electron Blog

Electron 44 Electron 43 Electron 42 Tech Talk: How Electron went Wayland-native, and what it means for your apps Electron 41 Electron 40.0.0 Tech Talk: Improving Window Resize Behavior December Quiet Month (Dec'25) Electron 38.0.0 Electron 37.0.0 Electron 36.0.0 Electron 35.0.0 Google Summer of Code 2025 Electron 34.0.0 Moving our Ecosystem to Node 22 December Quiet Month (Dec'24) Migrating from BrowserView to WebContentsView Electron 33.0.0 Introducing API History (GSoC 2024) Electron 32.0.0 Electron 31.0.0
Electron 39.0.0
ckerr · 2025-10-28 · via Electron Blog

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. Continue reading for details about this release.

If you have any feedback, please share it with us on Bluesky or Mastodon, or join our community Discord! Bugs and feature requests can be reported in Electron's issue tracker.

Notable Changes

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 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 v19 now enables ASAR by default. #1841

Stack Changes

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.

New Features and Improvements

  • Added app.isHardwareAccelerationEnabled(). #48680
  • Added RGBAF16 output format with scRGB HDR color space support to Offscreen Rendering. #48504
  • Added methods to enable more granular accessibility support management. #48625
  • Added support for USBDevice.configurations. #47459
  • Added the ability to retrieve the system accent color on Linux using systemPreferences.getAccentColor. #48628
  • Allowed for persisting File System API grant status within a given session. #48326 (Also in 37, 38)
  • Support dynamic ESM imports in non-context isolated preloads. #48488 (Also in 37, 38)
  • Marked the ASAR integrity feature as stable. It had previously been experimental. #48434

Breaking Changes

Deprecated: --host-rules command line switch

Chromium is deprecating the --host-rules switch.

You should use --host-resolver-rules instead.

Per current WHATWG spec, the window.open API will now always create a resizable popup window.

To restore previous behavior:

webContents.setWindowOpenHandler((details) => {

return {

action: 'allow',

overrideBrowserWindowOptions: {

resizable: details.features.includes('resizable=yes'),

},

};

});

Behavior Changed: NSAudioCaptureUsageDescription should be included in your app's Info.plist file to use desktopCapturer (🍏 macOS ≥14.2)

Due to a Chromium update which enables Apple's newer CoreAudio Tap API by default, you now must have NSAudioCaptureUsageDescription defined in your Info.plist to use desktopCapturer.

Electron's desktopCapturer will create a dead audio stream if the new permission is absent. However, no errors or warnings will occur. This is partially a side-effect of Chromium not falling back to the older Screen & System Audio Recording permissions system if the new system fails.

To restore previous behavior:

//main.js (right beneath your require/import statments)

app.commandLine.appendSwitch(

'disable-features',

'MacCatapLoopbackAudioForScreenShare',

);

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 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. Developers and applications are encouraged to upgrade to a newer version of Electron.

E39 (Oct'25)E40 (Jan'26)E41 (Feb'26)
39.x.y40.x.y41.x.y
38.x.y39.x.y40.x.y
37.x.y38.x.y39.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.

More information about future changes can be found on the Planned Breaking Changes page.