跳到主要内容

42 篇带有“Release”标签的文章

关于新的 Electron 版本的博客文章

查看所有标签

Electron 14.0.0

·阅读 6 分钟

Electron 14.0.0 已发布!它包括对 Chromium 93 和 V8 9.3 的升级。我们添加了几个 API 更新、错误修复和一般改进。请阅读下文了解更多详细信息!


Electron 团队很高兴地宣布发布 Electron 14.0.0!您可以通过 npm 使用 npm install electron@latest 安装它,或从我们的发布网站下载它。继续阅读以了解有关此版本的详细信息,并请分享您的任何反馈!

重大变更

Electron 发布节奏变更

从 2021 年 9 月的 Electron 15 开始,Electron 将每 8 周发布一个新的主要稳定版本。您可以在此处阅读完整详细信息。Electron 15 将于 2021 年 9 月 1 日开始测试版,并于 2021 年 9 月 21 日发布稳定版。您可以在此处找到 Electron 的公共时间表。此外,Electron 将在 2022 年 5 月之前将支持的版本从最新的三个版本更改为最新的四个版本。请参阅我们的版本控制文档,了解有关 Electron 版本控制的更多详细信息。

堆栈变更

突出显示的功能

  • 默认更改:nativeWindowOpen 现在默认为 true(请参阅文档)
  • 子窗口不再从其父窗口继承 BrowserWindow 构建选项。#28550
  • 添加了新的 session.storagePath API,以获取会话特定数据在磁盘上的路径。#28665
  • 添加了 @electron/remote 使用的 process.contextId#28007
  • Electron Fuse 背后添加了实验性 Cookie 加密支持。#29492

有关新功能和更改的完整列表,请参阅14.0.0 发行说明

重大更改

以下是 Electron 14 中引入的重大更改。有关这些和未来更改的更多信息,请访问计划的重大更改页面。

已移除:app.allowRendererProcessReuse

app.allowRendererProcessReuse 属性已删除,这是我们计划更紧密地与 Chromium 的进程模型保持一致以确保安全性、性能和可维护性的一部分。

有关更多详细信息,请参阅#18397

已移除:浏览器窗口亲和性

在构建新的 BrowserWindow 时,affinity 选项已删除,这是我们计划更紧密地与 Chromium 的进程模型保持一致以确保安全性、性能和可维护性的一部分。

有关更多详细信息,请参阅#18397

API 已更改:window.open()

可选参数 frameName 不再设置窗口的标题。此行为现在遵循原生文档中描述的 windowName 参数的规范。

如果您使用此参数来设置窗口的标题,则可以改为使用win.setTitle(title) 方法。

已移除:worldSafeExecuteJavaScript

已移除 worldSafeExecuteJavaScript,没有替代方案。请确保您的代码在此属性启用后可以正常工作。自 Electron 12 以来,它已默认启用。

如果您使用 webFrame.executeJavaScriptwebFrame.executeJavaScriptInIsolatedWorld,则会受到此更改的影响。您需要确保这些方法返回的值受上下文桥 API 支持,因为这些方法使用相同的值传递语义。

默认更改:nativeWindowOpen 默认为 true

在 Electron 14 之前,window.open 默认使用 BrowserWindowProxy 进行模拟。这意味着 window.open('about:blank') 等操作无法打开可同步脚本化的子窗口,以及其他不兼容性。nativeWindowOpen 不再是实验性的,现在是默认设置。

有关更多详细信息,请参阅 Electron 中 window.open 的文档

已移除:BrowserWindowConstructorOptions 从父窗口继承

在 Electron 14 之前,使用 window.open 打开的窗口会从其父窗口继承 BrowserWindow 构造器选项,例如 transparentresizable。从 Electron 14 开始,此行为已被移除,窗口将不再从其父窗口继承任何 BrowserWindow 构造器选项。

相反,请使用 setWindowOpenHandler 显式设置新窗口的选项。

webContents.setWindowOpenHandler((details) => {
return {
action: 'allow',
overrideBrowserWindowOptions: {
// ...
},
};
});

已移除:additionalFeatures

已移除 WebContents 的 new-windowdid-create-window 事件中已弃用的 additionalFeatures 属性。由于 new-window 使用位置参数,该参数仍然存在,但将始终是空数组 []。(注意:new-window 事件本身已被弃用,并已替换为 setWindowOpenHandler。)窗口功能中的裸键现在将在 options 对象中显示为键值 true

// Removed in Electron 14
// Triggered by window.open('...', '', 'my-key')
webContents.on('did-create-window', (window, details) => {
if (details.additionalFeatures.includes('my-key')) {
// ...
}
});

// Replace with
webContents.on('did-create-window', (window, details) => {
if (details.options['my-key']) {
// ...
}
});

已移除:remote 模块

在 Electron 12 中被弃用的 remote 模块现在已从 Electron 本身移除,并提取到一个单独的包中:@electron/remote@electron/remote 模块桥接了从主进程到渲染器进程的 JavaScript 对象。这允许您访问仅主进程可用的对象,就好像它们在渲染器进程中可用一样。这是 remote 模块的直接替代品。有关迁移说明和参考,请参阅模块的自述文件

API 更改

  • 添加了 BrowserWindow.isFocusable() 方法,以确定窗口是否可聚焦。#28642
  • 添加了 WebFrameMain.visibilityState 实例属性。#28706
  • dispositionreferrerpostBody 添加到传递给使用 setWindowOpenHandler 注册的窗口打开处理程序的 details 对象中。#28518
  • 添加了 @electron/remote 使用的 process.contextId#28007
  • Electron Fuse 背后添加了实验性 Cookie 加密支持。#29492
  • webRequest 侦听器详细信息添加了缺少的 resourceType 转换:fontpingcspReportmediawebSocket#30050
  • 添加了新的 session.storagePath API,以获取会话特定数据在磁盘上的路径。#28665
  • 增加了对 macOS 上 Windows 控制覆盖的支持。#29986
  • 增加了通过 --log-file=.../path/to/file.log 将 Chromium 日志定向到文件的支持。此外,现在可以通过在第一个 JS 刻度期间追加命令行开关来从 JavaScript 启用日志记录。#29963
  • 增加了对 node crypto 中 des-ede3 密码的支持。#27897
  • 添加了一个 ContextBridgeMutability 功能,允许修改上下文桥接对象。#27348

已移除/已弃用的更改

以下 API 已被移除或现在已被弃用

  • 在 Electron 12 中被弃用后,remote 模块已被移除。#25734
  • 子窗口不再从其父窗口继承 BrowserWindow 构建选项。#28550
  • new-windowdid-create-window WebContents 事件中移除了已弃用的 additionalFeatures 属性。#28548
  • 移除了已弃用的 app.allowRendererProcessReuse 和 BrowserWindow affinity 选项。#26874
  • uploadToServer 为 false 时,crashReporter.startsubmitURL 选项不再是必需的参数。#28105

停止支持 11.x.y

根据项目的支持政策,Electron 11.x.y 已停止支持。鼓励开发人员和应用程序升级到较新版本的 Electron。

下一步是什么

短期内,您可以期望该团队继续专注于跟上构成 Electron 的主要组件(包括 Chromium、Node 和 V8)的开发。虽然我们小心不承诺发布日期,但我们的计划是大约每季度发布带有这些组件新版本的 Electron 新主要版本。

有关 Electron 未来版本中计划的重大更改的信息,请参阅我们的计划的重大更改

新的 Electron 发布节奏

·阅读 6 分钟

从 2021 年 9 月开始,Electron 将每 8 周发布一个新的主要稳定版本。


在 2019 年,Electron 改为 12 周发布周期,以匹配 Chromium 的 6 周发布周期。最近,Chrome 和 Microsoft 都宣布了更改,这使我们重新考虑 Electron 当前的发布节奏

  1. Chromium 计划4 周 发布一个新的里程碑版本,从 2021 年 9 月 21 日的 Chrome 94 开始。此发布节奏还增加了每 8 周一次的新扩展稳定版选项,其中将包含所有更新的安全修复。

  2. Microsoft Store 将要求基于 Chromium 的应用程序不早于 2 个主要版本。例如,如果最新发布的 Chromium 主要版本是 85,则任何基于 Chromium 的浏览器都必须至少使用 Chromium 版本 83 或更高版本。此规则包括 Electron 应用程序。

从 2021 年 9 月开始,Electron 将每 8 周发布一个新的主要稳定版本,以匹配 Chromium 的 8 周扩展稳定版发布。

我们第一个使用 Chromium 扩展稳定版的版本将是 2021 年 9 月 21 日Electron 15

了解到发布节奏的更改会影响其他下游应用程序,我们希望尽快通知我们的开发者社区。请继续阅读,了解有关我们 2021 年发布计划的更多详细信息。

Electron 15:临时 Alpha 版本

鉴于我们最初的 Electron 15 版本的目标是非扩展稳定版(Chromium 的扩展稳定版基于其偶数版本),我们需要更改我们最初的目标发布日期。但是,Electron 应用程序必须使用最新的 2 个主要版本的 Chromium 才能被 Microsoft Store 接受,这使得等待两个 Chromium 版本变得难以承受。

有了这两个要求,我们的团队面临着一个时间困境。将 Electron 15 迁移到包含 Chromium M94 将允许应用程序开发人员使用第一个扩展稳定版的 Chromium;但是,这也将把 beta 到稳定的周期缩短到仅 3 周。

为了帮助完成此转换,Electron 将为 Electron 15 版本提供一个临时的 alpha 版本。此 alpha 版本将使开发人员有更多时间测试和计划 Electron 15 版本,并提供比我们当前的每日构建更稳定的版本。

alpha 通道版本将于 2021 年 7 月 20 日发布 Electron 15。它将于 2021 年 9 月 1 日过渡到 beta 版本,目标稳定版本于 2021 年 9 月 21 日发布。随后的 Electron 版本将没有 alpha 版本。

2021 年发布计划

以下是我们 2021 年的当前发布计划

ElectronChromeAlpha 发布Beta 发布稳定版发布稳定周期(周)
E13M91-2021-03-052021-05-2512
E14M93-2021-05-262021-08-3114
E15M942021-07-202021-09-012021-09-219(包括 alpha)
E16M96-2021-09-222021-11-168
E17M98-2021-11-172022-02-0111

添加 alpha 通道将 Electron 15 发布前的开发时间从 3 周延长到 9 周 - 更接近我们新的 8 周周期,同时仍然满足 Windows Store 提交的要求。

为了进一步帮助应用程序开发人员,在 2021 年剩余时间和 2022 年 5 月之前,我们还将把我们的支持版本策略从最新的 3 个版本扩展到最新的 4 个 Electron 版本。这意味着即使您无法立即更改您的升级计划,旧版本的 Electron 仍然会收到安全更新和修复。

解决问题

我们之所以在计划的发布周期变更之前发布这篇文章,是有原因的。我们知道更快的发布周期会对 Electron 应用程序产生实际影响,其中一些应用程序可能已经觉得我们的大版本发布节奏过于激进。

我们已在下方尝试解决常见问题

❓ 为什么要进行此更改?为什么不保持 12 周的发布节奏?

为了在 Electron 中提供最新版本的 Chromium,我们的计划需要与他们的计划保持一致。有关 Chromium 发布周期的更多信息,请参见此处

此外,当前的 12 周发布节奏在 Microsoft Store 新的提交要求下将变得难以维持。即使使用最新稳定版 Electron 的应用程序,也会在大约两周的时间内因新的安全要求而被拒绝。

每个新的 Chromium 版本都包含新功能、错误修复/安全修复以及 V8 改进。我们希望你们作为应用程序开发人员能够及时获得这些更改,因此我们的稳定版本发布日期将继续与 Chromium 的每个稳定版本发布日期相匹配。作为应用程序开发人员,您将比以前更快地获得新的 Chromium 和 V8 功能和修复。

❓ 现有的 12 周发布计划已经很快了。团队正在采取哪些步骤来使升级更容易?

更频繁发布的优势之一是拥有更小的版本。我们理解升级 Electron 的主要版本可能很困难。我们希望较小的版本每次发布引入的 Chromium 和 Node 的重大更改以及破坏性更改会更少。

❓ 未来 Electron 版本是否会有 alpha 版本?

目前没有计划支持永久的 alpha 版本。此 alpha 版本仅用于 Electron 15,旨在帮助开发人员在缩短的发布周期内更轻松地升级。

❓ Electron 会延长支持的版本数量吗?

在 2022 年 5 月发布 Electron 19 之前,我们将把我们支持的版本策略从最新的三个版本延长到最新的四个版本。在 Electron 19 发布后,我们将恢复支持最新的三个主要版本,以及 beta 版和 nightly 版。

E13(21 年 5 月)E14(21 年 8 月)E15(21 年 9 月)E16(21 年 11 月)E17(22 年 2 月)E18(22 年 3 月)E19(22 年 5 月)
13.x.y14.x.y15.x.y16.x.y17.x.y18.x.y19.x.y
12.x.y13.x.y14.x.y15.x.y16.x.y17.x.y18.x.y
11.x.y12.x.y13.x.y14.x.y15.x.y16.x.y17.x.y
----12.x.y13.x.y14.x.y15.x.y--

有问题吗?

📨 如果您有任何问题或疑虑,请发送邮件至 [email protected]加入我们的 Discord。我们知道此更改会影响许多应用程序和开发人员,您的反馈对我们非常重要。我们希望听到您的声音!

Electron 13.0.0

·3 分钟阅读

Electron 13.0.0 已发布!它包括对 Chromium 91 和 V8 9.1 的升级。我们添加了一些 API 更新、错误修复和一般改进。请阅读下文了解更多详细信息!


Electron 团队很高兴宣布 Electron 13.0.0 的发布!您可以通过 npm 使用 npm install electron@latest 安装它,或从我们的发布网站下载它。请继续阅读以了解有关此版本的详细信息,并请分享您的任何反馈!

重大变更

堆栈变更

突出显示的功能

  • 添加了 process.contextIsolated 属性,指示当前渲染器上下文是否启用了 contextIsolation#28252
  • 添加了新的 session.storagePath API,用于获取会话特定数据的磁盘路径。#28866
  • 已弃用 WebContentsnew-window 事件。它被 webContents.setWindowOpenHandler() 取代
  • 添加了 @electron/remote 使用的 process.contextId#28251

有关新功能和更改的完整列表,请参见13.0.0 发行说明

重大更改

  • window.open() 参数 frameName 不再设置为窗口标题。#27481
  • 更改了 session.setPermissionCheckHandler(handler) 以允许 handler 的第一个参数 webContentsnull#19903

有关这些和未来更改的更多信息,请参见计划的重大更改页面。

API 更改

  • BrowserWindow 添加了 roundedCorners 选项。#27572
  • 添加了新的 session.storagePath API,用于获取会话特定数据的磁盘路径。28866
  • 添加了对通过上下文桥传递 DOM 元素的支持。#26776
  • 向沙盒渲染器添加了 process.uptime()#26684
  • 向作为 context-menu 事件一部分发出的参数添加了缺少的字段。#26788
  • 添加了对注册 Manifest V3 扩展服务工作线程的支持。
  • 向 ServiceWorkers 添加了 “registration-completed” 事件。#27562

已移除/已弃用的更改

以下 API 已被移除或现在已被弃用

  • 已弃用 WebContentsnew-window 事件。它被 webContents.setWindowOpenHandler() 取代

  • 删除了已弃用的 shell.moveItemToTrash()#26723

  • 删除了以下已弃用的 BrowserWindow 扩展 API

    • BrowserWindow.addExtension(path)
    • BrowserWindow.addDevToolsExtension(path)
    • BrowserWindow.removeExtension(name)
    • BrowserWindow.removeDevToolsExtension(name)
    • BrowserWindow.getExtensions()
    • BrowserWindow.getDevToolsExtensions()

    请改用 session API

    • ses.loadExtension(path)
    • ses.removeExtension(extension_id)
    • ses.getAllExtensions()
  • 以下 systemPreferences 方法已被弃用

    • systemPreferences.isDarkMode()
    • systemPreferences.isInvertedColorScheme()
    • systemPreferences.isHighContrastColorScheme()

    请改用以下 nativeTheme 属性

    • nativeTheme.shouldUseDarkColors
    • nativeTheme.shouldUseInvertedColorScheme
    • nativeTheme.shouldUseHighContrastColors

结束对 10.x.y 的支持

根据该项目的支持政策,Electron 10.x.y 已达到支持终止时间。鼓励开发人员和应用程序升级到更新版本的 Electron。

下一步是什么

在短期内,您可以期望该团队继续专注于跟上构成 Electron 的主要组件(包括 Chromium、Node 和 V8)的开发。尽管我们不承诺发布日期,但我们的计划是大约每季度发布具有这些组件新版本的 Electron 的新主要版本。暂定的 14.0.0 时间表概述了 Electron 14.0 开发生命周期中的关键日期。此外,请参阅我们的版本控制文档以获取有关 Electron 中版本控制的更多详细信息。

有关 Electron 即将发布版本中计划的重大更改的信息,请参见我们的计划的重大更改文档

Electron 12.0.0

·5 分钟阅读

Electron 12.0.0 已发布!它包括对 Chromium 89、V8 8.9 和 Node.js 14.16 的升级。我们对远程模块进行了更改、contextIsolation 的新默认值、新的 webFrameMain API 和一般改进。请阅读下文了解更多详细信息!


Electron 团队很高兴宣布 Electron 12.0.0 的发布!您可以通过 npm 使用 npm install electron@latest 安装它,或从我们的发布网站下载它。请继续阅读以了解有关此版本的详细信息,并请分享您的任何反馈!

重大变更

堆栈变更

突出显示的功能

  • ContextBridge 的 exposeInMainWorld 方法现在可以公开非对象 API。#26834
  • 从 Node 12 升级到 Node 14。#23249
  • 添加了一个新的 webFrameMain API,用于从主进程访问 WebContents 实例的子框架。#25464
  • contextIsolationworldSafeExecuteJavaScript 的默认值现在为 true#27949 #27502

请参阅12.0.0 发行说明,查看完整的新功能和更改列表。

重大更改

有关这些和未来更改的更多信息,请参见计划的重大更改页面。

API 更改

  • 添加了 webFrameMain API:webFrameMain 模块可用于在现有 WebContents 实例中查找框架。这是主进程中与现有 webFrame API 等效的功能。有关此新 API 的更多信息,请点击此处和我们的文档
  • app API 更改
    • 将非本地化的 serviceName 添加到 'child-process-gone' / app.getAppMetrics()#25975
    • 添加了新的 app.runningUnderRosettaTranslation 属性,用于检测在 Apple 芯片上是否在 Rosetta 下运行。#26444
    • exitCode 添加到 render-process-gone 详细信息(app 和 webContents)。#27677
  • BrowserWindow API 更改
    • 添加了 BrowserWindow.isTabletMode() API。#25209
    • BrowserWindow 添加了 resized (Windows/macOS) 和 moved (Windows) 事件。#26216
    • 添加了新的 system-context-menu 事件,允许阻止和覆盖系统上下文菜单。#25795
    • 添加了 win.setTopBrowserView(),以便可以提升 BrowserView 的层级。#27713
    • 添加了 webPreferences.preferredSizeMode,以允许根据文档的最小大小调整视图大小。#25874
  • contextBridge API 更改
    • 允许 ContextBridge 的 exposeInMainWorld 方法公开非对象 API。#26834
  • display API 更改
    • Display 对象添加了 displayFrequency 属性,以便在 Windows 上获取有关刷新率的信息。#26472
  • extensions API 更改
    • 添加了对某些 chrome.management API 的支持。#25098
  • MenuItem API 更改
    • 添加了对显示 macOS 分享菜单的支持。#25629
  • net API 更改
    • net.request() 添加了一个新的 credentials 选项。#25284
    • 添加了 net.online 用于检测当前是否有互联网连接。#21004
  • powerMonitor API 更改
    • 添加了 powerMonitor.onBatteryPower#26494
    • 向 macOS 上的 powerMonitor 添加了快速用户切换事件。#25321
  • session API 更改
    • ses.loadExtension() API 添加了 allowFileAccess 选项。#27702
    • session.setPermissionRequestHandler 添加了 display-capture API。#27696
    • session.setSSLConfig 添加了 disabledCipherSuites 选项。#25818
    • session 添加了 extension-loadedextension-unloadedextension-ready 事件。#25385
    • 添加了 session.setSSLConfig(),允许配置 SSL。#25461
    • 添加了对在 session.setProxy() 中显式指定 directauto_detectsystem 模式的支持。#24937
    • 添加了 Serial API 支持。#25237
    • 添加了用于启用/禁用拼写检查器的 API。#26276
  • shell API 更改
    • 添加了一个新的异步 shell.trashItem() API,取代了同步的 shell.moveItemToTrash()#25114
  • webContents API 更改
    • 在控制台中添加了一个小的控制台提示,以帮助调试渲染器崩溃。#25317
    • 在 webRequest 处理程序中的详细信息对象中添加了 framewebContents 属性。#27334
    • 添加了 webContents.forcefullyCrashRenderer(),以强制终止渲染器进程,从而帮助恢复挂起的渲染器。#25580
    • 为渲染器创建的子窗口添加了 setWindowOpenHandler API,并弃用了 new-window 事件。#24517
  • webFrame API 更改
    • 向渲染器添加了拼写检查 API。#25060

已移除/已弃用的更改

以下 API 已被移除或现在已被弃用

  • 已弃用 remote 模块。它已由 @electron/remote 替代。#25293
  • 移除了已弃用的 crashReporter API。#26709
  • 从打包应用程序的默认“帮助”菜单中移除了指向 Electron 网站的链接。#25831

9.x.y 版本已停止支持

根据项目的支持策略,Electron 9.x.y 已停止支持。鼓励开发人员和应用程序升级到较新版本的 Electron。

下一步是什么

短期内,您可以期望团队继续专注于跟上构成 Electron 的主要组件(包括 Chromium、Node 和 V8)的开发。尽管我们谨慎地不承诺发布日期,但我们的计划是大约每季度发布带有这些组件新版本的 Electron 主要版本。 暂定的 13.0.0 时间表列出了 Electron 13.0 开发生命周期中的关键日期。此外,请参阅我们的版本控制文档,以获取有关 Electron 中版本控制的更多详细信息。

有关 Electron 即将发布版本中计划的重大更改的信息,请参见我们的计划的重大更改文档

Electron 11.0.0

·4 分钟阅读

Electron 11.0.0 已发布!它包括对 Chromium 87、V8 8.7 和 Node.js 12.18.3 的升级。我们添加了对 Apple 芯片的支持以及常规改进。请阅读以下内容以了解更多详细信息!


Electron 团队很高兴地宣布 Electron 11.0.0 的发布!您可以使用 npm 通过 npm install electron@latest 安装它,或从我们的发布网站下载它。该版本包含升级、修复以及对 Apple M1 硬件的新支持。

我们迫不及待地想看看您用它们构建什么!继续阅读有关此版本的详细信息,并分享您的任何反馈!

重大变更

堆栈变更

突出显示的功能

有关新功能和更改的完整列表,请参阅11.0.0 版本说明

重大更改

  • 移除了实验性 API:BrowserView.{fromId, fromWebContents, getAllViews}BrowserViewid 属性。 #23578

有关这些和未来更改的更多信息,请参见计划的重大更改页面。

API 更改

  • 添加了 app.getApplicationInfoForProtocol() API,该 API 返回有关处理特定协议的应用程序的详细信息。 #24112
  • 添加了 app.createThumbnailFromPath() API,该 API 返回给定文件路径和最大缩略图大小的文件的预览图像。 #24802
  • 添加了 webContents.forcefullyCrashRenderer() 以强制终止渲染器进程,以帮助恢复挂起的渲染器。 #25756

对 8.x.y 的支持已结束

根据项目的支持政策,Electron 8.x.y 已达到支持结束。 建议开发人员和应用程序升级到较新版本的 Electron。

下一步是什么

短期内,您可以期望该团队继续专注于跟上构成 Electron 的主要组件(包括 Chromium、Node 和 V8)的开发。 尽管我们谨慎不做出关于发布日期的承诺,但我们的计划是大约每季度发布新版本的 Electron 以及这些组件的新版本。 暂定的 12.0.0 时间表列出了 Electron 12.0 开发生命周期中的关键日期。此外,请参阅我们的版本控制文档,以获取有关 Electron 中版本控制的更详细信息。

有关 Electron 即将发布版本中计划的重大更改的信息,请参见我们的计划的重大更改文档

继续进行 remote 模块的弃用工作

我们已在 Electron 9 中开始删除 remote 模块的工作。 我们计划在 Electron 14 中删除 remote 模块本身。

请阅读并关注此问题,以了解有关弃用的完整计划和详细信息。

要求本机 Node 模块必须是上下文感知或 N-API 的最后一步(在 Electron 12 中)

从 Electron 6 开始,我们一直在为要求在渲染器进程中加载的本机 Node 模块必须是 N-API上下文感知奠定基础。 强制执行此更改可以提高安全性、加快性能并减少维护工作量。 此计划的最后一步是删除在 Electron 12 中禁用渲染器进程重用的能力。

请阅读并关注此问题,以了解完整的详细信息,包括拟议的时间表。

Electron 10.0.0

·5 分钟阅读

Electron 10.0.0 已发布!它包括 Chromium 85、V8 8.5 和 Node.js 12.16 的升级。我们添加了几个新的 API 集成和改进。请阅读以下内容以获取更多详细信息!


Electron 团队很高兴地宣布发布 Electron 10.0.0!您可以通过 npm 使用 npm install electron@latest 安装它,或从我们的发布网站下载它。此版本包含升级、修复和新功能。

在 Electron 10 版本中,我们还更改了版本说明。为了更容易区分 Electron 10 中的全新功能以及 Electron 10 和过去版本之间的更改,我们现在还包括引入到 Electron 10 但向后移植到以前版本中的更改。我们希望这能使应用程序在升级 Electron 时更容易找到新功能和错误修复。

我们迫不及待地想看看您用它们构建什么!继续阅读有关此版本的详细信息,并分享您的任何反馈!

重大变更

堆栈变更

突出显示的功能

  • 添加了 contents.getBackgroundThrottling() 方法和 contents.backgroundThrottling 属性。 [#21036]
  • 在主进程中公开了 desktopCapturer 模块。 #23548
  • 现在可以通过调用 ses.isPersistent() API 来检查给定的 session 是否为持久会话。 #22622
  • 解决了由于网络 IP 地址更改和 ICE 导致 RTC 调用无法连接的网络问题。(Chromium 问题 1113227)。#24998

有关新功能和更改的完整列表,请参阅10.0.0 版本说明

重大更改

  • enableRemoteModule 的默认值更改为 false#22091
    • 这是我们弃用 remote 模块并将其移动到用户空间计划的一部分。您可以阅读并关注此问题,其中详细说明了我们这样做的原因,并包括了拟议的弃用时间表。
  • app.allowRendererProcessReuse 的默认值更改为 true#22336(也在 Electron 9 中)
    • 这将阻止在渲染器进程中加载非上下文感知的本机模块。
    • 您可以阅读并关注此问题,其中详细说明了我们这样做的原因,并包括了拟议的弃用时间表。
  • 修复了当操作系统区域设置设置为 RTL 语言(如阿拉伯语或希伯来语)时,macOS 上窗口按钮的定位。无框架窗口应用程序可能必须在设置窗口样式时考虑此更改。 #22016

有关这些和未来更改的更多信息,请参见计划的重大更改页面。

API 更改

  • 会话:现在可以通过调用 ses.isPersistent() API 来检查给定的 session 是否为持久会话。 #22622
  • 内容:添加了 contents.getBackgroundThrottling() 方法和 contents.backgroundThrottling 属性。 #21036

已弃用的 API

以下 API 现已弃用或删除

  • 删除了 netLog 中已弃用的 currentlyLoggingPath 属性。此外,netLog.stopLogging 不再返回记录日志的路径。 #22732
  • crashReporter 中弃用了未压缩的崩溃上传。 #23598

对 7.x.y 的支持已结束

根据项目的支持政策,Electron 7.x.y 已达到支持结束。 建议开发人员和应用程序升级到较新版本的 Electron。

下一步是什么

短期内,您可以期望该团队继续专注于跟上构成 Electron 的主要组件(包括 Chromium、Node 和 V8)的开发。 尽管我们谨慎不做出关于发布日期的承诺,但我们的计划是大约每季度发布新版本的 Electron 以及这些组件的新版本。 暂定的 11.0.0 时间表列出了 Electron 11.0 开发生命周期中的关键日期。此外,请参阅我们的版本控制文档,以获取有关 Electron 中版本控制的更详细信息。

有关 Electron 即将发布版本中计划的重大更改的信息,请参见我们的计划的重大更改文档

继续进行 remote 模块的弃用工作(在 Electron 11 中)

我们已在 Electron 9 中开始删除远程模块的工作,并且我们正在继续删除 remote 模块的计划。 在 Electron 11 中,我们计划继续进行重构工作,以实现WeakRef,就像我们在 Electron 10 中所做的那样。请阅读并关注此问题,以了解有关弃用的完整计划和详细信息。

要求本机 Node 模块必须是上下文感知或 N-API 的最后一步(在 Electron 12 中)

编辑:最初,此博客文章声明我们将在 Electron 11 中禁用渲染器进程重用。禁用渲染器进程重用现已推迟到 Electron 12。

从 Electron 6 开始,我们一直在为要求在渲染器进程中加载的本机 Node 模块必须是 N-API上下文感知奠定基础。 强制执行此更改可以提高安全性、加快性能并减少维护工作量。 此计划的最后一步是删除在 Electron 12 中禁用渲染器进程重用的能力。请阅读此问题,以了解包括拟议时间表在内的完整详细信息。

Electron 9.0.0

·4 分钟阅读

Electron 9.0.0 已发布!它包括 Chromium 83、V8 8.3 和 Node.js 12.14 的升级。我们为拼写检查器功能添加了几个新的 API 集成,启用了 PDF 查看器等等!


Electron 团队很高兴地宣布 Electron 9.0.0 版本的发布!您可以通过 npm 使用 npm install electron@latest 安装,或者从我们的发布网站下载。此版本包含了大量的升级、修复和新功能。我们迫不及待地想看到您使用它们构建的成果!请继续阅读以了解此版本的详细信息,并请分享您的任何反馈!

重大变更

堆栈变更

突出显示的功能

  • 拼写检查器功能的多个改进。有关更多详细信息,请参阅#22128#22368
  • 改进了 Linux 上的窗口事件处理效率。#23260
  • 启用 PDF 查看器。#22131

有关新功能和更改的完整列表,请参阅9.0.0 发行说明

重大更改

  • 在不使用 enableRemoteModule: true 的情况下使用 remote 时,会发出弃用警告。#21546
    • 这是我们计划弃用 remote 模块并将其移动到用户空间的第一步。您可以阅读并关注 此问题,其中详细说明了我们这样做的原因,并包括了建议的弃用时间表。
  • 默认情况下将 app.enableRendererProcessReuse 设置为 true。#22336
    • 这是为未来要求在渲染器进程中加载的本机 Node 模块必须是 N-API上下文感知 的持续工作。完整信息和建议的时间表在 此问题 中详细说明。
  • 通过 IPC 发送非 JavaScript 对象现在会引发异常。#21560
    • 此行为在 Electron 8.0 中已弃用。在 Electron 9.0 中,旧的序列化算法已被删除,发送此类不可序列化的对象现在将引发“对象无法克隆”错误。

有关这些和未来更改的更多信息,请参见计划的重大更改页面。

API 更改

  • shell API 更改
    • shell.openItem API 已被异步的 shell.openPath API 替换。提案
  • session API 更改
    • 添加了 session.listWordsFromSpellCheckerDictionary API 以列出字典中的自定义单词。#22128
    • 添加了 session.removeWordFromSpellCheckerDictionary API 以删除字典中的自定义单词。#22368
    • 添加了 session.serviceWorkerContext API 以访问基本 Service Worker 信息并接收来自 Service Worker 的控制台日志。#22313
  • app API 更改
    • 在 macOS 上为 app.focus() 添加了一个新的 force 参数,以允许应用程序强制获取焦点。#23447
  • BrowserWindow API 更改
    • 添加了对 BrowserWindow 上某些 getter/setter 对的属性访问的支持。#23208

已弃用的 API

以下 API 现已弃用或删除

  • shell.openItem API 现在已弃用,并被异步的 shell.openPath API 替换。
  • 在 Electron 8.0 中已弃用的 <webview>.getWebContents 现在已删除。
  • 在 Electron 8.0 中已弃用的 webFrame.setLayoutZoomLevelLimits 现在已删除。

对 6.x.y 的支持结束

根据项目的支持政策,Electron 6.x.y 已达到支持结束。鼓励开发人员和应用程序升级到较新版本的 Electron。

下一步是什么

在短期内,您可以期待团队继续专注于跟上构成 Electron 的主要组件(包括 Chromium、Node 和 V8)的开发。尽管我们谨慎地不对发布日期做出承诺,但我们的计划是大约每季度发布带有这些组件新版本的 Electron 新的主要版本。暂定的 10.0.0 时间表 规划了 Electron 10.0 开发生命周期中的关键日期。此外,有关 Electron 中版本控制的更多详细信息,请参阅我们的版本控制文档

有关 Electron 即将发布版本中计划的重大更改的信息,请参见我们的计划的重大更改文档

contextIsolation 的默认值从 false 更改为 true(从 Electron 10 开始)

在没有 contextIsolation 的情况下,在渲染器进程中运行的任何代码都可以很容易地访问 Electron 内部或应用程序的预加载脚本。然后,该代码可以执行 Electron 希望保持限制的特权操作。

更改此默认值提高了 Electron 应用程序的默认安全性,因此应用程序需要故意选择不安全的行为。Electron 将在 Electron 10.0 中弃用当前的 contextIsolation 默认值,并在 Electron 12.0 中更改为新默认值 (true)。

有关 contextIsolation、如何轻松启用它及其安全优势的更多信息,请参阅我们专门的 Context Isolation 文档

Electron 8.0.0

·阅读 6 分钟

Electron 8.0.0 已发布!它包括升级到 Chromium 80、V8 8.0 和 Node.js 12.13.0。我们添加了 Chrome 的内置拼写检查器,以及更多功能!


Electron 团队很高兴地宣布 Electron 8.0.0 版本的发布!您可以通过 npm 使用 npm install electron@latest 安装,或者从我们的发布网站下载。此版本包含了大量的升级、修复和新功能。我们迫不及待地想看到您使用它们构建的成果!请继续阅读以了解此版本的详细信息,并请分享您的任何反馈!

重大变更

堆栈变更

突出显示的功能

  • 实现了 Chrome 内置拼写检查器功能的使用。有关更多详细信息,请参阅#20692#21266
  • IPC 通信现在使用 v8 的结构化克隆算法。这比现有的逻辑更快、功能更强大、更少令人意外,并且为大型缓冲区和复杂对象带来了 2 倍的性能提升。小型消息的延迟没有受到显著影响。有关更多详细信息,请参阅#20214

有关新功能和更改的完整列表,请参阅8.0.0 发行说明

重大更改

  • 在上下文感知模块的弃用警告中显示模块名称。#21952
    • 这是为未来要求在渲染器进程中加载的本机 Node 模块必须是 N-API上下文感知 的持续工作。完整信息和建议的时间表在 此问题 中详细说明。
  • 通过 IPC 发送的值现在使用结构化克隆算法进行序列化。#20214
  • 由于缺少维护人员来处理此功能,目前已禁用离屏渲染。它在 Chromium 升级期间中断,随后被禁用。#20772

有关这些和未来更改的更多信息,请参见计划的重大更改页面。

API 更改

  • app API 更改
    • 添加了 app.getApplicationNameForProtocol(url)#20399
    • 在 Windows 上添加了 app.showAboutPanel()app.setAboutPanelOptions(options) 支持。#19420
  • BrowserWindow API 更改
    • 更新了文档,以说明 BrowserWindow 选项 hasShadow 在所有平台上都可用#20038
    • 在 BrowserWindow 选项中添加了 trafficLightPosition 选项,以允许自定义定位交通灯按钮。#21781
    • 为 BrowserWindow 添加了 accessibleTitle 选项,用于设置可访问的窗口标题#19698
    • BrowserWindow.fromWebContents() 现在可以返回 null #19983
    • 添加了 BrowserWindow.getMediaSourceId()BrowserWindow.moveAbove(mediaSourceId)#18926
    • 添加了对 macOS 上 will-move 事件的支持。#19641
  • 记录了先前未记录的 crashReporter.getCrashesDirectory()#20417
  • dialog API 更改
    • dialog.showOpenDialogdialog.showOpenDialogSync 中添加了 dontAddToRecent 属性,以防止在 Windows 上在打开对话框时将文档添加到最近使用的文档中。#19669
    • dialog.showSaveDialogdialog.showSaveDialogSync 中添加了属性自定义。#19672
  • Notification API 更改
    • 添加了 timeoutType 选项,允许 Linux/Windows 用户设置通知超时的类型。#20153
    • 添加了 urgency 选项,用于在 Linux 通知上设置紧急程度。#20152
  • session API 更改
    • 更新了关于 session.setProxy(config)session.setCertificateVerifyProc(proc) 的文档,以说明可选的选项。#19604
    • 添加了 session.downloadURL(url),允许在没有 BrowserWindow 的情况下触发下载。#19889
    • 通过 session.preconnect(options)preconnect 事件添加了对 HTTP 预连接资源提示的支持。#18671
    • 添加了 session.addWordToSpellCheckerDictionary,允许在字典中添加自定义单词。#21297
  • 在 macOS 上,为 shell.moveItemToTrash(fullPath[, deleteOnFail]) 添加了选项,以指定 moveItemToTrash 失败时发生的情况。#19700
  • systemPreferences API 更改
    • 更新了 macOS 上 systemPreferences.getColor(color) 的文档。#20611
    • systemPreferences.getMediaAccessStatus() 添加了 screen 媒体类型。#20764
  • 添加了 nativeTheme.themeSource,允许应用程序覆盖 Chromium 和操作系统的主题选择。#19960
  • TouchBar API 更改
    • TouchBarButtonTouchBarLabel 添加了 accessibilityLabel 属性,以提高 TouchBarButton/TouchBarLabel 的可访问性。#20454
    • 更新了 TouchBar 相关文档。#19444
  • tray API 更改
    • tray.displayBalloon() 添加了新选项:iconTypelargeIconnoSoundrespectQuietTime#19544
    • 添加了 tray.removeBalloon(),用于移除已显示的 balloon 通知。#19547
    • 添加了 tray.focus(),用于将焦点返回到任务栏通知区域。特性:添加 tray.focus()。#19548
  • webContents API 更改
    • 添加了 contents.executeJavaScriptInIsolatedWorld(worldId, scripts[, userGesture]),以在 webContents API 上公开 executeJavaScriptInIsolatedWorld。#21190
    • 添加了捕获隐藏的 webContents 的方法。#21679
    • webContents.print([options], [callback]) 添加了选项,以启用对打印页面页眉和页脚的自定义。#19688
    • 添加了通过 webContents.getAllSharedWorkers()webContents.inspectSharedWorkerById(workerId) 检查特定共享 worker 的能力。#20389
    • 在 WebContents.printToPDF() 中添加了对 fitToPageEnabledscaleFactor 选项的支持。#20436
  • 更新了 webview.printToPDF 文档,以表明返回值现在为 Uint8Array。#20505

已弃用的 API

以下 API 现在已弃用

  • 在下一个主要版本中删除之前,已弃用 BrowserWindow.setVisibleOnAllWorkspaces 中不起作用的 visibleOnFullScreen 选项。#21732
  • 在 macOS 上,弃用了 systemPreferences.getColor(color) 中的 alternate-selected-control-text#20611
  • 由于 Chromium 移除了此功能,已弃用 webContentswebFrame<webview> Tag 上的 setLayoutZoomLevelLimits#21296
  • 现在已弃用 app.allowRendererProcessReuse 的默认值 false#21287
  • 已弃用 <webview>.getWebContents(),因为它依赖于 remote 模块。#20726

5.x.y 版本停止支持

根据项目的支持政策,Electron 5.x.y 已停止支持。鼓励开发人员和应用程序升级到较新版本的 Electron。

应用反馈计划

我们继续使用我们的应用反馈计划进行测试。参与此计划的项目会在他们的应用上测试 Electron beta 版本;作为回报,他们发现的新 bug 会被优先考虑用于稳定版本。如果您想参与或了解更多信息,请查看我们关于该计划的博客文章

下一步是什么

短期内,您可以预期团队将继续专注于跟上构成 Electron 的主要组件(包括 Chromium、Node 和 V8)的开发。虽然我们小心不做出关于发布日期的承诺,但我们的计划是大约每季度发布带有这些组件新版本的 Electron 的新主要版本。 暂定的 9.0.0 时间表 列出了 Electron 9 开发生命周期中的关键日期。此外,请参阅我们的版本控制文档,了解有关 Electron 中版本控制的更多详细信息。

有关 Electron 即将发布版本中计划的重大更改的信息,请参见我们的计划的重大更改文档

弃用 remote 模块(从 Electron 9 开始)

由于严重的安全漏洞,我们开始计划从 Electron 9 开始弃用remote 模块。您可以阅读并关注此 issue,其中详细说明了我们这样做的原因,并包括了拟议的弃用时间表。

Electron 7.0.0

·3 分钟阅读

Electron 7.0.0 已发布!它包括升级到 Chromium 78、V8 7.8 和 Node.js 12.8.1。我们添加了 Windows on Arm 64 版本、更快的 IPC 方法、新的 nativeTheme API 以及更多内容!


Electron 团队很高兴地宣布 Electron 7.0.0 的发布!您可以使用 npm 通过 npm install electron@latest 安装它,或者从我们的发布网站下载它。此版本包含升级、修复和新功能。我们迫不及待地想看看您用它们构建什么!继续阅读以了解有关此版本的详细信息,并请分享您的任何反馈!

重大变更

  • 堆栈升级

    堆栈Electron 6 中的版本Electron 7 中的版本新功能
    Chromium76.0.3809.14678.0.3905.177, 78
    V87.67.87.7, 7.8
    Node.js12.4.012.8.112.5, 12.6, 12.7, 12.8, 12.8.1
  • 添加了 Windows on Arm (64 位) 版本。#18591, #20112

  • 添加了 ipcRenderer.invoke()ipcMain.handle(),用于异步请求/响应式 IPC。强烈建议使用这些方法,而不是 remote 模块。有关更多信息,请参阅此“Electron 的 ‘remote’ 模块被认为有害”博客文章。#18449

  • 添加了 nativeTheme API,用于读取和响应操作系统主题和配色方案的变化。#19758, #20486

  • 切换到新的 TypeScript 定义生成器。生成的定义更加精确;因此,如果您的 TypeScript 构建失败,这可能是原因。#18103

有关更长的更改列表,请参阅7.0.0 版本说明

重大更改

有关这些和未来更改的更多信息,请访问计划的重大更改页面。

  • 删除了已弃用的 API
    • 现在使用 Promise 的函数的基于回调的版本。#17907
    • Tray.setHighlightMode() (macOS)。#18981
    • app.enableMixedSandbox() #17894
    • app.getApplicationMenu(),
    • app.setApplicationMenu(),
    • powerMonitor.querySystemIdleState(),
    • powerMonitor.querySystemIdleTime(),
    • webFrame.setIsolatedWorldContentSecurityPolicy(),
    • webFrame.setIsolatedWorldHumanReadableName(),
    • webFrame.setIsolatedWorldSecurityOrigin() #18159
  • Session.clearAuthCache() 不再允许过滤清除的缓存条目。#17970
  • macOS 上的本机界面(菜单、对话框等)现在会自动匹配用户计算机上的暗模式设置。#19226
  • 更新了 electron 模块以使用 @electron/get。现在支持的最低节点版本是 Node 8。#18413
  • 文件 electron.asar 不再存在。任何依赖其存在的打包脚本都应进行更新。#18577

4.x.y 版本停止支持

根据项目的支持政策,Electron 4.x.y 已停止支持。鼓励开发人员和应用程序升级到较新版本的 Electron。

应用反馈计划

我们继续使用我们的应用反馈计划进行测试。参与此计划的项目会在他们的应用上测试 Electron beta 版本;作为回报,他们发现的新 bug 会被优先考虑用于稳定版本。如果您想参与或了解更多信息,请查看我们关于该计划的博客文章

下一步是什么

短期内,您可以预期团队会继续专注于跟进构成 Electron 的主要组件的开发,包括 Chromium、Node 和 V8。尽管我们谨慎不承诺发布日期,但我们的计划是大约每季度发布 Electron 的新主要版本,其中包含这些组件的新版本。暂定的 8.0.0 时间表 列出了 Electron 8 开发生命周期中的关键日期。此外,请参阅我们的版本控制文档,了解有关 Electron 中版本控制的更多详细信息。

有关 Electron 即将发布的版本中计划的重大更改的信息,请参阅我们的计划重大更改文档

Electron 6.0.0

·4 分钟阅读

Electron 团队很高兴地宣布 Electron 6.0.0 发布!您可以使用 npm 通过 npm install electron@latest 安装它,或者从我们的发布网站下载它。该版本包含大量的升级、修复和新功能。我们迫不及待地想看到您使用它们构建的内容!请继续阅读以了解有关此版本的详细信息,并请分享您的任何反馈!


新功能

今天标志着 Electron 项目的一个首次:这是我们首次在与相应的 Chrome 稳定版发布同一天发布稳定的 Electron 版本!🎉

Electron 的大部分功能由 Chromium、Node.js 和 V8 的核心组件提供。Electron 与这些项目保持同步更新,以便为我们的用户提供新的 JavaScript 功能、性能改进和安全修复。这些软件包在 Electron 6 中都有一个主要的版本更新

此版本还包括对 Electron API 的改进。发行说明提供了更完整的列表,但以下是重点

Promise 化

Electron 6.0 继续了在 5.0 中启动的 现代化 Promise 支持的倡议。

这些函数现在返回 Promise,并且仍然支持较旧的基于回调的调用

  • contentTracing.getCategories() #16583
  • contentTracing.getCategories() #16583
  • contentTracing.getTraceBufferUsage() #16600
  • contents.executeJavaScript() #17312
  • cookies.flushStore() #16464
  • cookies.get() #16464
  • cookies.remove() #16464
  • cookies.set() #16464
  • dialog.showCertificateTrustDialog() #17181
  • inAppPurchase.getProducts() #17355
  • inAppPurchase.purchaseProduct()#17355
  • netLog.stopLogging() #16862
  • session.clearAuthCache() #17259
  • session.clearCache() #17185
  • session.clearHostResolverCache() #17229
  • session.clearStorageData() #17249
  • session.getBlobData() #17303
  • session.getCacheSize() #17185
  • session.resolveProxy() #17222
  • session.setProxy() #17222
  • webContents.hasServiceWorker() #16535
  • webContents.printToPDF() #16795
  • webContents.savePage() #16742
  • webFrame.executeJavaScript() #17312
  • webFrame.executeJavaScriptInIsolatedWorld() #17312
  • webviewTag.executeJavaScript() #17312

这些函数现在有两种形式,同步和基于 Promise 的异步

  • dialog.showMessageBox()/dialog.showMessageBoxSync() #17298
  • dialog.showOpenDialog()/dialog.showOpenDialogSync() #16973
  • dialog.showSaveDialog()/dialog.showSaveDialogSync() #17054

这些函数现在返回 Promise

Electron Helper (Renderer).appElectron Helper (GPU).appElectron Helper (Plugin).app

为了启用硬化运行时,它限制了诸如可写可执行内存和加载由不同团队 ID 签名的代码之类的事情,需要向 Helper 授予特殊的代码签名权限。

为了使这些权利的范围仅限于需要它们的进程类型,Chromium 添加了三个新的 Helper 应用变体:一个用于渲染器 (Electron Helper (Renderer).app),一个用于 GPU 进程 (Electron Helper (GPU).app),一个用于插件 (Electron Helper (Plugin).app)。

使用 electron-osx-sign 对其 Electron 应用进行代码签名的人员不应该对其构建逻辑进行任何更改。如果您使用自定义脚本对您的应用进行代码签名,则应确保正确地对三个新的 Helper 应用程序进行代码签名。

为了使用这些新的 Helper 正确打包您的应用程序,您需要使用 [email protected] 或更高版本。如果您使用的是 electron-builder,则应关注此问题以跟踪对这些新 Helper 的支持。

重大更改

  • 此版本开始为未来要求在渲染器进程中加载的本机 Node 模块必须是 N-API上下文感知奠定基础。此更改的原因是更快的性能、更强的安全性和减少的维护工作量。请在此问题中阅读完整详细信息,包括拟议的时间表。预计此更改将在 Electron v11 中完成。

  • net.IncomingMessage 标头已略有更改,以更紧密地匹配Node.js 行为,尤其是在 set-cookie 的值以及如何处理重复标头方面。#17517

  • shell.showItemInFolder() 现在返回 void 并且是一个异步调用。#17121

  • 应用现在必须在使用 app.getPath('log') 之前通过调用新函数 app.setAppLogPath() 显式设置日志路径。#17841

对 3.x.y 的支持结束

根据我们的支持策略,3.x.y 已达到生命周期结束。鼓励开发人员和应用程序升级到更新版本的 Electron。

应用反馈计划

我们继续使用我们的应用反馈计划进行测试。参与此计划的项目会在他们的应用上测试 Electron beta 版本;作为回报,他们发现的新 bug 会被优先考虑用于稳定版本。如果您想参与或了解更多信息,请查看我们关于该计划的博客文章

下一步是什么

短期内,您可以预期团队会继续专注于跟进构成 Electron 的主要组件的开发,包括 Chromium、Node 和 V8。尽管我们谨慎不承诺发布日期,但我们的计划是大约每季度发布 Electron 的新主要版本,其中包含这些组件的新版本。暂定的 7.0.0 时间表 列出了 Electron 7 开发生命周期中的关键日期。此外,请参阅我们的版本控制文档,了解有关 Electron 中版本控制的更多详细信息。

有关 Electron 即将发布的版本中计划的重大更改的信息,请参阅我们的计划重大更改文档