語義化版本號
語義化版本號結構
MAJOR.MINOR.PATCH[-PRERELEASE][+BUILD]
- MAJOR(主版本號)
- 不相容 API 修改 → 破壞性更新
- 遞增規則:當修改會破壞向下相容性時 +1
- MINOR(次版本號)
- 向下相容的新功能 → Feature 版本
- 遞增規則:新增功能,不破壞現有 API時 +1
- PATCH(修訂號)
- 向下相容的 Bug 修復
- 遞增規則:修復問題時 +1
- PRERELEASE(先行版本號,可選)
- 用於標記 alpha / beta / rc 版本
- 格式:
alpha.1,beta.2,rc.1等 - 排序規則:先行版本 < 正式版本
- BUILD(版本編譯資訊,可選)
- 用於 CI/CD 或編譯標記,例如
+001或 commit hash - 不影響版本排序
- 用於 CI/CD 或編譯標記,例如
範例
| 版本號 | 含義 |
| --- | --- |
| 1.0.0 | 初始穩定版 |
| 1.1.0 | 新增向下相容功能 |
| 1.1.1 | 修正 bug |
| 2.0.0 | 不相容 API 改動 |
| 2.0.0-beta.1 | Beta 測試版 |
| 1.2.3+001 | 正式版 1.2.3,編譯號為 001 |
參考資訊
https://semver.org/