Rails 遵照语义版本更替版本号:
补丁版 Z
只修正缺陷,不改变 API,也不新增功能。安全修正可能例外。
小版本 Y
新增功能,可能改变 API(相当于语义版本中的大版本)。重大改变在之前的小版本或大版本中带有弃用提示。
大版本 X
新增功能,可能改变 API。Rails 的大版本和小版本之间的区别是对重大改变的处理方式不同,有时也有例外。
1 新功能
新功能只添加到 master 分支,不会包含在补丁版中。
2 缺陷修正
只有最新的发布系列接收缺陷修正。如果修正的缺陷足够多,值得发布新的 gem,从这个分支中获取代码。
如果核心团队中有人同意支持更多的发布系列,也会包含在支持的系列中——这是特殊情况。
目前支持的系列:5.1.Z
。
3 安全问题
发现安全问题时,当前发布系列和下一个最新版接收补丁和新版本。
新版代码从最近的发布版中获取,应用安全补丁之后发布。然后把安全补丁应用到 x-y-stable 分支。例如,1.2.3 安全发布在 1.2.2 版的基础上得来,然后再把安全补丁应用到 1-2-stable 分支。因此,如果你使用 Rails 的最新版,很容易升级安全修正版。
目前支持的系列:5.1.Z
、5.0.Z
。
4 严重安全问题
发现严重安全问题时,会发布新版,最近的主发布系列也会接收补丁和新版。安全问题由核心团队甄别分类。
目前支持的系列:5.1.Z
、5.0.Z
、4.2.Z
。
5 不支持的发布系列
如果一个发布系列不再得到支持,你要自己负责处理缺陷和安全问题。我们可能会逆向移植,把修正代码发布到 Git 仓库中,但是不会发布新版本。如果你不想自己维护,应该升级到我们支持的版本。
反馈
我们鼓励您帮助提高本指南的质量。
如果看到如何错字或错误,请反馈给我们。 您可以阅读我们的文档贡献指南。
您还可能会发现内容不完整或不是最新版本。 请添加缺失文档到 master 分支。请先确认 Edge Guides 是否已经修复。 关于用语约定,请查看Ruby on Rails 指南指导。
无论什么原因,如果你发现了问题但无法修补它,请创建 issue。
最后,欢迎到 rubyonrails-docs 邮件列表参与任何有关 Ruby on Rails 文档的讨论。