Open-source cross-platform data format used to serialize structured data

Protocol Buffers

Protocol Buffers 26.0

  -  3 MB  -  Freeware

Sometimes latest versions of the software can cause issues when installed on older devices or devices running an older version of the operating system.

Software makers usually fix these issues but it can take them some time. What you can do in the meantime is to download and install an older version of Protocol Buffers 26.0.


For those interested in downloading the most recent release of Protocol Buffers or reading our review, simply click here.


All old versions distributed on our website are completely virus-free and available for download at no cost.


We would love to hear from you

If you have any questions or ideas that you want to share with us - head over to our Contact page and let us know. We value your feedback!

What's new in this version:

- This version includes breaking changes to: Java, PHP, C++, Ruby, Python
- [Java] Remove the deprecated always_print_primitive_fields option from Java, Python and C++ JSON parsers
- [Java] Remove unused helper methods for creating new mutable arraylists
- [Java] Use Editions features in Java full runtimes
- [Java] Stop generating the "newInstance" method. This is not used anymore
- [Java] Remove unused overload of AbstractMessageLite.addAll that worked on a Collection instead of a List
- [Java] Remove obsolete runtime internalBuildGeneratedFileFrom which was for backwards compatibility with old gencode
- [Java] Remove unnecessary overloads of methods:
- [Java] Remove unnecessary generated overrides for GeneratedMessage.Builder methods:
- [Java] The base class for generated messages will be GeneratedMessage, not GeneratedMessageV3.
- [Java] Remove deprecated runtime methods for compatibility with old v2.x.x gencode
- [Java] Remove deprecated TextFormat print methods. These should be replaced by corresponding TextFormat.printer() methods
- [Java] Lock down visibility for descriptor syntax APIs
- [Java] Make deprecated Java gencode PARSER variable private
- [Java] Use Editions features in Java full runtimes
- [Java] The base class for generated messages will be GeneratedMessage, not GeneratedMessageV3.
- [PHP] Validate UTF-8 in string setters, as previously announced
- [PHP] Remove deprecated legacy class aliases
- [PHP] Validate UTF-8 in string setters, as previously announced
- [PHP] Remove support for PHP generic services
- [C++] Remove the deprecated always_print_primitive_fields option from Java, Python and C++ JSON parsers
- [C++] Remove const GetArena method on RepeatedPtrField
- [C++] Disallow incorrect ctype usage
- [C++] Remove deprecated std::string error collector overrides
- [C++] Promote ExtensionRange to a proper class
- [C++] Remove deprecated clear APIs on repeated fields
- [C++] Remove C++ legacy syntax descriptor APIs
- [C++] Remove deprecated syntax APIs
- [C++] Remove deprecated SupportsUnknownEnumValues method
- [Ruby] Removed syntax and added has_presence?/is_packed?
- [Ruby] Fixed json_encode/json_decode to use the message's pool
- [Ruby] Freeze is now recursive, affecting all sub-messages, maps, and repeated fields
- [Ruby] Fixed inconsistencies in Message#to_h, as previously announced
- [Ruby] Dropped support for Ruby DSL, as previously announced
- [Ruby] Lock down visibility for descriptor syntax APIs
- [Ruby] Removed syntax and added has_presence?/is_packed?
- [Ruby] Fixed json_encode/json_decode to use the message's pool
- [Ruby] Freeze is now recursive, affecting all sub-messages, maps, and repeated fields
- [Ruby] Fixed inconsistencies in Message#to_h, as previously announced
- [Python] Remove the deprecated always_print_primitive_fields option from Java, Python and C++ JSON parsers
- [Python] Removed obsolete/duplicate setup.py from Python
- [Python] Made text_format output default to UTF-8
- [Python] Remove RegisterExtension in message class
- [Python] Reject extend repeated field with none iterable
- [Python] Remove Deprecated APIs that add non top descriptor
- [Python] Check if Timestamp is valid
- [Python] Remove msg.UnknownFields() support in pure python and cpp extension
- [Python] Remove deprecated syntax accessor
- Protobuf News may include additional announcements or pre-announcements for upcoming changes

Compiler:
- Add <shellapi.h> include for CommandLineToArgvW
- Fix getting env variables on windows
- Proper fix utf8 command line arguments
- Allocate an editions FeatureSet extension
- Make rules_ruby a dev-only dependency

C++:
- Remove rust proto libraries from the editions/BUILD file
- Fix CMake regex escaping
- Escape _from_dir in install.cmake for regex special characters (e.g. c++) before REGEX REPLACE
- Tweak BUILD setup to make the layering check change less disruptive
- Add missing alias targets for C++ util libraries
- Breaking change: Remove the deprecated always_print_primitive_fields option from Java, Python and C++ JSON parsers