1. 程式人生 > >版本號命名規則

版本號命名規則

版本號的格式為 X.Y.Z(又稱 Major.Minor.Patch),遞增的規則為:

  • X 表示主版本號,當 API 的相容性變化時,X 需遞增。
  • Y 表示次版本號,當增加功能時(不影響 API 的相容性),Y 需遞增。
  • Z 表示修訂號,當做 Bug 修復時(不影響 API 的相容性),Z 需遞增。

詳細的規則如下:

  • X, Y, Z 必須為非負整數,且不得包含前導零,必須按數值遞增,如 1.9.0 -> 1.10.0 -> 1.11.0
  • 0.Y.Z 的版本號表明軟體處於初始開發階段,意味著 API 可能不穩定;1.0.0 表明版本已有穩定的 API。
  • 當 API 的相容性變化時,X 必須遞增,Y 和 Z 同時設定為 0;當新增功能(不影響 API 的相容性)或者 API 被標記為 Deprecated 時,Y 必須遞增,同時 Z 設定為 0;當進行 bug fix 時,Z 必須遞增。
  • 先行版本號(Pre-release)意味該版本不穩定,可能存在相容性問題,其格式為:X.Y.Z.[a-c][正整數],如 1.0.0.a1,1.0.0.b99,1.0.0.c1000。
  • 開發版本號常用於 CI-CD,格式為 X.Y.Z.dev[正整數],如 1.0.1.dev4。
  • 版本號的排序規則為依次比較主版本號、次版本號和修訂號的數值,如 1.0.0 < 1.0.1 < 1.1.1 < 2.0.0;對於先行版本號和開發版本號,有:1.0.0.a100 < 1.0.0,2.1.0.dev3 < 2.1.0;當存在字母時,以 ASCII 的排序來比較,如 1.0.0.a1 < 1.0.0.b1。
  • 注意:版本一經發布,不得修改其內容,任何修改必須在新版本釋出!

一些修飾的詞

  • alpha:內部版本
  • beta:測試版
  • demo:演示版
  • enhance:增強版
  • free:自由版
  • full version:完整版,即正式版
  • lts:長期維護版本
  • release:發行版
  • rc:即將作為正式版釋出
  • standard:標準版
  • ultimate:旗艦版
  • upgrade:升級版