Index: openacs-4/packages/acs-core-docs/www/xml/engineering-standards/eng-standards-versioning.xml
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/xml/engineering-standards/eng-standards-versioning.xml,v
diff -u -r1.5 -r1.6
--- openacs-4/packages/acs-core-docs/www/xml/engineering-standards/eng-standards-versioning.xml 11 Dec 2003 21:39:49 -0000 1.5
+++ openacs-4/packages/acs-core-docs/www/xml/engineering-standards/eng-standards-versioning.xml 4 Feb 2004 16:47:35 -0000 1.6
@@ -9,6 +9,7 @@
By Ron Henderson
+Revised by Joel Aufrecht
@@ -18,55 +19,62 @@
-major-minor-release
+major.minor.dot[ milestone ]
-
-A change in the major version number indicates a fundamental
-change in the architecture of the system, e.g. OpenACS 3 to ACS 4. A
-change in the minor version number signifies the addition of
-new modules and minor data model changes, e.g. OpenACS 3.1 to OpenACS 3.2.
-The final release number indicates the relative maturity of a
-release and marks things like bug fixes; it follows the ordered
-progression:
-
-
+
+
+ A major 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.
+
+
+ A minor change represents the addition of new functionality or changed UI.
+
+
+ A dot holds only bug fixes and security patches. Dot releases are always recommended and safe.
+
+
+
+ A milestone marker indicates the state of the release:
+
+
+ d, for development, means the release is in active development and is not in its intended released form.
+
+
+ a, for alpha, means new development is complete and code checkins are frozen. Alpha builds should work well enough to be testable.
+
+
+ b, for beta, means most severe bugs are fixed and end users can start trying the release.
+
+
+ Release Candidate builds (rc) are believed to meet all of the criteria for release and can be installed on test instances of production systems.
+
+
+ Final releases have no milestone marker. (Exception: In CVS, they are tagged with -final to differentiate them from branch tags.)
+
+
+
+ Milestone markers are numbered: d1, d2, ..., a1, b1, rc1, etc.
+
+
+A complete sequence of milestones between two releases:
+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
-
-alpha
-beta
-0 (production release)
-1
-2
-...
-
-
-So typical release version numbers would be:
-
-
-
-
-openacs-3.2.5
-openacs-4.0.beta
-
-
-
-The first is a relatively mature release of the OpenACS 3.2 base code
-and the second is a non-public release of OpenACS 4.0 that probably still
-has lots of bugs.
-
-
-
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 '-' and add the
-release date. The entire release history of the toolkit is recorded
-in the tags for the top-level readme.txt 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 readme.txt file:
-
> cvs log readme.txt
RCS file: /usr/local/cvsroot/acs/readme.txt,v
@@ -114,60 +122,10 @@
So what distinguishes an alpha release from a beta
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.
+the next. These rules are fine-tuned with each release; an example is 5.0.0 Milestones and Milestone Criteria
- Every release must pass the minimum requirements that it cleanly
-installs and cleanly upgrades from the previous version of OpenACS. In
-addition to this the release label implies:
-
-
-
-
-
-development
-
-
-This is the default state for the head of the current release branch. We
-make no guarantees about this code.
-
-
-
-alpha
-
-
-All tickets of severity critical have been closed and the
-distribution has no known installation or upgrade problems.
-
-
-
-beta
-
-
-All tickets of severity serious or greater have been closed
-and all documentation is up to date (version history, release notes,
-new module docs, etc.).
-
-
-
-production [0, 1, ...]
-
-
-All tickets of severity medium or greater have been closed,
-including issues reported from outside users.
-
-
-
-
-
- In the future we will guarantee that more mature releases
-incorporate all the fixes for earlier problems by developing a
-detailed set of regression tests. For now we try to enforce this by
-restricting work on the release branch to fixing reported problem in
-the current release, e.g. no new features or big changes to
-fundamental behavior.
-
($Id$)
-
+