NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
PyPI · #31 most downloaded on PyPI
Last release 13 days ago
17 Sep 2026
Ships on a steady schedule
a new release about every 3 weeks
No release notes found
nothing matched a version
5 versions withdrawn
withdrawn after publishing
18 years old
222 releases · first in 2008
Reduce memory consumption of MessageSet parsing
Fix building packaged PHP extension
One column per quarter.
Fix building packaged PHP extension
Repeated field containers are now generic in field types and could be used in type annotations. *[Breaking change] Protobuf python generated codes are…
2022-03-25 version 3.20.0 (C++/Java/Python/PHP/Objective-C/C#/Ruby/JavaScript)
FieldSet.Builder.mergeFromprotobuf_INSTALL to not install files (#7123)proto_package_to_prefix_mappings_path to package_to_prefix_mappings_path. (#9552)to_json will now use fewer decimal places to encode float/double in some cases, if the extra digits are not necessary for round-tripping
[Breaking Change] Disallow setting fields to numpy singleton arrays or repeated fields to numpy multi-dimensional arrays. Numpy arrays should be index…
FieldSet.Builder.mergeFromprotobuf_INSTALL to not install files (#7123)proto_package_to_prefix_mappings_path to package_to_prefix_mappings_path. (#9552)Refactoring java full runtime to reuse sub-message builders and prepare to migrate parsing logic from parse constructor to builder.
Reduce memory consumption of MessageSet parsing
Make libprotobuf symbols local on OSX to fix issue #9395
optional fields in a message is an exact multiple of 32. (#9440).optional fields in a message is an exact multiple of 32. (#9440).Fix missing Windows wheel for Python 3.10 on PyPI
Improve performance characteristics of UnknownFieldSet parsing
Ensure that release archives contain everything needed for Bazel
ReferenceError: window is not defined when getting the global object (#9156)Fixing inlining and deprecation for repeated string fields
MSVC_RUNTIME_LIBRARY property (#8851)//java/com/google/protobuf/util/... with nullness annotationsUpdate changelog to reflect that we are not yet dropping Java 7 support after all
Make proto2::Message::DiscardUnknownFields() non-virtual
MSVC_RUNTIME_LIBRARY property (#8851)//java/com/google/protobuf/util/... with nullness annotationsReduce memory consumption of MessageSet parsing
Update setup.py to reflect that we now require at least Python 3.5
Stop using std::iterator (deprecated in C++17).
Stop using std::iterator (deprecated in C++17).
Stop using std::iterator (deprecated in C++17).
Note: This is the last release to support Python 2.7. Future releases will require Python >= 3.5.
Python
C++
Kotlin
Java
General
Fixed SEGV in sub-message getters for well-known types when message is unset
Kotlin
PHP
Fixed PHP memory leaks and arginfo errors.
Fix the generated source information for reserved values in Enums.
Descriptor::DebugString() printed proto3 synthetic oneofs.SortAndUnique().proto_descriptor_set (#8469)Nothing published for this version
Fix the generated source information for reserved values in Enums.
Descriptor::DebugString() printed proto3 synthetic oneofs.SortAndUnique().proto_descriptor_set (#8469)[bazel] Remove deprecated way to depend on googletest
string or
bytes fields.= 128 bytes and instead do a procedure call to a shared out-of-line routine.
Fixed memory leak of Ruby arena objects.
Nothing published for this version
Fixed memory leak of Ruby arena objects
Remove the ::pb namespace (alias)
Fixed bug in string comparison logic
Fixed quadratic memory use in array append
Fixed SEGV when users pass nil messages
Ruby <2.7 now uses WeakMap too, which prevents memory leaks.
Fix for FieldDescriptor.get(msg)
Bugfix for Message.[] for repeated or map fields
Removed remaining instances of std::is_pod, which is deprecated in C++20.
getDescriptor methods with * as their this type.let/const for generated messages.Nothing published for this version
Nothing published for this version
Parser security fix when operating with CodedInputStream.
--deterministic_output to protoc --encode=....libprotoc separately (#7949)@java.lang.Deprecated if the proto enum has option
deprecated = true;.== operators for Map and Array. (#7900)Nothing published for this version
Nothing published for this version
Nothing published for this version
Removed deprecated unsafe arena string accessors
Span<byte>
type internally. (#7351)ParseFrom(ReadOnlySequence<byte>) method to enable GC friendly
parsing with reduced allocations and buffer copies. (#7351)IBufferWriter<byte> or
to a Span<byte> to enable GC friendly serialization.
The new API is available as extension methods on the IMessage type. (#7576)GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE define to make
generated code compatible with old C# compilers (pre-roslyn compilers
from .NET framework and old versions of mono) that do not support
ref structs. Users that are still on a legacy stack that does
not support C# 7.2 compiler might need to use the new define
in their projects to be able to build the newly generated code. (#7490)Nothing published for this version
Nothing published for this version
Simplified the template export macros to fix the build for mingw32.
Re-add binary gems for Ruby 2.3 and 2.4. These are EOL upstream, however many people still use them and dropping support will require more coordinatio
Mark java enum _VALUE constants as @Deprecated if the enum field is deprecated
--experimental_allow_proto3_optional flag to protoc.
protoc --descriptor_set_out (#7175)Fix for #7463 ("mixing with optional fields: core dump --experimental_allow_proto3_optional")
Mark java enum _VALUE constants as @Deprecated if the enum field is deprecated
--experimental_allow_proto3_optional flag to protoc.
protoc --descriptor_set_out (#7175)Java
Python
JavaScript
PHP
Ruby
C#
Objective-C
Other
Add OUT and OPTIONAL to windows portability files
Make c extension portable for php 7.4
Extern declare protobuf_globals
Make proto runtime + generated code free of deprecation warnings
Implement lazy loading of php class for proto messages
Make proto runtime + generated code free of deprecation warnings
Add descriptor methods in descriptor_pool are deprecated.
This release has a known issue on Android API level <26 (https://github.com/protocolbuffers/protobuf/issues/6718) if you are using protobuf-java in Android. protobuf-javalite users will be fine.
Update 2019-10-04: Ruby release has been rolled back due to https://github.com/grpc/grpc/issues/20471. We will upload a new version once the bug is fixed.
Add descriptor methods in descriptor_pool are deprecated.
Your coding agent can read these notes before it upgrades. Set up the MCP server →