版本號(hào)格式

定義了公共API,你就可以透過修改相應(yīng)的版本號(hào)來向大家說明你的修改纠吴∮舶埃考慮使用這樣的版本號(hào)格式:XYZ (主版本號(hào).次版本號(hào).修訂號(hào))修復(fù)問題但不影響API 時(shí),遞增修訂號(hào)戴已;API 保持向下兼容的新增及修改時(shí)固该,遞增次版本號(hào);進(jìn)行不向下兼容的修改時(shí)糖儡,遞增主版本號(hào)伐坏。

以下關(guān)鍵詞MUST、MUST NOT握联、REQUIRED桦沉、SHALL、SHALL NOT金闽、SHOULD纯露、SHOULD NOT、 RECOMMENDED代芜、MAY埠褪、OPTIONAL 依照RFC 2119 的敘述解讀。(譯注:為了保持語句順暢挤庇, 以下文件遇到的關(guān)鍵詞將依照整句語義進(jìn)行翻譯钞速,在此先不進(jìn)行個(gè)別翻譯。)

  1. 使用語義化版本控制的軟件“必須MUST”定義公共API罚随。該API可以在代碼中被定義或出現(xiàn)于嚴(yán)謹(jǐn)?shù)奈募?nèi)玉工。無論何種形式都應(yīng)該力求精確且完整。
  2. 標(biāo)準(zhǔn)的版本號(hào)“必須MUST”采用XYZ的格式淘菩,?? 其中X遵班、Y和Z為非負(fù)的整數(shù),且“禁止MUST NOT”在數(shù)字前方補(bǔ)零潮改。X是主版本號(hào)狭郑、Y是次版本號(hào)、而Z為修訂號(hào)汇在。每個(gè)元素“必須MUST”以數(shù)值來遞增翰萨。例如:1.9.1 -> 1.10.0 -> 1.11.0。
  3. 標(biāo)記版本號(hào)的軟件發(fā)行后糕殉,“禁止MUST NOT”改變?cè)摪姹拒浖膬?nèi)容亩鬼。任何修改都“必須MUST”以新版本發(fā)行殖告。
  4. 主版本號(hào)為零(0.yz)的軟件處于開發(fā)初始階段,一切都可能隨時(shí)被改變雳锋。這樣的公共API 不應(yīng)該被視為穩(wěn)定版黄绩。
  5. 1.0.0 的版本號(hào)用于界定公共API 的形成。這一版本之后所有的版本號(hào)更新都基于公共API 及其修改內(nèi)容玷过。
  6. 修訂號(hào)Z(xyZ | x > 0)“必須MUST”在只做了向下兼容的修正時(shí)才遞增爽丹。這里的修正指的是針對(duì)不正確結(jié)果而進(jìn)行的內(nèi)部修改。
  7. 次版本號(hào)Y(xYz | x > 0)“必須MUST”在有向下兼容的新功能出現(xiàn)時(shí)遞增辛蚊。在任何公共API的功能被標(biāo)記為棄用時(shí)也“必須MUST”遞增粤蝎。也“可以MAY”在內(nèi)部程序有大量新功能或改進(jìn)被加入時(shí)遞增,其中“可以MAY”包括修訂級(jí)別的改變袋马。每當(dāng)次版本號(hào)遞增時(shí)初澎,修訂號(hào)“必須MUST”歸零。
  8. 主版本號(hào)X(Xyz | X > 0)“必須MUST”在有任何不兼容的修改被加入公共API時(shí)遞增飞蛹。其中“可以MAY”包括次版本號(hào)及修訂級(jí)別的改變谤狡。每當(dāng)主版本號(hào)遞增時(shí)灸眼,次版本號(hào)和修訂號(hào)“必須MUST”歸零卧檐。
  9. 先行版本號(hào)“可以MAY”被標(biāo)注在修訂版之后,先加上一個(gè)連接號(hào)再加上一連串以句點(diǎn)分隔的標(biāo)識(shí)符號(hào)來修飾焰宣。標(biāo)識(shí)符號(hào)“必須MUST”由ASCII碼的英數(shù)字和連接號(hào)[0-9A-Za-z-]組成霉囚,且“禁止MUST NOT”留白。數(shù)字型的標(biāo)識(shí)符號(hào)“禁止MUST NOT”在前方補(bǔ)零匕积。先行版的優(yōu)先級(jí)低于相關(guān)聯(lián)的標(biāo)準(zhǔn)版本盈罐。被標(biāo)上先行版本號(hào)則表示這個(gè)版本并非穩(wěn)定而且可能無法達(dá)到兼容的需求。范例:1.0??.0-alpha闪唆、1.0.0-alpha.1盅粪、 1.0.0-0.3.7、1.0.0-x.7.z.92悄蕾。
  10. 版本編譯信息“可以MAY”被標(biāo)注在修訂版或先行版本號(hào)之后票顾,先加上一個(gè)加號(hào)再加上一連串以句點(diǎn)分隔的標(biāo)識(shí)符號(hào)來修飾。標(biāo)識(shí)符號(hào)“必須MUST”由ASCII的英數(shù)字和連接號(hào)[0-9A-Za-z-]組成帆调,且“禁止MUST NOT”留白奠骄。當(dāng)判斷版本的優(yōu)先層級(jí)時(shí),版本編譯信息“可SHOULD”被忽略番刊。因此當(dāng)兩個(gè)版本只有在版本編譯信息有差別時(shí)含鳞,屬于相同的優(yōu)先層級(jí)。范例:1.0.0-alpha+001芹务、1.0.0+20130313144700蝉绷、 1.0.0-beta+exp.sha.5114f85鸭廷。
  11. 版本的優(yōu)先層級(jí)指的是不同版本在排序時(shí)如何比較。判斷優(yōu)先層級(jí)時(shí)熔吗,“必須MUST”把版本依序拆分為主版本號(hào)靴姿、次版本號(hào)、修訂號(hào)及先行版本號(hào)后進(jìn)行比較(版本編譯信息不在這份比較的列表中)磁滚。由左到右依序比較每個(gè)標(biāo)識(shí)符號(hào)佛吓,第一個(gè)差異值用來決定優(yōu)先層級(jí):主版本號(hào)、次版本號(hào)及修訂號(hào)以數(shù)值比較垂攘,例如1.0.0 < 2.0.0 < 2.1.0 < 2.1.1维雇。當(dāng)主版本號(hào)、次版本號(hào)及修訂號(hào)都相同時(shí)晒他,改以優(yōu)先層級(jí)比較低的先行版本號(hào)決定吱型。例如:1.0.0-alpha < 1.0.0。有相同主版本號(hào)陨仅、次版本號(hào)及修訂號(hào)的兩個(gè)先行版本號(hào)津滞,其優(yōu)先層級(jí)“必須MUST”透過由左到右的每個(gè)被句點(diǎn)分隔的標(biāo)識(shí)符號(hào)來比較,直到找到一個(gè)差異值后決定:只有數(shù)字的標(biāo)識(shí)符號(hào)以數(shù)值高低比較灼伤,有字母或連接號(hào)時(shí)則逐字以ASCII的排序來比較触徐。數(shù)字的標(biāo)識(shí)符號(hào)比非數(shù)字的標(biāo)識(shí)符號(hào)優(yōu)先層級(jí)低。若開頭的標(biāo)識(shí)符號(hào)都相同時(shí)狐赡,欄 ??位比較多的先行版本號(hào)優(yōu)先層級(jí)比較高撞鹉。范例:1.0.0-alpha < 1.0.0-alpha.1 < 1.0.0-alpha.beta < 1.0.0-beta < 1.0.0-beta.2 < 1.0.0-beta.11 < 1.0.0- rc.1 < 1.0.0。

摘自:
https://leohxj.gitbooks.io/a-programmer-prepares/content/programmer-basic/semantic-versioning.html

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末颖侄,一起剝皮案震驚了整個(gè)濱河市鸟雏,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌览祖,老刑警劉巖孝鹊,帶你破解...
    沈念sama閱讀 217,907評(píng)論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異展蒂,居然都是意外死亡又活,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,987評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門玄货,熙熙樓的掌柜王于貴愁眉苦臉地迎上來皇钞,“玉大人,你說我怎么就攤上這事松捉〖薪纾” “怎么了?”我有些...
    開封第一講書人閱讀 164,298評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)可柿。 經(jīng)常有香客問我鸠踪,道長(zhǎng),這世上最難降的妖魔是什么复斥? 我笑而不...
    開封第一講書人閱讀 58,586評(píng)論 1 293
  • 正文 為了忘掉前任营密,我火速辦了婚禮,結(jié)果婚禮上目锭,老公的妹妹穿的比我還像新娘评汰。我一直安慰自己,他們只是感情好痢虹,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,633評(píng)論 6 392
  • 文/花漫 我一把揭開白布被去。 她就那樣靜靜地躺著,像睡著了一般奖唯。 火紅的嫁衣襯著肌膚如雪惨缆。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,488評(píng)論 1 302
  • 那天丰捷,我揣著相機(jī)與錄音坯墨,去河邊找鬼。 笑死病往,一個(gè)胖子當(dāng)著我的面吹牛捣染,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播荣恐,決...
    沈念sama閱讀 40,275評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼液斜,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼累贤!你這毒婦竟也來了叠穆?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,176評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤臼膏,失蹤者是張志新(化名)和其女友劉穎硼被,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體渗磅,經(jīng)...
    沈念sama閱讀 45,619評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡嚷硫,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,819評(píng)論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了始鱼。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片仔掸。...
    茶點(diǎn)故事閱讀 39,932評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖医清,靈堂內(nèi)的尸體忽然破棺而出起暮,到底是詐尸還是另有隱情,我是刑警寧澤会烙,帶...
    沈念sama閱讀 35,655評(píng)論 5 346
  • 正文 年R本政府宣布负懦,位于F島的核電站筒捺,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏纸厉。R本人自食惡果不足惜系吭,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,265評(píng)論 3 329
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望颗品。 院中可真熱鬧肯尺,春花似錦、人聲如沸躯枢。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,871評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽闺金。三九已至逾滥,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間败匹,已是汗流浹背寨昙。 一陣腳步聲響...
    開封第一講書人閱讀 32,994評(píng)論 1 269
  • 我被黑心中介騙來泰國(guó)打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留掀亩,地道東北人舔哪。 一個(gè)月前我還...
    沈念sama閱讀 48,095評(píng)論 3 370
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像槽棍,于是被迫代替她去往敵國(guó)和親捉蚤。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,884評(píng)論 2 354

推薦閱讀更多精彩內(nèi)容

  • 語義化版本 2.0.0摘要版本格式:主版本號(hào).次版本號(hào).修訂號(hào)炼七,版本號(hào)遞增規(guī)則如下:主版本號(hào):當(dāng)你做了不兼容的 A...
    benguo閱讀 245評(píng)論 0 1
  • 語義化版本 2.0.0 摘要 版本格式:主版本號(hào).次版本號(hào).修訂號(hào)缆巧,版本號(hào)遞增規(guī)則如下: 1.主版本號(hào):當(dāng)你做了不...
    24c41111e47b閱讀 329評(píng)論 0 0
  • 原文地址:http://semver.org/lang/zh-CN/ 摘要 版本格式:主版本號(hào).次版本號(hào).修訂號(hào),...
    yuditxj閱讀 269評(píng)論 0 0
  • 轉(zhuǎn)自 Semantic Versioning 2.0.0 RFC 2119 (Request for Commen...
    i云哲閱讀 2,075評(píng)論 0 6
  • 歡迎前往個(gè)人博客 駑馬點(diǎn)滴 和視頻空間 嗶哩嗶哩-《挨踢日志》 聲明 此文為轉(zhuǎn)載豌拙,原文參見語義化版本 2.0.0 ...
    KomalZheng閱讀 225評(píng)論 0 0