VersioningProposal

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

Milestone releases#

As noted above, a minor release upgrade from (say) 2.10.0 to 2.10.3 ought to be be transparent. However, a major release upgrade from (say) 2.10.3 to 2.11.0 is very likely to break compatibility with the earlier release. This might be something like requiring a higher release of java to compile or execute the code. You should always refer to the appropriate NewIn page in this wiki to familiarise yourself with the change as part of planning for an upgrade to a new major release.

That said, while a new major release is under development, it might prove appropriate to break compatibility in some way, without releasing a new major version. In such a case, this new milestone (intermediate) release will be given an M# identification such as 2.10.0.M1.

M# releases are as production-ready as any other JSPWiki release, so the label does not mean the release is incomplete, or only for the brave, or in beta, or something along those lines. Often an M# release will change an internal API, which will affect associated code such as plugins, or it might alter some configuration parameters. You should check the NewIn page before upgrading to an M# release, but not be concerned about its stability.

Release Train#

As the master branch should be always deliverable, JSPWiki tries to follow a release train schedule, with stops on -roughly- February, May, August and November (one month after each Board Report).

The progression#

Development process#

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

etc.