# Determining the upgrade path

This section explains SonarQube release cycle model and the principles to follow in order to determine if you can perform the upgrade directly or must upgrade first to intermediary version(s).

## SonarQube release cycle model <a href="#release-cycle-model" id="release-cycle-model"></a>

SonarQube follows semantic versioning. A new major or minor version is released every 2 months, and a new [active-versions](https://docs.sonarsource.com/sonarqube-server/10.5/setup-and-upgrade/upgrade-the-server/active-versions "mention") release is declared approximately every 18 months. Only the latest major release receives active support (updates and patches). During that time, the previous major release receives LTA support (security patches and fixes of blocker bugs) until the next LTA is declared.

SonarQube version follows the MAJOR.MINOR.PATCH model as shown below.

![](https://3691828591-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Feu7dHWcqP9Cr3eUAzwWg%2Fuploads%2Fgit-blob-27a35ea973412fa91eab3d2f7b59de8014f40a3e%2F135ac03c9718641b80a5fe869397b66dfc9dcba8.png?alt=media)

### Major version number <a href="#major-version-number" id="major-version-number"></a>

The major version number represents a series of releases with high-level objectives for the release cycle. It’s incremented with the release following an LTA version (for example, the release following 7.9 LTA was 8.0).

### Minor version number <a href="#minor-version-number" id="minor-version-number"></a>

The minor version number corresponds to incremental functional changes within a major release cycle. At the time of an LTA release, the release cycle is closed and the minor version number is frozen.

### Patch release number <a href="#patch-release-number" id="patch-release-number"></a>

The patch release number represent patches that fix blocker or critical problems.

## Upgrade path determination principles <a href="#determination-principles" id="determination-principles"></a>

To determine your upgrade path, consider the following principles:

* You can upgrade directly from a non-LTA version to another if there is no LTA version in your upgrade path.
* If there is at least one LTA version in your upgrade path, you must first upgrade to each intermediate LTA and then to your target version.
* When upgrading to an LTA version, you should directly upgrade to its latest patch.
* You can upgrade from the latest LTA version to the latest non-LTA version directly.
* If you’re migrating from an earlier patch version of an LTA, you can upgrade directly to the next LTA. You don’t need to install any intermediate patch versions.

## Upgrade path examples <a href="#path-examples" id="path-examples"></a>

| **From version** | **To version** | **Upgrade path**                                    |
| ---------------- | -------------- | --------------------------------------------------- |
| 8.9 LTA          | 9.9 LTA        | 8.9 LTA > 9.9 LTA (direct)                          |
| 7.9 LTA          | 9.9 LTA        | 7.9 LTA > 8.9 LTA > 9.9 LTA (one intermediary step) |
| 9.9 LTA          | 10.1           | 9.9 LTA > 10.1 (direct)                             |
| 9.6              | 9.9 LTA        | 9.6 > 9.9 LTA (direct)                              |
| 9.6              | 10.1           | 9.6 > 9.9 LTA > 10.1 (one intermediary step)        |

For more information on LTAs, see [active-versions](https://docs.sonarsource.com/sonarqube-server/10.5/setup-and-upgrade/upgrade-the-server/active-versions "mention").

You can use our calculator to help determine your update path.

{% @sonar-embeds/upgrade-calculator fullWidth="true" %}
