버전 4.7.1
릴리스 날짜: 2026년 3월 22일
CodeIgniter4 4.7.1 릴리스
주요 변경사항
Database:
CodeIgniter\Database\SQLite3\Connection::$busyTimeout의 타입이 이제?int로 지정되었습니다. 이 속성을 재선언하는 사용자 정의 서브클래스는 업데이트가 필요합니다.
메시지 변경사항
Images.unsupportedImageCreate가 업데이트되었습니다.Validation.valid_cc_num키가Validation.valid_cc_number로 이름이 변경되었습니다.
변경사항
이벤트
워커 모드:
Events::cleanupForWorkerMode()가 이제 선택적$resetEventListeners배열 매개변수를 허용합니다. 이는Config\WorkerMode의 새$resetEventListeners속성에 해당합니다. 이를 통해 사용자는 이벤트 콜백 내에서 리스너가 등록될 때 요청 간에 정리되어야 할 이벤트 이름을 선언할 수 있습니다. 이벤트 리스너 재설정를 참조하세요.
기타
builds:
builds스크립트(codeigniter4/appstarter용)에서4.7.x를 다음 마이너 버전4.8.x-dev로 전환하는next인자가 추가되었습니다. 최신 개발 버전을 참조하세요.
버그 수정
ContentSecurityPolicy: CSP가 비활성화되었을 때 생성된 HTML에서 사용자 정의 CSP 태그가 제거되지 않는 버그가 수정되었습니다. 이제 이 메서드는 생성된 HTML에서 모든 사용자 정의 CSP 태그가 제거되도록 보장합니다.
ContentSecurityPolicy:
generateNonces()가 이스케이프되지 않은 이중 따옴표로 CSP 논스 플레이스홀더를 대체하여 손상된 JSON 응답을 생성하는 버그가 수정되었습니다. 이제 응답 Content-Type이 JSON일 때 이 메서드가 자동으로 논스 속성을 JSON 이스케이프합니다.ContentSecurityPolicy:
getScriptNonce()와getStyleNonce()로 생성된 논스가script-src-elem와style-src-elem지시문에 추가되지 않아, 해당 지시문이 있을 때 브라우저가 논스를 자동으로 무시하는 버그가 수정되었습니다.CURLRequest: 이유 구문이 없는 HTTP/2 응답(예:
HTTP/2 200)이 올바르게 파싱되지 않아 상태 코드와 프로토콜 버전이 무시되는 버그가 수정되었습니다.Database:
BaseConnection::callFunction()이 이미 접두사가 붙은 함수 이름에 접두사를 두 번 붙일 수 있는 버그가 수정되었습니다.Database:
BasePreparedQuery::prepare()가 너무 광범위한 명명된 플레이스홀더 치환으로 인해 콜론 구문이 포함된 SQL을 잘못 처리할 수 있는 버그가 수정되었습니다. 이제::timestamp같은 PostgreSQL 캐스트 구문이 보존됩니다.Database: 설정 배열(
.env재정의 포함)의 문자열 값이 타입이 지정된 연결 속성에 대해 정규화되지 않아synchronous와busyTimeout같은 SQLite3 옵션이 잘못된 타입으로 할당될 수 있는 버그가 수정되었습니다.Model:
updateOnlyChanged가true이고 인덱스 필드 값이 변경되지 않을 때BaseModel::updateBatch()가 예외를 발생시키는 버그가 수정되었습니다.Model:
Model::chunk()가 반복 끝에 불필요한 추가 데이터베이스 쿼리를 실행하는 버그가 수정되었습니다.chunk()는 이제 양수가 아닌 청크 크기로 호출될 때InvalidArgumentException도 발생시킵니다.Session:
savePath가 비어 있지 않을 때MemcachedHandler생성자가 잘못 예외를 발생시키는 버그가 수정되었습니다.Testing:
FeatureTestTrait::withRoutes()에서 유효하지 않은 HTTP 메서드가 올바르게 유효성 검사되지 않아 모두RouteCollection에 전달되는 버그가 수정되었습니다.Toolbar:
?debugbar_time=...에서 로드된 독립형 툴바 페이지가 상호작용이 불가능한 버그가 수정되었습니다.Toolbar: Routes 패널에서 마우스를 올렸을 때 첫 번째 라우트 매개변수만 입력 필드로 변환되는 버그가 수정되었습니다.
Validation:
valid_cc_number규칙이 이제 올바른 번역을 가집니다.Validation: 와일드카드 필드(예:
contacts.friends.*.name) 사용 시 키가 누락된 배열 요소에 대해 규칙이 실행되지 않는 버그가 수정되었습니다.View:
appOverridesFolder설정 속성이 정의되지 않은 경우View가 오류를 발생시키는 버그가 수정되었습니다.
수정된 버그의 전체 목록은 저장소의 CHANGELOG.md를 참조하세요.