版本 4.0.4

发布日期:2020 年 7 月 15 日

CodeIgniter4 的 4.0.4 版本

重大变更

  • FilterInterface 中的 after()before() 中添加了 $arguments 参数。这是一个重大变更,因此所有实现 FilterInterface 的代码都必须更新。

增强功能

  • SQLite3 数据库的位置已更改,默认情况下现在位于 writable 文件夹中,而不是 public 文件夹中。

  • 新的 CLI 命令:cache:clear,它将销毁当前缓存引擎中的所有数据。

  • 感谢 samsonasik,我们有几个库的测试覆盖率达到了 100%。

  • 一些小的性能提升。每一份努力都很重要!

  • 数据库结果类中的 getFieldData() 现在返回列类型和长度。

  • 默认的 .htaccess 文件已更新,以更好地支持扩展字符。

  • 新测试功能:Fabricator 使在测试中创建模拟类变得简单且可重复。

  • 模型类现在可以在运行时覆盖回调。这对测试很有用。

  • 功能测试的一系列改进。

  • 新的command() 辅助函数 用于以编程方式运行您的 CLI 命令。这对测试和 cron 作业很有用。

  • 新命令,make:seeder 用于生成数据库种子类 骨架文件。

  • Windows 中的 CLI 现在可以使用颜色,以及其他与 Windows 相关的 CLI 改进。

  • 新的辅助mb_url_title(),其功能类似于url_title(),但会自动转义和扩展 URL 字符。

  • 图像库 现在支持webp 图像。

  • 在路由器中为正则表达式添加了 Unicode 支持。

  • 添加了对delete_files() 辅助函数中删除隐藏文件夹的支持。

  • Request 类中的fetchGlobal() 现在支持对数据数组应用过滤器,而不仅仅是第一个项目。

  • file 验证现在适用于文件数组。

  • URI 类现在支持setSilent() 方法,该方法将禁用抛出异常。

  • URI::getSegment() 的新参数,允许我们更改如果不存在则返回的默认值。

  • 在 Image 中实现了withResource(),以便您可以使用方法链而不是使用提供的 getResource()(在测试中使用)。只需压缩您的图像。

  • 使用新的withCookies()withHeaders() 方法执行重定向时,可以从全局 Response 对象中复制 Cookie 和标头。

  • 支持特殊的“hex2bin:”前缀,它可以与$key参数一起使用,该参数位于加密类或.env文件中。

已修复的错误

  • 修复了SQLite3数据库的位置,默认情况下它现在将位于writable文件夹中,而不是public文件夹中。

  • 修复了force_https()可能会第二次添加https://的错误。

  • 修复了CurlRequest中可能导致不正确的“100 Continue”标头的错误。

  • 修复了Image::save()在$target参数为null时的错误。

  • 修复了set_checkbox()set_radio()在$default参数设置为true时的错误。

  • 修复了Model类中结果对象处理的错误。

  • 修复了SQLite数据库的转义字符。

  • 修复了在主键为null时对Postgres和实体的插入操作。

  • CLI脚本现在可以正确识别参数中的破折号。

  • CURLRequest现在使用多部分数据正确设置内容长度。

  • ImageMagick处理程序的各种稳定性改进。

  • 现在应该可以在配置文件中设置验证错误。

  • 从实体保存JSON时不会转义Unicode字符。

  • 现在使用自定义HTTP代码重定向应该可以正常工作。

  • Time::setTimezone()现在可以正常工作。

  • 为Postgres添加了完全外连接支持。

  • fill()过程中,实体中的一些强制转换项(如数组、json)没有被正确设置。

  • 修复了Image GD处理程序中在某些情况下会尝试压缩图像两次的错误。

  • 确保翻译输出逻辑在选定语言环境、带连字符的语言环境和回退“en”上正常工作。

  • 修复通过 API 在 PostgreSQL 中使用 POST/PUT 方法调用 is_unique/is_not_unique 验证时的错误。

  • 修复了过滤器参数未传递给 after() 的错误。

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