protobuf

Protocol Buffers·Google.Protobuf

Protocol Buffers (a.k.a., protobuf) are Google's language-neutral, platform-neutral, extensible mechanism for serializing structured data.

winget install --id Google.Protobuf --exact --source winget

Latest 35.0·May 19, 2026

Release Notes

Announcements

  • Protobuf News may include additional announcements or pre-announcements for upcoming changes. Bazel
  • Bazel 9 Support: Upgrade tests to Bazel 9 (3ee8d8a)
  • Moved protocopt flag out of the cc dir, since it is not a c++-specific flag. (325d8dc)
  • Add support for bazel 9.x (#26201) (f08d703)
  • Change @protobuf//bazel/flags:prefer_prebuilt_proto flag to True. (f9f32d2)
  • Dropped support for Bazel 7. (1816758) Compiler
  • Implement the Edition 2026 naming style enforcement feature. This will help prevent field name collisions. (ae0d964)
  • Add enum to enforce_naming_style feature to avoid field naming collisions which will be implemented in Edition 2026. (e4911a1)
  • Fail writing files in protoc CLI if any file output path is relative. (3bf2b07)
  • Mangle types named XyzView if there is any direct sibling named Xyz (63d6ef0)
  • Improve the namespacing selected by rustc used for gencode types in errors. (ce2eb73)
  • Fully qualify scalar types in Kotlin/Native proto generator. (adc8d22)
  • Change _opt() accessors to return an std::Option instead of protobuf::Optional (6ced612)
  • Make Message's trait bounds much better for generic use (be1292f)
  • Support more chars in type URLs in the C++ text-format parser. (3a87c6c)
  • Validate Feature Support on Custom Options (34c1110)
  • Trait clarity effort: introduce Singular trait, for types which are allowed as simple fields (cdbfaf1)
  • Trait clarity improvement on Map traits (a8daa95) C++
  • Workaround for attribute handling bug in gcc < 13 (78dc67e)
  • Implement the Edition 2026 naming style enforcement feature. This will help prevent field name collisions. (ae0d964)
  • Add enum to enforce_naming_style feature to avoid field naming collisions which will be implemented in Edition 2026. (e4911a1)
  • Enhance ParseInfoTree to provide location of names and values. (1cb4fdb)
  • Add integer overflow check to RepeatedPtrField::MergeFrom. (cb5fe97)
  • Adding sanity check for ListFields reflection call (555360e)
  • Introduce Arena::UniquePtr and Arena::Ptr as smart pointers to better manage (bb00218)
  • Bug fix for edition 2024 visibility checking. Visibility checking was not properly applied to service method input and output types. This is now applied properly and will error if method input/output types do not have visibility to those messages. (5a56dee)
  • Fixed data race in Python Free Threading by removing unnecessary SetHasBitForRepeated() call. (8c1a9a4)
  • Add support for bazel 9.x (#26201) (f08d703)
  • Add proto2::sort/stable_sort utilities that behave as the standard ones but are optimized for Protobuf containers. (252281f)
  • Add proto2::erase/erase_if utilities that behave as the standard ones but are optimized for Protobuf containers. (dc9fb35)
  • Extend Abseil flag support for enums to include std::vector. (bd42ac6)
  • Dropped support for Bazel 7. (1816758)
  • Add native Abseil flag support to protobuf message types. (ec42e19)
  • Support more chars in type URLs in the C++ text-format parser. (3a87c6c)
  • Stripping empty options (d5d6d4c)
  • Creating generic MaybeAddError helper function (4bcf773)
  • Validate Feature Support on Custom Options (34c1110)
  • Add bounds checks to UnsafeArenaExtractSubrange, ReleaseLast and SwapElements. (d124c2d)
  • Fix UTF-8 Validation of string extensions in C++ (0936f33)
  • Remove first implementation of protobuf out of bounds enforcement. (507f86b)
  • Add native Abseil flag support to protobuf enums. (a203388)
  • Improve EINTR handling for close in zero_copy_stream_impl.h (a904af9)
  • Add cc_proto_library for MessageSet in //src/google/protobuf/bridge (6d23e8e) Java
  • Add BytecodeClassName functions, matching helpers in the java GeneratorNames utility. (514aceb)
  • Add enum to enforce_naming_style feature to avoid field naming collisions which will be implemented in Edition 2026. (e4911a1)
  • Avoid toBigIntegerExact in JsonFormat to avoid degenerate parse behavior in the face of large exponents. (57093a8)
  • Dropped support for Bazel 7. (1816758)
  • Add native Abseil flag support to protobuf enums. (a203388) Csharp
  • Implement WriteDelimitedTo(BufferWriter) (#21325) (407f457)
  • Add an "include" directory containing WKTs for Google.Protobuf.Tools nuget package. (6029d17) Objective-C
  • ObjC: Block Roots from being created. (8274114)
  • Fix naming convention in c_function extension syntax (e3bee07)
  • Modify unit tests to use c_function extension syntax via ifdefs (e1f2f52) Rust
  • Mangle types named XyzView if there is any direct sibling named Xyz (63d6ef0)
  • Improve the namespacing selected by rustc used for gencode types in errors. (ce2eb73)
  • Allow ProtoStr to be used in const contexts. (7f7b974)
  • Make any &T impl AsView if T impl AsView (d787869)
  • Change _opt() accessors to return an std::Option instead of protobuf::Optional (6ced612)
  • Add some common methods to ProtoStr to make it more ergonomic to use without dropping down to &[u8] (f8daf2f)
  • Ffi_11: Define basic arithmetic operations and comparison with underlying type (74b6f3f)
  • Make Message's trait bounds much better for generic use (be1292f)
  • Remove ProxiedInMapValue alias, since it is superceded by MapValue (5bde6e8)
  • Add fn push_default(&mut self) -> SomeMsgMut<> fn for Repeated message type fields. (a3bf3ec)
  • Fix that f32 and f64 were incorrectly tagged as legal for MapKeys in RustProto. (ab3793e)
  • Trait clarity effort: introduce Singular trait, for types which are allowed as simple fields (cdbfaf1)
  • Trait clarity improvement on Map traits (a8daa95)
  • See also UPB changes below, which may affect Rust. Python
  • Fix Python text_format by adding an optional recursion depth limit (#26604) (8abff6b)
  • Fix data race in CMessage lazy initialization for Python freethreading. (28e4512)
  • Fixed data race in Python Free Threading by removing unnecessary SetHasBitForRepeated() call. (8c1a9a4)
  • Fix type annotation for FindAllExtensionNumbers() to be a list rather than the more general Iterator. (3edd615)
  • Add type hints to descriptor_database.py. (cbe6403)
  • Fixed a bug in msg.MergeFrom(msg2) in Python. (ab14c0f)
  • Fix NULL byte handling issue in Python Protobuf find symbols in pool (059dc7e)
  • Add support for bazel 9.x (#26201) (f08d703)
  • Add recursion guards for the following nested messages: (b4c3fec)
  • Protobuf Python UPB Free Threading support. (f10c1de)
  • Fix Any recursion depth bypass in Python json_format.ParseDict (#25239) (d2b0016)
  • Supports exporting int as int (ea78297) PHP
  • Fail writing files in protoc CLI if any file output path is relative. (3bf2b07) PHP C-Extension
  • Fix 1-byte stack overflow in PHP extension int64 formatting (#26530) (3f04505)
  • See also UPB changes below, which may affect PHP C-Extension. Ruby
  • Gracefully handle payloads >2GB. (918ad5b) Ruby C-Extension
  • Gracefully handle payloads >2GB. (918ad5b)
  • See also UPB changes below, which may affect Ruby C-Extension. UPB (Python/PHP/Ruby C-Extension)
  • Fixed two GCC-only issues around upb's generated extension registry.
  • Avoid theoretical overflow of uintptr_t in AddAllLinkedExtensions (e7785e0)
  • Test(proto): Add message to test oneof name conflict resolution (29476e1)
  • Add recursion guards for the following nested messages: (b4c3fec)

Installer type: zip

ArchitectureScopeDownloadSHA256
x86Download99FF33772CA055CD096782D05395BBCC4B6187CCE284D2A914FC3745D3ECB6B6
x64DownloadD1CEDE9E308CC3EB072392AF1C02CCAE4BDD3D2F374EC2970DBD8CDFDAA91363

Details

Homepage
https://github.com/protocolbuffers/protobuf
License
Proprietary
Publisher
Protocol Buffers
Support
https://github.com/protocolbuffers/protobuf/issues
Copyright
Copyright 2008 Google Inc.

Tags

marshallingprotobufprotobuf-runtimeprotocprotocol-buffersprotocol-compilerrpcserialization

Older versions (21)

34.1
ArchitectureScopeDownloadSHA256
x86Download14F5696F6F1BA37E91488BE39B0EA59BB2230CDE266E63F6F65610B3C5F54550
x64Download6D7EBDC75E9C1F0026D4FB28F17EF1D0AAE77D36744D83A9E052D79BA493724F
34.0
ArchitectureScopeDownloadSHA256
x86Download89512676CE87D2A7ABCE535DF366D1EC3CC2A36BA551A12DF9158DB240E014AA
x64Download76DDEB5AE7A31C8F9F7759D3B843A4CADDA2150AC037AD0C1794665D6CF31FCE
33.5
ArchitectureScopeDownloadSHA256
x86Download6BF9A1D83289664CBBC9A95FC3889C971B9F028C0E6F617BA800BAC401C36BE1
x64Download7E3468CD1FBD1AE9361A5304D4AC28FBD593AA1A425B5464BD9D4DA5FCA224B4
33.4
ArchitectureScopeDownloadSHA256
x86Download5B7069E637D628171D62C3982B2D4F10EC2CCE7642E028B6FC4873BC19796B25
x64Download0B31BE019B9FE45A388E93BF1F16D70AFDF9CE5CAF958EA47892FBC868B5A1B3
33.3
ArchitectureScopeDownloadSHA256
x86DownloadB45B084DE3F44FC0328E1547186ABEB4F5438FDB3C3EC5F26288CAD260034D39
x64Download1B845F9C78080033064509325E191670E09FBC74F966587F8E752557374D56AD
33.2
ArchitectureScopeDownloadSHA256
x86DownloadBB76077C45A4254A65F06F746DDA9CD346D8B555AB1A25EBC55548829C06B4CE
x64Download376770CD4073BEB63DB56FDD339260EDB9957B3C4472E05A75F5F9EC8F98D8F5
33.1
ArchitectureScopeDownloadSHA256
x86DownloadF52A79CE2A70D421F55BE880D3AF48D6B22865F2119DD63DF6423D1CE9027E31
x64DownloadD7A207FB6EEC0E4B1B6613BE3B7D11905375B6FD1147A071116EB8E9F24AC53B
33.0
ArchitectureScopeDownloadSHA256
x86Download3941CC8AEB0E8F59F2143B65F594088F726BB857550DABAE5D0DEE3BF1392DD1
x64Download3742CD49C8B6BD78B6760540367EB0FF62FA70A1032E15DAFE131BFAF296986A
32.1
ArchitectureScopeDownloadSHA256
x86DownloadBC91A9FBA925F025C06F152128BFB5D233CB1C75420D8877A5120F01DEF79898
x64Download69569CBC178CD5785ECB7D93569913110677EAFEB4B8F82970C361FAD4C7CD66
32.0
ArchitectureScopeDownloadSHA256
x86Download11B6D3662B179E277D8AF34A87700DC4ECB2B5695168AC65226798A2798AFD48
x64Download89C178E9F878CB6DD561F677688E1EB2E757CB9AC84AE30B64436BAC19646996
31.1
ArchitectureScopeDownloadSHA256
x86Download74C4E34A41C654934A1F4C7D5E3F831A7B216D867717CDF730F82E1E10C1D0E2
x64Download70381B116AB0D71CB6A5177D9B17C7C13415866603A0FD40D513DAFE32D56C35
31.0
ArchitectureScopeDownloadSHA256
x86DownloadEC49AE24DB4DAA94C40E5AFCC047D309A61EE15F95451AD8E5C7A13FD3FDB9B7
x64DownloadD7EDEE5D0D5D6786C92E77A4F511E4698A5AA922C6390B6D08C3A79935A651B0
30.2
ArchitectureScopeDownloadSHA256
x86Download5CAE95ACDF1690C0A24F187DBA7CBA25D8EE60085CC951A7D9274CFE0771D916
x64Download10F35DF7722A69DDE8EE92B4A16A4E1CC91CFCE82FBB4A371BD046DE139AA4A9
29.6
ArchitectureScopeDownloadSHA256
x86Download23A0E6E68CA31DC32B89C597DC88E78A7698B2565BA7495775CCC15DC4DD0A88
x64Download1EBD7C87BAFFB9F1C47169B640872BF5FB1E4408079C691AF527BE9561D8F6F7
29.3
ArchitectureScopeDownloadSHA256
x86DownloadC7C8028C1C4D801C53602920F2C86892054086BD965B6B23A4BA95D211DCB1D4
x64Download57EA59E9F551AD8D71FFAA9B5CFBE0CA1F4E720972A1DB7EC2D12AB44BFF9383
29.1
ArchitectureScopeDownloadSHA256
x64Download7EA48225857FFC1224588C335C2B1AF9D78A18AF9D57C0528CCA3193E336E9CE
x86Download1105E0FA64459F0B1AF5EE4D5877DAB864F2E10D8AEB04618F2B69C6C3A6ED03
28.3
ArchitectureScopeDownloadSHA256
x64Downloadce64f49bdeddef49ce4bd313a8f59bcf92fcf67b5831efbf66170386d2e66948
x86Downloadb08fe6fccf4313e2ccc6fd726dc855ee890533e247f4c543c987ffd980cfd5b2
27.1
ArchitectureScopeDownloadSHA256
x64DownloadDA531C51CCD1290D8D34821F0CE4E219C7FBAA6F9825F5A3FB092A9D03FE6206
x86Download6263718FF96547B8392A079F6FDF02A4156F2E8D13CD51649A0D03FB7AFA2DE8
25.7
ArchitectureScopeDownloadSHA256
x86Download876271BBF157C9DA7596FC711449D5DF946A02CA56E9C485B54AAD908F64FFF7
x64Download6DAB7C408BCC2C6637BADB3B4BBD98C32BC04B527BCDB157139431ED2227B91B
25.4
ArchitectureScopeDownloadSHA256
x86Download0A3EE77411834D3C298042B31F025C150A322E2F067DAA1B1589C0F8B28A9A37
x64Download272E05C916A7C99C51B3DB61574639D4CB97F1A4A4880F62EB4BF72D0CC1C8A9
25.3
ArchitectureScopeDownloadSHA256
x64DownloadD6B336B852726364313330631656B7F395DDE5B1141B169F5C4B8D43CDF01482
x86DownloadB9E7F2488C24BB3F3D507E125A9944A44DDFB09F2DB6F84860319E6A7C75F137