v21.0
版本发布时间: 2022-05-26 08:01:18
protocolbuffers/protobuf最新发布版本:v28.1(2024-09-12 01:21:10)
C++
- cmake: Call get_filename_component() with DIRECTORY mode instead of PATH mode (#9614)
- Escape GetObject macro inside protoc-generated code (#9739)
- Update CMake configuration to add a dependency on Abseil (#9793)
- Fix cmake install targets (#9822)
- Use __constinit only in GCC 12.2 and up (#9936)
Java
- Update protobuf_version.bzl to separate protoc and per-language java … (#9900)
Python
- Increment python major version to 4 in version.json for python upb (#9926)
- The C extension module for Python has been rewritten to use the upb library. This is expected to deliver significant performance benefits, especially when parsing large payloads. There are some minor breaking changes, but these should not impact most users. For more information see: https://developers.google.com/protocol-buffers/docs/news/2022-05-06#python-updates
- Fixed win32 build and fixed str(message) on all Windows platforms. (#9976)
- The binary wheel for macOS now supports Apple silicon.
PHP
- [PHP] fix PHP build system (#9571)
- Fix building packaged PHP extension (#9727)
- fix: reserve "ReadOnly" keyword for PHP 8.1 and add compatibility (#9633)
- fix: phpdoc syntax for repeatedfield parameters (#9784)
- fix: phpdoc for repeatedfield (#9783)
- Change enum string name for reserved words (#9780)
- chore: [PHP] fix phpdoc for MapField keys (#9536)
- Fixed PHP SEGV by not writing to shared memory for zend_class_entry. (#9996)
Ruby
- Allow pre-compiled binaries for ruby 3.1.0 (#9566)
- Implement
respond_to?
in RubyMessage (#9677) - [Ruby] Fix RepeatedField#last, #first inconsistencies (#9722)
- Do not use range based UTF-8 validation in truffleruby (#9769)
- Improve range handling logic of
RepeatedField
(#9799) - Support x64-mingw-ucrt platform
Other
- [Kotlin] remove redundant public modifiers for compiled code (#9642)
- [C#] Update GetExtension to support getting typed value (#9655)
- Fix invalid dependency manifest when using
descriptor_set_out
(#9647) - Fix C# generator handling of a field named "none" in a oneof (#9636)
- Add initial version.json file for 21-dev (#9840)
- Remove duplicate java generated code (#9909)
- Cherry-pick PR #9981 into 21.x branch (#10000)
1、 protobuf-all-21.0.tar.gz 7.2MB
2、 protobuf-all-21.0.zip 9.26MB
3、 protobuf-cpp-3.21.0.tar.gz 4.61MB
4、 protobuf-cpp-3.21.0.zip 5.61MB
5、 protobuf-csharp-3.21.0.tar.gz 5.33MB
6、 protobuf-csharp-3.21.0.zip 6.57MB
7、 protobuf-java-3.21.0.tar.gz 5.29MB
8、 protobuf-java-3.21.0.zip 6.66MB
9、 protobuf-objectivec-3.21.0.tar.gz 4.97MB
10、 protobuf-objectivec-3.21.0.zip 6.12MB
11、 protobuf-php-3.21.0.tar.gz 4.91MB
12、 protobuf-php-3.21.0.zip 6.03MB
13、 protobuf-python-4.21.0.tar.gz 4.93MB
14、 protobuf-python-4.21.0.zip 6.05MB
15、 protobuf-ruby-3.21.0.tar.gz 4.84MB
16、 protobuf-ruby-3.21.0.zip 5.89MB
17、 protoc-21.0-linux-aarch_64.zip 1.51MB
18、 protoc-21.0-linux-ppcle_64.zip 1.63MB
19、 protoc-21.0-linux-s390_64.zip 1.93MB
20、 protoc-21.0-linux-x86_32.zip 1.61MB
21、 protoc-21.0-linux-x86_64.zip 1.51MB
22、 protoc-21.0-osx-aarch_64.zip 1.29MB
23、 protoc-21.0-osx-universal_binary.zip 2.69MB
24、 protoc-21.0-osx-x86_64.zip 1.43MB
25、 protoc-21.0-win32.zip 2.2MB
26、 protoc-21.0-win64.zip 2.17MB