バージョン 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を使用すると、テストでモッククラスの作成が簡単になり、繰り返し実行できます。

  • モデルクラスでは、コールバックをランタイム時にオーバーライドできるようになりました。テストに役立ちます。

  • 機能テスト全般にいくつかの改善が行われました。

  • 新しいcommand()ヘルパー関数を使用して、CLIコマンドをプログラムで実行できます。テストやcronジョブに役立ちます。

  • 新しいコマンドmake:seederを使用して、Database Seedクラスのスケルトンファイルを作成できます。

  • WindowsでもCLIでカラーを使用できるようになりました。その他にもWindows関連のCLI改善が含まれています。

  • 新しいヘルパーmb_url_title()url_title()のように機能しますが、拡張URL文字を自動的にエスケープします。

  • Imageライブラリwebp画像をサポートするようになりました。

  • ルーターにUnicode対応の正規表現のサポートを追加しました。

  • delete_files()ヘルパーで非表示フォルダの削除をサポートしました。

  • RequestクラスのfetchGlobal()は、最初のアイテムだけでなく、データの配列にもフィルタを適用できるようになりました。

  • fileバリデーションは、ファイルの配列で機能するようになりました。

  • URIクラスは、例外のスローを無効にするsetSilent()メソッドをサポートするようになりました。

  • URI::getSegment()に新しい引数を追加しました。これにより、何も存在しない場合に返されるデフォルト値を変更できます。

  • ImageにwithResource()を実装しました。これにより、提供されたgetResource()を使用する代わりにメソッドチェーンを使用できます(テストで使用)。画像を圧縮するだけです。

  • 新しいwithCookies()メソッドとwithHeaders()メソッドを使用してリダイレクトを実行する場合、グローバルResponseオブジェクトからクッキーとヘッダーをコピーできます。

  • Encryptionクラスまたは.envファイルで$keyパラメーターで使用できる特別なプレフィックス「hex2bin:」をサポートしました。

バグ修正

  • デフォルトではpublicフォルダではなくwritableフォルダに配置されるようになったSQLite3データベースの場所を修正しました。

  • force_https()が2回目にhttps://を追加する可能性があったバグを修正しました。

  • 不正確な「100 Continue」ヘッダーが発生する可能性があったCurlRequestのバグを修正しました。

  • $targetパラメーターがnullの場合のImage::save()のバグを修正しました。

  • set_checkbox()set_radio()のバグ修正($ defaultパラメーターがtrueに設定されている場合)。

  • Modelクラスでの結果オブジェクト処理のバグ修正。

  • SQLiteデータベースのエスケープ文字を修正しました。

  • 主キーがnullの場合のPostgresとエンティティへの挿入のバグを修正しました。

  • CLIスクリプトは、引数内のダッシュを正しく認識できるようになりました。

  • CURLRequestは、マルチパートデータでコンテンツ長を正しく設定するようになりました。

  • ImageMagickハンドラの安定性の改善。

  • 設定ファイル内のバリデーションエラーの設定が機能するようになりました。

  • エンティティからJSONを保存するときに、Unicode文字がエスケープされなくなりました。

  • カスタムHTTPコードでリダイレクトが正しく機能するようになりました。

  • Time::setTimezone()が正しく機能するようになりました。

  • Postgresへのフル外部結合のサポートを追加しました。

  • エンティティの一部のキャストアイテム(配列、jsonなど)は、fill()処理中に正しく設定されていませんでした。

  • 特定のケースで画像を2回圧縮しようとしていたImage GDハンドラのバグを修正しました。

  • 選択されたロケール、ダッシュ付きロケール、フォールバック「en」で翻訳出力ロジックが機能することを確認しました。

  • PostgreSQLでAPI経由でPOST / PUTで呼び出されたis_unique / is_not_uniqueバリデーションのバグを修正しました。

  • フィルタ引数がafter()に渡されていなかったバグを修正しました。

修正されたバグの完全なリストについては、リポジトリのCHANGELOG_4.0.mdを参照してください。