버전 4.6.2

릴리스 날짜: 2025년 7월 26일

CodeIgniter4 4.6.2 릴리스

보안

  • ImageMagick Handler: ImageMagick 핸들러의 명령 주입 취약점이 수정되었습니다. 자세한 내용은 보안 권고 GHSA-9952-gv64-x94c를 참조하세요.

변경사항

  • Security: Security 헬퍼의 sanitize_filename() 함수가 이제 상대 경로 허용 여부를 제어하는 두 번째 매개변수를 지원합니다.

사용 중단

  • Security: Security::sanitizeFilename() 메서드가 사용 중단되었습니다. 대신 sanitize_filename()을 사용하세요.

  • Security: SecurityInterface::sanitizeFilename() 메서드가 사용 중단되었습니다.

버그 수정

  • Cache: 손상되거나 읽을 수 없는 캐시 파일로 인해 FileHandler::getItem()에서 처리되지 않은 예외가 발생할 수 있는 버그가 수정되었습니다.

  • Commands: make:test가 Windows에서 항상 오류가 발생하는 버그가 수정되었습니다.

  • Commands: make:test에서 생성된 테스트 파일이 Test.php로 끝나지 않는 버그가 수정되었습니다.

  • Commands: make:test에서 클래스 이름을 입력하지 않은 후 입력 프롬프트가 세 번 표시되는 버그가 수정되었습니다.

  • CURLRequest: 특정 시나리오에서 중간 HTTP 응답이 응답 체인에서 제대로 제거되지 않아 최종 응답 대신 잘못된 상태 코드와 헤더가 반환되는 버그가 수정되었습니다.

  • Database: ConditionalTraitwhen()whenNot()[], 0, 0.0, '0' 같은 특정 거짓 값을 참으로 잘못 평가하여 콜백이 예기치 않게 실행되는 버그가 수정되었습니다. 이 메서드들은 이제 (bool)을 사용하여 조건을 불리언으로 캐스팅하여 PHP의 기본 진리값과 일관된 동작을 보장합니다.

  • Database: BaseConnection::transStatus 보호된 속성에 접근할 때 BasePreparedQuery에서 발생하는 캡슐화 위반이 수정되었습니다.

  • DownloadResponse: 인라인 disposition 사용 시 Content-Disposition 헤더에서 filename 매개변수가 누락되어 브라우저가 의도한 파일명 대신 마지막 URL 세그먼트를 파일명으로 사용하는 버그가 수정되었습니다.

  • Email: $_SERVER['SERVER_NAME']이 설정되지 않았을 때 Email::getHostname()$_SERVER['SERVER_ADDR']를 사용하지 못하는 버그가 수정되었습니다.

  • Security: Security 헬퍼의 sanitize_filename() 함수가 CLI 요청에서 사용될 때 오류를 발생시키는 버그가 수정되었습니다.

  • Session: 지원되지 않는 데이터베이스 드라이버(SQLSRV, OCI8, SQLite3 등)와 함께 DatabaseHandler를 사용할 때 적절한 오류가 발생하지 않는 버그가 수정되었습니다.

  • SiteURI: index.php 파일을 유지하면서 mod_rewrite를 사용하여 하위 폴더에서 앱을 제공할 때 SiteURIFactory::parseRequestURI()에서 잘못된 라우트 경로가 감지되는 버그가 수정되었습니다.

  • SiteURI: 애플리케이션이 하위 폴더에서 제공될 때 멀티바이트(비ASCII) 문자가 포함된 폴더 이름이 SiteURIFactory::parseRequestURI()에서 올바르게 해석되지 않는 버그가 수정되었습니다.

  • URI: 정의된 기본 포트가 없는 스킴(rtsp:// 등)에서 배열 키 처리 누락으로 인해 URI::getAuthority()에서 문제가 발생하는 버그가 수정되었습니다.

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