Semantic Versioning
語意化版本
語意化版本(SemVer)用「主版號.次版號.修訂號」(MAJOR.MINOR.PATCH)表示公開 API 如何改變,也規定預發布和建置標記的寫法。
另一個例子
一個程式庫目前是 2.4.1,並新增不會破壞舊程式的 API。維護者發布 2.5.0 並記錄新增內容;如果沒有先說明公開 API,這些版本號就無法清楚表示相容性。
主要部分
- 01公開 API
- 02相容性變更
- 03版本識別碼
什麼時候用
軟體有清楚的公開 API,而且版本號用來表示相容性變化時,可以使用這個詞。
什麼時候不要用
不要只看 SemVer 版本號,就推測產品品質、發布日期或升級要花多少工。
程式裡的名稱
MAJOR.MINOR.PATCH[-prerelease][+build] 上線前要檢查
檢查程式執行環境與版本、整合邊界、相依套件與授權,以及支援的平台。驗證安全、失敗處理、效能與監控。也要檢查部署、支援負責人、升級路徑與回復上一版的方法。
預期成果:把 語意化版本 (Semantic Versioning) 當成團隊能維護的技術基礎,並檢查它是否符合產品需求。 使用者情境:一個程式庫目前是 2.4.1,並新增不會破壞舊程式的 API。維護者發布 2.5.0 並記錄新增內容;如果沒有先說明公開 API,這些版本號就無法清楚表示相容性。 技術或工程概念:語意化版本 (Semantic Versioning)。 適用理由:軟體有清楚的公開 API,而且版本號用來表示相容性變化時,可以使用這個詞。 不應使用的情況:不要只看 SemVer 版本號,就推測產品品質、發布日期或升級要花多少工。 工程適配:定義程式執行環境與版本。說明它負責什麼、介面、資料流、相依套件、支援平台、安全與效能限制,以及如何接上現有技術組合。 生命週期防護:檢查相依套件是否健康、授權是否可用。加入監控與安全退路,並指定升級負責人。沒有可衡量的好處時,不要再加入功能重複的框架或工具。 驗收條件:用最小整合證明必要行為。測試相容性、安全性、失敗與效能。記錄部署、升級、支援與回復上一版的方法。 證據與限制(證據邊界):正式文件仍可能是草案、候選版或最終版。請查看文件狀態,也要確認瀏覽器或平台是否支援。 待確認:現有技術組合、執行環境、版本規則、目標平台和相依套件負責人。也要確認效能預算、支援期限與搬移限制。
檢查這份需求
請 AI 程式助手檢查目前如何使用 語意化版本 (Semantic Versioning)。 定義:語意化版本(SemVer)用「主版號.次版號.修訂號」(MAJOR.MINOR.PATCH)表示公開 API 如何改變,也規定預發布和建置標記的寫法。 正式環境檢查:檢查程式執行環境與版本、整合邊界、相依套件與授權,以及支援的平台。驗證安全、失敗處理、效能與監控。也要檢查部署、支援負責人、升級路徑與回復上一版的方法。 修改程式前,先列出看到的證據、缺口、嚴重程度,以及最小且安全的修正。