Versioning Proposal#

This page contains the current proposal for JSPWiki versioning.

As of JSPWiki entering Apache, we'll adopt the following versioning system:

major.minor.revision-identifier-build

Where

  • major = Major release, which breaks compatibility (binary or source) with previous versions.
  • minor = Minor update with new major functionality which does not break downwards compatibility (except in maybe minor ways). Even numbers are reserved for stable branches, odd numbers for unstable branches.
  • revision = Bug fixes or minor functionality updates. Forward and backward compatibility within the same major.minor revision is retained.
  • identifier = Identifies the type of this release. Following types are known:
    • svn = identifies the SVN trunk. No release gets this tag.
    • alpha = Release which has been tagged as "alpha" grade.
    • beta = Release which has been tagged as "beta" grade.
    • incubating = Release which has been released out of Apache Incubator
  • build = Build number. This must be incremented every time when a committer checks in code.

The progression#

Development process#

The "svn" tag always denotes unstable code from the branch. The version number always denotes which version this development is going to.

  • 2.10.0-svn-1 = "This is the first development build for 2.10.0"
  • 2.10.0-svn-2 = "This is the second development build for 2.10.0"
  • 2.10.1-svn-1 = "This is the first development build for 2.10.1"

etc.