CakePHPコアチームはCakePHP 3.0.11 と 3.1.0 ベータ2が入手可能になったことをお知らせいたします。これらはバグフィックスやセキュリティの修正を含むメンテナンスリリースです。
セキュリティフィックス
CakePHPアプリケーションのセキュリティに関連した問題が2点あります。
- Cake\ORM\Query::where() で、スタティックメソッドが呼び出せてしまう。これは、意図しない副作用や、予期しないクエリ操作を生成できてしまいます。
- Validation::compare() と、Validation::range() で、過去の特定の条件から細工されたデータを可能にしてしまう
Kurita Takashi氏の CsrfComponent についての セキュリティ問題の報告(英語)からの報告に感謝します。すべてのCakePHPユーザにできるだけ早い 3.0.11 または 3.1.0-beta への移行をおすすめします。
バグフィックス
セキュリティフィックスに加え、いずれのブランチにも以下の修正が含まれています。
- Hash::insert() と Hash::remove() はどの深度の属性にもマッチするようになった
- Table::get() は、カスタムファインダを get() で結合できるようオプションをサポートするようになった
- Windowsユーザーで、ターミナルアプリケーションのConEmuを使用している場合にターミナルの色が使用可能になった
- 条件なしの Query::matching() 操作がエラーを起こさなくなった
- 配列パラメータでの requestAction() で、すべてのデフォルトルーティングパラメータを含むようになった
- View::prepend() で、start() のようなキャプチャリングメソッドをサポートするようになった
- contain() メソッドでエイリアス名のタイポにより無効な結果セットを生成する代わりに例外を送出するようになった
- Http\Client で、複雑なマルチパートのリクエストのサポートが改善された
- PaginatorHelper::numbers() で、0の係数をサポート
- DateTime インスタンスがコレクションによってソートされるようになった
変更点の詳細については、リリースノートを参照してください。