nginx 主線版1.17.0發布1.14穩定分支已停止維護
nginx 1.17已發布,這是nginx目前最新的版本,同時也是mainline主線版。我們都知道,nginx都會同時維護著兩個分支,分別為mainline主線版和stable穩定版。不過在nginx中,“穩定”指的是功能和更新頻率,它與軟件質量無關。穩定分支在其生命週期中從不接收新功能,並且通常僅接收一個或兩個更新,用於修復嚴重的錯誤。
- mainline 是更新活躍的開發分支,其添加了最新功能和錯誤修復。其版本號的第二位用奇數表示,例如1. 17 .0。
- stable 接收針對高嚴重性錯誤的修復,但不會使用最新的功能。其版本號的第二位用偶數表示,例如1. 16 .0。
穩定分支的生命週期一般是一年,每年四月官方就會停止對當前穩定分支的維護,不再提供錯誤修復補丁。這會觸發兩個事件:
- 第一,官方會fork當前的mainline版本,以用於創建下一個穩定版本。這樣一來,穩定分支就繼承了過去一年中mainline版本的所有錯誤修復補丁、新增功能和其他變更。上個月發布的nginx 1.16.0穩定版就是fork自1.15.12 mainline版本。
- 第二,mainline 分支將會獲得新的版本升級,即其版本號的第二位奇數會增加為下一個奇數,mainline 分支每4-6 週就會發布一個新版本,nginx 1.17.0 是最新mainline版本的首次發布。
▲ 看圖比較容易理解nginx 版本的演進過程
官方還建議用戶採用主線分支,因為它能最快地用上新特性、性能改進和增強功能,還可以及時修復錯誤。總之,按官方的說法,主線分支完全適用於生產環境。
下面看看作為最新mainline 版本的1.17.0,包含了哪些新功能和改進。
nginx 1.17.0包含對帶有limit_rate
指令的帶寬限製配置中的變量的支持,並且允許該include
指令在所有配置上下文中使用,甚至在if
塊內。
開發團隊還開始支持 QUIC 和 HTTP/3(傳輸協議的下一次重大更新版本),它將應用到網站、應用程序和API。
其他變更包括:
- 支持的最低OpenSSL 版本為0.9.8
- include 指令在“if”和“limit_except”塊中不起作用
- ……