7236260527ed67aa8d2fceaae34c85ce53716373
[scons.git] / www / roadmap.html
1 <html>
2 <head>
3 <title>scons: Release Roadmap</title>
4 </head>
5 <body>
6
7 <div id="apphead">
8 <h1><small>Release Roadmap</small></h1>
9 </div>
10
11 <div class="h2 app" style="border-left: 0px" id="customcontent">
12
13 <h2>Current Releases</h2>
14
15 <p>
16 The current stable release is 1.0.0, released 12 August 2008.
17 </p>
18
19 <p>
20 The latest release is 1.0.0, released 12 August 2008.
21 </p>
22
23 <h2>Upcoming Releases</h2>
24
25 <table>
26
27 <tr>
28 <th>Release</th>
29 <th>Est. Date?</th>
30 <th>
31 Goals
32 </th>
33 </tr>
34
35 <tr>
36 <td>1.0</td>
37 <td>12 August 2008td>
38 <td>
39 First official, stable release.
40 No 1.x release will (knowingly) break compatibility
41 or cause a rebuild on upgrade.
42 </td>
43 </tr>
44
45 <tr>
46 <td>1.0.1</td>
47 <td>2 September 2008</td>
48 <td>
49 Bug fixes,
50 especially lower-priority regressions
51 identified during the 1.0.0 candidate period.
52 Performance improvements.
53 </td>
54 </tr>
55
56 <tr>
57 <td>1.1.1</td>
58 <td>???</td>
59 <td>
60 Features accumulated during the 1.0.0 candidate period.
61 </td>
62 </tr>
63
64 <tr>
65 <td>2.0</td>
66 <td>???</td>
67 <td>
68 First release that will break backwards compatibility with Python 1.5.2.
69 </td>
70 </tr>
71
72 </table>
73
74 <!--
75
76 <h2>Upcoming Features</h2>
77
78 -->
79
80 <h2>Release Planning</h2>
81
82 <h3>Release numbering</h3>
83
84 <p>
85 Our release numbers are of the form <i>major</i>.<i>minor</i>.<i>revision</i>.
86 </p>
87
88 <ul>
89 <li>
90 <strong>Major release (1.0, 2.0, 3.0, etc.)</strong>
91 <p>
92 The major number increments when one of two things happens:
93   <ul>
94   <li>The release knowingly breaks backwards compatibility in some way.
95   <li>The release knowingly causes a rebuild when you upgrade.
96   </ul>
97 Our goal is that as a user of SCons,
98 you should always be able to upgrade to a later
99 revision of the same major number
100 with complete confidence that your build will not break.
101 </p>
102 </li>
103 <li>
104 <strong>Minor release (1.1, 1.2, 1.3, etc.)</strong>
105 <p>
106 Minor numbers increment for release that
107 adds new functionality and/or bug fixes
108 to an existing major release branch.
109 All new functionality will be added so as to never
110 knowingly break backwards compatibility with any
111 previous minor releases from the same branch.
112 We expect that our major release branches will be long-lived
113 platforms for delivering many minor releases to
114 add functionality and fix bugs.
115 </p>
116 </li>
117 <li>
118 <strong>Bug-fix revisions (1.1.1, 1.1.2, 1.1.3, etc.)</strong>
119 <p>
120 Revision numbers are appended and/or incremented
121 whenever a critical bug fix is necessary
122 for a major or minor release.
123 Bedause most new functionality and bug fixes
124 will be delivered in minor releases,
125 we expect that there will be few of these--at most
126 one per minor release.
127 </p>
128 </li>
129 <li>
130 <strong>Testing pre-release (1.1.90, 1.1.91, 1.1.92, etc.)</strong>
131 <p>
132 A revision number of 90 or greater
133 indicates the release is intended for
134 testing a set of new features intended for
135 wider distribution in the next major or minor release.
136 There may be many of these
137 leading up to a release
138 with a lot of significant internal changes
139 (<i>*cough*</i> 0.97 <i>*cough*</i>...).
140 </p>
141 </li>
142 </ul>
143
144 </div>
145
146 </body>
147 </html>