CakePHP 3.0.16、3.1.11 和 3.2.3 发布

CakePHP 核心团队很高兴地宣布 CakePHP 3.0.16、3.1.11 和 3.2.3 立即生效。这些版本包含安全修复。3.2.3 还包含错误修复。

安全修复

PaginatorHelper 中的一个问题已修复,该问题允许操纵分页链接。恶意用户可以操纵 URL 以指向任意目标。非常感谢 Kurita Takashi 通知我们这个问题并审核了修复。

3.2.3 中的错误修复

除了安全修复外,3.2.3 还包含以下错误修复

  • 驼峰式虚拟属性现在可以再次访问。这是 3.2.0 中的回归。(@markstory)
  • 错误页面中的长路径现在已包装。(@bcrowe)
  • _joinData 在使用 id 属性编组现有 BelongsToMany 记录时不再丢失。(@markstory)
  • Date::parseDate() 现在可以正确处理时区。(@lorenzo)
  • 在操作中设置单元格的 templatePath 现在可以使用了。(@markstory)
  • FormHelper 现在在内部始终使用 formatTemplate()。(@ypnos-web)
  • Hash::sort() 现在可以正确排序 DateTimeImmutable 对象。(@ndm2)
  • Security::randomBytes() 已添加。此方法包装了获取安全随机数据的各种方法。如果找不到安全数据,将使用不安全数据并发出警告。(@markstory)
  • CSRF 令牌现在使用 Security::randomBytes() 生成。(@markstory)
  • 自定义模板路径现在已考虑在视图路径生成中。(@phillaf)

次要增强功能

  • 改进的 API 文档 (@dereuromark, @ndm2, @fxleblanc)
  • EventManager::matchingListeners() 已添加,允许调用者查找绑定到命名事件的监听器。(@jeffblack360)
  • Table::find('list') 将自动使用选定的字段(如果有 2 个)。这使得 find(list) 的行为与 2.x 更一致,简化了迁移。(@dereuromark)
  • TableRegistry::get() 现在接受 connectionName 参数。这使您可以通过名称定义连接,而无需要求对象。(@skie)
  • QueryExpression::identifierEquals() 已添加以提高对支持的数据库供应商的兼容性。(@skie)
  • App::shortName() 已添加。(@Marlinc)
  • AuthComponent finder 选项现在允许定义查找器选项。(@ADmad)

CakeFest 演讲者征集仍在进行中

CakeFest 2016 将于 5 月 26 日至 5 月 29 日在阿姆斯特丹举行。如果您想在 CakeFest 上发言,演讲者征集 [仍在进行中](https://cakefest.org/)。门票 [也正在出售](https://cakefest.org/tickets),在演讲者名单公布之前,可享受特价优惠。

CakePHP 新闻稿

请务必注册我们的 [新闻稿](https://cakephp.com.cn/newsletter/signup),以便及时了解 CakePHP 的最新动态。我们还为所有对接收安全版本详细信息感兴趣的人提供安全邮件列表。

一如既往,非常感谢所有通过报告问题和发送拉取请求帮助我们发布此版本的社区成员。

下载 GitHub 上的打包版本