从 4.2.1 升级到 4.2.2
请根据你的安装方式参考对应的升级说明。
破坏性变更
网页缓存 Bug 修复
例如,如果启用了 SecureHeaders,当页面来自缓存时,现在也会发送 Response 标头。
重要
如果你曾 基于这个 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