版本 4.6.4
发布日期:2025 年 12 月 12 日
CodeIgniter 的 4.6.4 版本发布
消息变更
新增
Honeypot.noTemplate、Honeypot.noNameField及Honeypot.theClientIsABot。
变更
Config: 为
Config\Database::$tests增加了synchronous键。仅适用于 SQLite3 驱动。
弃用
- Exception:
弃用
CodeIgniter\Honeypot\Exceptions\HoneypotException::forNoHiddenValue()方法。该方法从未被使用。
Bug 修复
Cache: 修复了
PredisHandler::deleteMatching()在无匹配模式的键时导致 Redis 报错的问题。Cache: 修复了
RedisHandler::deleteMatching()在无匹配模式的键时返回false而非int的问题。Database: 修复了
Database::connect()会将非共享连接实例存储在共享缓存中的问题。Database: 修复了
SQLSRV和OCI8的Connection::getFieldData()在返回列默认值时包含多余字符的问题(仅限这些处理器),现已遵循与其他驱动一致的规范。Database: 修复了
BaseBuilder::compileOrderBy()可能使用字符串覆盖QBOrderBy而非保持数组形式的问题。该问题会导致类型错误,并阻止追加额外的ORDER BY子句。Database: 修复了
SQLite3中除非密码参数为空字符串否则会被忽略的问题。Debug: 修复了
ExceptionHandler在异常堆栈追踪包含资源(如数据库连接)、闭包或循环引用时导致 JSON 编码失败的问题。Forge: 修复了
Postgre和SQLSRV使用Forge::modifyColumn()方法修改列默认值时产生错误 SQL 语法的问题。Migrations: 修复了 Session 表迁移模板中
timestamp字段名与 MySQL/MariaDB 保留关键字冲突的问题。Model: 修复了
Model::replace()无法正确设置created_at字段(如果存在)的问题。Model: 修复了
Model::insertBatch()和Model::updateBatch()未对插入或更新的值应用类型转换(casts)的问题。Toolbar: 修复了
Collectors\Logs中导致调试工具栏无法显示 “Logs” 标签页的问题。Toolbar: 修复了
toolbar.js在某些场景下导致 “Uncaught TypeError” 的问题。Validation: 修复了
FormatRules::valid_base64()验证规则在检查无效 Base64 字符串时导致 TypeError 的问题。
请查看仓库的 CHANGELOG.md 以获取完整的 Bug 修复列表。