버전 4.1.5
릴리즈 날짜: 2021년 11월 8일
CodeIgniter4의 4.1.5 릴리즈
주요 변경사항
CSRF 보호에 관한 버그가 수정되었습니다. 이제 CSRF 필터가 적용될 때 PUT/PATCH/DELETE 요청에서도 CSRF 보호가 작동합니다. 이러한 요청을 사용하는 경우 CSRF 토큰을 전송해야 합니다.
이전 버전에서는 버그로 인해 자체 헤더를 제공하지 않은 경우
CURLRequest가 브라우저의 요청 헤더를 전송했습니다. 이 버전부터는 해당 헤더를 전송하지 않습니다.testMode에서BaseBuilder::insertBatch()의 반환값이 수정되었습니다. 이제 영향받은 행 수 대신 SQL 문자열 배열을 반환합니다. 이 변경은 배치 메서드의 반환 타입 간 호환성을 유지하기 위한 것입니다. 이제BaseBuilder::insertBatch()의 반환 데이터 타입이 updateBatch() 메서드와 동일합니다.BaseBuilder::insertBatch()와BaseBuilder::updateBatch()메서드에서 데이터 처리 방식에 대한 주요 최적화가 이루어졌습니다. 이로 인해 메모리 사용량이 줄고 쿼리 처리 속도가 향상되었습니다. 그 대신$query->getOriginalQuery()메서드가 생성하는 결과가 변경되었습니다. 이제 바인딩된 파라미터가 포함된 쿼리 대신 실제 실행된 쿼리를 반환합니다.
개선 사항
예약된 문자에 대한 Cache 설정이 추가되었습니다.
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을 참조하십시오.