Update with 0.98.1 release announcements.
[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 0.98.1, released 18 April 2008.
17 </p>
18
19 <p>
20 The latest release is 0.98.1,
21 released 18 April 2008.
22 </p>
23
24 <h2>Upcoming Releases</h2>
25
26 SCons is putting in place a new release team of interested developers.
27 Expect this section to be updated once
28 that team has hammered out a release schedule.
29
30 <table>
31 <tr>
32 <th>Release</th>
33 <th>Est. Date?</th>
34 <th>
35 Goals
36 </th>
37 </tr>
38 <tr>
39 <td>1.0</td>
40 <td>???</td>
41 <td>
42 First official, stable release.
43 No 1.x release will (knowingly) break compatibility
44 or cause a rebuild on upgrade.
45 The following features have been suggested as prerequisites
46 for a fully-feature 1.0 release:
47   <ul>
48   <li>
49   C/C++ dependency scanning that acts like a real C preprocessor
50   (computed file names, <tt>#ifdef</tt> analysis, <tt>#include_next</tt> support)
51   </li>
52   </ul>
53 </td>
54 </tr>
55 <tr>
56 <td>2.0</td>
57 <td>???</td>
58 <td>
59 First release that will break backwards compatibility with Python 1.5.2.
60 </td>
61 </tr>
62 </table>
63
64 <!--
65
66 <h2>Upcoming Features</h2>
67
68 -->
69
70 <h2>Release Planning</h2>
71
72 <h3>Why has 1.0 still not been released?</h3>
73
74 <p>
75 As seems so common these days,
76 SCons has had an extremely lengthy "beta" period.
77 The primary goal has been to arrive at something by 1.0
78 that we feel is absolutely rock-solid-stable
79 and which people can download and use without fear of
80 broken builds or unnecessary rebuilds.
81 To get some idea of how we do this, see our
82 <a href="testing.html">testing philosophy</a> page.
83 </p>
84
85 <h3>Release numbering</h3>
86
87 <p>
88 Our release numbers are of the form <i>major</i>.<i>minor</i>.<i>revision</i>.
89 </p>
90
91 <ul>
92 <li>
93 <strong>Major release (1.0, 2.0, 3.0, etc.)</strong>
94 <p>
95 The major number increments when one of two things happens:
96   <ul>
97   <li>The release knowingly breaks backwards compatibility in some way.
98   <li>The release knowingly causes a rebuild when you upgrade.
99   </ul>
100 Our goal is that as a user of SCons,
101 you should always be able to upgrade to a later
102 revision of the same major number
103 with complete confidence that your build will not break.
104 </p>
105 </li>
106 <li>
107 <strong>Minor release (1.1, 1.2, 1.3, etc.)</strong>
108 <p>
109 Minor numbers increment for release that
110 adds new functionality and/or bug fixes
111 to an existing major release branch.
112 All new functionality will be added so as to never
113 knowingly break backwards compatibility with any
114 previous minor releases from the same branch.
115 We expect that our major release branches will be long-lived
116 platforms for delivering many minor releases to
117 add functionality and fix bugs.
118 </p>
119 </li>
120 <li>
121 <strong>Bug-fix revisions (1.1.1, 1.1.2, 1.1.3, etc.)</strong>
122 <p>
123 Revision numbers are appended and/or incremented
124 whenever a critical bug fix is necessary
125 for a major or minor release.
126 Bedause most new functionality and bug fixes
127 will be delivered in minor releases,
128 we expect that there will be few of these--at most
129 one per minor release.
130 </p>
131 </li>
132 <li>
133 <strong>Testing pre-release (1.1.90, 1.1.91, 1.1.92, etc.)</strong>
134 <p>
135 A revision number of 90 or greater
136 indicates the release is intended for
137 testing a set of new features intended for
138 wider distribution in the next major or minor release.
139 There may be many of these
140 leading up to a release
141 with a lot of significant internal changes
142 (<i>*cough*</i> 0.97 <i>*cough*</i>...).
143 </p>
144 </li>
145 </ul>
146
147 </div>
148
149 </body>
150 </html>