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