Move release days to Monday; slip 1.1 (but not rest); typos
[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.1, released 7 September 2008.
17 </p>
18
19 <p>
20 The latest release is 1.0.1, released 7 September 2008.
21 </p>
22
23 <h2>Upcoming Releases</h2>
24
25 <p>
26 Our goal is to meet the dates
27 for release candidates and the releases themselves;
28 the beta checkpoint dates are our best guess as this was published,
29 but they may be adjusted without notice.
30 </p>
31
32 <table>
33   <tr>
34     <th>Estimated date</th>
35     <th>Type</th>
36     <th>Comments</th>
37   </tr>
38   <tr>
39     <td>29-Sep-2008</td>
40     <td>RC</td>
41     <td>Release candidate for 1.1.</td>
42   </tr>
43   <tr>
44     <td>8-Oct-2008</td>
45     <td>1.1</td>
46     <td>First minor release of 1.0.</td>
47   </tr>
48   <tr>
49     <td>13-Oct-2008</td>
50     <td>Ckpt</td>
51     <td>Beta for testing new features.</td>
52   </tr>
53   <tr>
54     <td>27-Oct-2008</td>
55     <td>Ckpt</td>
56     <td>Beta for testing new features.</td>
57   </tr>
58   <tr>
59     <td>10-Nov-2008</td>
60     <td>Ckpt</td>
61     <td>Beta for testing new features.</td>
62   </tr>
63   <tr>
64     <td>17-Nov-2008</td>
65     <td>RC</td>
66     <td>Release candidate for 1.2.</td>
67   </tr>
68   <tr>
69     <td>24-Nov-2008</td>
70     <td>1.2</td>
71     <td>Second minor release of 1.0.</td>
72   </tr>
73   <tr>
74     <td>1-Dec-2008</td>
75     <td>Ckpt</td>
76     <td>Beta for testing new features.</td>
77   </tr>
78   <tr>
79     <td>15-Dec-2008</td>
80     <td>Ckpt</td>
81     <td>Beta for testing new features.</td>
82   </tr>
83   <tr>
84     <td>29-Dec-2008</td>
85     <td>Ckpt</td>
86     <td>Beta for testing new features.</td>
87   </tr>
88   <tr>
89     <td>5-Jan-2009</td>
90     <td>RC</td>
91     <td>Release candidate for 1.3.</td>
92   </tr>
93   <tr>
94     <td>12-Jan-2009</td>
95     <td>1.3</td>
96     <td>Third minor release of 1.0.</td>
97   </tr>
98   <tr>
99     <td>19-Jan-2009</td>
100     <td>Ckpt</td>
101     <td>Beta for testing new featurea; breaks backward compatibility with Python 1.5.2.</td>
102   </tr>
103   <tr>
104     <td>26-Jan-2009</td>
105     <td>Ckpt</td>
106     <td>Beta for testing new features.</td>
107   </tr>
108   <tr>
109     <td>2-Feb-2009</td>
110     <td>RC</td>
111     <td>Release candidate for 2.0.</td>
112   </tr>
113   <tr>
114     <td>9-Feb-2009</td>
115     <td>RC</td>
116     <td>Release candidate for 2.0, if needed.</td>
117   </tr>
118   <tr>
119     <td>16-Feb-2009</td>
120     <td>2.0</td>
121     <td>Public release that breaks backward compatibility</td>
122   </tr>
123 </table>
124
125 <!--
126
127 <h2>Upcoming Features</h2>
128
129 -->
130
131 <h2>Release Planning</h2>
132
133 <h3>Release numbering</h3>
134
135 <p>
136 Our release numbers are of the form <i>major</i>.<i>minor</i>.<i>revision</i>.
137 </p>
138
139 <ul>
140 <li>
141 <strong>Major release (1.0, 2.0, 3.0, etc.)</strong>
142 <p>
143 The major number increments when one of two things happens:
144 </p>
145   <ul>
146   <li>The release knowingly breaks backwards compatibility in some way.
147   <li>The release knowingly causes a rebuild when you upgrade.
148   </ul>
149 <p>
150 Our goal is that as a user of SCons,
151 you should always be able to upgrade to a later
152 release of the same major version
153 with complete confidence that your build will not break.
154 We expect that our major releases will be long-lived platforms
155 with many minor releases to add functionality and fix bugs.
156 </p>
157 </li>
158 <li>
159 <strong>Minor release (1.1, 1.2, 1.3, etc.)</strong>
160 <p>
161 Minor numbers increment for releases
162 that add new functionality and/or bug fixes
163 to an existing major release.
164 Any new functionality will never knowingly break backwards compatibility
165 with any previous minor releases from the same major release.
166 </p>
167 </li>
168 <li>
169 <strong>Bug-fix revisions (1.0.1, 1.1.1, 1.2.1, etc.)</strong>
170 <p>
171 Revision numbers are appended and/or incremented
172 whenever a critical bug fix is necessary
173 for a major or minor release.
174 Because most new functionality and bug fixes
175 will be delivered in minor releases,
176 we expect that there will be few of these&mdash;at most
177 one per minor release.
178 </p>
179 </li>
180 <li>
181 <strong>Release candidates (x.y.z.dyyyymmdd )</strong>
182 <p>
183 A release candidates is a special form of checkpoint
184 (see below)
185 that is expected to be the next major or minor release.
186 If blocking issues show up in the candidate,
187 another candidate will normally be issued
188 (potentially delaying the release date),
189 otherwise the candidate will be repackaged as the major or minor release.
190 </p>
191 </li>
192 <li>
193 <strong>Checkpoints (x.y.z.dyyyymmdd )</strong>
194 <p>
195 A checkpoint has a 'd<i>yyymmdd</i>' suffix
196 and is made every couple of weeks between major or minor releases.
197 It is intended for beta testing new features
198 and for ensuring that bug fixes work as intended.
199 Although existing features from the previous release will not change,
200 compatibility of features under test is not guaranteed between checkpoints
201 (<i>i.e.</i>, the implementation of the feature may change).
202 Checkpoints are intended not only to allow for wider testing,
203 but also to make new features available to users
204 (who may urgently need one of them)
205 in advance of them being published in the next major or minor release.
206 </p>
207 </li>
208 </ul>
209
210 </div>
211
212 </body>
213 </html>