Semantic Versioning
語意化版本號(SemVer)
01你是不是遇到這個 / THE SYMPTOM
我要發布套件或標版本,但不知道版本號該怎麼跳——什麼時候從 1.2.3 變 1.3.0、什麼時候變 2.0.0,怎樣讓別人一看就知道這次更新會不會弄壞他們的程式。
↑ 如果你點頭了,你要的關鍵字就是 Semantic Versioning。
02這是什麼 / DEFINITION
Semantic Versioning(SemVer)是一套版本號規則,用「主版本.次版本.修訂號」(MAJOR.MINOR.PATCH)三個數字表達變更性質:破壞相容性跳主版本、加新功能跳次版本、只修 bug 跳修訂號。
03什麼時候用 / WHEN TO USE
發佈函式庫、套件、API 或任何別人會依賴的東西、要讓使用者判斷升級風險時。設定 package.json 依賴範圍(如 ^1.2.0)時也要懂它。
04怎麼跟 AI 說 / HOW TO ASK
直接複製這句、貼進 Claude Code / Cursor / Copilot / ChatGPT:
幫我依照 Semantic Versioning 規則判斷這次的改動該升哪個版本號,並更新 package.json 的 version 欄位。
05常見坑 / WATCH OUT
⚠ 最容易搞錯的是 package.json 裡 ^(如 ^1.2.3,允許到 2.0.0 前的更新)和 ~(如 ~1.2.3,只允許到 1.3.0 前)的差別。另外 0.x.x 版被視為「還不穩定」,此時連 MINOR 升級都可能含破壞性變更。
06相關的詞 / RELATED