diff --git a/docs/index.txt b/docs/index.txt
index 89ee463..8610537 100644
a
|
b
|
The Django open-source project
|
200 | 200 | |
201 | 201 | * **Django over time:** |
202 | 202 | :ref:`API stability <misc-api-stability>` | |
203 | | :ref:`Archive of release notes <releases-index>` | `Backwards-incompatible changes`_ |
| 203 | :ref:`Archive of release notes <releases-index>` | `Backwards-incompatible changes`_ | |
| 204 | :ref:`Deprecation Timeline <internals-deprecation>` |
204 | 205 | |
205 | 206 | .. _Backwards-incompatible changes: http://code.djangoproject.com/wiki/BackwardsIncompatibleChanges |
diff --git a/docs/internals/deprecation.txt b/docs/internals/deprecation.txt
new file mode 100644
index 0000000..98e7d63
-
|
+
|
|
| 1 | .. _internals-deprecation: |
| 2 | |
| 3 | =========================== |
| 4 | Django Deprecation Timeline |
| 5 | =========================== |
| 6 | |
| 7 | This document outlines when various pieces of Django will be removed, following |
| 8 | their deprecation, as per the :ref:`Django deprecation policy |
| 9 | <internal-release-deprecation-policy>` |
| 10 | |
| 11 | * 1.3 |
| 12 | * ``AdminSite.root()``. This release will remove the old method for |
| 13 | hooking up admin URLs. This has been deprecated since the 1.1 |
| 14 | release. |
diff --git a/docs/internals/index.txt b/docs/internals/index.txt
index 0d54948..1cbbb87 100644
a
|
b
|
the hood".
|
17 | 17 | |
18 | 18 | .. toctree:: |
19 | 19 | :maxdepth: 1 |
20 | | |
| 20 | |
21 | 21 | contributing |
22 | 22 | documentation |
23 | 23 | committers |
24 | 24 | release-process |
| 25 | deprecation |
diff --git a/docs/internals/release-process.txt b/docs/internals/release-process.txt
index 911b67e..6d4ad9e 100644
a
|
b
|
Minor releases
|
48 | 48 | -------------- |
49 | 49 | |
50 | 50 | Minor release (1.1, 1.2, etc.) will happen roughly every six months -- see |
51 | | `release process`_, below for details. |
| 51 | `release process`_, below for details. |
| 52 | |
| 53 | .. _internal-release-deprecation-policy: |
52 | 54 | |
53 | 55 | These releases will contain new features, improvements to existing features, and |
54 | 56 | such. A minor release may deprecate certain features from previous releases. If a |
55 | 57 | feature in version ``A.B`` is deprecated, it will continue to work in version |
56 | 58 | ``A.B+1``. In version ``A.B+2``, use of the feature will raise a |
57 | 59 | ``PendingDeprecationWarning`` but will continue to work. Version ``A.B+3`` will |
58 | | remove the feature entirely. |
| 60 | remove the feature entirely. |
59 | 61 | |
60 | 62 | So, for example, if we decided to remove a function that existed in Django 1.0: |
61 | 63 | |
… |
… |
So, for example, if we decided to remove a function that existed in Django 1.0:
|
66 | 68 | * Django 1.2 will contain the backwards-compatible replica, but the warning |
67 | 69 | will be promoted to a full-fledged ``DeprecationWarning``. This warning is |
68 | 70 | *loud* by default, and will likely be quite annoying. |
69 | | |
| 71 | |
70 | 72 | * Django 1.3 will remove the feature outright. |
71 | | |
| 73 | |
72 | 74 | Micro releases |
73 | 75 | -------------- |
74 | 76 | |
… |
… |
varying levels:
|
92 | 94 | |
93 | 95 | * The current development trunk will get new features and bug fixes |
94 | 96 | requiring major refactoring. |
95 | | |
| 97 | |
96 | 98 | * All bug fixes applied to the trunk will also be applied to the last |
97 | 99 | minor release, to be released as the next micro release. |
98 | | |
| 100 | |
99 | 101 | * Security fixes will be applied to the current trunk and the previous two |
100 | 102 | minor releases. |
101 | | |
| 103 | |
102 | 104 | As a concrete example, consider a moment in time halfway between the release of |
103 | 105 | Django 1.3 and 1.4. At this point in time: |
104 | 106 | |
105 | 107 | * Features will be added to development trunk, to be released as Django 1.4. |
106 | | |
| 108 | |
107 | 109 | * Bug fixes will be applied to a ``1.3.X`` branch, and released as 1.3.1, |
108 | 110 | 1.3.2, etc. |
109 | | |
| 111 | |
110 | 112 | * Security releases will be applied to trunk, a ``1.3.X`` branch and a |
111 | 113 | ``1.2.X`` branch. Security fixes will trigger the release of ``1.3.1``, |
112 | 114 | ``1.2.1``, etc. |
… |
… |
Release process
|
117 | 119 | =============== |
118 | 120 | |
119 | 121 | Django uses a time-based release schedule, with minor (i.e. 1.1, 1.2, etc.) |
120 | | releases every six months, or more, depending on features. |
| 122 | releases every six months, or more, depending on features. |
121 | 123 | |
122 | 124 | After each previous release (and after a suitable cooling-off period of a week |
123 | 125 | or two), the core development team will examine the landscape and announce a |
… |
… |
and an rc complete with string freeze two weeks before the end of the schedule.
|
174 | 176 | Bug-fix releases |
175 | 177 | ---------------- |
176 | 178 | |
177 | | After a minor release (i.e 1.1), the previous release will go into bug-fix mode. |
| 179 | After a minor release (i.e 1.1), the previous release will go into bug-fix mode. |
178 | 180 | |
179 | 181 | A branch will be created of the form ``branches/releases/1.0.X`` to track |
180 | 182 | bug-fixes to the previous release. When possible, bugs fixed on trunk must |
181 | 183 | *also* be fixed on the bug-fix branch; this means that commits need to cleanly |
182 | | separate bug fixes from feature additions. The developer who commits a fix to |
| 184 | separate bug fixes from feature additions. The developer who commits a fix to |
183 | 185 | trunk will be responsible for also applying the fix to the current bug-fix |
184 | 186 | branch. Each bug-fix branch will have a maintainer who will work with the |
185 | 187 | committers to keep them honest on backporting bug fixes. |
… |
… |
development will be happening in a bunch of places:
|
193 | 195 | |
194 | 196 | * On trunk, development towards 1.2 proceeds with small additions, bugs |
195 | 197 | fixes, etc. being checked in daily. |
196 | | |
| 198 | |
197 | 199 | * On the branch "branches/releases/1.1.X", bug fixes found in the 1.1 |
198 | 200 | release are checked in as needed. At some point, this branch will be |
199 | 201 | released as "1.1.1", "1.1.2", etc. |
200 | 202 | |
201 | 203 | * On the branch "branches/releases/1.0.X", security fixes are made if |
202 | 204 | needed and released as "1.0.2", "1.0.3", etc. |
203 | | |
| 205 | |
204 | 206 | * On feature branches, development of major features is done. These |
205 | 207 | branches will be merged into trunk before the end of phase two. |
206 | | |