CakePHP 4.0.0-RC1 发布

CakePHP 核心团队很高兴宣布 CakePHP 4.0.0-RC1 的发布。这是 4.0.0 的第一个候选版本,包含了 4.0.0 的所有主要功能。如果没有报告重大问题,将在几周内发布稳定版本。

更新到 RC

您可以使用 composer 升级到 CakePHP 4.0.0 的测试版。

php composer.phar require --update-with-dependencies "cakephp/cakephp:4.0.0-RC1"

我们非常感谢您暂时升级您的应用程序并运行您的测试。通过对候选版本中的任何回归打开问题,我们可以帮助确保在稳定版本发布之前更平稳地发布 4.0.0。

4.0.0 中的新内容

迁移指南 包含了 4.0.0 中新内容和已弃用内容的完整列表。我们建议您在升级时阅读该页面。

自 4.0.0-beta4 以来的更改

  • 一种新的紧凑路由格式 _path 已添加到 Router::url()。此新格式接受与路由定义可以使用相同的 Controller::action 格式。
  • httpconsole 库已创建独立的软件包。
  • 开发错误页面现在保留异常消息中的内联代码突出显示和换行符。
  • SecurityComponent 现已弃用,并由 FormProtectionComponent 取代。
  • ConsoleErrorHandler 已移至 Error 包。
  • Validation::time() 现在接受微秒。
  • 针对 PHP>7.3.0 添加了 SameSite cookie 支持。
  • 针对 chardatetimefractionaltimestampfractional 添加了新的数据库类型。新的 datetime 类型允许表示包含微秒的时间值。
  • InstanceConfigTrait::getConfigOrFail() 已添加。
  • isLinkedToisNotLinkedTo 规则已添加到 ORM\RulesChecker 中。
  • DateFrozenDate 对象现在使用默认时区而不是 UTC。这修复了“今天”不总是今天的问题,具体取决于您距离 UTC 的距离。
  • 控制器操作调度已重构,以便将来更容易添加 DI 容器。
  • 路由前缀现在为 PascalCased 而不是下划线。这消除了某些词形变化并规范了前缀的表示形式。

4.0.0-RC1 的贡献者

我们欢迎 othercorey 加入核心团队。他们已经贡献了许多文档改进,并在 CakePHP 处理 CakePHP 和 Chronos 中微秒的方式方面推动了许多改进。

感谢所有帮助完成此版本的贡献者。

  • ADmad
  • Corey Taylor
  • Edgaras Janušauskas
  • Jorge González
  • Karma Dice
  • Mark Scherer
  • Mark Story
  • dan
  • itosho
  • ndm2
  • othercorey
  • saeideng

与往常一样,我们感谢所有创建问题、创建拉取请求或更新文档的贡献者。