CakePHP 未来路线图与版本发布
Cakefest 结束之后,我想要分享关于 CakePHP 的路线图和发布计划的演讲核心内容。
3.5 和 3.6
我们目前正在努力开发 3.5 版本,该版本将在今年夏天发布。它包含对中间件层的许多改进,并引入了更多对带有复杂参数类型的组合方法的弃用。3.6 是下一个逻辑版本。与所有 3.x 版本一样,3.6 将向后兼容。3.6 将引入许多新功能,以及额外的弃用。它将与其他 3.x 版本明显不同,因为它将把所有记录的弃用转换为运行时错误。
通过运行时错误,你将能够更轻松地找到你的应用程序及其依赖项使用 CakePHP 中已弃用功能的地方。这些弃用警告可以通过错误级别轻松开启和关闭,允许你尽早升级到 3.6 并逐步修复你的应用程序中的弃用警告。
4.0.0
CakePHP 的下一个主要版本将是 4.0。4.0 将是 4 年来第一个包含重大变更的版本。与从 2.x 升级到 3.x 不同,我们希望这次升级变得更简单。重大变更将集中在
- 移除在 3.x 中已弃用的方法/功能。所有在 3.6 中发出运行时警告的功能将在 4.0 中移除。
- 接口将更新以包含当前仅在文档中存在的函数。由于无法以向后兼容的方式向接口添加函数,因此我们将利用 4.0.0 的机会更新接口。
4.0 还将把最低要求的 PHP 版本提升至 7.1.0。这将使我们能够在内部利用严格类型,让你受益于更安全、更易于使用的 CakePHP。所有目前记录的类型将尽可能转换为严格类型提示。这是 3.5 和 3.6 中众多弃用动作的主要驱动力之一。
除了进行的重大变更之外,我们还希望利用 4.0 的机会改进错误消息,以提供更好的开发体验。作为 Rust 和 Elm 的用户,我们看到了错误消息可以做些什么,并希望将这些工具中提供的错误消息质量带到 PHP。
最后,一个明确的目标是使升级变得轻松。如果你的应用程序在最新的 3.6 中运行,没有任何弃用错误,那么它应该在 4.0.0 中运行,并且只需付出最小的努力。由于额外的类型提示和接口更改,升级的应用程序可能需要进行一些小的修改。我们认识到 2.x 的升级并不愉快,我们不想再次经历这样的体验。
理想情况下,我们希望将 3.6 和 4.0 尽可能接近地发布。我们目前的计划是将这两个版本的第一个测试版分别安排在 2017 年底和 2018 年初。
3.x 的长期支持
我们目前的计划将使 3.x 到 4.0 的升级相对容易。因此,我们目前没有看到继续进行 3.x 功能发布的太多理由。这将使 3.6 成为最后一个 3.x 版本,并且可能会发布 3.7。如果社区对它有足够的兴趣。此外,我们计划通过以下方式支持 3.x
- 在 4.0.0 发布后18 个月内修复错误。
- 在 4.0.0 发布后36 个月内修复安全问题。
我们希望这些时间范围能让你和你的团队有充足的时间进行计划和执行升级。
2.x 的长期支持
2.x 已经经历了很长的生命周期。鉴于 2.x 的问题和拉取请求的创建速度,2.10 将是最后一个 2.x 版本。我们认识到仍然有许多应用程序运行在 2.x 上,因此我们计划通过以下方式支持 2.x
- 在 4.0.0 发布后12 个月内修复错误。
- 在 4.0.0 发布后18 个月内修复安全问题。
在那之后,2.x 将不再维护,不再接收任何进一步的更新。
一如既往,这些时间范围和里程碑范围尚未最终确定,我们希望得到你的反馈和参与。