버전 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 보호가 추가되었습니다.

  • Validationvalid_url_strict 규칙이 추가되었습니다.

  • 디버그 툴바
    • 타임라인에 포맷된 쿼리 문자열이 추가되었습니다.

    • 쿼리 문자열의 키워드 하이라이팅 및 이스케이프가 개선되었습니다.

변경 사항

  • BaseBuilderset, setUpdateBatch, insertBatch 함수에서 식별자가 항상 이스케이프됩니다.

사용 중단

  • CodeIgniter\Cache\Handlers\BaseHandler::RESERVED_CHARACTERS가 새로운 설정 속성으로 대체되어 사용 중단되었습니다.

버그 수정

수정된 버그의 전체 목록은 저장소의 CHANGELOG_4.1.md을 참조하십시오.