CakePHPコアチームはCakePHP 3.0.9 が入手可能になったことをお知らせいたします。これは3系のメンテナンスリリースになります。
バグフィックス
3.0.9の変更点の概要は以下のとおりです。詳細はchangelogをご覧ください。
- MySQLのインデックスと制約のリフレクションで、現在のデータベースをスコープするようになった
- ObjectRegistryキーとして「.」が使用可能になった。これによりキャッシュ設定の名前に「.」が使えるようになった
- Datetimeのバリデーションで、午前午後の値を扱えるようになった
- APIドキュメントの改善
- カスタムルールでのページネーションリンクの生成が修正された
- Entity::extractOriginalChanged() でプロパティを返すようになった
- 既存のエンティティのbelongsToManyのアソシエーションで、_joinData のマーシャリングを正しく扱えるようになった
- Text::tokenize() で、セパレータがマルチバイト文字の場合でも期待通り動作するようになった
- i18n抽出で生成されたフォルダが正しいパーミッションを指定するようになった
- afterSaveイベントのあとで、エンティティは「clean」とマークされるようになった
- ORMは、hasMany と belongsToMany のアソシエーションで実際には変更されていないレコードに対するUPDATE文を発行しなくなった
- Response::file() で、「..」を含むファイルを受け付けるようになった
改善点
3.0のパッチリリースには幾らかの小さな新機能が追加されています、3.0.9では以下の新機能が追加されました
- アソシエーションで、bindingKey() を定義できるようになった。主キー以外の列でもバインドできるようになった。foreignKey => false の定義を削除するため。
- コレクションはシリアライズ・アンシリアライズが簡単にできるようになった。コレクションのキャッシュが簡単になった
- debugが0の場合、例外の属性がログに出力されなくなった
- Response::body() で、コンテンツをechoするかレスポンス本文を返すかを呼び出し可能になった
- Email::configuredTransport() が追加され、設定済みのemailトランスポートの列挙が可能になった
- 文字列テンプレートで、変数名に「.」や「_」が使えるようになった。Hash::flatten() で生成された配列との互換性が改善された
- カスタムTypeクラスで、単純なタイプにマップするbaseTypeが定義できるようになった。これにより FormHelper がカスタムタイプの入力域を生成するのが容易になった
- i18nの抽出で、–no-locationオプションをサポート。生成されたPOTファイルにロケーションのコメントを出力しなくなる
いつもながら、問題報告やプルリクエストにより、このリリースの実現を支えてくれたコミュニティの皆さんに感謝します。
githubよりパッケージリリースのダウンロード