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 レベルで INSERTUPDATE のどちらを使うかの区別は、ほとんどの場合デフォルトの挙動 で問題ありませんが、たまにどちらかを強制的に用いたほうがよい場合があり ます。そこで、モデルの save() にパラメタを追加して、実行する SQL を 強制できるようにしました。詳細と、パラメタを使うときの重要な注意点を、 データベース API のドキュメントに記載してあります。
CacheMiddleware の分割
Django の CacheMiddleware を 3 つのクラスに分割しました。 CacheMiddleware 自体はまだあり、以前の機能をそのまま残していますが、 実際には二つの別々のミドルウェア (キャッシュにデータを入れるミドルウェ アと、キャッシュからデータを取り出すミドルウェア) からなっていて、一つ のミドルウェアにまとまっていると起きる問題を回避できます。正しい使い方 などの詳細は:doc:キャッシュのドキュメント </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 に掲載します:

リリース作業で手伝えること

高い品質の 1.0 リリースを提供するために、皆さんの手助けが必要です。先にも述 べたように、この beta リリースは実運用向けでは ありません 。安全なテスト 環境で使ってみて、バグや問題を見付けたら Django の開発チームに報告してくだ さい。自分の発見した問題がすでに明らかでないか、 Django のチケットトラッカ を使って探してください:

発見した問題に対応するチケットが見付からなければ、新たなチケットをオープン してください。

また、 1.0 リリースに向けての進捗を含め、 Django の開発に関する議論は、 django-developers メーリングリスト:

と、IRC サーバ irc.freenode.net#django-dev チャネルで常時行って います。 Django の開発を手伝いたいのなら、ぜひ参加して、議論に加わってくだ さい。

Django プロジェクトへの貢献方法は、オンラインドキュメントにも記載しています:

  • Django に貢献する

コードの開発、ドキュメントの作成、そしてチケットのトリアージや、誰かの提出 したバグフィクスのテストなど、どんなレベルの貢献でも歓迎します。