---
title: "Versioning"
canonical: "https://documentation.chaos.com/space/APPSDK/132875968/Versioning"
format: markdown
---
## **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.

> ℹ️ Stable releases of the App SDK include a stable version of the core and nightly builds of the App SDK use the nightly core.


## **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 ](https://docs-chaos.atlassian.net/wiki/spaces/APPSDK/pages/132612898)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.