<html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>Release Version Numbering</title><meta name="generator" content="DocBook XSL Stylesheets V1.64.1"><link rel="home" href="index.html" title="OpenACS Core Documentation"><link rel="up" href="eng-standards.html" title="Chapter�12.�Engineering Standards"><link rel="previous" href="style-guide.html" title="OpenACS Style Guide"><link rel="next" href="eng-standards-constraint-naming.html" title="Constraint naming standard"><link rel="stylesheet" href="openacs.css" type="text/css"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><a href="http://openacs.org"><img src="/doc/images/alex.jpg" border="0" alt="Alex logo"></a><table width="100%" summary="Navigation header" border="0"><tr><td width="20%" align="left"><a accesskey="p" href="style-guide.html">Prev</a> </td><th width="60%" align="center">Chapter�12.�Engineering Standards</th><td width="20%" align="right"> <a accesskey="n" href="eng-standards-constraint-naming.html">Next</a></td></tr></table><hr></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="eng-standards-versioning"></a>Release Version Numbering</h2></div></div><div></div></div><div class="authorblurb"><p>By Ron Henderson</p><p>Revised by Joel Aufrecht</p>
          OpenACS docs are written by the named authors, and may be edited
          by OpenACS documentation staff.
        </div><p> 
OpenACS version numbers help identify at a high-level what is in a
particular release and what has changed since the last release. A
"version number" is really just a string of the form:
</p><div class="blockquote"><blockquote class="blockquote"><p><span class="emphasis"><em>major</em></span>.<span class="emphasis"><em>minor</em></span>.<span class="emphasis"><em>dot</em></span>[ <span class="emphasis"><em>milestone</em></span> ]</p></blockquote></div><div class="itemizedlist"><ul type="disc"><li><p>A <span class="emphasis"><em>major</em></span> number change indicates a fundamental change in the architecture of the system, e.g. OpenACS 3 to ACS 4.  A major change is required if core backwards compatibility is broken, if upgrade is non-trivial, or if the platform changes substantially.</p></li><li><p>A <span class="emphasis"><em>minor</em></span> change represents the addition of new functionality or changed UI.</p></li><li><p>A <span class="emphasis"><em>dot</em></span> holds only bug fixes and security patches.  Dot releases are always recommended and safe.
      </p></li><li><p>A <span class="emphasis"><em>milestone</em></span> marker indicates the state of the release:</p><div class="itemizedlist"><ul type="circle"><li><p><span class="emphasis"><em>d</em></span>, for development, means the release is in active development and is not in its intended released form.</p></li><li><p><span class="emphasis"><em>a</em></span>, for alpha, means new development is complete and code checkins are frozen.  Alpha builds should work well enough to be testable.</p></li><li><p><span class="emphasis"><em>b</em></span>, for beta, means most severe bugs are fixed and end users can start trying the release.</p></li><li><p>Release Candidate builds (<span class="emphasis"><em>rc</em></span>) are believed to meet all of the criteria for release and can be installed on test instances of production systems.</p></li><li><p>Final releases have no milestone marker.  (Exception: In CVS, they are tagged with -final to differentiate them from branch tags.)
            </p></li></ul></div><p>Milestone markers are numbered: d1, d2, ..., a1, b1, rc1, etc.</p></li></ul></div><p>A complete sequence of milestones between two releases: </p><pre class="programlisting">5.0.0
5.0.0rc2
5.0.0rc1
5.0.0b4
5.0.0b1
5.0.0a4
5.0.0a3
5.0.0a1
5.0.0d1
4.6.3</pre><p>
Version numbers are also recorded in the CVS repository so that the
code tree can be restored to the exact state it was in for a
particular release.  To translate between a distribution tar file
(acs-3.2.2.tar.gz) and a CVS tag, just swap '.' for '-'.The entire release history of the toolkit is recorded in the tags for the top-level <tt class="computeroutput">readme.txt</tt> file:
</p><pre class="programlisting">
&gt; cvs log readme.txt
RCS file: /usr/local/cvsroot/acs/readme.txt,v
Working file: readme.txt
head: 3.1
branch:
locks: strict
access list:
symbolic names:
	acs-4-0: 3.1.0.8
	acs-3-2-2-R20000412: 3.1
	acs-3-2-1-R20000327: 3.1
	acs-3-2-0-R20000317: 3.1
	acs-3-2-beta: 3.1
	acs-3-2: 3.1.0.4
	acs-3-1-5-R20000304: 1.7.2.2
	acs-3-1-4-R20000228: 1.7.2.2
	acs-3-1-3-R20000220: 1.7.2.2
	acs-3-1-2-R20000213: 1.7.2.1
	acs-3-1-1-R20000205: 1.7.2.1
	acs-3-1-0-R20000204: 1.7
	acs-3-1-beta: 1.7
	acs-3-1-alpha: 1.7
	acs-3-1: 1.7.0.2
	v24: 1.5
	v23: 1.4
	start: 1.1.1.1
	arsdigita: 1.1.1
keyword substitution: kv
total revisions: 13;	selected revisions: 13
description:
...
</pre><p>
In the future, OpenACS packages should follow this same
convention on version numbers.
</p><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="eng-standards-transition-rules"></a>Transition Rules</h3></div></div><div></div></div><p>So what distinguishes an <span class="emphasis"><em>alpha</em></span> release from a <span class="emphasis"><em>beta</em></span>
release?  Or from a production release?  We follow a specific set of
rules for how OpenACS makes the transition from one state of maturity to
the next.  These rules are fine-tuned with each release; an example is <a href="http://openacs.org/projects/openacs/5.0/milestones" target="_top">5.0.0 Milestones and Milestone Criteria</a></p><div class="cvstag">($Id: eng-standards-versioning.html,v 1.27 2004/02/18 14:43:02 joela Exp $)</div></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="style-guide.html">Prev</a> </td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right"> <a accesskey="n" href="eng-standards-constraint-naming.html">Next</a></td></tr><tr><td width="40%" align="left">OpenACS Style Guide </td><td width="20%" align="center"><a accesskey="u" href="eng-standards.html">Up</a></td><td width="40%" align="right"> Constraint naming standard</td></tr></table><hr><address><a href="mailto:docs@openacs.org">docs@openacs.org</a></address></div><a name="comments"></a><center><a href="http://openacs.org/doc/eng-standards-versioning.html#comments">View comments on this page at openacs.org</a></center></body></html>