在线版的内容可能落后于电子书,如果想及时获得更新,请购买电子书

第 38 章 Ruby on Rails 的维护方针

对 Rails 框架的支持分为四种:新功能、缺陷修正、安全问题和严重安全问题。各自的处理方式如下,所有版本号都使用 X.Y.Z 格式。

Rails 遵照语义版本更替版本号:

补丁版 Z

只修正缺陷,不改变 API,也不新增功能。安全修正可能例外。

小版本 Y

新增功能,可能改变 API(相当于语义版本中的大版本)。重大改变在之前的小版本或大版本中带有弃用提示。

大版本 X

新增功能,可能改变 API。Rails 的大版本和小版本之间的区别是对重大改变的处理方式不同,有时也有例外。

38.1 新功能

新功能只添加到 master 分支,不会包含在补丁版中。

38.2 缺陷修正

只有最新的发布系列接收缺陷修正。如果修正的缺陷足够多,值得发布新的 gem,从这个分支中获取代码。

如果核心团队中有人同意支持更多的发布系列,也会包含在支持的系列中——这是特殊情况。

目前支持的系列:5.1.Z

38.3 安全问题

发现安全问题时,当前发布系列和下一个最新版接收补丁和新版本。

新版代码从最近的发布版中获取,应用安全补丁之后发布。然后把安全补丁应用到 x-y-stable 分支。例如,1.2.3 安全发布在 1.2.2 版的基础上得来,然后再把安全补丁应用到 1-2-stable 分支。因此,如果你使用 Rails 的最新版,很容易升级安全修正版。

目前支持的系列:5.1.Z5.0.Z

38.4 严重安全问题

发现严重安全问题时,会发布新版,最近的主发布系列也会接收补丁和新版。安全问题由核心团队甄别分类。

目前支持的系列:5.1.Z5.0.Z4.2.Z

38.5 不支持的发布系列

如果一个发布系列不再得到支持,你要自己负责处理缺陷和安全问题。我们可能会逆向移植,把修正代码发布到 Git 仓库中,但是不会发布新版本。如果你不想自己维护,应该升级到我们支持的版本。