버전 4.0.4

릴리즈 날짜: 2020년 7월 15일

CodeIgniter4의 4.0.4 릴리즈

주요 변경사항

  • FilterInterfaceafter()before()$arguments 파라미터가 추가되었습니다. 이는 주요 변경사항이므로 FilterInterface를 구현하는 모든 코드를 업데이트해야 합니다.

개선 사항

  • SQLite3 데이터베이스의 위치가 변경되었으며, 기본적으로 이제 public 폴더 대신 writable 폴더에 위치합니다.

  • 새로운 CLI 명령: 현재 캐시 엔진의 모든 데이터를 삭제하는 cache:clear가 추가되었습니다.

  • samsonasik 덕분에 여러 라이브러리가 100% 테스트 커버리지를 달성했습니다.

  • 몇 가지 소폭의 성능 향상이 이루어졌습니다. 작은 차이도 중요합니다!

  • 데이터베이스 결과 클래스의 getFieldData()가 이제 컬럼 타입과 길이를 반환합니다.

  • 기본 .htaccess 파일이 확장 문자와 더 잘 작동하도록 업데이트되었습니다.

  • 새로운 테스트 기능: Fabricator를 사용하면 테스트에서 모의 클래스를 간단하고 반복적으로 생성할 수 있습니다.

  • Model 클래스의 콜백을 이제 런타임에 오버라이드할 수 있습니다. 테스트에 유용합니다.

  • 기능 테스트에 대한 다양한 개선이 이루어졌습니다.

  • CLI 명령을 프로그래밍 방식으로 실행하기 위한 새로운 command() 헬퍼 함수가 추가되었습니다. 테스트 및 크론 작업에 유용합니다.

  • 데이터베이스 Seed 클래스 스켈레톤 파일을 생성하는 새로운 명령 make:seeder가 추가되었습니다.

  • 이제 Windows의 CLI에서 색상을 사용할 수 있으며, 기타 Windows 관련 CLI 개선 사항도 포함됩니다.

  • url_title()처럼 작동하지만 확장 URL 문자를 자동으로 이스케이프하는 새로운 헬퍼 mb_url_title()가 추가되었습니다.

  • 이미지 라이브러리가 이제 webp 이미지를 지원합니다.

  • 라우터의 정규 표현식에 유니코드 지원이 추가되었습니다.

  • delete_files() 헬퍼에서 숨겨진 폴더 제거 지원이 추가되었습니다.

  • Request 클래스의 fetchGlobal()이 이제 첫 번째 항목뿐만 아니라 데이터 배열에 필터를 적용할 수 있습니다.

  • file 유효성 검사가 이제 파일 배열과 함께 작동합니다.

  • URI 클래스가 이제 예외 발생을 비활성화하는 setSilent() 메서드를 지원합니다.

  • URI::getSegment()에 새로운 인수가 추가되어 아무것도 없을 때 반환되는 기본값을 변경할 수 있습니다.

  • Image에 withResource()가 구현되어 제공된 getResource()(테스트에서 사용)를 사용하는 대신 메서드 체이닝을 사용할 수 있습니다. 이미지 압축에 활용할 수 있습니다.

  • 새로운 withCookies()withHeaders() 메서드를 사용하여 리다이렉트 시 전역 Response 객체에서 쿠키와 헤더를 복사할 수 있습니다.

  • 암호화 클래스$key 파라미터나 .env 파일에서 사용할 수 있는 특수 접두사 “hex2bin:”이 지원됩니다.

버그 수정

  • 기본적으로 SQLite3 데이터베이스가 이제 public 폴더 대신 writable 폴더에 위치하도록 위치가 수정되었습니다.

  • force_https()https://를 두 번 추가할 수 있는 버그가 수정되었습니다.

  • 잘못된 “100 Continue” 헤더가 발생할 수 있는 CurlRequest 버그가 수정되었습니다.

  • $target 파라미터가 null일 때 Image::save()의 버그가 수정되었습니다.

  • $default 파라미터가 true로 설정될 때 set_checkbox()set_radio()의 버그가 수정되었습니다.

  • Model 클래스의 결과 객체 처리가 수정되었습니다.

  • SQLite 데이터베이스의 이스케이프 문자가 수정되었습니다.

  • 기본 키가 null일 때 Postgres와 Entity에서 삽입 시 발생하는 문제가 수정되었습니다.

  • CLI 스크립트가 이제 인수 내의 대시를 올바르게 인식할 수 있습니다.

  • CURLRequest가 이제 멀티파트 데이터와 함께 콘텐츠 길이를 올바르게 설정합니다.

  • ImageMagick 핸들러의 기타 안정성이 개선되었습니다.

  • 설정 파일 내에서 유효성 검사 오류를 설정하는 것이 이제 작동합니다.

  • Entity에서 JSON을 저장할 때 유니코드 문자가 이스케이프되지 않습니다.

  • 사용자 정의 HTTP 코드로 리다이렉트가 이제 올바르게 작동합니다.

  • Time::setTimezone()이 이제 올바르게 작동합니다.

  • Postgres에 대한 full outer join 지원이 추가되었습니다.

  • fill() 처리 중 Entity의 일부 캐스트 항목(array, json 등)이 올바르게 설정되지 않았던 문제가 수정되었습니다.

  • 특정 경우 이미지를 두 번 압축하려고 했던 Image GD 핸들러의 버그가 수정되었습니다.

  • 선택된 로케일, 대시가 포함된 로케일, 폴백 “en”에서 번역 출력 로직이 올바르게 작동하도록 보장합니다.

  • PostgreSQL에서 API를 통한 POST/PUT 시 is_unique/is_not_unique 유효성 검사가 수정되었습니다.

  • 필터 인수가 after()에 전달되지 않던 버그가 수정되었습니다.

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