Update tigris website with release 1.3.0 info
[scons.git] / www / roadmap.html
index b78a59e0ac4ea80c72e7428dc53160cdf4472fa2..17995acf67649597a3cbff9332698621f35d0ec9 100644 (file)
@@ -1,87 +1,84 @@
 <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.
+The current stable release is 1.3.0, released 23 March 2010.
 </p>
 
 <p>
-The current testing pre-release is 0.96.92.
+The latest release is 1.3.0, released 23 March 2010.
 </p>
 
 <h2>Upcoming Releases</h2>
 
-Take these with a huge grain of salt,
-this is very rough planning.
-
-<table>
-<tr>
-<th>Release</th>
-<th>Est. Date <font size="-1">(yeah, right)</font></th>
-<th>
-Goals
-</th>
-</tr>
-<tr>
-<td>0.96.93</td>
-<td>???</td>
-<td>
-Significant speed up of some specific configurations,
-plus accumulated patches.
-Fix for the one cosmetic bug found so far in 0.96.92.
-</td>
-</tr>
-<tr>
-<td>0.96.94</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 SConstruct
-  (not SConscript) files.
-  </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.
-</td>
-</tr>
-<tr>
-<td>2.0</td>
-<td>???</td>
-<td>
-First release that will break backwards compatibility with Python 1.5.2.
-</td>
-</tr>
+<p>
+Our goal is to meet the dates
+for release candidates and the releases themselves;
+the beta checkpoint dates are our best guess as this was published,
+but they may be adjusted without notice.
+</p>
+
+<!--
+
+DO NOT EDIT THE FOLLOWING TABLE DIRECTLY.
+
+Edit the "schedule" file and replace it with the output from
+running "gen_sched_table.py".
+
+-->
+
+<table width="100%">
+  <tr>
+    <th>Estimated&nbsp;date</th>
+    <th>Type</th>
+    <th>Comments</th>
+  </tr>
+  <tr>
+    <td>April 2009</td>
+    <td>Ckpt</td>
+    <td>Beta for 2.0; breaks backward compatibility</td>
+  </tr>
+  <tr>
+    <td>May 2009</td>
+    <td>RC</td>
+    <td>Release candidate for 2.0.</td>
+  </tr>
+  <tr>
+    <td>May 2009</td>
+    <td>2.0</td>
+    <td>Public release that breaks backward compatibility and drops deprecated features</td>
+  </tr>
+  <tr>
+    <td>June 2009</td>
+    <td>Ckpt</td>
+    <td>Beta for testing new features.</td>
+  </tr>
+  <tr>
+    <td>July 2009</td>
+    <td>Ckpt</td>
+    <td>Beta for testing new features.</td>
+  </tr>
+  <tr>
+    <td>Aug 2009</td>
+    <td>RC</td>
+    <td>Release candidate for 2.1.</td>
+  </tr>
+  <tr>
+    <td>Sept 2009</td>
+    <td>2.1</td>
+    <td>First minor release of v2</td>
+  </tr>
 </table>
 
 <!--
@@ -92,23 +89,10 @@ First release that will break backwards compatibility with Python 1.5.2.
 
 <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>sub</i>.
+Our release numbers are of the form <i>major</i>.<i>minor</i>.<i>revision</i>.
 </p>
 
 <ul>
@@ -116,49 +100,73 @@ Our release numbers are of the form <i>major</i>.<i>minor</i>.<i>sub</i>.
 <strong>Major release (1.0, 2.0, 3.0, etc.)</strong>
 <p>
 The major number increments when one of two things happens:
+</p>
   <ul>
   <li>The release knowingly breaks backwards compatibility in some way.
   <li>The release knowingly causes a rebuild when you upgrade.
   </ul>
+<p>
 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
+release of the same major version
 with complete confidence that your build will not break.
+We expect that our major releases will be long-lived platforms
+with many minor releases to add functionality and fix bugs.
 </p>
 </li>
 <li>
 <strong>Minor release (1.1, 1.2, 1.3, etc.)</strong>
 <p>
-Minor releases will add new functionality 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.
+Minor numbers increment for releases
+that add new functionality and/or bug fixes
+to an existing major release.
+Any new functionality will never knowingly break backwards compatibility
+with any previous minor releases from the same major release.
 </p>
 </li>
 <li>
-<strong>Bug-fix sub-release (1.1.1, 1.1.2, 1.1.3, etc.)</strong>
+<strong>Bug-fix revisions (1.0.1, 1.1.1, 1.2.1, etc.)</strong>
 <p>
-Released whenever a critical bug fix is necessary
+Revision numbers are appended and/or incremented
+whenever a critical bug fix is necessary
 for a major or minor release.
+Because most new functionality and bug fixes
+will be delivered in minor releases,
+we expect that there will be few of these&mdash;at most
+one per minor release.
 </p>
 </li>
 <li>
-<strong>Testing pre-release (1.1.90, 1.1.91, 1.1.93, etc.)</strong>
+<strong>Release candidates (x.y.z.dyyyymmdd)</strong>
 <p>
-A sub-release 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.
+A release candidates is a special form of checkpoint
+(see below)
+that is expected to be the next major or minor release.
+If blocking issues show up in the candidate,
+another candidate will normally be issued
+(potentially delaying the release date),
+otherwise the candidate will be repackaged as the major or minor release.
 </p>
 </li>
-</ul>
+<li>
+<strong>Checkpoints (x.y.z.dyyyymmdd)</strong>
 <p>
-Our release numbers are of the form <i>major</i>.<i>minor</i>.<i>sub</i>.
+A checkpoint has a 'd<i>yyymmdd</i>' suffix
+and is made every couple of weeks between major or minor releases.
+It is intended for beta testing new features
+and for ensuring that bug fixes work as intended.
+Although existing features from the previous release will not change,
+compatibility of features under test is not guaranteed between checkpoints
+(<i>i.e.</i>, the implementation of the feature may change).
+Checkpoints are intended not only to allow for wider testing,
+but also to make new features available to users
+(who may urgently need one of them)
+in advance of them being published in the next major or minor release.
 </p>
+</li>
+</ul>
+
+</div>
 
 </body>
 </html>