版本 4.3.4

发布日期:2023 年 4 月 27 日

CodeIgniter 4.3.4 版发布

不兼容变更

行为变化

重定向状态码

  • 由于一个错误,在以前的版本中,当使用 HTTP/1.1 或更高版本时,即使指定了状态码,实际重定向响应的状态码也可能会改变。例如,对于 GET 请求,302 会更改为 307;对于 POST 请求,307 和 302 会更改为 303。

  • 从这个版本开始,如果在 redirect 中指定了状态码,该代码将始终在响应中使用。

  • 当使用 HTTP/1.1 或更高版本时,GET 请求的默认代码已更正为 302。

  • 当使用 HTTP/1.1 或更高版本时,HEAD 和 OPTIONS 请求的默认代码已更正为 307。

  • $routes->addRedirect() 中,默认指定 302。因此,当你不指定状态码时,总是会使用 302。在以前的版本中,302 可能会更改。

Forge::modifyColumn()

  • $forge->modifyColumn() 已修复。 由于一个错误,在以前的版本中,SQLite3/Postgres/SQLSRV 可能会不可预测地更改 NULL/NOT NULL

  • 在以前的版本中,当你不指定 null 键时,OCI8 驱动程序不会更改 NULL/NOT NULL

  • 现在在所有数据库驱动程序中,如果你不指定 null 键, $forge->modifyColumn() 始终设置为 NULL

  • NULL/NOT NULL 的更改可能仍然出人意料,建议总是指定 null 键。

弃用功能

  • 文本辅助函数: random_string() 的类型 basicmd5sha1 已弃用。它们不是加密安全的。

错误修复

  • CURLRequest: 修复了一个错误,其中响应类在请求之间共享。

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