Skip to content
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

Inconsistent version in released zip packages #11440

Closed
mkaltenh opened this issue Jan 3, 2023 · 1 comment
Closed

Inconsistent version in released zip packages #11440

mkaltenh opened this issue Jan 3, 2023 · 1 comment
Assignees

Comments

@mkaltenh
Copy link

mkaltenh commented Jan 3, 2023

Hi,
our team noticed that the naming of the generated .tar.gz and .zip files in inconsistent as of v21.x

For v20.3 all bundles were still named as expected:

protobuf-all-3.20.3.tar.gz
protobuf-all-3.20.3.zip
protobuf-cpp-3.20.3.tar.gz
protobuf-cpp-3.20.3.zip
protobuf-csharp-3.20.3.tar.gz
protobuf-csharp-3.20.3.zip
protobuf-java-3.20.3.tar.gz
protobuf-java-3.20.3.zip
protobuf-js-3.20.3.tar.gz
protobuf-js-3.20.3.zip
protobuf-objectivec-3.20.3.tar.gz
protobuf-objectivec-3.20.3.zip
protobuf-php-3.20.3.tar.gz
protobuf-php-3.20.3.zip
protobuf-python-3.20.3.tar.gz
protobuf-python-3.20.3.zip
protobuf-ruby-3.20.3.tar.gz
protobuf-ruby-3.20.3.zip
protoc-3.20.3-linux-aarch_64.zip
protoc-3.20.3-linux-ppcle_64.zip
protoc-3.20.3-linux-s390_64.zip
protoc-3.20.3-linux-x86_32.zip
protoc-3.20.3-linux-x86_64.zip
protoc-3.20.3-osx-x86_64.zip
protoc-3.20.3-win32.zip
protoc-3.20.3-win64.zip

However with the change to v3.21.7 and ever since this has changed. Since then protobuf-all is named with 21.x and the rest as 3.21.x also notice how python is 4.21.x since then.

Since v21.7 the version is different between languages:

protobuf-all-21.7.tar.gz
protobuf-all-21.7.zip
protobuf-cpp-3.21.7.tar.gz
protobuf-cpp-3.21.7.zip
...
protobuf-python-4.21.7.tar.gz
protobuf-python-4.21.7.zip
...
protoc-21.7-linux-aarch_64.zip
protoc-21.7-linux-ppcle_64.zip
protoc-21.7-linux-s390_64.zip
protoc-21.7-linux-x86_32.zip
protoc-21.7-linux-x86_64.zip
protoc-21.7-osx-aarch_64.zip
protoc-21.7-osx-universal_binary.zip
protoc-21.7-osx-x86_64.zip
protoc-21.7-win32.zip
protoc-21.7-win64.zip

After adding (for example) the protoc-21.12-win64.zip to path it still returns its version number as 3.21.12 so it seems this is unintentional on your side. Autogenerated Changelogs on your release page now also use "Protocol Buffers v21.x" as header text.

This becomes an issue with 3rd party libraries such as @protobuf-ts/protoc which has trouble finding the installer for 3.21.x because of this naming and fails.

@mkaltenh mkaltenh added the untriaged auto added to all issues by default when created. label Jan 3, 2023
@perezd perezd removed the untriaged auto added to all issues by default when created. label Jan 5, 2023
@zhangskz
Copy link
Member

zhangskz commented Jan 5, 2023

This is an intentional change to our versioning scheme to decouple per-language major versions as announced in https://developers.google.com/protocol-buffers/docs/news/2022-05-06#versioning.

Releases can now largely be referred to using the minor version (aka v21.x release) which will be the same for all languages though each language will have its own major version (3.21.x, 4.21.x). I believe the major version number for protoc continues to follow the C++ major version.

@zhangskz zhangskz closed this as completed Jan 5, 2023
wegood9 added a commit to wegood9/v2ray-core that referenced this issue Aug 4, 2023
Protobuf has changed their versioning scheme to language-specific one. For Golang, the first version applied the scheme would be 4.21.0 which followed the preceding version,3.20.1. Basically the major part is language-specific and no longer important.
Check more:
https://protobuf.dev/news/2022-05-06/
protocolbuffers/protobuf#11440
protocolbuffers/protobuf#11123
xiaokangwang pushed a commit to v2fly/v2ray-core that referenced this issue Oct 24, 2023
Protobuf has changed their versioning scheme to language-specific one. For Golang, the first version applied the scheme would be 4.21.0 which followed the preceding version,3.20.1. Basically the major part is language-specific and no longer important.
Check more:
https://protobuf.dev/news/2022-05-06/
protocolbuffers/protobuf#11440
protocolbuffers/protobuf#11123
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants