为什么 Google 使用 Android 的 Google API 从版本 12.0.1 跳到 15.0.0?
Why did Google jump from version 12.0.1 to 15.0.0 with Google APIs for Android?
Google 最近 released Android 的 Google API 的新版本,令我震惊的是,为什么他们会跳 3 个主要版本。据我所知,他们没有在发行说明中对此进行解释,所以我的问题如标题所示。
为什么 Google 决定使用 Android 的 Google API 从版本 12.0.1 跳转到 15.0.0?
这可能是由于特定文化的迷信,13 在西方文化中被认为是不吉利的数字,而 (1)4 在东方文化中被认为是不吉利的数字。
相关:
Software versioning superstition (wikipedia)
Is v15 of Play Services a late April Fools joke? (reddit)
Play Services 15.0.0. Why the huge jump in version number? (reddit)
Special care may be taken to avoid occurrences or reminders of the number 4 during everyday life, especially during festive holidays, or when a family member is ill. Mentioning the number 4 around a sick relative is strongly avoided. Giving four of something is strongly discouraged. Elevators in Asia and Asian neighborhoods often skip the 4th floor or any floor whose number contains the digit "4" (as 14, 24, etc.). Military aircraft and ships also avoid the number 4 (such as the South Korean and Taiwanese navies) due to its extreme negative connotations of death. April 4 is also considered an exceptionally unlucky day (much like Friday the 13th in the West).
来自 Tetraphobia
Google 不使用任何主要内部版本号,因为它们是持续交付的。
我认为版本 13 和 14 可能仅在内部构建中交付,并没有进入 public 版本。
这叫版本发布前的预案
Why Google have switch from 12 to 15 directly
他们保留了 2 版本的备份,原因可能是
- 人们没有更新新版本:如果老用户没有用新版本更新那里的项目,如果添加到这个版本的东西不会出现在他们的旧版本,会有更新。所以他们也可以获得相同的功能,因为我们可以看到大约有成千上万的用户使用旧版本的应用程序。
Example- For 12 version User there will be edited update with 13 version which will not effect any kind of there funtionality
- 更新新版本的人:如果15版本有大更新,可能会出现需要很长时间才能恢复的问题,所以到时候用户,所以用户不能等到那个时候他们会有备份,这样他们就可以回滚到版本 14 并继续直到问题解决,
Example- For 15 version User there will be issues and rollback then they will get update with 14 version which will not effect any kind of there funtionality, they continue there work.
如果这两种情况都成立,那么他们将有两种选择
Example- For 15 version User there will be issues and rollback then they will get update with 14 version which will not effect any kind of there funtionality, they continue there work.
Example- For 13 version User there will be issues and rollback then they will get update with 12 version which will not effect any kind of there funtionality, they continue there work.
他们实际上并没有跳。播放服务每月发布一次。第 11 版已于 12 月发布。所以他们在 4 月发布了第 15 版。我猜这期间出现了一些问题,所以他们在 3 月发布了第 12 版(1 月版),即两个月后,也许 13 和 14 还没有准备好生产。但是版本控制是完全一致的。
在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
Google 最近 released Android 的 Google API 的新版本,令我震惊的是,为什么他们会跳 3 个主要版本。据我所知,他们没有在发行说明中对此进行解释,所以我的问题如标题所示。
为什么 Google 决定使用 Android 的 Google API 从版本 12.0.1 跳转到 15.0.0?
这可能是由于特定文化的迷信,13 在西方文化中被认为是不吉利的数字,而 (1)4 在东方文化中被认为是不吉利的数字。
相关:
Software versioning superstition (wikipedia)
Is v15 of Play Services a late April Fools joke? (reddit)
Play Services 15.0.0. Why the huge jump in version number? (reddit)
Special care may be taken to avoid occurrences or reminders of the number 4 during everyday life, especially during festive holidays, or when a family member is ill. Mentioning the number 4 around a sick relative is strongly avoided. Giving four of something is strongly discouraged. Elevators in Asia and Asian neighborhoods often skip the 4th floor or any floor whose number contains the digit "4" (as 14, 24, etc.). Military aircraft and ships also avoid the number 4 (such as the South Korean and Taiwanese navies) due to its extreme negative connotations of death. April 4 is also considered an exceptionally unlucky day (much like Friday the 13th in the West).
来自 Tetraphobia
Google 不使用任何主要内部版本号,因为它们是持续交付的。
我认为版本 13 和 14 可能仅在内部构建中交付,并没有进入 public 版本。
这叫版本发布前的预案
Why Google have switch from 12 to 15 directly
他们保留了 2 版本的备份,原因可能是
- 人们没有更新新版本:如果老用户没有用新版本更新那里的项目,如果添加到这个版本的东西不会出现在他们的旧版本,会有更新。所以他们也可以获得相同的功能,因为我们可以看到大约有成千上万的用户使用旧版本的应用程序。
Example- For 12 version User there will be edited update with 13 version which will not effect any kind of there funtionality
- 更新新版本的人:如果15版本有大更新,可能会出现需要很长时间才能恢复的问题,所以到时候用户,所以用户不能等到那个时候他们会有备份,这样他们就可以回滚到版本 14 并继续直到问题解决,
Example- For 15 version User there will be issues and rollback then they will get update with 14 version which will not effect any kind of there funtionality, they continue there work.
如果这两种情况都成立,那么他们将有两种选择
Example- For 15 version User there will be issues and rollback then they will get update with 14 version which will not effect any kind of there funtionality, they continue there work.
Example- For 13 version User there will be issues and rollback then they will get update with 12 version which will not effect any kind of there funtionality, they continue there work.
他们实际上并没有跳。播放服务每月发布一次。第 11 版已于 12 月发布。所以他们在 4 月发布了第 15 版。我猜这期间出现了一些问题,所以他们在 3 月发布了第 12 版(1 月版),即两个月后,也许 13 和 14 还没有准备好生产。但是版本控制是完全一致的。
在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