@@ -14,19 +14,24 @@ later in this topic. Version numbers throughout this topic use
1414"3" is the major version, "21" is the minor version, and "7" is the micro or
1515patch number.
1616
17- Starting with the v21.x protoc release, we changed our versioning scheme to
18- enable nimbler updates to language-specific parts of Protocol Buffers. In the
19- new scheme, each language has its own major version that can be incremented
20- independently of other languages. The minor and patch versions, however, remain
21- coupled. This allows us to introduce breaking changes into some languages
22- without requiring a bump of the major version in languages that do not
23- experience a breaking change. For example, a single release might include protoc
24- version 24.0, Java runtime version 4.24.0 and C# runtime version 3.24.0.
25-
26- Prior to this versioning scheme, all languages had major version 3. The first
27- instance of this new versioning scheme was the 4.21.0 version of the Python API,
28- which followed the preceding version, 3.20.1. Other language APIs released at
29- the same time were released as 3.21.0.
17+ ## Numbering scheme
18+
19+ Protobuf releases are numbered with only a ` minor.point ` number, for example
20+ ` 29.5 ` .
21+
22+ Each individual language runtime is versioned with that same ` minor.point ` but
23+ has a language-specific major version number. For example, the ` 29.5 ` release
24+ corresponds to Java runtime version ` 4.29.5 ` and C# runtime version ` 3.29.5 ` . We
25+ recommend using protoc ` 29.5 ` with Java ` 4.29.5 ` and C# ` 3.29.5 ` .
26+
27+ This numbering scheme allows a single number for a given release of all
28+ languages, while avoiding coupling of the major version numbers between
29+ different languages. For example, the ` 30.0 ` release contained breaking changes
30+ in Python but not Java, so Python version went from ` 5.29.0 ` to ` 6.30.0 ` while
31+ the Java version went from ` 4.29.0 ` to ` 4.30.0 ` .
32+
33+ This versioning scheme was introduced in 2022 with the 21 release. Prior to the
34+ decoupled versioning scheme being introduced, all languages had major version 3.
3035
3136## Release Cadence {#cadence}
3237
0 commit comments