バージョン 4.1.6

リリース日: 2022年1月3日

CodeIgniter4 の 4.1.6 リリース

セキュリティ

  • old() 関数に見つかった *信頼できないデータのデシリアライゼーション* が修正されました。詳細は セキュリティアドバイザリ を参照してください。

破壊的変更

  • 複数のテーブル名が BaseBuilder::$tableName に格納されなくなりました。代わりに空の文字列が使用されます。

バリデーションの変更

  • 以前のバージョンのバリデーションは、配列項目を処理できません。バグ修正のため、バリデーション結果が異なる場合や、TypeError が発生する場合があります。ただし、以前のバージョンの結果は正しくない可能性があります。

  • バリデーションでは、contacts.*.name のような複数フィールドと単一フィールドのバリデーションプロセスを分けていました。単一フィールドに配列データがある場合、以前のバージョンは配列の各要素を検証していました。バリデーションルールは、配列の要素をパラメータとして受け取ります。一方、現在のバージョンは、配列全体をバリデーションルールに渡します。

機能強化

  • PHP 8.1 を完全にサポート。

  • デバッグツールバーのデータベースペインに、クエリが呼び出された場所が表示されるようになりました。また、完全なバックトレースも表示されます。

  • QueryBuilder の サブクエリ は、BaseBuilder クラスのインスタンスにすることができます。

  • Kint が ^3.3 から ^4.0 にアップデートされました。

変更

  • Cookie を送信するプロセスが Response クラスに移動されました。 Security クラスと CookieStore クラスは Cookie を送信せず、Response に設定します。

非推奨

  • Seeder::faker()Seeder::$faker は非推奨になりました。

  • BaseBuilder::cleanClone() は非推奨になりました。

Cookie の送信

Cookie を送信するプロセスが Response クラスに移動されました。そして、以下のメソッドは非推奨になりました.

  • CookieStore::dispatch()

  • CookieStore::setRawCookie()

  • CookieStore::setCookie()

  • Security::sendCookie()

  • Security::doSendCookie()

バグ修正

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