版本 4.1.5
发布日期:2021 年 11 月 8 日
CodeIgniter 4.1.5 版发布
不兼容变更
- 修复了 CSRF 保护上的一个错误。现在,当应用 CSRF 过滤器时,CSRF 保护也适用于 PUT/PATCH/DELETE 请求。如果使用这些请求,则需要发送 CSRF token。 
- 在以前的版本中,如果你没有提供自己的 headers, - CURLRequest会由于一个错误而发送来自浏览器的请求头。从本版本开始,它不再发送它们。
- 修复了 - BaseBuilder::insertBatch()在- testMode下的返回值。现在它返回 SQL 字符串数组而不是受影响的行数。此更改是为了与批处理方法的返回类型保持兼容。现在- BaseBuilder::insertBatch()的返回数据类型与 updateBatch() 方法相同。
- 对 - BaseBuilder::insertBatch()和- BaseBuilder::updateBatch()方法中数据处理方式进行了重大优化。这减少了内存使用量和更快的查询处理速度。作为权衡,- $query->getOriginalQuery()方法生成的结果发生了变化。它不再返回带有绑定参数的查询,而是实际运行的查询。
增强功能
- 为保留字符添加了缓存配置 
- Forge类的 addForeignKey() 函数现在可以在数组中定义复合外键
- Forge类的- dropKey函数可以移除键
- 现在环境变量中可以使用 - _作为分隔符。参见 命名空间分隔符。
- 为路由添加了多个过滤器和类名过滤器 
- 减少了 - insertBatch()和- updateBatch()的内存使用量
- 添加了 基于会话的 CSRF 保护 
- 为 - Validation添加了- valid_url_strict规则
- 调试工具栏
- 在时间线中添加了格式化的查询字符串 
- 改进了查询字符串的关键字高亮和转义 
 
 
变更
- 始终在 - BaseBuilder的- set、- setUpdateBatch和- insertBatch函数中转义标识符。
弃用功能
- 弃用 - CodeIgniter\\Cache\\Handlers\\BaseHandler::RESERVED_CHARACTERS,改用新的配置属性
错误修复
有关完整的错误修复列表,请参阅仓库的 CHANGELOG_4.1.md。