SDK API and V-Ray versions
Since the App SDK is a higher-level API layer developed (mostly) independently of the renderer itself, it has its own API version. For example, currently it is at version 4.x, while the V-Ray core is 6.x. We didn't want to use the same major version number as major changes to the App SDK may not necessarily be coupled with a V-Ray major version and vice-versa.
In other words, the App SDK API version reflects the evolution of the API, while the V-Ray version (the product version) reflects the evolution of the render engine itself.
Both the API version and the V-Ray version are made up of three numbers X.Y.Z or Major.Minor.Patch for semantic versioning with some specific details explained below.
Semantic version scheme
- The major version can increase when major incompatible changes are made to the API. For V-Ray a major version reflects major product releases and requires new licenses.
- The minor version increases with the addition of new features and should maintain backward API compatiblity.
- The number here increases in steps of one, where odd numbers are used for intermediate nightly build versions and even numbers are used for stable releases.
- So, for example, 1.04.xx is a stable version, the next stable version would be 1.06.xx and all nightly builds between them are 1.05.xx.
- The patch version is bumped with bugfixes for the stable builds.
Programmatic access
There are several module-level functions for querying the version of the API and the V-Ray rendering core at runtime:
getAPIVersion()
- Returns the Major.Minor.Patch version numbers of the App SDK API in some language-dependent format.getVRayVersion()
- Returns the Major.Minor.Patch version numbers of the V-Ray in some language-dependent format.getVRayVersionDetails()
- Returns a string with the V-Ray version and additional details: git hash and time of build. These are mostly useful with nightly builds and for debugging problems such as loading DLLs from a wrong location.
These functions are in the Globals class and their names start with a capital letter in .Net.