Django 1.0 beta 1 リリースノート
revision-up-to: | 8961 (1.0) |
Django 1.0 beta 1 にようこそ!
このリリースは、来るべき Django 1.0 リリースにつながる 3 番目のプレビュー/
開発者向けリリースです。1.0 のリリースは 9 月初頭を予定しています。このリリー
スでは、主に Django のコードベースをテストしたい開発者や、 1.0 の最終リリー
スに向けてバグ修正を手伝う開発者をターゲットにしています。
従って、このリリースは実運用向きでは ありません 。くれぐれも実運用の目的
では使わないでください。
Django 1.0 beta 1 で新たに登場した機能
ここ数年、我々は Django の trunk ソースツリーでほぼずっと活発に開発を続け、
0.96 リリース以降、大きな機能をいくつも投入してきました。 Django 1.0 alpha
1 で新たに登場した機能は、 1.0 alpha 1 リリースノート を参照してください。 Django 1.0 alpha 2 で新たに登
場した機能は、 1.0 alpha 2 リリースノート を
参照してください。
この beta リリースでは主要な新機能は追加していませんが、変更点や改良点がい
くつかあります:
- forms と admin への一般化リレーションの組み込み
- 一般化リレーションのクラスを django.contrib.contenttypes に移し、
admin インタフェースやエンドユーザのフォームでもサポートしました。
詳しくは 一般化リレーションのドキュメント
を参照してください。
- admin のフレキシビリティ向上
- 1.0 alpha で行った Django の admin インタフェース
(django.contrib.admin) のリファクタリングに続いて、2 つのフックを追
加し、admin でモデルインスタンスを操作するときに pre-svave および
post-save 処理をカスタマイズできるようにしました。詳しくは
admin のドキュメント を参照してください。
- INSERT/UPDATE の使い分け
- Django で save() メソッドを呼び出したとき、SQL レベルで INSERT
と UPDATE のどちらを使うかの区別は、ほとんどの場合デフォルトの挙動
で問題ありませんが、たまにどちらかを強制的に用いたほうがよい場合があり
ます。そこで、モデルの save() にパラメタを追加して、実行する SQL を
強制できるようにしました。詳細と、パラメタを使うときの重要な注意点を、
データベース API のドキュメントに記載してあります。
- CacheMiddleware の分割
- Django の CacheMiddleware を 3 つのクラスに分割しました。
CacheMiddleware 自体はまだあり、以前の機能をそのまま残していますが、
実際には二つの別々のミドルウェア (キャッシュにデータを入れるミドルウェ
アと、キャッシュからデータを取り出すミドルウェア) からなっていて、一つ
のミドルウェアにまとまっていると起きる問題を回避できます。正しい使い方
などの詳細は:ref:キャッシュのドキュメント <topics-cache> に記載してい
ます。
- 撤廃された機能の除去
- 以前のバージョンで撤廃した機能としてマークしていた機能や、 1.0 のリリー
スに先だって除去を予定していた機能を Django から取り去りました。除去し
た機能には、import パス django.newforms (django.forms で import
できます) や form_for_model, form_for_instance といったヘルパ関
数 (ModelForm に置き換わりました)、そしてディスパッチャやファイルアッ
プロード、ファイルストレージリファクタリングなどで置き換えられた機能な
どがあります。詳しいリストや、その他互換性のない変更は Django の wiki にあります。
その他にも、 MySQL のコレーションを変更したときの大小文字の区別のようなトリッ
キーなケースの解決や、 Windows のパッケージやインストールに関する改善、
Django に一意なセッション識別子を生成させるメソッドの頑健化など、たくさんの
改良やバグフィクスが入っています。
Django 1.0 のロードマップ
この beta リリースの主要な目的の一つは、 Django 1.0 に実装する予定の機能
のうち、まだ終っていないものや、最終リリースまでに修正しておかねばならない
バグを見極めることです。このリリースの後、ベータリリースとリリース候補版に
向けて一連のスプリントを実施し、すぐに Django 1.0 をリリースします。タイム
ラインは以下のように計画しています:
- 2008 年 8 月 15 日: スプリント (米国 Texas 州 Austin とオンラインで)
- 2008 年 8 月 17 日: Sprint (イスラエル Tel Aviv とオンラインで)
- 2008 年 8 月 21 日: Django 1.0 release candidate 1. この時点で、
Django のコードベース内で翻訳対象にマークしている文字列全てをフリーズし、
翻訳作業の貢献者が 1.0 の最終リリースにバンドルする翻訳ファイルをチェック
して修正できるようにします。
- 2008 年 8 月 22 日: Sprint (米国 Oregon 州 Portland とオンラインで)
- 2008 年 8 月 22 日: Sprint (米国 Oregon 州 Portland とオンラインで)
- 2008 年 8 月 26 日: Django 1.0 release candidate 2.
- 2008 年 8 月 30 日: Sprint (英国 England, London とオンラインで)
- 2008 年 9 月 2 日: Django 1.0 final リリース。 9 月 6,7 にマウンテン
ビューで開催される DjangoCon で、 Django 1.0 リリースパーティ。
もちろん、予定のタイムラインなので、状況によって変更する可能性もあります。
最新情報は Django プロジェクトの wiki に掲載します:
http://code.djangoproject.com/wiki/VersionOneRoadmap
リリース作業で手伝えること
高い品質の 1.0 リリースを提供するために、皆さんの手助けが必要です。先にも述
べたように、この beta リリースは実運用向けでは ありません 。安全なテスト
環境で使ってみて、バグや問題を見付けたら Django の開発チームに報告してくだ
さい。自分の発見した問題がすでに明らかでないか、 Django のチケットトラッカ
を使って探してください:
http://code.djangoproject.com/timeline
発見した問題に対応するチケットが見付からなければ、新たなチケットをオープン
してください。
また、 1.0 リリースに向けての進捗を含め、 Django の開発に関する議論は、
django-developers メーリングリスト:
http://groups.google.com/group/django-developers
と、IRC サーバ irc.freenode.net の #django-dev チャネルで常時行って
います。 Django の開発を手伝いたいのなら、ぜひ参加して、議論に加わってくだ
さい。
Django プロジェクトへの貢献方法は、オンラインドキュメントにも記載しています:
contributing to Django
コードの開発、ドキュメントの作成、そしてチケットのトリアージや、誰かの提出
したバグフィクスのテストなど、どんなレベルの貢献でも歓迎します。