第21章 Electron 版本发布周期与支持策略
Electron Releases
Electron 通常会随着 Chromium 的重大版本一同发布。
本文主要介绍发布频率和版本支持策略。
提示:关于 Electron 版本编号机制的详细信息,请参阅《Electron 版本管理》文档。
时间线
《Electron 发布计划》列出了 Electron 重大版本的发布时间表,展示了包括 alpha、beta 和 stable 发布日期、生命周期终止日期以及依赖版本在内的关键里程碑。
信息:Electron 的官方支持政策是支持最近 3 个稳定版本。我们的稳定版本发布和生命周期终止日期由 Chromium 决定,可能会发生变化。虽然我们努力频繁更新此处计划的发布和终止日期,但如果受到上游时间表变更的影响,未来日期可能会改变,且不一定总能准确反映。关于 Chromium 计划发布日期的权威信息,请参阅 Chromium 的公开发布计划。
Electron 重大版本之间的发布周期为 8 周。在每个重大版本达到稳定版之前,它会经历为期 4 周的 alpha 阶段和为期 4 周的 beta 阶段。
注意:
Alpha 版本通常不如 Beta 版本稳定。两者的分界线对应底层 Chromium 版本进入 Chrome Beta 渠道的时间点。 -alpha.1、-beta.1 和 stable 日期是我们确定的发布日期。 我们力争每周发布 alpha/beta 版本,但经常发布的版本比计划的更多。 所有日期都是我们的目标,但由于安全漏洞等原因,我们可能会调整 stable 截止日期。
历史变更:
从 Electron 5 开始,Electron 开始公开其发布日期(参见博客文章)。 从 Electron 6 开始,Electron 重大版本目标对应每隔一个 Chromium 重大版本。每个 Electron 稳定版本的发布日期应与 Chrome 稳定版本同日(参见博客文章)。 从 Electron 16 开始,Electron 配合 Chrome 改为 4 周发布周期的变化,按照 8 周的频率发布重大版本(参见博客文章)。 Electron 临时将 Electron 22 的支持延长至 2023 年 10 月 10 日,以支持 Windows 7/8/8.1 的延长生命周期。
版本支持政策
Electron 团队支持最新的 3 个稳定重大版本。
例如,如果最新发布的版本是 42.1.x,那么 41.0.x 以及 40.2.x 系列均在支持范围内。我们仅支持每个稳定版本系列中的最新次要版本。这意味着,如果出现安全修复,42.1.x 将收到修复,但我们不会发布 42.0.x 的新版本。
最新的稳定版本单方面接收来自 main 分支的所有修复,而前一个版本会在时间和带宽允许的情况下接收其中绝大部分修复。最旧的支持版本系列将仅直接接收安全修复。
Chromium 版本支持
提示:Chromium 的公开发布计划在此。
Electron 目标对应 Chromium 的偶数版本,配合 Chromium 的 4 周发布周期,每 8 周发布一次。例如,Electron 26 使用 Chromium 116,而 Electron 27 使用 Chromium 118。
Node.js 版本支持
当 Node.js 的偶数版本进入 Active LTS 阶段时,Electron 会将 main 分支升级到该版本。计划如下:
如果 Electron 最近已将 main 分支更新到新的 Node.js 重大版本,下一个切出的稳定分支将使用该新版本发布。 Electron 的稳定发布系列在发布后将接收 Node.js 的次要版本和补丁版本更新。 Node.js 的补丁更新将通过 Electron 的补丁版本发布,而 Node.js 的次要版本更新将触发 Electron 的次要版本发布。 仅用于安全发布的分支将接收 Node.js 发布中的安全相关变更,但不包含完整发布。
破坏性 API 变更
当 API 以破坏现有功能的方式被修改或移除时,在可能的情况下,之前的功能将在移除前至少保留支持两个重大版本。例如,如果一个函数接受三个参数,而在重大版本 10 中参数数量减少为两个,那么三参数版本将继续工作,直到至少第 12 个重大版本。超过最低两个版本的门槛后,我们将尝试保持向后兼容两个版本以上,直到维护者认为维护负担过重无法继续为止。
提示:关于破坏性变更的权威列表,请参阅《破坏性变更》文档。