CakePHP 3.4.8 发布

CakePHP 核心团队很高兴宣布 CakePHP 3.4.8 立即发布。这是 3.4 分支的维护版本,修复了社区报告的几个问题。

错误修复和新功能

您可以在 3.4.8 中看到以下更改。查看 变更日志 以获取每个提交。

  • 改进了子拆分包的 composer 关键字。
  • BelongsToMany::link() 现在可以正确地持久化多个操作。
  • 改进了 API 文档。
  • PO 文件解析在同一个消息键被定义为有上下文和没有上下文时,可以正确地解析消息。这改变了翻译消息的内部数据表示,您应该注意在升级时清除您的 i18n 缓存数据。
  • ValidationRule 在参数是关联数组时不再引发解包错误。
  • RouteBuilder::prefix() 现在支持 path 选项,这允许您自定义用于前缀路由范围的路径段。
  • 日志记录现在将记录实体的 JSON 编码版本。此外,被记录的 JsonSerializable 实例将不会对 Unicode 数据进行编码。
  • 在其他 matching() 调用中使用 matching() 调用的分页查询不再发出无效的 SQL。
  • 自动链接更好地处理由 AngularJS 生成的 URL。
  • Mailer 正确地代理了 Email 上的 getX 方法。
  • Database\Query::clause() 在读取未知子句时现在会引发异常。
  • RedisEngine::add() 现在使用 setTimeout() 来设置 TTL,而不是两次写入键。
  • RedisEngine::increment()decrement() 现在在计数器上设置引擎的 TTL。这使得 redis 计数器与 Memcached 计数器具有一致的行为。
  • 使用 'Z' 时区 的 ISO8601 日期时间现在可以正确解析。
  • ProgressHelper::init()draw()increment() 现在返回 $this
  • MySQL 模式反射不再强制主键列在明确禁用 autoIncrement 时成为自增列。
  • FormHelper::radio() 现在在单选按钮选项使用复杂形式定义时,并且只有一部分单选按钮选项被禁用时,可以处理禁用属性的生成。
  • TableHelper::output() 不再要求所有行具有相同的键。

3.4.8 的贡献者

感谢所有帮助实现此版本的贡献者。

  • Albert Cansado Solà
  • Bryan Crowe
  • Florian Brede
  • Ian den Hartog
  • Jan Zdunek
  • Jeremy Harris
  • José Lorenzo Rodríguez
  • Julian Carrivick
  • Marc Würth
  • Mark Scherer
  • Mark Story
  • Mehdi Fathi
  • Michael Hoffmann
  • Mirko Pagliai
  • Rachman Chavik
  • Sevvlor
  • Yasuo Harada
  • inoas

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

github 上下载打包版本