# Vitess v24.0.4

> Storage & Data · 2026-10-01

TLSの証明書失効確認とテーブルACLの適用が強化され、不要なHTTP APIが削除された保守リリースです。圧縮設定の解釈や運用メトリクスにも変更があり、アップグレード順序や互換性を確認する必要がある変更を含みます。

## 要対応
- **[security]** CRL設定時のgRPC接続方式
  - `--tablet-grpc-crl`、`--vtgate-grpc-crl`、`--vtctld-grpc-crl`などの`*-grpc-crl`フラグを設定し、クライアント証明書もCAも指定していないgRPCクライアントは、平文ではなくTLSで接続します。サーバー証明書はシステムのルート証明書で検証されます。
- **[security]** 読み取り処理のテーブルACLチェック
  - 厳格なテーブルACL（`--queryserver-config-strict-table-acl`）では、各読み取りを同じテーブルに対する通常の`SELECT`としてチェックします。ドライランと除外ACLの扱いも、ほかのテーブルACLチェックと同じです。
- **[security]** vtctldの`/api/` HTTP API削除
  - vtctldが`/api/`で提供していたHTTP APIは削除されました。
- **[breaking]** CRL設定の起動時検証
  - TLS設定の構築時、起動時に、設定どおりCRLを適用できない構成は拒否されます。
- **[breaking]** vtctld Go APIの削除
  - Goパッケージを利用して構築する場合、`vtctld.InitVtctld`、`vtctld.ActionRepository`、`vtctld.ActionResult`、`vtctld.TabletWithURL`は利用できません。
- **[breaking]** サブクエリを含む設定の拒否
  - 厳格なテーブルACLでは、式にサブクエリを含む設定を`vttablet`が拒否します。

## 影響確認
- **[breaking]** 対象付き`SET`文のアップグレード時制約
  - vttabletをvtgateより先にアップグレードする場合に適用されます。
  - vttabletをvtgateより先にアップグレードする場合は、すべてのvtgateのアップグレードが完了するまで、対象付きの`SET`文でサブクエリを使わない運用が必要です。vtgateを先にアップグレードすることもできます。

## 事前準備
- **[deprecated]** コマンドラインフラグの非推奨化
  - v26で削除予定
  - `--cell`、`--proxy-tablets`、`--action-timeout`、`--tablet-health-keep-alive`は非推奨になり、v26で削除されます。

## その他の記録された変更
- 13 (value_changed 10, added 2, constraint_changed 1)

[分析の詳細](https://ratatosk.io/ja/releases/vitess/v24.0.4)

[元のリリースノート](https://github.com/vitessio/vitess/releases/tag/v24.0.4)
