Versioning Strategy

The goal of this versionig strategy is both to :

The rules are :

And here is the strategy in action :

    
4.2 -> 4.3 -> 5.0 -> 5.1 -> 5.2 -> 5.3 -> 6.0 -> ...                  <- New release each 2 months 
        |                           |
      4.3.1 -> 4.3.2 -> ...       5.3.1 -> 5.3.2 -> ...               <- LTS releases containing only bug fixes each 6 months 

 

API Deprecation Strategy

The goal of this deprecation strategy is to make sure that any deprecated API will be dropped without any side-effects at a given planned date. The expected consequence of such strategy is to ease the evolution of the Sonar API by making such refactoring painless.

The rules are:

The following example shows the amount of APIs marked as deprecated during the releases 4.x:

And here is the Deprecation Strategy in action where A is the name of a method:

  A deprecated                        A removed
       |                                  |
4.1-> 4.2 -> 4.3 -> 5.0 -> 5.1 -> 5.2 -> 6.0       
              |                    |
            4.3.1                5.2.1          

Deprecated Libraries

Removal of libraries do not follow the same strategy than standard APIs. They usually require much more time than 2 series of versions to be fully dropped.

Current deprecated libraries are :

Moreover note that Java 5 is no longer supported since SonarQube 3.6.