メインコンテンツまでスキップ
バージョン: Candidate-3.5

Version Release Guide

バージョン命名については、versioning ドキュメントで詳しく説明されています。majorminorpatch バージョニングを理解するために、まずそのページを読んでください。

Release Plan

  • マイナーバージョンは4か月ごとにリリースします。1月/2月、5月/6月、9月/10月に行います。

  • 最新の3つのマイナーバージョンを維持します(minor はドットで区切られたバージョンの2番目の数字です。例えば、3.4.2 の場合、4 がマイナーバージョンです)。

    マイナーバージョンは4か月ごとにリリースされるため、マイナーバージョンは最大で1年間サポートされると予想されます。

  • メンテナンス中のマイナーバージョンに対して、2〜3週間以内にパッチバージョンをリリースします。

Pull Request Type

StarRocks のすべてのプルリクエストは、featureenhancementbugfix などのタイプでタイトルを付ける必要があります。

Feature

  • 定義: Feature は、データベースに以前は存在しなかった新しい機能や機能性です。新しい動作を追加したり、既存の機能を大幅に拡張します。
  • 例:
    • 新しいデータ構造のタイプを追加する(例: 新しいテーブルタイプやインデックスタイプ)。
    • 新しいクエリ言語機能を実装する(例: 新しい SQL 関数や Operator)。
    • データベースと対話するための新しい API エンドポイントやインターフェースを導入する。

Enhancement

  • 定義: Enhancement は、既存の機能や機能性の改善です。完全に新しい動作を導入するのではなく、既存の機能をより良く、より速く、またはより効率的にします。
  • 例:
    • クエリ実行プランのパフォーマンスを最適化する。
    • データベース管理ツールのユーザーインターフェースを改善する。
    • より細かいアクセス制御を追加してセキュリティ機能を強化する。

Bugfix

  • 定義: Bugfix は、既存のコードのエラーや欠陥の修正です。データベースが正しくまたは意図したとおりに機能しない問題に対処します。
  • 例:
    • 特定のクエリ条件下で発生するクラッシュを修正する。
    • クエリによって返される不正確な結果を修正する。
    • メモリリークやリソース管理の問題を解決する。

Cherry-pick Rule

マイナーバージョンの cherry-pick 管理を支援するために、いくつかのステータスを定義しています。バージョンのステータスは .github/.status ファイルで確認できます。

例えば、このドキュメントが公開された時点で、StarRocks バージョン 3.4 は feature-freeze 状態であり、バージョン 3.3 は bugfix-only です。これを確認するには:

git switch branch-3.3
cat .github.status
bugfix-only
  1. open: feature、enhancement、bugfix を含むすべてのタイプのプルリクエストをマージできます。
  2. feature-freeze: enhancement と bugfix のプルリクエストのみをマージできます。
  3. bugfix-only: bugfix のプルリクエストのみをマージできます。
  4. code-freeze: 重大な CVE 修正を除き、プルリクエストをマージできません。

マイナーバージョンのステータスは、以下に示すような基準トリガーで変更され、必要に応じて事前に変更することもできます。

  1. マイナーバージョンのブランチが作成されると、それは open になり、リリースされるまで open のままです。
  2. マイナーバージョンがリリースされると、それは feature-freeze になります。
  3. 次のマイナーバージョンがリリースされると、前のマイナーバージョンは bugfix-only になります。
  4. マイナーバージョンは、さらに3つのマイナーバージョンがリリースされるまで bugfix-only のままで、その後 code-freeze になります。

Example

  • branch-5.1 が作成され、このブランチはリリース候補を通過して公開リリースされるまで open 状態です。
  • バージョン 5.1 が公開リリースされると、それは feature-freeze 状態に入ります。
  • バージョン 5.2 が公開リリースされると、5.1 は bugfix-only に切り替わります。
  • バージョン 5.1、5.2、5.3、5.4 がすべてリリースされると:
    • 5.4 は feature-freeze 状態です
    • 5.3 は bugfix-only 状態です
    • 5.2 も bugfix-only 状態です
    • 5.1 は code-freeze 状態です