NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
PyPI · #437 most downloaded on PyPI
Typing stubs for protobuf
Last release 25 days ago
06 Sep 2026
Release timing varies
gaps range from 8 days to 3 months
Nearly every release is documented
notes for 54 of the last 60 stable releases
Nothing withdrawn
no release was ever pulled
6 years old
127 releases · first in 2021
One column per quarter.
Use typing_extensions.Self instead of _typeshed.Self
Use typing_extensions.Self instead of _typeshed.Self (#9702)
Improve pyright verification of third-party test cases in CI
Improve pyright verification of third-party test cases in CI (#9650)
Co-authored-by: Avasam samuel.06@hotmail.com
Manual changes of Any union to Incomplete in stubs folder
Manual changes of Any union to Incomplete in stubs folder (#9566)
| Any and Any |)Replace Any with Incomplete in many places
Replace Any with Incomplete in many places (#9558)
protobuf: Annotate well_known_types.pyi
protobuf: Annotate well_known_types.pyi (#9323)
Co-authored-by: Alex Waygood Alex.Waygood@Gmail.com
Improve annotations for __instancecheck__, __subclasscheck__
Improve annotations for __instancecheck__, __subclasscheck__ (#9291)
Bump protobuf to 4.21.*; delete google/__init__.pyi
Bump protobuf to 4.21.*; delete google/__init__.pyi (#8360)
This major version bump of the stubs package deletes google/init.py, which does not exist at runtime, and caused problems for several users. Mypy now has --namespace-packages enabled by default, which should hopefully mean that this causes minimal pain.
Co-authored-by: Alex Waygood Alex.Waygood@Gmail.com
protobuf: Add some return types
protobuf: Add some return types (#9259)
Improve ast types; revert several "redundant numeric union" changes from #7906
Improve ast types; revert several "redundant numeric union" changes from #7906 (#9130)
Since mypy 0.990 type promotions was limited. This means that complex is not longer promoted to int/float, therefore we should adapt the types to list all possible types
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> Co-authored-by: AlexWaygood alex.waygood@gmail.com
Annotate known magic-method return types
Annotate known magic-method return types (#9131)
Fix and allow classes with missing metaclasses
Fix and allow classes with missing metaclasses (#9136)
google.protobuf: Add an __init__ stub to fix type checking
google.protobuf: Add an init stub to fix type checking (#8982)
types-protobuf: Bump the rev of protobuf supported to 4.21.8
Fix protobuf stubtest errors
Fix protobuf stubtest errors (#8758)
protobuf: fix stubtest errors
protobuf: fix stubtest errors (#8735)
[protobuf] MessageToJson indent parameter can be None
[protobuf] MessageToJson indent parameter can be None (#8705)
Remove some ignores for formatting
Bump to mypy-protobuf 3.3.0 (#8612)
Bump to mypy-protobuf 3.3.0
Remove some ignores for formatting
There are even newer versions available (4.*), but I had found a bug in it which prevented it from working with mypy-protobuf. For now, sticking to ju
Bump protobuf to 3.20.1 (#8609)
There are even newer versions available (4.*), but I had found a bug in it which prevented it from working with mypy-protobuf. For now, sticking to just 3.20.1
protobuf: Delete some __new__ and __init__ methods
protobuf: Delete some __new__ and __init__ methods (#8088)
Simplify and correct many numeric unions
Simplify and correct many numeric unions (#7906)
Unblocks PyCQA/flake8-pyi#222
Remove explicit inheritance from object
Remove explicit inheritance from object (#7819)
Use str instead of Text
Use str instead of Text (#7812)
Use TypeAlias for type aliases where possible, part II
Use TypeAlias for type aliases where possible, part II (#7667)
Third-party stubs: import from collections.abc where possible
Third-party stubs: import from collections.abc where possible (#7637)
Use TypeAlias where possible for type aliases
Use TypeAlias where possible for type aliases (#7630)
Revert "Remove google/__init__.pyi (#6106)"
Since google is a namespace package, it won't have an init. Depends on https://github.com/typeshed-internal/stub_uploader/pull/33
Remove google/init.pyi (#6106)
Since google is a namespace package, it won't have an init. Depends on https://github.com/typeshed-internal/stub_uploader/pull/33
Use PEP 604 syntax in non-autogenerated protobuf stubs
Use PEP 604 syntax in non-autogenerated protobuf stubs (#7506)
protobuf doesn't support Python 2 anymore
protobuf doesn't support Python 2 anymore (#7176)
Remove Python-2-only package "futures"
protobuf: Bring back Message.Extensions
protobuf: Bring back Message.Extensions (#7154)
Improve a bunch of __(deep)copy__ methods
Improve a bunch of __(deep)copy__ methods (#7148)
Makes DESCRIPTOR non nullable again
Makes DESCRIPTOR non nullable again (#7125)
Co-authored-by: Jelle Zijlstra jelle.zijlstra@gmail.com
Add/fix types to a bunch of non-generated protobuf files
Add/fix types to a bunch of non-generated protobuf files (#7017)
Use relax_strict_optional_primitives on protobuf generated code
Use relax_strict_optional_primitives on protobuf generated code (#7038)
Per the suggestion in https://github.com/dropbox/mypy-protobuf/issues/344 This generates more permissive constructors (which protobuf itself actually accepts).
Philosophically, I think it makes sense for the generated code hosted on typeshed to be most permissive, while the generated code of individual projects can make individual decisions (defaulting to less permissive).
Bump to mypy-protobuf 3.2.0
Bump to mypy-protobuf 3.2.0 (#7013)
Remove nearly all __str__ and __repr__ methods from typeshed
Remove nearly all __str__ and __repr__ methods from typeshed (#6968)
Use _typeshed.Self in protobuf/google/protobuf/message.pyi
Use _typeshed.Self in protobuf/google/protobuf/message.pyi (#6955)
Use PEP 585 syntax in Python 2, protobuf & _ast stubs, where possible (#6949)
Flatten stubtest_allowlist for protobuf generated files (#6944)
I added stubtest testing for generated files within mypy-protobuf.
There are many ways in which the protobuf code is doing weird
things and we want the stubs to look a bit different. They're enumerated
in the stubtest_allowlist.txt of mypy-protobuf, so squashing them here
so that this one can focus on the non-generated files.
Nothing published for this version
Nothing published for this version
Nothing published for this version
Bump protobuf to 3.19.2
Bump protobuf to 3.19.2 (#6879)
Nothing published for this version
Add google.protobuf.internal.api_implementation
Add google.protobuf.internal.api_implementation (#6802)
Improve stubs for sequence types
Improve stubs for sequence types (#6386)
Fix MutableMapping overrides
Fix MutableMapping overrides (#6352)
Bump protobuf stub to 3.18.1 and mypy-protobuf 3.0.0
Bump protobuf stub to 3.18.1 and mypy-protobuf 3.0.0 (#6157)
Bump protobuf stub to 3.18.1 and mypy-protobuf 3.0.0
Fix ConsumeInteger in google/protobuf/text_format.pyi
The arg was removed in protobuf 3.18
Add star to all non-0.1 versions
Add star to all non-0.1 versions (#6146)
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Your coding agent can read these notes before it upgrades. Set up the MCP server →