|
1 ================================= |
|
2 Django version 0.95 release notes |
|
3 ================================= |
|
4 |
|
5 Welcome to the Django 0.95 release. |
|
6 |
|
7 This represents a significant advance in Django development since the 0.91 |
|
8 release in January 2006. The details of every change in this release would be |
|
9 too extensive to list in full, but a summary is presented below. |
|
10 |
|
11 Suitability and API stability |
|
12 ============================= |
|
13 |
|
14 This release is intended to provide a stable reference point for developers |
|
15 wanting to work on production-level applications that use Django. |
|
16 |
|
17 However, it's not the 1.0 release, and we'll be introducing further changes |
|
18 before 1.0. For a clear look at which areas of the framework will change (and |
|
19 which ones will *not* change) before 1.0, see the api-stability.txt file, which |
|
20 lives in the docs/ directory of the distribution. |
|
21 |
|
22 You may have a need to use some of the features that are marked as |
|
23 "subject to API change" in that document, but that's OK with us as long as it's |
|
24 OK with you, and as long as you understand APIs may change in the future. |
|
25 |
|
26 Fortunately, most of Django's core APIs won't be changing before version 1.0. |
|
27 There likely won't be as big of a change between 0.95 and 1.0 versions as there |
|
28 was between 0.91 and 0.95. |
|
29 |
|
30 Changes and new features |
|
31 ======================== |
|
32 |
|
33 The major changes in this release (for developers currently using the 0.91 |
|
34 release) are a result of merging the 'magic-removal' branch of development. |
|
35 This branch removed a number of constraints in the way Django code had to be |
|
36 written that were a consequence of decisions made in the early days of Django, |
|
37 prior to its open-source release. It's now possible to write more natural, |
|
38 Pythonic code that works as expected, and there's less "black magic" happening |
|
39 behind the scenes. |
|
40 |
|
41 Aside from that, another main theme of this release is a dramatic increase in |
|
42 usability. We've made countless improvements in error messages, documentation, |
|
43 etc., to improve developers' quality of life. |
|
44 |
|
45 The new features and changes introduced in 0.95 include: |
|
46 |
|
47 * Django now uses a more consistent and natural filtering interface for |
|
48 retrieving objects from the database. |
|
49 |
|
50 * User-defined models, functions and constants now appear in the module |
|
51 namespace they were defined in. (Previously everything was magically |
|
52 transferred to the django.models.* namespace.) |
|
53 |
|
54 * Some optional applications, such as the FlatPage, Sites and Redirects |
|
55 apps, have been decoupled and moved into django.contrib. If you don't |
|
56 want to use these applications, you no longer have to install their |
|
57 database tables. |
|
58 |
|
59 * Django now has support for managing database transactions. |
|
60 |
|
61 * We've added the ability to write custom authentication and authorization |
|
62 backends for authenticating users against alternate systems, such as |
|
63 LDAP. |
|
64 |
|
65 * We've made it easier to add custom table-level functions to models, |
|
66 through a new "Manager" API. |
|
67 |
|
68 * It's now possible to use Django without a database. This simply means |
|
69 that the framework no longer requires you to have a working database set |
|
70 up just to serve dynamic pages. In other words, you can just use |
|
71 URLconfs/views on their own. Previously, the framework required that a |
|
72 database be configured, regardless of whether you actually used it. |
|
73 |
|
74 * It's now more explicit and natural to override save() and delete() |
|
75 methods on models, rather than needing to hook into the pre_save() and |
|
76 post_save() method hooks. |
|
77 |
|
78 * Individual pieces of the framework now can be configured without |
|
79 requiring the setting of an environment variable. This permits use of, |
|
80 for example, the Django templating system inside other applications. |
|
81 |
|
82 * More and more parts of the framework have been internationalized, as |
|
83 we've expanded internationalization (i18n) support. The Django |
|
84 codebase, including code and templates, has now been translated, at least |
|
85 in part, into 31 languages. From Arabic to Chinese to Hungarian to Welsh, |
|
86 it is now possible to use Django's admin site in your native language. |
|
87 |
|
88 The number of changes required to port from 0.91-compatible code to the 0.95 |
|
89 code base are significant in some cases. However, they are, for the most part, |
|
90 reasonably routine and only need to be done once. A list of the necessary |
|
91 changes is described in the `Removing The Magic`_ wiki page. There is also an |
|
92 easy checklist_ for reference when undertaking the porting operation. |
|
93 |
|
94 .. _Removing The Magic: http://code.djangoproject.com/wiki/RemovingTheMagic |
|
95 .. _checklist: http://code.djangoproject.com/wiki/MagicRemovalCheatSheet1 |
|
96 |
|
97 Problem reports and getting help |
|
98 ================================ |
|
99 |
|
100 Need help resolving a problem with Django? The documentation in the distribution |
|
101 is also available online_ at the `Django Web site`_. The :doc:`FAQ </faq/index>` |
|
102 document is especially recommended, as it contains a number of issues that come |
|
103 up time and again. |
|
104 |
|
105 For more personalized help, the `django-users`_ mailing list is a very active |
|
106 list, with more than 2,000 subscribers who can help you solve any sort of |
|
107 Django problem. We recommend you search the archives first, though, because |
|
108 many common questions appear with some regularity, and any particular problem |
|
109 may already have been answered. |
|
110 |
|
111 Finally, for those who prefer the more immediate feedback offered by IRC, |
|
112 there's a #django channel on irc.freenode.net that is regularly populated by |
|
113 Django users and developers from around the world. Friendly people are usually |
|
114 available at any hour of the day -- to help, or just to chat. |
|
115 |
|
116 .. _online: http://www.djangoproject.com/documentation/0.95/ |
|
117 .. _Django Web site: http://www.djangoproject.com/ |
|
118 .. _django-users: http://groups.google.com/group/django-users |
|
119 |
|
120 Thanks for using Django! |
|
121 |
|
122 The Django Team |
|
123 July 2006 |
|
124 |