Source

SCons / www / roadmap.html

Full commit
Steven Knight 2e23f73 

Steven Knight e4ed402 
Steven Knight 2e23f73 


Steven Knight e4ed402 



Steven Knight ef789db 

Steven Knight 2e23f73 


Steven Knight ef789db 
Steven Knight 2e23f73 


Steven Knight bd46a6d 
Steven Knight ef789db 






Steven Knight 2e23f73 




Steven Knight ef789db 

Steven Knight 2e23f73 



Steven Knight ef789db 
Steven Knight 2e23f73 




Steven Knight dbc3ab1 
Steven Knight 2e23f73 

Steven Knight 17c03ff 













Steven Knight 2e23f73 


Steven Knight dbc3ab1 
Steven Knight 2e23f73 






Steven Knight 17c03ff 
Steven Knight 2e23f73 

Steven Knight 189d035 

Steven Knight 2e23f73 

Steven Knight eab3198 



Steven Knight 2e23f73 








Steven Knight 04b2fc1 



Steven Knight 2e23f73 





Steven Knight 04b2fc1 
Steven Knight 2e23f73 

Steven Knight eab3198 




Steven Knight 17c03ff 
Steven Knight eab3198 

Steven Knight 2e23f73 


































Steven Knight 17c03ff 
Steven Knight 04b2fc1 



















Steven Knight 17c03ff 


Steven Knight 04b2fc1 




Steven Knight 17c03ff 
Steven Knight 04b2fc1 


Steven Knight 17c03ff 
Steven Knight 04b2fc1 
Steven Knight 17c03ff 
Steven Knight ef789db 
Steven Knight 04b2fc1 
Steven Knight 17c03ff 



Steven Knight 04b2fc1 


Steven Knight ef789db 
Steven Knight 04b2fc1 
Steven Knight 17c03ff 
Steven Knight 04b2fc1 


Steven Knight ef789db 



Steven Knight 04b2fc1 


Steven Knight ef789db 

Steven Knight 2e23f73 

<html>
<head>
<title>scons: Release Roadmap</title>
</head>
<body>

<div id="apphead">
<h1><small>Release Roadmap</small></h1>
</div>

<div class="h2 app" style="border-left: 0px" id="customcontent">

<h2>Current Releases</h2>

<p>
The current stable release is 0.96.1, released 23 August 2004.
</p>

<p>
The latest testing pre-release is 0.96.94, released 7 January 2007.
</p>

<p>
(Yes, the current "stable" release is a little long in the tooth.
In practice, most everyone uses the testing pre-releases,
because our testing methodology gives us a pretty good
track record of not breaking things from release to release.)
</p>

<h2>Upcoming Releases</h2>

Take these with a huge grain of salt,
this is very rough planning
and subject to change.

<table>
<tr>
<th>Release</th>
<th>Est. Date?</th>
<th>
Goals
</th>
</tr>
<tr>
<td>0.96.94</td>
<td>???</td>
<td>
The last (?) pre-release before the "Big Signature Refactoring"
changes internal data structures.
  <ul>
  <li>
  Fix for the one regression found so far in 0.96.92
  (printing an incorrect message when executing the InstallAs() function)
  </li>
  <li>
  Significant speed up of some specific configurations
  </li>
  <li>
  Integration of accumulated patches with bug fixes and new functionality
  </li>
  </ul>
</td>
</tr>
<tr>
<td>0.96.95</td>
<td>???</td>
<td>
Testing pre-release of the "Big Signature Refactoring,"
a significant re-design of internal data structures
to accomplish the following:
  <ul>
  <li>
  Interoperability between MD5 signatures and timestamps
  </li>
  <li>
  Ability to partition the dependency graph into separate <tt>SConstruct</tt>
  (not just <tt>SConscript</tt>) files.
  </li>
  <li>
  Hooks for supporting tool-generated dependency information
  (like <tt>gcc -M</tt>)
  </li>
  <li>
  Improved performance (we hope)
  </li>
  </ul>
</td>
</tr>
<tr>
<td>0.97</td>
<td>???</td>
<td>
Wider release and more extensive field testing before
declaring the "Big Signature Refactoring"
ready to be blessed as the official 1.0 release.
Additional features and bug fixes.
</td>
</tr>
<tr>
<td>1.0</td>
<td>???</td>
<td>
First official, stable release.
No 1.x release will (knowingly) break compatibility
or cause a rebuild on upgrade.
The following features have been suggested as prerequisites
for a fully-feature 1.0 release:
  <ul>
  <li>
  C/C++ dependency scanning that acts like a real C preprocessor
  (computed file names, <tt>#ifdef</tt> analysis, <tt>#include_next</tt> support)
  </li>
  </ul>
</td>
</tr>
<tr>
<td>2.0</td>
<td>???</td>
<td>
First release that will break backwards compatibility with Python 1.5.2.
</td>
</tr>
</table>

<!--

<h2>Upcoming Features</h2>

-->

<h2>Release Planning</h2>

<h3>Why has 1.0 still not been released?</h3>

<p>
As seems so common these days,
SCons has had an extremely lengthy "beta" period.
The primary goal has been to arrive at something by 1.0
that we feel is absolutely rock-solid-stable
and which people can download and use without fear of
broken builds or unnecessary rebuilds.
To get some idea of how we do this, see our
<a href="testing.html">testing philosophy</a> page.
</p>

<h3>Release numbering</h3>

<p>
Our release numbers are of the form <i>major</i>.<i>minor</i>.<i>revision</i>.
</p>

<ul>
<li>
<strong>Major release (1.0, 2.0, 3.0, etc.)</strong>
<p>
The major number increments when one of two things happens:
  <ul>
  <li>The release knowingly breaks backwards compatibility in some way.
  <li>The release knowingly causes a rebuild when you upgrade.
  </ul>
Our goal is that as a user of SCons,
you should always be able to upgrade to a later
revision of the same major number
with complete confidence that your build will not break.
</p>
</li>
<li>
<strong>Minor release (1.1, 1.2, 1.3, etc.)</strong>
<p>
Minor numbers increment for release that
adds new functionality and/or bug fixes
to an existing major release branch.
All new functionality will be added so as to never
knowingly break backwards compatibility with any
previous minor releases from the same branch.
We expect that our major release branches will be long-lived
platforms for delivering many minor releases to
add functionality and fix bugs.
</p>
</li>
<li>
<strong>Bug-fix revisions (1.1.1, 1.1.2, 1.1.3, etc.)</strong>
<p>
Revision numbers are appended and/or incremented
whenever a critical bug fix is necessary
for a major or minor release.
Bedause most new functionality and bug fixes
will be delivered in minor releases,
we expect that there will be few of these--at most
one per minor release.
</p>
</li>
<li>
<strong>Testing pre-release (1.1.90, 1.1.91, 1.1.92, etc.)</strong>
<p>
A revision number of 90 or greater
indicates the release is intended for
testing a set of new features intended for
wider distribution in the next major or minor release.
There may be many of these
leading up to a release
with a lot of significant internal changes
(<i>*cough*</i> 0.97 <i>*cough*</i>...).
</p>
</li>
</ul>

</div>

</body>
</html>