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

バージョニング戦略

概要

本プロジェクトでは、正式リリース(v1.0.0)以前の段階から
意図を持った段階的なバージョニングを行います。

v1.0.0 以降は Semantic Versioning に従い、
それ以前(v0.x 系)は「品質・成熟度」を表す指標として扱います。


バージョニング方針

  • v1.0.0 以降は Semantic Versioning に準拠
  • メジャーバージョンアップは 互換性が破壊される場合のみ
  • マイナー・パッチは 後方互換性を維持
  • v0.x 系は 正式 API 契約前の準備段階

v0.x 系の全体像

v0.x 系は「未完成」ではなく、
正式リリースに向けた段階的な品質向上フェーズとして定義します。


v0.1.x — 動作確認フェーズ

目的

最低限、動くことを確認する段階

特徴

  • 基本機能の実装
  • 正常系のみ想定
  • ログ・エラーハンドリングは未整備または仮実装
  • API・設計は将来変更される前提

v0.2.x — ログ整備フェーズ

目的

何が起きているかを観測できる状態にする

特徴

  • ログ出力の整備
  • ログレベルの整理
  • トラブルシュートの基礎が整う

v0.3.x — エラーハンドリング整備フェーズ

目的

失敗を制御できる状態にする

特徴

  • 例外設計の整理
  • 異常系の明文化
  • 利用者責務とライブラリ責務の切り分け

v0.4.x — 契約明文化フェーズ

目的

v1.0.0 以降で保証する対象を確定する

特徴

  • 公開 API の確定
  • 設定項目の確定
  • 振る舞いの明文化

v0.5.x — 拡張性確認フェーズ

目的

将来の拡張が破綻しないことを確認する

特徴

  • DI 前提設計
  • 実装差し替え確認
  • 拡張ポイントの検証

v0.6.x — 運用耐性フェーズ

目的

実運用でも耐えられる状態にする

特徴

  • 設定ミス耐性
  • 長時間実行確認
  • リソース管理

v0.7.x — テスト整備フェーズ

目的

壊れたらすぐ検知できる状態にする

特徴

  • Unit Test 整備
  • 異常系テスト
  • CI 実行前提

v0.8.x — ドキュメント完成フェーズ

目的

README だけで利用できる状態にする

特徴

  • Quick Start
  • 設定例
  • 破壊的変更ポリシー

v0.9.x — リリース候補フェーズ

目的

v1.0.0 への最終確認

特徴

  • 機能追加なし
  • バグ修正のみ
  • API 互換性維持

v1.0.0 — 正式リリース

宣言

v1.0.0 以降、本プロジェクトは Semantic Versioning に従います。