メインコンテンツまでスキップ

リリースプロセス

V8のリリースプロセスはChromeのリリースプロセスと密接に連携しています。V8チームは、Chromeのすべてのリリースチャンネルを利用して新しいバージョンをユーザーに提供しています。

Chromeリリースで使用されているV8バージョンを確認したい場合は、Chromiumdashをチェックできます。Chromeの各リリースに対して、V8リポジトリ内に個別のブランチが作成されるため、たとえばChrome M121のように逆引きが簡単です。

カナリリリース

毎日、新しいカナリビルドがChromeのカナリチャンネルを通じてユーザーに配信されます。通常、配信されるものはmainの最新で十分に安定したバージョンです。

カナリのブランチは通常以下のようになります:

開発版リリース

毎週、新しい開発版ビルドがChromeの開発版チャンネルを通じてユーザーに配信されます。通常、配信されるものはカナリチャンネルでの最新で十分に安定したV8バージョンを含みます。

ベータリリース

概ね2週間ごとに新しい主要ブランチが作成されます。例:Chrome 94。これはChromeのベータチャンネルの作成に同期して行われます。Chrome BetaはV8のブランチの先頭に固定されます。約2週間後にこのブランチは安定版に昇格します。

変更はバージョンの安定化を目的としてブランチに対してのみチェリーピックされます。

ベータのブランチは通常以下のようになります:

refs/branch-heads/12.1

カナリブランチに基づいています。

安定版リリース

概ね4週間ごとに新しい安定版リリースが行われます。特別なブランチは作成されず、最新のベータブランチが単純に安定版に昇格します。このバージョンはChromeの安定版チャンネルを通じてユーザーに配信されます。

安定版リリースのブランチは通常以下のようになります:

refs/branch-heads/12.1

これらは昇格(再利用)されたベータブランチです。

API

Chromiumdashは同じ情報を収集するためのAPIも提供しています:

https://chromiumdash.appspot.com/fetch_milestones (例: V8ブランチ名を取得するためのrefs/branch-heads/12.1)
https://chromiumdash.appspot.com/fetch_releases (例: V8ブランチのgitハッシュを取得する)

以下のパラメータが役立ちます: mstone=121 channel=Stable,Canary,Beta,Dev platform=Mac,Windows,Lacros,Linux,Android,Webview,etc.

自分のアプリケーションにどのバージョンを組み込むべきか?

Chromeの安定版チャンネルが使用している同じブランチの最新のもの。

重要なバグ修正を安定版ブランチに頻繁にバックマージするため、安定性やセキュリティ、正確性を気にする場合はこれらの更新も含めるべきです。そのため、特定のバージョンではなく「ブランチの最新」を推奨しています。

新しいブランチが安定版に昇格するたびに、以前の安定版ブランチのメンテナンスを停止します。これは4週間ごとに発生するため、少なくともこの頻度で更新する準備が必要です。

関連: どのV8バージョンを使用すべきか?