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.