CakePHP 2.6.7 がリリースされました

本日(5/28)、2.6.6をリリースしました。これはphpのバージョンが5.4以下の場合にシンタックスエラーを起こします。2.6.7でそれを修正しました。もしphp5.4.0以下で動作させているのであれば、2.6.6ではなく2.6.7にアップグレードしてください。
セキュリティフィックスを含んでいたため、リリース前にすべてのphpのバージョンで動作するかという通常の手順を経ませんでした。これは間違いであり、二度と起きないよう注意いたします。

訳者注:githubのリンクはこちら

CakePHP 2.6.6 と 3.0.6 がリリースされました

CakePHPコアチームはCakePHP 2.6.6と3.0.6が入手可能になったことをお知らせいたします。これらは重要なセキュリティフィックスを含むメンテナンスリリースです。

セキュリティフィックス

今週のはじめに、巧妙に作成されたリクエストからサービス不能に陥る攻撃を作成できてしまうというRequestHandlerComponent の脆弱性についてお知らせしました。RequestHandlerComponent は Xml::build() を使ってローカルファイルの読み込みを許してしまいます。
RequestHandlerComponent を使用するすべてのアプリケーションでアップグレードを行なうか、XMLペイロードの構文解析を使用しないことをおすすめします。XMLペイロードの構文解析の使用を停止するには、以下のように行います。

// コントローラのbeforeFilterで
$this->RequestHandler->addInputType('xml', function() { return []; });

上記のコードにより、組込まれているXMLパーサを何も処理しないファンクションに置き換えることができます。セキュリティ問題の報告(日本語)から知らせてくれた Takeshi Terada さんに感謝します。
訳注:原文はこちら

2.6.6のその他の修正

  • FormHelper::radio() は、マルチバイトの値を使ったラジオボランでID属性を正しく生成するようになった
  • Inflector::humanize() と Inflector::underscore() はUTF8の文字列を正しく扱うようになった

3.0.6のその他の修正

  • FormHelper::radio() は、マルチバイトの値を使ったラジオボランでID属性を正しく生成するようになった
  • Inflector::humanize() と Inflector::underscore() はUTF8の文字列を正しく扱うようになった
  • FormHelper::postLink() のURLを二重エンコードする問題を修正
  • PaginatorHelper::numbers() で、urlオプションをサポート
  • 例外のログで、Error.trace が優先されるようになった
  • 3.0.3で導入されたエンティティアクセサは削除された。問題を多く引き起こし、パフォーマンスを素晴らしく改善するようなものではなかったため。
  • EntityTrait::getOriginal() と EntityTrait::extractOriginal() は以前はnullを返していたが値を返すように修正
  • 関連のクエリビルダで、カラのクエリを使用すると無効なSQLが生成される問題を修正

バグレポートやプルリクエストによりこのリリースに関わってくださったコミュニティの皆さんすべてに感謝しています。

githubよりパッケージリリースのダウンロード

CakePHP 2.6.5 がリリースされました

CakePHP コアチームは CakePHP 2.6.5 が入手可能になったことをお知らせいたします。これは2.6系のメンテナンスリリースになります。

2.6.5 の変更点の概要は以下のとおりです。

  • input()でフォームフィールド「年」が作成された場合、期待通り動作するようになった
  • HTTPステータスコード429のサポートの追加
  • JsonView で、ビュー変数 _jsonOptions がサポートされ、json_encode() で使用されるシリアライズオプションを設定できるようになった
  • XmlView で、ビュー変数 _xmlOptions がサポートされ、XML生成時に使用されるシリアライズオプションを設定できるようになった
  • web runnerのコードカバレッジで、アプリケーションファイルでないファイルでも動作するようになった
  • SchemaShell は、pやhで終了するファイル名を壊さないようになった
  • Inflectorで、イレギュラーな複合語の名詞が正しく活用できるようになった。これまでは最初と2番目の単語の間の文字が転置されてしまっていた
  • 省略可能なすべてのHTML5属性がHtmlHelperに追加された
  • サブクエリやバーチャルフィールドのテーブルエイリアスの識別子の引用符が修正された

このリリースに関わってくださった皆さんに感謝します。バグチケット、ドキュメントの編集、パッチやプルリクエストはCakePHPを大いに活かし、支えるものです。
githubよりパッケージリリースのダウンロード