morgand     01/04/13 12:35:49

  Added:       .        HOWTO-RELEASE
  Log:
  provisional release guidelines
  
  Revision  Changes    Path
  1.1                  jakarta-taglibs/HOWTO-RELEASE
  
  Index: HOWTO-RELEASE
  ===================================================================
  HOWTO-RELEASE
  -------------
  
  1 RELEASES
  
  1.1 RELEASE NUMBERS
  
  1.1.1 INITIAL RELEASE
  
  Initial releases are generally released as 1.0, unless there have been versioned 
beta releases.
  
  1.1.2 "MAJOR" RELEASES
  
  Major releases are denoted by incrementing the first portion of the release number.  
For example, if the current release version is 2.0.4, then the next major release 
would become 3.0.  The developers _may_ perform a major release if there have been 
substantial improvements to the tag library.  The developers _must_ perform a major 
release if there is _any_ non-backwards compatible change to a tag interface.
  
  1.1.3 "MINOR" RELEASES
  
  Minor releases are denoted by incrementing the second portion of the release number. 
 For example, if the current release version is 2.0.4, then the next minor release 
would become 2.1.  A minor release involves new features or improvements to a tag 
library that do not necessitate a major release.  However a major release is 
_required_ if the developers change the tag library interfaces in a non-backwards 
compatible way.
  
  1.1.4 BUG FIX RELEASES
  
  Bug fix releases are denoted by incrementing the third portion of the release 
number.  For example, if the current release version is 2.0.4, then the next bug fix 
release would be 2.0.5.  A bug fix release involves simple bug fixes that do not 
introduce new features.  Developers are not required to perform bug fix releases if 
they can address the bug in a minor release.  
  
  Developers are _strongly encouraged_ but not required to perform bug fix releases on 
previous major releases if a bug in that release is uncovered.
  
  1.1.5 BETA RELEASES
  
  Developers may, at their option, perform a beta preview of any major, minor or bug 
fix release by appending the phrase "beta" to the released jar.  For example, if the 
current release version is 2.0.4, and the developer wished to preview the next major 
release, the jar would be named foo-3.0-beta.jar.
  
  1.2 STARTING/COMPLETING MAJOR RELEASES
  
  Let's assume that the current release of your tag library is 3.0.4, but you want to 
start work on 4.0.  Here are the steps you would take to start working on the new 
release:
  
    1) Make an announcement on taglibs-dev
    2) Create a branch called dev4 in CVS for the entire tag library
    3) Work on that branch
  
  (Note: it is a requirement that the main CVS branch in CVS be the _current_ release, 
not a prospective release.)
  
  Once the 4.0 version is ready for release to the public, you would do this:
  
    1) Call a release vote on taglibs-dev
    2) After receiving approval, migrate the current main trunk
       to a branch called rel3
    3) Merge the dev4 branch to the main trunk
  
  The version 4 release is now the main trunk of the CVS tree.  However, versions 3, 
2, and 1 will still be available on other branches (rel3, rel2, and rel1), if other 
releases of that version prove necessary.
  
  2 NEWS
  
  There will be a "news" section of the Jakarta taglibs site.  This portion of the 
site will provide a notification of each major, minor or bug fix release of each tag 
library.  Each release notification will link to the "news" section for that tag 
library, which will contain the details of what new features were introduced, which 
bugs were fixed, etc.
  
  

Reply via email to