发布流程
V8 的发布流程与 Chrome 的发布流程紧密相连。V8 团队使用 Chrome 的所有四个发布渠道将新版本推送到用户手中。
如果您想查看 Chrome 版本中包含的 V8 版本,您可以查看 Chromiumdash。对于每个 Chrome 版本,V8 仓库中都会创建一个单独的分支,以便更轻松地进行回溯,例如 Chrome M121。
Canary 版本 #
每天都会通过 Chrome 的 Canary 渠道 向用户推送新的 Canary 版本。通常情况下,交付的是来自 main 分支的最新稳定版本。
Canary 版本的分支通常如下所示
Dev 版本 #
每周都会通过 Chrome 的 Dev 渠道 向用户推送新的 Dev 版本。通常情况下,交付的版本包含 Canary 渠道上最新的稳定 V8 版本。
Beta 版本 #
大约每两周就会创建一个新的主要分支,例如 Chrome 94。这与 Chrome 的 Beta 渠道 的创建同步进行。Chrome Beta 版本固定在 V8 分支的头部。大约两周后,该分支会被提升到 Stable 版本。
更改只会 cherry-pick 到分支上,以稳定版本。
Beta 版本的分支通常如下所示
refs/branch-heads/12.1
它们基于 Canary 分支。
Stable 版本 #
大约每四周就会发布一个新的主要 Stable 版本。不会创建特殊的分支,因为最新的 Beta 分支会被直接提升到 Stable 版本。该版本会通过 Chrome 的 Stable 渠道 推送到用户手中。
Stable 版本的分支通常如下所示
refs/branch-heads/12.1
它们是提升(重用)的 Beta 分支。
API #
Chromiumdash 还提供 API 来收集相同的信息
https://chromiumdash.appspot.com/fetch_milestones (to get the V8 branch name e.g. refs/branch-heads/12.1)
https://chromiumdash.appspot.com/fetch_releases (to get the the V8 branch git hash)
以下参数很有用
mstone=121
channel=Stable,Canary,Beta,Dev
platform=Mac,Windows,Lacros,Linux,Android,Webview,etc.
我应该在我的应用程序中嵌入哪个版本? #
与 Chrome 的 Stable 渠道使用的相同分支的顶端。
我们经常将重要的错误修复反向合并到稳定分支,因此如果您关心稳定性、安全性和正确性,您也应该包含这些更新——这就是我们推荐“分支的顶端”,而不是确切版本的原因。
一旦新分支被提升到 Stable 版本,我们就会停止维护之前的稳定分支。这种情况每四周发生一次,因此您应该做好至少每四周更新一次的准备。
相关: 我应该使用哪个 V8 版本?