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

Protocol Buffers

Protocol Buffers 25.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 25.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:

Compiler:
- Implement proto2/proto3 with editions
- Defines Protobuf compiler version strings as macros and separates out suffix string definition
- Add utf8_validation feature back to the global feature set
- Setting up version updater to prepare for poison pills and embedding version info into C++, Python and Java gencode
- Merge the protobuf and upb Bazel repos
- Editions: Introduce functionality to protoc for generating edition feature set defaults
- Editions: Migrate edition strings to enum in C++ code
- Create a reflection helper for ExtensionIdentifier
- Editions: Provide an API for C++ generators to specify their features
- Editions: Refactor feature resolution to use an intermediate message
- Publish extension declarations with declaration verifications
- Editions: Stop propagating partially resolved feature sets to plugins
- Editions: Migrate string_field_validation to a C++ feature
- Editions: Include defaults for any features in the generated pool
- Protoc: parser rejects explicit use of map_entry option
- Protoc: validate that reserved range start is before end
- Protoc: support identifiers as reserved names in addition to string literals
- Drop support for Bazel 5
- Allow code generators to specify whether or not they support editions

C++:
- Set PROTOBUF_EXPORT on InternalOutOfLineDeleteMessageLite()
- Update stale checked-in files
- Apply PROTOBUF_NOINLINE to declarations of some functions that want it
- Implement proto2/proto3 with editions
- Make JSON UTF-8 boundary check inclusive of the largest possible UTF-8 character
- Reduce Map::size_type to 32-bits. Protobuf containers can't have more than
- Defines Protobuf compiler version strings as macros and separates out suffix string definition
- Add ABSL_ATTRIBUTE_LIFETIME_BOUND attribute on generated oneof accessors
- Fix bug in reflection based Swap of map fields
- Add utf8_validation feature back to the global feature set
- Setting up version updater to prepare for poison pills and embedding version info into C++, Python and Java gencode
- Add prefetching to arena allocations
- Merge the protobuf and upb Bazel repos
- Add ABSL_ATTRIBUTE_LIFETIME_BOUND attribute on generated repeated and map field accessors
- Editions: Migrate edition strings to enum in C++ code
- Workaround ICE on gcc 7.5 by not having one overload call the other one with a
- Create a reflection helper for ExtensionIdentifier
- Editions: Provide an API for C++ generators to specify their features
- Add ABSL_ATTRIBUTE_LIFETIME_BOUND attribute on generated string field accessors
- Editions: Refactor feature resolution to use an intermediate message
- Fixes for 32-bit MSVC
- Publish extension declarations with declaration verifications
- Export the constants in protobuf's any.h to support DLL builds
- Implement AbslStringify for the Descriptor family of types
- Add ABSL_ATTRIBUTE_LIFETIME_BOUND attribute on generated message field accessors
- Editions: Stop propagating partially resolved feature sets to plugins
- Editions: Migrate string_field_validation to a C++ feature
- Editions: Include defaults for any features in the generated pool
- Introduce C++ feature for UTF8 validation
- Protoc: validate that reserved range start is before end
- Remove option to disable the table-driven parser in protoc
- Lock down ctype=CORD in proto file
- Support split repeated fields
- In OSS mode omit some extern template specializations. We have seen reports of Automated rollback of commit adb2c4b.
- Allow code generators to specify whether or not they support editions
- Handle conflicting macros for FreeBSD

Java:
- Implement proto2/proto3 with editions
- Remove synthetic oneofs from Java gencode field accessor tables
- Timestamps.parse: Add error handling for invalid hours/minutes in the timezone offset
- Defines Protobuf compiler version strings as macros and separates out suffix string definition
- Add ABSL_ATTRIBUTE_LIFETIME_BOUND attribute on generated oneof accessors