CakePHP 5.1.0 发布

CakePHP 核心团队很高兴地宣布 CakePHP 5.1.0 立即发布。 5.1.0 为 CakePHP 提供了许多改进。 5.1.0 引入了一些弃用警告。现在引入的任何弃用都将继续具有始终如一的行为,直到在 6.0.0 中删除。目前还没有关于 6.0.0 的发布日期。

升级到 5.1.0

您可以使用 composer 升级到 CakePHP 5.1.0

php composer.phar require --update-with-dependencies "cakephp/cakephp:5.1.*"

弃用警告

5.1 引入了一些弃用。所有这些功能将在 5.x 的整个生命周期中继续存在,但将在 6.0 中移除。请参见迁移指南

5.1.0 中的新功能?

迁移指南 中列出了 5.1.0 中的所有新功能。我们建议您在升级时阅读该页面。5.1.0 中的一些亮点是

  • RedisEngine 现在支持 TLS 连接。
  • bin/cake plugin list 已添加,用于列出插件元数据。
  • 可选的 Command 参数现在可以具有 default 值。
  • BannerHelper 已添加。此命令助手可以将文本格式化为带有彩色背景和填充的横幅。
  • 组件现在可以使用 DI 容器将依赖项解析并作为构造函数参数提供,就像控制器和命令一样。
  • toStringtoInttoBooltoDatetoDateTime 函数已添加。它们为您提供了一种类型安全的转换请求数据或其他输入的方法,并在转换失败时返回 null
  • pathCombine() 已添加,以帮助构建路径而不必担心重复和尾部斜杠。
  • 一个新的 events 钩子已添加到 BaseApplication 以及 BasePlugin 类中。
  • pointlinestringpolygongeometry 类型添加了支持,这些类型已添加到 Database 包中。
  • SelectQuery::intersect()SelectQuery::intersectAll() 已添加。
  • Client 现在在发送请求时发出 HttpClient.beforeSendHttpClient.afterSend 事件。
  • Http\Server 现在发出 Server.terminate 事件,以便在 fastcgi 环境中发送响应后运行逻辑。在其他环境中,Server.terminate 事件将在发送响应之前运行。
  • 视图单元格现在在其操作周围发出事件 Cell.beforeActionCell.afterAction
  • Validation::enum()Validator::enum()Validation::enumOnly()Validation::enumExcept() 已添加,以进一步简化验证后端枚举值。
  • HtmlHelper 现在可以创建一个包含 CSRF 令牌的元标记。

5.1.0 的贡献者

感谢所有帮助 5.1 发布的贡献者

  • Adam Halfar
  • ADmad
  • Alejandro Ibarra
  • Fernando Herrero
  • Frank de Graaf (Phally)
  • Jamison Bryant
  • J.Brabec
  • Jozef Grencik
  • Kevin Pfeifer
  • KrzysiekNDS
  • Mark Scherer
  • Mark Story
  • Maximilian Ruta
  • ndm2
  • Nicos Panayides
  • othercorey
  • Robert Pustułka

与往常一样,我们要衷心感谢所有社区成员,感谢他们通过报告问题和发送请求帮助发布这个版本。 5.1.0 是一个大型版本,如果没有社区的支持和反馈,这是不可能实现的。

下一步

随着 5.1.0 的发布,未来的功能工作将继续在 5.next 上进行,最终将形成 5.2.0。5.1 的错误修复将在 5.x 分支中完成,5.0 将在发布 5.3 之前接收安全修复。

5.x 的路线图仍在开发中。我们有兴趣使从 5.0 升级到 5.1 变得顺利,并感谢您对升级困难的任何反馈。请打开一个问题并开始讨论。

下载 github 上的打包版本