Chapter 5. Tapestry Release Numbering

Tapestry release numbering is relatively simple, as long as you don't look back in time (the less managable numbering system used through release 2.0.5 is described shortly).

Tapestry releases consist of a major version, a minor version and a incremental version. The pattern major.minor-incremental-index is used, for example: 2.1, 2.2-alpha-3 or 2.3-beta-1.

The major version represents large-scale changes in the framework ... short of translating Tapestry to another language (say, Python or Ruby), this is not likely to happen again. Tapestry is currently in major release 2.

The minor version represents a milestone release, encompassing the introduction of new functionality and bug fixes in a stable manner. 2.1 or 2.2 would be examples of milestone releases.

An incremental release represents a transition from one milestone release to the next. Incremental releases are alpha, beta or rc (release candidate). Typically, after a milestone release there will be a series of alpha, then beta, then rc releases, leading up to the next milestone release. A possible sequence is 2.1, 2.2-alpha-1, 2.2-beta-1, 2.2-rc-1, 2.2.

Typically, there will be several incremental releases of the same type, numbered from 1 up. Alpha releases contain significant functionality changes, beta releases represent bug fixes to those changes (stabilizing the changes), and rc (release chandidate) releases are expected to be stable versions of the next minor release (though any problems can spur further release candidates).

Through Tapestry release 2.0.5, numbering was a bit different. Under the modern scheme, 2.0.1 would be named 2.1-alpha-1, 2.0.2 would be 2.1-alpha-2, and 2.0.5 would be 2.1-beta-1. Modern release numbering begins with 2.1-beta-2 (the release immediately following 2.0.5).