-
Latest Version
-
Operating System
Windows 10 (64-bit) / Windows 11
-
User Rating
Click to vote -
Author / Product
-
Filename
protoc-31.0-win64.zip
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 31.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:
Bazel:
- Loosen py_proto_library check to be on the import path instead of full directory (i.e. excluding external/module-name prefix)
Compiler:
- Add support for import option for protoc
- Add notices.h with information about our dependencies' licenses and add --notices flag to protoc to print the contents of that file
- Move upb minitable code generator into protoc
- Upgrade abseil-cpp to 20250127 and use @com_google_absl -> @abseil-cpp and com_google_googletest -> @googletest canonical BCR names
C++:
- Remove fast-path check for non-clang compilers in MessageCreator
- Add missing include
- Add weak attribute to GetClassData to speed up clang builds
- Add nontemporal software prefetcher to repeated ptr field dtor to improve performance
- Warn on unused RepeatedPtrField
- Add notices.h with information about our dependencies' licenses and add --notices flag to protoc to print the contents of that file
- Fix a bug in handling of implicit-presence string_view fields
- Control bounds checks via BUILD flags
- Upgrade abseil-cpp to 20250127 and use @com_google_absl -> @abseil-cpp and com_google_googletest -> @googletest canonical BCR names
- Create hardened versions of Get and Mutable for repeated_field
Java:
- Add weak attribute to GetClassData to speed up clang builds
- Use ProtobufToStringOutput to control the output format of AbstractMessage.Builder.toString
- Implement Protobuf Java Immutable API nest_in_file_class feature for Edition 2024
- Introduce a Generated annotation to eventually replace javax.annotation.Generated (31e57fc)
- Add volatile to featuresResolved (9e03ca5)
- Fix Java concurrency issue in feature resolution for old <=3.25.x gencode using lazy feature resolution
- Remove Java runtime classes from kotlin release
- Split maven dependencies into dev vs local
- Improve error messaging when detecting and erroring out on integer overflow of byte count limit variables
Kotlin:
- Remove Java runtime classes from kotlin release
Csharp:
- Remove "experimental API" warnings from members in the .NET protobuf runtime
- Improve performace of repeated packed fixedSize fields
Objective-C:
- [ObjC] Deprecate GPBFieldDescriptor.isOptional
- [ObjC] Raise the library version and enable new generated code
Rust:
- Cherry-pick Rust fix to 31.x
- Add upb_Map_GetMutable API to upb
- See also UPB changes below, which may affect Rust.
Python:
- Update GetCurrentTime to use datetime.datetime.now (01b154c)
- Make Py JSON float_precision apply to both float and double fields
- -Add '+' and '-' annotations for Timestamp and Duration in Python (fff783e)
- Bug fix for FieldMask.MergeFrom() with unset fields
- Make python text_format able to skip unknown fields for repeated messages
- Fix segment fault for UPB Pyhon 'in' method of empty repeated extensions
- Fix upb to escape DefinitelyNeedsEscape (like " and ') for bytes field
- Check with fallback descriptorDB for FindExtensionByNumber()/FindAllExtensions in UPB python pool
- Add clear() method to repeated fields in Python
- Register Scalar/MessageMapContainerTypes as virtual subclasses of (9a0b591)
- Fix python codegen crash when C++ features are used
- Add more detail to the comment for GetMessageClassesForFiles (9befb58)
- Add constructing unpack routine to Python Protobuf Any API
- Implement typing for proto Timestamp/Duration assignments
PHP:
- Deprecate Descriptor Label. As an alternative, add helper methods for checking whether a field is required or repeated
- Feat(php): improve return typehint when repeatedfield
PHP C-Extension:
- Automated rollback of commit f9863df
- Deprecate Descriptor Label. As an alternative, add helper methods for checking whether a field is required or repeated
- Ruby: Allow to get a file descriptor by a file name
- Feat(php): improve return typehint when repeatedfield
- See also UPB changes below, which may affect PHP C-Extension.
Ruby:
- Fix silent failure of rb_test rules to run test
- Ruby | Add support for a protobuf debug build
- Ruby | Support installing the gem via git and some other small build tweaks
- Deprecate Descriptor Label. As an alternative, add helper methods for checking whether a field is required or repeated
- [Ruby]Implement #to_hash for message classes
- Drop Ruby 3.0 (5de7c80)
- Fixes #18726 by backslash escaping descriptor data containing # if the hashmark appears immediately before any of $, {, or @
- Ruby: Allow to get a file descriptor by a file name
- Ruby: fix bug in Map.hash
Ruby C-Extension:
- Ruby | Add support for a protobuf debug build
- Deprecate Descriptor Label. As an alternative, add helper methods for checking whether a field is required or repeated
- Ruby: Allow to get a file descriptor by a file name
- Ruby: fix bug in Map.hash
- See also UPB changes below, which may affect Ruby C-Extension
UPB (Python/PHP/Ruby C-Extension):
- Fixed LTO-only linker error in upb linker arrays
- Deprecate Descriptor Label. As an alternative, add helper methods for checking whether a field is required or repeated
- Add upb_Map_GetMutable API to upb
- Fix upb to escape DefinitelyNeedsEscape (like " and ') for bytes field
- Upb: delete functions in map_gencode_util. They're unused after the Map iterator API change
- Upb: Update _upb_map_next signature to return a boolean and remove the _nextmutable Map iterator API
- Change upb C generated map iteration function to not hand out MapEntry pointers
- Ruby: Allow to get a file descriptor by a file name
- Expose the upb_ByteSize function to upb clients. Note that the current naive implementation is no more efficient than serializing the message yourself and noting the resulting size
- Move upb minitable code generator into protoc
- Tolerate message set extensions encoded as normal deliminited submessages
- Automated rollback of commit 6bde8c4
- Fix UPB fast table build
Other:
- Patch rules_ruby to apply neverlink = True to the jars rule
- Restore JDK8 compatibility in Bazel for libraries with dependencies from Maven (e.g. //java/util) (e8edc5d)
- Protobuf: add //:go_features_proto Bazel alias
- Fixes -lpthread problem when building with android_arm64 config
OperaOpera 120.0 Build 5543.38 (64-bit)
SiyanoAVSiyanoAV 2.0
PhotoshopAdobe Photoshop CC 2025 26.8.1 (64-bit)
BlueStacksBlueStacks 10.42.86.1001
CapCutCapCut 6.5.0
Premiere ProAdobe Premiere Pro CC 2025 25.3
PC RepairPC Repair Tool 2025
Hero WarsHero Wars - Online Action Game
SemrushSemrush - Keyword Research Tool
LockWiperiMyFone LockWiper (Android) 5.7.2
Comments and User Reviews