ドキュメント · バージョン管理

kmsgのバージョン管理

日付ベースの形式、正式な値、リリースコマンド、互換性を説明します。

更新 2026年7月27日
GitHubで編集

kmsgは日付を含むバージョン形式を採用します。

MAJOR.YYMMDD.PATCH_COUNT

例:

1.260727.0

正式な値

リポジトリ直下のVERSIONが唯一の正式な値です。ファイル内には先頭のvを付けません。

ビルド時にSwiftPMプラグインが形式を検証し、BuildVersionを生成します。kmsg --versionkmsg status、リリース成果物は同じ値を使います。

各フィールド

  • MAJOR: 破壊的変更または大きな節目で増加
  • YYMMDD: リリース日
  • PATCH_COUNT: その日の最初は0、追加リリースごとに増加

Gitタグにはvを付けます。

v1.260727.0

運用ルール

  • タグ作成前にVERSIONを更新
  • 新しい日付の最初のリリースはPATCH_COUNT=0
  • 同日の追加リリースはpatch countだけを増加
  • 日付が変わればpatch countを0へ戻す
  • バイナリの報告値とタグが異なる場合、リリースを失敗させる

バージョン更新

VERSIONを手作業で編集せず、プロジェクトのコマンドを使います。

make release-patch
make release-major

変更前の確認:

scripts/headatever.sh patch --dry-run

自動化は、次のバージョン検証、VERSION更新、chore(release): v<version>コミット、注釈付きタグ作成を一つの流れとして実行します。

完全な手順は英語版バージョン管理を参照してください。