CakePHPコアチームはCakePHP 3.1.8が入手可能になったことをお知らせいたします。これは3.1系のメンテナンスリリースで、コミュニティから寄せられた幾つかの問題を修正するものです。
バグフィックス
3.1.8の変更点の概要は以下のとおりです。すべての変更点については changelog を参照してください。
- 条件付きの BelongsToMany アソシエーションで matching() メソッドを使用した場合に無効なSQLを生成しなくなった(@markstory)
- 生成された相互の BelongsToMany アソシエーションで、元の条件句を適用させるようになった (@markstory)
- Inflector::camelize() で、結果を受け取るようになった (@ypnos-web)
- ConnectionManager::config() で、オブジェクトをそのまま複製することはなくなった (@lorenzo)
- Postgres のスキーマ反映で、接続先のスキーマの制約を読み込みするようになった (@lorenzo)
- Memcached がUNIXのドメインソケットに接続できるようになった (@tersmitten)
- TreeBehavior はフィールド更新時にExpression オブジェクトを使用する。これにより、識別子のクオートが必要なデータソースとの互換性が向上する。(@skiedr, @lorenzo)
- CRLFが存在するときの TextHelper::autoLink() の不正な動作を修正した。 (@jeremyharris)
- TestCase::assertHtml() で、引数にfullDebugを取る場合に、ドキュメントどおり動作するようになった。 (@jeremyharris)
- ヘルパーは javascript の確認メッセージに改行を許可するようになった。 (@markstory)
- cakephp / coreがスタンドアロンコンポーネントとして使用されている場合に、cakephp-plugins.phpファイルを配置できるようになった。 (@harikt)
- シミュレートされたGETリクエスト(メソッドのオーバーライドによる)は、もはやPOSTデータが入力されなくなった。これにより、GETリクエストが意図しない副作用を引き起こす可能性のあるPOSTリクエストのようになるのを防ぐことができる。 (@lorenzo)
- SecurityComponent は、$request->dataの有無にかかわらず検証するようになった。これにより SecurityComponent は PATCH リクエストや DELETE リクエストにも適用できるようになった。 (@markstory, @chinpei215)
- Controller::$name は、基底のルートクラスを使用している場合に、正しく語形変化されるようになった。 (@markstory)
機能拡張
- フィクスチャで、public $import = [‘model’ => ‘Articles’] により定義済みのモデルからスキーマやレコードをインポートできるようになった (@dereuromark)
- API ドキュメントの改善 (@bcrowe, @Mathieu, @Tzaoh, @Sergey, @luke83)
- ConnectionManager::config() now accepts a callable. これによりLog::config()と一貫する (@lorenzo)
- Query::set() now accepts a builder callable. (@lorenzo)
- Database\Type で、set() メソッドによりオブジェクトの注入が可能になった (@jadb)
- SQL クエリログで、実行時間と返却行数が含まれるようになった (@Bernat Arlandis)
- エラーログに可能な限りリファラURLが含められるようになった (@flavius)
いつもながら、問題報告やプルリクエストにより、このリリースの実現を支えてくれたコミュニティの皆さんに感謝します。
github よりパッケージリリースのダウンロード