next up previous contents
Next: Downloading Up: Obtaining OpenVL Previous: Obtaining OpenVL   Contents

Understanding the version numbers

OpenVL's version number has the following format: ``a.b.c'', where a, b and c are some non-negetive integers. The first number ``a'' is the major version number, ``b'' is the minor version number and ``c'' is the revision number.

We follow a scheme which is similar to the one used by Linux kernels. In our scheme, all unstable or developmental1.1 releases are characterized by an odd minor version number. That is, for any numbers a and c, a.1.c will always be an unstable release and a.2.c will always be a stable release.

The major version number indicates the API compatibility of the library. All versions of the library with the same major version number will be binary forward compatible. That is, version 0.2.1 will be forward compatible with version 0.4.0. Any program comiled with version 0.2.1 of the library will work with version 0.4.0 or with any version 0.b.c without needing a recompile. There is one exception however. The unstable releases are not guaranteed to be forward compatible.

The revision number among stable releases indicates a bug-fix release which is 100% compatible with the earlier releases with the same major and minor numbers. For unstable releases, the revision number simply indicates a release from the main branch of CVS repository.

We gave a version number of 0.1.0 to our first release. This release is an unstable release since the minor number is odd. The stable release following the unstable releases 0.1.0, 0.1.1 etc. will be version 0.2.0. Once a stable version is released, another unstable version 0.3.0 will be released. The unstable versions are always on the the HEAD1.2 branch of CVS. If there are any bug fixes to be applied to 0.2.0, a new branch for 0.2.0 will be opened and the fixes will be applied there. A new release 0.2.1 will then be released. At the same time, we will release new unstable versions 0.3.1, 0.3.2 as more changes occur in CVS. Once the 0.3.x series is stabilized, we will release version 0.4.0 and continue work on 0.5.x series.

The major number will be upgraded when we need to make binary incompatible changes to the OpenVL API. The first time we do that, the new version will be 1.a.b. After that, we will continue release 1.a.b releases till we again make binary incompatible changes which will lead to 2.a.b releases.

To summarize, if you are an end-user who wants to use the OpenVL library for your software, stick to stable releases which will have an even minor version number. If you are interested in living on the bleeding edge, use unstable releases or CVS.


next up previous contents
Next: Downloading Up: Obtaining OpenVL Previous: Obtaining OpenVL   Contents
Sarang Lakare 2003-04-26