Search code examples
androidgoogle-apiversioning

Why did Google jump from version 12.0.1 to 15.0.0 with Google APIs for Android?


Google recently released a new version of Google APIs for Android and it struck me as pretty weird why they would jump 3 major versions up. As far as I can see they didn't explain it in the release notes, so my question stands as in the title.

Why did Google decide to jump from version 12.0.1 to 15.0.0 with Google APIs for Android?


Solution

  • In a Reddit thread about Google's recent announcement of a new SDK versioning system, someone claiming to be a Google employee offered the following interesting explanation.

    Googler here: the big version skip is just an implementation detail. We have been working on this new build process for a long time in parallel with other Play services releases and we needed to pick a "base" version where the versioning logic would change. We had to bake this version into a number of things, for instance Android Studio knows not to raise the old "different versions" lint error on 15.0.0+.

    As for the semantic versioning, we actually have not been following SemVer at all in the past. The SDK just bumped by 0.2.0 each planned release, and if we made mistakes we'd release +0.0.1 patch versions until it was fixed. So for instance 10.0.0 was not a breaking change from 9.8.0, in fact it was a kind of boring release.

    In the old days the version number used to tell you what version of the Play services app it was compatible with and it would be some ugly thing like 7.8.49 but we stopped doing that around 9.0