主版本號 . 子版本號 [. 修正版本號 [. 編譯版本號 ]]
major_version_number.minor_version_number[.revision_number[.build_number]]
示例 : 1.2.1, 2.0, 5.0.0 build-13124
主版本號(major):具有相同名稱但不同主版本號的程式集不可互換。例如,這適用於對產品的大量重寫,這些重寫使得無法實現向後相容性。
子版本號(minor):內部版本號的不同表示對相同源所作的重新編譯。這適合於更改處理器、平台或編譯器的情況。
編譯版本號(revision):名稱、主版本號和次版本號都相同但修訂號不同的程式集應是完全可互換的。這適用於修復以前發布的程式集中的安全漏洞。
程式集的只有內部版本號或修訂號不同的後續版本被認為是先前版本的修補程式 (hotfix) 更新。
專案初版本時,版本號可以為 0.1 或 0.1.0, 也可以為 1.0 或 1.0.0;
當專案在進行了區域性修改或 bug 修正時,主版本號和子版本號都不變,修正版本號加 1;
當專案在原有的基礎上增加了部分功能時,主版本號不變,子版本號加 1,修正版本號復位為 0,因而可以被忽略掉;
當專案在進行了重大修改或區域性修正累積較多,而導致專案整體發生全域性變化時,主版本號加 1;
另外,編譯版本號一般是編譯器在編譯過程中自動生成的,我們只定義其格式,並不進行人為控制。
版本號的後面還可加入 alpha, beta, gamma, current, rc (release candidate), release, stable 等字尾,字尾的後面還可以加入1 位數字的版本號。常用的字尾如下:
α版,此版本表示該軟體僅僅是乙個初步完成品,通常只在軟體開發者內部交流,也有很少一部分發布給專業測試人員。一般而言,該版本軟體的 bug 較多,普通使用者最好不要安裝。
開發者,開發者們再進行有針對性的修改。該版本也不適合一般使用者安裝。
該版本已經相當成熟了,與即將發行的正式版相差無幾,如果使用者實在等不及了,盡可以裝上一試。
candidate是候選人的意思,用在軟體上就是候選版本。release candidate就是發行候選版本。和beta版最大的差別在於 beta階段會一直加入新的功能,但是到了rc版本,幾乎就不會加入新的功能了,而主要著重於除錯(該版本已經相當成熟了,基本上不存在導致錯誤的 bug,與即將發行的正式版相差無幾)。
該版本意味「最終釋放版」,在出了一系列的測試版之後,終歸會有乙個正式版本,對於使用者而言,購買或使用該版本的軟體絕對不會錯。該版本有時也稱為 標準版。一般情況下,release不會以單詞形式出現在軟體封面上,取而代之的是符號 (r) ,如 windows nt(r) 4.0、ms-dos(r) 6.22 等。
軟體版本號命名規範
乙個正規的軟體產品少不了要有規範的命名,乙個好的軟體產品一定要有個規範的版本號,而在命名版本號時有一些約定俗成的規則,下面我來簡單介紹下。版本命名規範 軟體版本號有四部分組成,第一部分為主版本號,第二部分為次版本號,第三部分為修訂版 本號,第四部分為日期版本號加希臘字母版本號,希臘字母版本號共有五種...
GNU版本號命名風格
參考資料 gnu 風格的版本號命名格式 主版本號 子版本號 修正版本號 編譯版本號 英文對照 major version number minor version number revision number build number 示例 1.2.1,2.0,5.0.0 build 13124 g...
軟體版本命名規範 GNU 風格
例如 1.1.0 第一位是主版本號,第二位數是子版本號,第三為數是修正號 初始化專案時,版本號可以為0.1或0.1.0,如果你比較高調的話,可以使用1.0或1.0.0 當專案進行了區域性修改或 bug 修復時,主版本號和子版本號不變,修正版本號加1 當專案在原有的基礎上增加了部分功能時,主版本號不變...