버전 4.6.4

릴리스 날짜: 2025년 12월 12일

CodeIgniter4 4.6.4 릴리스

메시지 변경사항

  • Honeypot.noTemplate, Honeypot.noNameField, Honeypot.theClientIsABot이 추가되었습니다.

변경사항

  • Config: Config\Database::$testssynchronous 키가 추가되었습니다. SQLite3 드라이버 전용입니다.

사용 중단

  • Exception:
    • CodeIgniter\Honeypot\Exceptions\HoneypotException::forNoHiddenValue() 메서드가 사용 중단되었습니다. 사용된 적이 없습니다.

버그 수정

  • Cache: 패턴과 일치하는 키가 없을 때 Redis 오류를 유발하는 PredisHandler::deleteMatching()의 버그가 수정되었습니다.

  • Cache: 패턴과 일치하는 키가 없을 때 int 대신 false를 반환하는 RedisHandler::deleteMatching()의 버그가 수정되었습니다.

  • Database: 공유되지 않는 연결 인스턴스를 공유 캐시에 저장하게 하는 Database::connect()의 버그가 수정되었습니다.

  • Database: SQLSRVOCI8Connection::getFieldData()에서 다른 드라이버 규칙을 따르는 대신 해당 핸들러 특유의 불필요한 문자가 컬럼 기본값에 반환되는 버그가 수정되었습니다.

  • Database: BaseBuilder::compileOrderBy()에서 메서드가 QBOrderBy를 배열로 유지하는 대신 문자열로 덮어써서 타입 오류가 발생하고 추가적인 ORDER BY 절을 추가하지 못하는 버그가 수정되었습니다.

  • Database: SQLite3에서 비밀번호 매개변수가 빈 문자열이 아닌 한 무시되는 버그가 수정되었습니다.

  • Debug: 예외 추적에 리소스(예: 데이터베이스 연결), 클로저 또는 순환 참조가 포함된 경우 ExceptionHandler에서 JSON 인코딩이 실패하는 버그가 수정되었습니다.

  • Forge: PostgreSQLSRV에서 Forge::modifyColumn() 메서드로 컬럼의 기본값을 변경할 때 잘못된 SQL 구문이 생성되는 버그가 수정되었습니다.

  • Migrations: 세션 테이블 마이그레이션 템플릿에서 timestamp 필드 이름이 MySQL/MariaDB의 예약어와 충돌하는 버그가 수정되었습니다.

  • Model: Model::replace()에서 created_at 필드(사용 가능한 경우)가 올바르게 설정되지 않는 버그가 수정되었습니다.

  • Model: Model::insertBatch()Model::updateBatch()에서 삽입 또는 업데이트된 값에 캐스트가 적용되지 않는 버그가 수정되었습니다.

  • Toolbar: 디버그 툴바에 “Logs” 탭이 나타나지 않게 하는 Collectors\Logs의 버그가 수정되었습니다.

  • Toolbar: 일부 시나리오에서 “Uncaught TypeError”를 유발하는 toolbar.js의 버그가 수정되었습니다.

  • Validation: 잘못된 base64 문자열을 확인할 때 TypeError를 유발하는 FormatRules::valid_base64() 유효성 검사 규칙의 버그가 수정되었습니다.

수정된 버그의 전체 목록은 저장소의 CHANGELOG.md를 참조하세요.