Django 1.1.2 リリースノート

revision-up-to:17812 (1.4)

Django 1.1.2 にようこそ!

これは Django 1.1 シリーズ 2 回目の「バグ修正」リリースで、安定性とパフォーマン スを向上します。

Django 1.1.2 は Django 1.1.0 との後方互換性を維持していますが、いくつかの修正と 改善を含んでいます。Django 1.1 を使用中、あるいは Django 1.1 をターゲットに開発・ デプロイしている場合、Django 1.1.2 へのアップグレードを推奨します。

1.1 ブランチでの新機能、後方互換性が維持されない点、そして非推奨になる機能の 詳細については Django 1.1 release notes を参照してください。

1.1.2 における後方互換性の無い変更点

テストランナの終了ステータスコード

テストランナ (tests/runtests.pypython manage.py test) の終了ステータ スコードは、失敗したテストの数を表すものではなくなりました。256 回以上テストに 失敗すると不正なステータスコードになってしまうからです。今後、テストランナの 終了ステータスコードは、0 が成功 (失敗したテストが無い) 、1 が (任意の数の) テスト失敗を表します。もし失敗したテストの数が必要でしたら、テストランナの出力の 最後で確認できます。

クッキーのエンコーディング

Internet Explorer、 Safari の (もしかすると他のブラウザにもあるかもしれませんが) クッキーのバグを修正するため、コンマとセミコロンが安全でない文字として扱われ、そ れぞれ \054 および \073 とエンコードされるようにクッキー値のエンコーディ ング方法を変更しました。特にコンマやセミコロンをクッキーに入れており、クライアン トサイトでクッキー値を解析・操作するような javascript コードがある場合、この変更 は後方互換性を破壊するかもしれません。

新しい一つの機能

通常、ポイントリリース (訳注: マイクロリリース) は新機能を含みませんが、私達は Django 1.1.2 をこのルールの例外としました。Django 1.2 (次の Django のメジャー リリース) はクロスサイトリクエストフォージェリ (CSRF) 攻撃に対するより良い防御を 含みます。この機能では、Django がレンダリングするすべてのフォームにて新しい csrf_token テンプレートタグを使う必要があります。

1.1.X と 1.2.X の両バージョンの Django が同じテンプレートを簡単にサポートできる ようにするため、私達は新しい csrf_token テンプレートタグを 1.1.X ブランチに導入することを決めました。1.1.X ブランチでは、 csrf_token は 何もしません - フォーム処理にもテンプレートにも一切影響を与えません。しかし、 これはつまり Django 1.2 で同じテンプレートが動作することを意味しています。