Versions

A version is a property that controls how an object is treated at installation or deployment. Versions are specified in TIBCO Business Studio and cannot be modified in Administrator.

The following objects have versions:
  • Composites and application templates.
  • Components - During application upgrade, Administrator compares component versions to determine whether the component needs to be upgraded.
  • Features
  • Plug-ins
  • Packages

Version Numbers

A version number is a multicomponent number of the form major. minor. service.qualifier. Changes in the value of each component reflect different types of changes in the versioned object:
  • major - Reflects breaking changes to the interface.
  • minor - Reflects non-breaking changes in an externally visible way. Examples of externally visible changes include binary compatible changes, significant performance changes, major code rework, and so on.
  • service - Reflects changes that are not visible in the interface. For example, a bug has been fixed in the code, documentation has changed, compiler settings have changed, and so on.
  • qualifier - Identifies when and where the object was built or packaged.
When you create an object in TIBCO Business Studio, the version is set to "1.0.0.qualifier". If the qualifier component of a version is set to "qualifier" when you create a DAA, TIBCO Business Studio replaces "qualifier" with a generated qualifier that defaults to a timestamp. You can customize the format of the generated qualifier by specifying a qualifier replacement.

Version Ranges

Some fields require you to specify a version range. For example, a feature may have a dependency on a range of versions of another feature. A version range  is an interval specified as: bracket lower limit, upper limit bracket, where bracket can be “[” or “]”, which denotes an inclusive end of the range or “(” or “)”, which denotes an exclusive end of the range. If one end of the range is to be included and the other excluded, the range can contain a square bracket with a round bracket.

There are three common use cases:
  • A strict version range, such as [1.0.0,1.0.0], denotes version 1.0.0 and only that version.
  • A half-open range, such as [1.0.0,2.0.0),which has an inclusive lower limit and an exclusive upper limit, denotes version 1.0.0 and any later version, up to, but not including, version 2.0.0.
  • An unbounded open range expressed as a single number such as 2.0.0, which is equivalent to the range [2.0.0, infinity), denotes version 2.0.0 and any later version.