An ABI (Application Binary Interface) is a machine-readable list of symbols (functions, globals, and classes) that can only be called, accessed, and used by a computer in specific ways.
An API (Application Programming Interface) consists of C and C++ headers (.h
/.hpp
) that define how the ABI can be used by the compiler.
A version string is structured as vMAJOR.MINOR.REVISION
and roughly follows the Semantic Versioning standard.
Rack can be considered as a library for plugins. Applying Semantic Versioning, this means:
Rack plugins can be considered as applications that link to the Rack library. This means:
The most important point for users is that Rack will only load plugins that match its major (vX.*
) version.
In Rack's git repository, each major version has its own branch, labeled v1
, v2
, etc.
There is no master
branch.
The default branch on GitHub is the major version for the latest release of Rack listed at vcvrack.com.
To update the major version of your source tree, simply check out its branch.
It is not recommended to checkout a branch to upgrade Rack's major version unless you know how to fully clean a git tree with submodules.
When any version of Rack is released, the build's commit is tagged with its full version name (e.g. v1.0.0
).
However, this is only for informative purposes.
Building from “detached heads” of branches is not supported, since dependency URLs and other issues may need to be fixed after time has passed from the release date.