版本 4.2.2

发布日期:2022 年 8 月 6 日

CodeIgniter 4.2.2 版发布

不兼容变更

  • 现在 Services::request() 返回 IncomingRequestCLIRequest

  • CodeIgniter\Debug\Exceptions::__construct() 的方法签名已更改。删除了 $request 参数上的 IncomingRequest 类型提示。扩展类也应该删除该参数,以免破坏 LSP。

  • BaseBuilder.php::insert()BaseBuilder.php::update() 的方法签名已更改。删除了 $set 参数上的 ?array 类型提示。

  • 修复了一个错误,该错误会在使用页面缓存时,在 after 过滤器执行之前缓存页面。现在在 after 过滤器中添加 response headers 或更改 response body 会正确地缓存它们。

  • 由于一个错误修复,现在如果第二个参数 $len 是奇数,带有第一个参数 'crypto'random_string() 会抛出 InvalidArgumentException

消息变更

  • 修复了 Language/en/HTTP.php 中的 invalidRoute 消息。

变更

  • 修复:BaseBuilder::increment()BaseBuilder::decrement() 在查询后不重置 BaseBuilder 状态。

  • 修复:带有前导星号(通配符)的字段的验证。

  • 现在 CLIRequest::isCLI() 总是返回 true。

  • 现在 IncommingRequest::isCLI() 总是返回 false。

  • Vagrantfile.dist 已移动到 CodeIgniter DevKit

弃用功能

  • 弃用 Services::request() 的参数。

  • 弃用 CodeIgniter::gatherOutput() 的第一个参数 $cacheConfig

  • 弃用 Forge::_createTable() 的第二个参数 $ifNotExists

错误修复

有关完整的错误修复列表,请参阅仓库的 CHANGELOG_4.2.md