从 4.2.1 升级到 4.2.2

请根据你的安装方式参考对应的升级说明。

破坏性变更

网页缓存 Bug 修复

重要

如果你曾 基于这个 Bug 编写代码,并假定在 “后置” 过滤器中对 Response 的修改不会被缓存,那么 敏感信息可能会被缓存并造成泄露风险。如果存在这种情况,请修改代码,禁用该页面的缓存。

其他

  • 方法 Forge::createTable() 不再执行 CREATE TABLE IF NOT EXISTS。当 $ifNotExists 为 true 时,如果在 $db->tableExists($table) 中未找到该表,才会执行 CREATE TABLE

  • Forge::_createTable() 的第二个参数 $ifNotExists 已被弃用。该参数已不再使用,并将在未来版本中移除。

  • 当使用 random_string() 且第一个参数为 'crypto' 时,如果将第二个参数 $len 设为奇数,现在会抛出 InvalidArgumentException。请将该参数改为偶数。

破坏性增强

项目文件

项目空间 (根目录、app、public、writable)中的部分文件已更新。 由于这些文件位于 system 范围之外,框架不会在没有你介入的情况下自动修改它们。 目前有一些第三方 CodeIgniter 模块可用于协助合并项目空间中的变更: 在 Packagist 上浏览

备注

除了极少数用于修复 Bug 的情况外,对项目空间文件所做的更改不会破坏你的应用。 此处列出的所有更改在下一个主版本发布之前都是可选的,任何强制性更改都会在上面的章节中说明。

内容变更

  • app/Views/errors/html/error_404.php

  • app/Views/welcome_message.php

  • public/index.php

  • spark

所有变更

以下是 项目空间 中所有发生变更的文件列表; 其中许多只是简单的注释或格式调整,对运行时没有任何影响:

  • app/Config/App.php

  • app/Config/Constants.php

  • app/Config/Logger.php

  • app/Config/Paths.php

  • app/Views/errors/html/error_404.php

  • app/Views/welcome_message.php