在本月中旬进行了 CakePHP 4.0.0 发布之后,目前,CakePHP 4.0.1 发布也已正式发布,该版本是 4.0 分支的维护版本,修复了多个社区报告的问题。
Bug修复
用户可以期望在 4.0.1 中进行以下更改。有关每次提交,可参阅更改日志。
- 升级工具的安装空间较小,并且现在与应用程序代码的冲突应该更少。
- 删除了 Event data payload 上的 typehint。
- 删除了控制台选项的空字符串默认值。此举修复了 Argument::hasOption() 对于可选选项始终返回 true 的问题。
- 在重定向和基本 diactoros 响应对象上设置了 CSRF 令牌。
- 当 route elements 具有正则表达式模式且参数为整数时,URL 生成不再发出类型警告。
- 现在,当未选择外键时,使用 contain() 加载可连接的关联会产生错误。这可能会导致现有查询开始发出错误,但是这些查询以前一直默默地未能按要求加载相关数据。
- SQLServer 固定装置现在可以处理 restrict foreign key action。
- datetime 抽象类型再次使用 DATETIME 在 SQLServer 的列类型。使用 DATETIME2 为某些用户创建了微秒溢出问题。
- 添加了 TestCase::loadRoutes() 以便于为经常需要加载路由的类(如邮件程序)编写单元测试。
- 当创建的文件具有 0 个字节时,ConsoleIo::createFile() 不再返回 false。
- 生成 URL 时,带有控制器和操作占位符的路由在未定义时不再剥离这些键。相反,缺少控制器和操作键的路由将无法匹配。
- 现在,可选的路由占位符对于括号占位符和冒号占位符都可以一致地工作。
- 由于许多表达式接受实现 __toString() 的对象, FunctionsBuilder 再次允许 $ expression参数使用混合类型。
- ErrorLogger 不再无法为没有文件或行的错误记录消息。
- 改进的 API doc blocks。