Django

Code

root/django/branches/0.95-bugfixes/docs/release_notes_0.95.txt

Revision 6606, 6.4 kB (checked in by jacob, 1 year ago)

i18n security fix. Details will be posted shortly to the Django mailing lists and the official weblog.

Line 
1 ===================================
2 Django version 0.95.2 release notes
3 ===================================
4
5 Welcome to the Django 0.95.2 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.
69
70     * It's now more explicit and natural to override save() and delete()
71       methods on models, rather than needing to hook into the pre_save() and
72       post_save() method hooks.
73
74     * Individual pieces of the framework now can be configured without
75       requiring the setting of an environment variable. This permits use of,
76       for example, the Django templating system inside other applications.
77
78     * More and more parts of the framework have been internationalized, as
79       we've expanded internationalization (i18n) support. The Django
80       codebase, including code and templates, has now been translated, at least
81       in part, into 31 languages. From Arabic to Chinese to Hungarian to Welsh,
82       it is now possible to use Django's admin site in your native language.
83
84 The number of changes required to port from 0.91-compatible code to the 0.95
85 code base are significant in some cases. However, they are, for the most part,
86 reasonably routine and only need to be done once. A list of the necessary
87 changes is described in the 'Removing The Magic`_ wiki page. There is also an
88 easy checklist_ for reference when undertaking the porting operation.
89
90 .. _Removing The Magic: http://code.djangoproject.com/wiki/RemovingTheMagic
91 .. _checklist: http://code.djangoproject.com/wiki/MagicRemovalCheatSheet1
92
93 Changes since the 0.95 release
94 ==============================
95
96 This release contains fixes for several bugs discovered after the
97 initial release of Django 0.95; these include:
98
99     * A patch for a small security vulnerability in the script
100       Django's internationalization system uses to compile translation
101       files.
102
103     * A fix for a bug in Django's authentication middleware which
104       could cause apparent "caching" of a logged-in user.
105
106     * A patch which disables debugging mode in the flup FastCGI
107       package Django uses to launch its FastCGI server, which prevents
108       tracebacks from bubbling up during production use.
109      
110     * A security fix to the i18n framework which could allow an
111       attacker to send extremely large strings in the Accept-Language
112       header and cause a denial of service by filling available memory.
113
114 Because these problems weren't discovered and fixed until after the
115 0.95 release, it's recommended that you use this release rather than
116 the original 0.95.
117
118 Problem reports and getting help
119 ================================
120
121 Need help resolving a problem with Django? The documentation in the
122 distribution is also available online_ at the `Django website`_. The FAQ_
123 document is especially recommended, as it contains a number of issues that
124 come up time and again.
125
126 For more personalized help, the `django-users` mailing list is a very active
127 list, with more than 2,000 subscribers who can help you solve any sort of
128 Django problem. We recommend you search the archives first, though, because
129 many common questions appear with some regularity, and any particular problem
130 may already have been answered.
131
132 Finally, for those who prefer the more immediate feedback offered by IRC,
133 there's a #django channel or irc.freenode.net that is regularly populated by
134 Django users and developers from around the world. Friendly people are usually
135 available at any hour of the day -- to help, or just to chat.
136
137 .. _online: http://www.djangoproject.com/documentation/
138 .. _Django website: http://www.djangoproject.com/
139 .. _FAQ: http://www.djangoproject.com/documentation/faq/
140 .. _django-users: http://groups.google.com/group/django-users
141
142 Thanks for using Django!
143
144 The Django Team
145 January 2007
Note: See TracBrowser for help on using the browser.