VacProject       Vac       Vac-in-a-Box       Vcycle       VacMon       GridPP      

Version policy and GitHub

For each release, Vac or Vcycle use a three part version number of the form major.minor.patch, such as 01.02.03. The version number of sources or installations can always be found by consulting the VERSION file placed in /var/lib/vac or /var/lib/vcycle .

A "bleeding edge" development version is maintained on the GitHub master branch, with the suffix "+pre" added to the major.minor version number. Once the version is ready for release, the pre suffix is removed and a branch is created for patches of that major.minor. The 00 patch on that branch is then tagged. If bugs are found, the patch number is increased and the new patch release is tagged.

The result of this procedure is that upgrading to a higher patch number with the same major and minor numbers only exposes sites to changes to the code which are intended to fix bugs.

New releases will be announced on the vac-announce@cern.ch and vac-users@cern.ch mailing lists.

The following paragraphs will apply after the 01.00.00 release is made:

The authoritative descriptions of the published interfaces are contained in the man pages. New features which do not involve changes to these existing, published interfaces (currently, just the configuration file formats) are introduced as the minor number increases. It should be possible for sites to upgrade within the same major number without having to change their configuration files or way of operating their site.

When the man pages' published interface features are changed or removed (currently only the configuration file formats), the major number will be increased. When upgrading to a new major verison, sites should read the RELEASE file placed in doc directory, and any sections of man pages and admin guides which they are directed to by new entries in RELEASE.

Because of this strict policy on changes to interfaces, large differences in major number may not correspond to large changes to the codebase or interfaces. As an extreme example, five small but incompatible changes to the configuration file format would result in the major number going up by 5 if the changes were not all done at the same time.

If the number of releases makes it impractical to maintain timely security and other bug fixes for them all, then "golden releases" will be nominated and kept updated to best address sites' requirements.

Sites should not rely on features such as file locations, file formats, Python classes and functions, or the details of the VacQuery UDP protocol which are not described in man pages. These features are liable to change without notice.