6.1. Package and library versions

libdbi utilizes libtool to manage the library in a platform-independent fashion. libtool uses an abstract library versioning scheme which consists of three numbers:


This is the number of the current interface. The first "incarnation" is usually 0 (zero), the next version that adds or subtracts something from this interface would be 1 (think of new API functions or functions with altered parameter lists).


This number counts the released changes of the interface which do not alter the interface (think of internal optimizations, bugfixes and so on)


This is the number of previous interfaces that the current version is backwards-compatible with. That is, if current is "n", programs linked against "n", "n-1", and "n-2" will run with the current version.

The package version number (major.minor.patch) is computed from the above numbers using the formulas:

The correction applied to minor is currently required to bring the package version in line with earlier releases which did not use proper libtool interface versioning. It will be dropped if major rises above zero.