Name | Modified | Size | Downloads / Week |
---|---|---|---|
Parent folder | |||
protoc-31.0-win32.zip | 2025-05-14 | 3.5 MB | |
protoc-31.0-win64.zip | 2025-05-14 | 3.4 MB | |
protoc-31.0-linux-x86_32.zip | 2025-05-14 | 3.8 MB | |
protoc-31.0-linux-x86_64.zip | 2025-05-14 | 3.5 MB | |
protoc-31.0-osx-aarch_64.zip | 2025-05-14 | 2.5 MB | |
protoc-31.0-osx-universal_binary.zip | 2025-05-14 | 5.0 MB | |
protoc-31.0-osx-x86_64.zip | 2025-05-14 | 2.6 MB | |
protobuf-31.0.tar.gz | 2025-05-14 | 9.6 MB | |
protobuf-31.0.zip | 2025-05-14 | 11.4 MB | |
protoc-31.0-linux-aarch_64.zip | 2025-05-14 | 3.5 MB | |
protoc-31.0-linux-ppcle_64.zip | 2025-05-14 | 3.8 MB | |
protoc-31.0-linux-s390_64.zip | 2025-05-14 | 4.5 MB | |
Protocol Buffers v31.0 source code.tar.gz | 2025-05-14 | 9.6 MB | |
Protocol Buffers v31.0 source code.zip | 2025-05-14 | 11.5 MB | |
README.md | 2025-05-14 | 14.3 kB | |
Totals: 15 Items | 78.2 MB | 1 |
Announcements
- Protobuf News may include additional announcements or pre-announcements for upcoming changes.
Bazel
- Loosen py_proto_library check to be on the import path instead of full directory (i.e. excluding external/module-name prefix). (https://github.com/protocolbuffers/protobuf/commit/a4be867133971b21f0fa4a7523733dd1b62db4c1)
Compiler
- Add support for import option for protoc.(https://github.com/protocolbuffers/protobuf/commit/9901db60704ff248383da620d615bec06f19850e)
- Add notices.h with information about our dependencies' licenses and add --notices flag to protoc to print the contents of that file. (https://github.com/protocolbuffers/protobuf/commit/7a2648649128d5ef36d6d3626328d4007508ba5f)
- Move upb minitable code generator into protoc (https://github.com/protocolbuffers/protobuf/commit/dce6b0f14bd264d2fc9d92a7f5005d7a87b80b02)
- Upgrade abseil-cpp to 20250127 and use @com_google_absl -> @abseil-cpp and com_google_googletest -> @googletest canonical BCR names. (https://github.com/protocolbuffers/protobuf/commit/ba6b54d6bcd5c118fda1cc20ab7afaba4b4ef93d)
C++
- Remove fast-path check for non-clang compilers in MessageCreator. (https://github.com/protocolbuffers/protobuf/commit/aa5410dd95b9bceeca78e308481a46032ae79cd9)
- Add missing include. (https://github.com/protocolbuffers/protobuf/commit/d39063184a826bd53bc7b78734a39db9f93c8342)
- Add weak attribute to GetClassData to speed up clang builds. (https://github.com/protocolbuffers/protobuf/commit/d8964801b196a65cb9ab26f7c17872993c76b140)
- Add nontemporal software prefetcher to repeated ptr field dtor to improve performance. (https://github.com/protocolbuffers/protobuf/commit/73f34695e6cd1124f4e64e9173e94866789691af)
- Warn on unused RepeatedPtrField. (https://github.com/protocolbuffers/protobuf/commit/683e9d2365273c951c89a377b678898ea083e178)
- Add notices.h with information about our dependencies' licenses and add --notices flag to protoc to print the contents of that file. (https://github.com/protocolbuffers/protobuf/commit/7a2648649128d5ef36d6d3626328d4007508ba5f)
- Fix a bug in handling of implicit-presence string_view fields. (https://github.com/protocolbuffers/protobuf/commit/bd70a7cc7bbbc6ce039e998d3778351e22d10bd4)
- Control bounds checks via BUILD flags. (https://github.com/protocolbuffers/protobuf/commit/d21e8ef1d521576d4add656138afb1725204f394)
- Upgrade abseil-cpp to 20250127 and use @com_google_absl -> @abseil-cpp and com_google_googletest -> @googletest canonical BCR names. (https://github.com/protocolbuffers/protobuf/commit/ba6b54d6bcd5c118fda1cc20ab7afaba4b4ef93d)
- Create hardened versions of
Get
andMutable
for repeated_field. (https://github.com/protocolbuffers/protobuf/commit/ffade4a9f5a7b0728457855049e61d621ed529ec)
Java
- Add weak attribute to GetClassData to speed up clang builds. (https://github.com/protocolbuffers/protobuf/commit/d8964801b196a65cb9ab26f7c17872993c76b140)
- Use ProtobufToStringOutput to control the output format of AbstractMessage.Builder.toString. (https://github.com/protocolbuffers/protobuf/commit/f5cb16242d15d4c6159f51b048f0dc76387827a2)
- Implement Protobuf Java Immutable API
nest_in_file_class
feature for Edition 2024. (https://github.com/protocolbuffers/protobuf/commit/0416c3e1073ac08fe99fbd964833bae70e3c6cd0) - Introduce a
Generated
annotation to eventually replacejavax.annotation.Generated
(https://github.com/protocolbuffers/protobuf/commit/31e57fc64a87d52a57d3373d7088c60a84ae79ff) - Add volatile to featuresResolved (https://github.com/protocolbuffers/protobuf/commit/9e03ca531fb8eccd841f022ca57cac757a2c5624)
- Fix Java concurrency issue in feature resolution for old <=3.25.x gencode using lazy feature resolution. (https://github.com/protocolbuffers/protobuf/commit/fafb0fd5db2d0d7c590e65dbb57e100ec1a802f6)
- Remove Java runtime classes from kotlin release. (https://github.com/protocolbuffers/protobuf/commit/079be27925955348d1b3cb30ffbfa33dcec5778c)
- Split maven dependencies into dev vs local (#20549) (https://github.com/protocolbuffers/protobuf/commit/e045fc60cf7e43a840d147138338ad5b2913fe7a)
- Improve error messaging when detecting and erroring out on integer overflow of byte count limit variables. (https://github.com/protocolbuffers/protobuf/commit/097fdb86ff7017c425ff90ee55caf97027888f40)
Kotlin
- Remove Java runtime classes from kotlin release. (https://github.com/protocolbuffers/protobuf/commit/079be27925955348d1b3cb30ffbfa33dcec5778c)
Csharp
- Remove "experimental API" warnings from members in the .NET protobuf runtime. (https://github.com/protocolbuffers/protobuf/commit/afea52fb44e826601f5936fda9110670cfc0f1aa)
- Improve performace of repeated packed fixedSize fields (#19667) (https://github.com/protocolbuffers/protobuf/commit/85507b98a603bfee2ee0685f7825e5e903e1716a)
Objective-C
- [ObjC] Deprecate
GPBFieldDescriptor.isOptional
. (https://github.com/protocolbuffers/protobuf/commit/86ab252a9f5990ec804e14e84efd6a24169fdf8a) - [ObjC] Raise the library version and enable new generated code. (https://github.com/protocolbuffers/protobuf/commit/a639cf8548d4c1596575005d84cc13bb8705b1d9)
Rust
- Cherry-pick Rust fix to 31.x (#21617) (https://github.com/protocolbuffers/protobuf/commit/01b42bbd549c8f30ef9a27cd4964a7ae2632955a)
- Add upb_Map_GetMutable API to upb (https://github.com/protocolbuffers/protobuf/commit/dd5bf5e9b24d0462b981da05f4dcfd1499a4686c)
- See also UPB changes below, which may affect Rust.
Python
- Update GetCurrentTime to use datetime.datetime.now (https://github.com/protocolbuffers/protobuf/commit/01b154c85317e1ddaf0da7a125fc3d5c34f85d7b)
- Make Py JSON
float_precision
apply to both float and double fields. (https://github.com/protocolbuffers/protobuf/commit/5b54ee3c91e9d6d7790488aed35b3f6b7d081281) - -Add '+' and '-' annotations for Timestamp and Duration in Python (https://github.com/protocolbuffers/protobuf/commit/fff783ef874ed6b1f88e567a610757933516f21e)
- Bug fix for
FieldMask.MergeFrom()
with unset fields. (https://github.com/protocolbuffers/protobuf/commit/1c87ac371607546d2971aae619a7d72ac19f4159) - Make python text_format able to skip unknown fields for repeated messages (https://github.com/protocolbuffers/protobuf/commit/dcafca20856007ca2e00426d3a477184ff8f026d)
- Fix segment fault for UPB Pyhon 'in' method of empty repeated extensions (https://github.com/protocolbuffers/protobuf/commit/da04261f2bf8a023458171cd95e7b375dfce1161)
- Fix upb to escape DefinitelyNeedsEscape (like " and ') for bytes field (https://github.com/protocolbuffers/protobuf/commit/b23430512ad9bcf6d392aa77e428855e3bc842e6)
- Check with fallback descriptorDB for FindExtensionByNumber()/FindAllExtensions in UPB python pool. (https://github.com/protocolbuffers/protobuf/commit/9fd28d969ee326eb8492893d9c17f587dcdcd849)
- Add clear() method to repeated fields in Python. (https://github.com/protocolbuffers/protobuf/commit/0324f39dabc605c11e56241b374da700bc9e3d62)
- Register Scalar/MessageMapContainerTypes as virtual subclasses of (https://github.com/protocolbuffers/protobuf/commit/9a0b5914cb0a6e0f5eb898df25c4b55fa79e346a)
- Fix python codegen crash when C++ features are used. (https://github.com/protocolbuffers/protobuf/commit/308aaf47686229b7c6f5f9534e254910cebd28c2)
- Add more detail to the comment for GetMessageClassesForFiles (https://github.com/protocolbuffers/protobuf/commit/9befb58bf3e0d0179e06a554968c1a8e5e72a1f4)
- Add constructing unpack routine to Python Protobuf Any API. (https://github.com/protocolbuffers/protobuf/commit/fb78c09e1671eed5321bc41816e4656bf966cfa3)
- Implement typing for proto Timestamp/Duration assignments. (https://github.com/protocolbuffers/protobuf/commit/0e3326bbbbf42641a6c8392bde3ebff5d2b53b22)
PHP
- Deprecate Descriptor Label. As an alternative, add helper methods for checking whether a field is required or repeated. (https://github.com/protocolbuffers/protobuf/commit/d82de8f147be07e7a10c5c395505f0a662a911f2)
- Feat(php): improve return typehint when repeatedfield (#11734) (https://github.com/protocolbuffers/protobuf/commit/e04fe69a9f5fa44a89ef3b4410363776101eac0d)
PHP C-Extension
- Automated rollback of commit f9863dfd3c98278e703be0e3c19ded2d09e60fde. (#21355) (https://github.com/protocolbuffers/protobuf/commit/a59988ceac3295d2bfd702fef807a9d18cdde067)
- Deprecate Descriptor Label. As an alternative, add helper methods for checking whether a field is required or repeated. (https://github.com/protocolbuffers/protobuf/commit/d82de8f147be07e7a10c5c395505f0a662a911f2)
- Ruby: Allow to get a file descriptor by a file name (#20287) (https://github.com/protocolbuffers/protobuf/commit/c3985925490e88a95ec4aac21b69759eb09ae896)
- Feat(php): improve return typehint when repeatedfield (#11734) (https://github.com/protocolbuffers/protobuf/commit/e04fe69a9f5fa44a89ef3b4410363776101eac0d)
- See also UPB changes below, which may affect PHP C-Extension.
Ruby
- Fix silent failure of
rb_test
rules to run test (#21733) (https://github.com/protocolbuffers/protobuf/commit/0cf5489ca0f42df903ba1abd1f5f0a75aa95f045) - Ruby | Add support for a protobuf debug build (#21060) (https://github.com/protocolbuffers/protobuf/commit/59e1f0f6bdb85e93b60f7d9e36985be2c290578b)
- Ruby | Support installing the gem via git and some other small build tweaks (#21061) (https://github.com/protocolbuffers/protobuf/commit/d3560e72e791cb61c24df2a1b35946efbd972738)
- Deprecate Descriptor Label. As an alternative, add helper methods for checking whether a field is required or repeated. (https://github.com/protocolbuffers/protobuf/commit/d82de8f147be07e7a10c5c395505f0a662a911f2)
- [Ruby]Implement
#to_hash
for message classes (#20866) (https://github.com/protocolbuffers/protobuf/commit/5596f6d8afc72e99c19d2c72e8d39e6d2e88acf4) - Drop Ruby 3.0 (https://github.com/protocolbuffers/protobuf/commit/5de7c80e325a254081a5b08b47783b39b19ec1d9)
- Fixes [#18726] by backslash escaping descriptor data containing
#
if the hashmark appears immediately before any of$
,{
, or@
. (https://github.com/protocolbuffers/protobuf/commit/fffa3da9845491f76173d1eafe4fe914811c0ea7) - Ruby: Allow to get a file descriptor by a file name (#20287) (https://github.com/protocolbuffers/protobuf/commit/c3985925490e88a95ec4aac21b69759eb09ae896)
- Ruby: fix bug in Map.hash (https://github.com/protocolbuffers/protobuf/commit/b968d0daa86158039de22887e4ac3914b77ea4b0)
Ruby C-Extension
- Ruby | Add support for a protobuf debug build (#21060) (https://github.com/protocolbuffers/protobuf/commit/59e1f0f6bdb85e93b60f7d9e36985be2c290578b)
- Deprecate Descriptor Label. As an alternative, add helper methods for checking whether a field is required or repeated. (https://github.com/protocolbuffers/protobuf/commit/d82de8f147be07e7a10c5c395505f0a662a911f2)
- Ruby: Allow to get a file descriptor by a file name (#20287) (https://github.com/protocolbuffers/protobuf/commit/c3985925490e88a95ec4aac21b69759eb09ae896)
- Ruby: fix bug in Map.hash (https://github.com/protocolbuffers/protobuf/commit/b968d0daa86158039de22887e4ac3914b77ea4b0)
- 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. (https://github.com/protocolbuffers/protobuf/commit/3434a21151055b597915f6ff94255a1a195a9ed5)
- Deprecate Descriptor Label. As an alternative, add helper methods for checking whether a field is required or repeated. (https://github.com/protocolbuffers/protobuf/commit/d82de8f147be07e7a10c5c395505f0a662a911f2)
- Add upb_Map_GetMutable API to upb (https://github.com/protocolbuffers/protobuf/commit/dd5bf5e9b24d0462b981da05f4dcfd1499a4686c)
- Fix upb to escape DefinitelyNeedsEscape (like " and ') for bytes field (https://github.com/protocolbuffers/protobuf/commit/b23430512ad9bcf6d392aa77e428855e3bc842e6)
- Upb: delete functions in map_gencode_util. They're unused after the Map iterator API change. (https://github.com/protocolbuffers/protobuf/commit/f3988070e937e401efb6b81b37a461cfe2f27efb)
- Upb: Update _upb_map_next signature to return a boolean and remove the _nextmutable Map iterator API. (https://github.com/protocolbuffers/protobuf/commit/e4cdf44dd221e05aa2a62f739e08718af54842f9)
- Change upb C generated map iteration function to not hand out MapEntry pointers. (https://github.com/protocolbuffers/protobuf/commit/3a3d69768b80ab131e633ea869b9c29167a1916c)
- Ruby: Allow to get a file descriptor by a file name (#20287) (https://github.com/protocolbuffers/protobuf/commit/c3985925490e88a95ec4aac21b69759eb09ae896)
- 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. (https://github.com/protocolbuffers/protobuf/commit/121fdaa49ba83faf4b9ff346a4b5dbc1105caa12) - Move upb minitable code generator into protoc (https://github.com/protocolbuffers/protobuf/commit/dce6b0f14bd264d2fc9d92a7f5005d7a87b80b02)
- Tolerate message set extensions encoded as normal deliminited submessages (https://github.com/protocolbuffers/protobuf/commit/c63fd563095adae535732b9464f4ab99f31c1bb4)
- Automated rollback of commit 6bde8c417770097457e9137036eb00595a1f7bda. (https://github.com/protocolbuffers/protobuf/commit/8ef81fbd928bd820d9bb318bfb6243c1ddb51c54)
- Fix UPB fast table build. (https://github.com/protocolbuffers/protobuf/commit/46f9e29d1a0151aa3432e463b2f8efeacb92c87a)
Other
- Patch
rules_ruby
to applyneverlink = True
to thejars
rule (#21416) (#21505) (https://github.com/protocolbuffers/protobuf/commit/664d94a5f6a8408939fd4d8a87624292a844c1c9) - Restore JDK8 compatibility in Bazel for libraries with dependencies from Maven (e.g. //java/util) (https://github.com/protocolbuffers/protobuf/commit/e8edc5d5e72fa091b0086b4a6d12af0bb66d664b)
- Protobuf: add //:go_features_proto Bazel alias (https://github.com/protocolbuffers/protobuf/commit/f79be3e55ce60e583c7e07bda4ccbbe42ca1ee84)
- Fixes -lpthread problem when building with android_arm64 config (#20337) (https://github.com/protocolbuffers/protobuf/commit/4f5968a208ea0f7b9835708b6ce16df69dd3e450)