CakePHP 项目大体遵循 semver。这意味着
版本号格式为 A.B.C
A 版本是 主要版本。它们包含重大更改,从较低的 A 版本升级需要相当的工作量。
A.B 版本是 功能版本。每个版本都向后兼容,但可能引入新的弃用警告。如果绝对需要重大更改,则将在该版本的迁移指南中进行说明。
A.B.C 版本是 补丁 版本。它们应该与同一个功能版本的先前补丁版本向后兼容。此规则的例外情况是,如果发现安全问题,而唯一的解决方案是破坏现有的 API。
有关我们认为向后兼容和重大更改的内容,请参见 向后兼容性指南。
主要版本引入新功能,并可能删除先前版本中弃用的功能。这些版本位于与版本号匹配的 next
分支中,例如 5.next
。发布后,它们将被提升到 master
,然后 5.next
分支将用于未来的功能版本。
功能版本是发布新功能或扩展现有功能的地方。每个接收更新的版本系列都将拥有一个 next
分支。例如 4.next
。如果您想贡献一个新功能,请针对这些分支。
补丁版本修复现有代码/文档中的错误,并且应该始终与来自同一功能版本的先前补丁版本兼容。这些版本是从稳定分支创建的。稳定分支通常以版本系列命名,例如 3.x
。
主要版本 大约每两到三年发布一次。这个时间框架迫使我们对重大更改进行深思熟虑,并为社区提供时间跟上,而不必担心被落下。
功能版本 每五到八个月发布一次。
补丁版本 最初每两周发布一次。随着功能版本的成熟,这个频率将放缓到每月一次。
在主要版本中删除功能之前,需要对其进行弃用。当 A.x 版本中弃用某个行为时,它将在所有 A.x 版本的剩余时间内继续工作。弃用通常通过 PHP 警告来指示。可以通过将 E_USER_DEPRECATED
添加到应用程序的 Error.level
值来启用弃用警告。
弃用行为在下一个主要版本发布之前不会被删除。例如,在 4.1
中弃用的行为将在 5.0
中删除。