CakePHP 4.4.0-RC2 发布

CakePHP 核心团队很自豪地宣布 CakePHP 4.4.0 的第二个候选版本。4.4.0 版本将引入一些新功能和一些弃用。

新功能

迁移指南 有一个完整的 4.4.0 中新增内容列表。我们建议你在升级时阅读该页面,因为它概述了 4.4 中存在的弃用功能。

4.4.0-RC1 后的变化

  • 现在,当前请求会自动添加到应用程序的依赖注入容器中,使拥有依赖于当前请求的服务变得更加容易。
  • Fixture 模式反射现在会清除表注册表,以防止在 initialize() 挂钩中初始化表的应用程序出现错误。
  • PaginatorHelper::limitControl() 现在支持多重分页。
  • Debugger 上的其他功能已被弃用,建议改为使用 ErrorTrap
  • 分页类已移至 Cake\Datasources\Paging 下。
  • 已将 DefaultPaginator 重命名为 NumericPaginator
  • 依赖注入容器中的实验性标志已被移除。现在它被认为是稳定的 API。
  • 改进了 ErrorTrapExceptionTrap 中的日志记录配置。
  • 修复了 BelongsToMany 关联中 bindingKey 的缺失使用问题。
  • 改进了对无效 cookie 名称的处理。
  • 改进了具有多种内容类型选项的文件类型的内容协商。
  • 现在,FormHelperFormContext 适配器支持非默认验证规则集。
  • View 添加了“匹配所有”类型,以便可以在新的内容协商功能中实现回退视图类。
  • 在 redis 缓存引擎中添加了 deleteAsync()clearBlocking() 方法。
  • ErrorLoggerInterface 中添加了带有注释的新方法。新的 logError()logException() 方法将在 5.x 中分别替换 logMessage()log() 方法。在使用新的错误处理子系统之前,你应该更新任何自定义错误记录器。
  • 改进了 API 文档。
  • 删除了 PHP 8.2 中已弃用的字符串插值用法。

你可以如何帮助

你可以通过在应用程序中试用 RC 来提供帮助。如果新版本在你的应用程序中产生了任何新的测试失败或回归,请打开问题。

4.4.0-RC2 的贡献者

感谢所有帮助过 4.4.0 的贡献者

  • ADmad
  • Andrii Pukhalevych
  • Corey Taylor
  • Danial Khoshkhou
  • dependabot[bot]
  • Gerasimos
  • itosho
  • Kevin Pfeifer
  • Mark Scherer
  • Mark Story
  • OJMichael
  • othercorey
  • Remy Bos

我们还要感谢 Guarang Maheta,他向我们通报了 bakery.cakephp.org 中的安全问题并帮助我们解决了它。

像往常一样,我们要对所有帮助发布此版本的社区成员表示衷心的感谢,他们报告了问题并发送了拉取请求。

下载 github 上的打包版本