-
Notifications
You must be signed in to change notification settings - Fork 15.6k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Complicated versioning schema between various languages #12062
Comments
This was a deliberate shift to allow language bindings to evolve independently. This was announced at https://protobuf.dev/news/2022-05-06/#versioning The alternatives were
All of these were unacceptable for various reasons, so here we are. We should give this a dedicated space in our docs (not just the announcement section), so I will leave this bug open to track that. |
The problem is that making per-language versioning independent actually did not achieved this. Code generation is still being done by C++ version of protoc which get released according to C++ versioning schema (i. e. every release is a breaking change). Python bindings for protobuf still depend on a pyext (and have harsh performance if build without one). |
https://protobuf.dev/support/version-support/ covers our versioning schema. If this doesn't fully address the things raised in this issue, please reopen this and provide a delta so that I know what you'd like to see added/changed. Thanks. |
Doing the following in a M1 mac:
Results in:
@Logofile is this expected? |
That output seems correct, yes. Were you expecting something different? If so, what and why? |
@Logofile, it is out internal problem, everything is correct with the protobuf. |
As I see, at the time the following rules apply:
{major}.{minor}
4.
prefix to the versions (so git tagv21.12
becomes 4.21.12 on pypi).3.
prefix to the versions (hence git tagv21.12
becomes 3.21.12.In order to correspond to various versioning schemas, git tags also get multiplied, i. e. v22.0, v3.22.0 and v4.22.0 do actually point to the same commit a847a8d.
Is there any rationale behind this schema?
Do you have plans to unify the versioning?
The text was updated successfully, but these errors were encountered: