Upgrading protobuf 3 to 4
Unknown3.20.3 → 4.25.9Security2
Securityprotobuf-python has a potential Denial of Service issueGHSA-8qvm-5x2c-j2w7 · CVE-2025-4565 ↗
UnknownUpgrade verdict
DepDelta hasn't looked for this range's notes yet, so breaking changes can't be ruled out.
In plain terms
- DepDelta hasn't finished looking for the notes in this range, so it can't rule out breaking changes yet.
Must act 2 items need code or config changes
Python requirement changed in 4.25.0rc1: >=3.7 → >=3.8.
What you must change
Security2
protobuf-python has a potential Denial of Service issue
protobuf-cpp and protobuf-python have potential Denial of Service issue
High · CVSS 7.5API changes
Generated by DepDelta from published Python source. Not mixed with prose notes.
- changed:
constructor Descriptor(name, full_name, filename, containing_type, fields, nested_types, enum_types, extensions, options=…, serialized_options=…, is_extendable=…, extension_ranges=…, oneofs=…, file=…, serialized_start=…, serialized_end=…, syntax=…, create_key=…) → constructor Descriptor(name, full_name, filename, containing_type, fields, nested_types, enum_types, extensions, options=…, serialized_options=…, is_extendable=…, extension_ranges=…, oneofs=…, file=…, serialized_start=…, serialized_end=…, syntax=…, is_map_entry=…, create_key=…) - changed:
constructor DescriptorBase(options, serialized_options, options_class_name) → constructor DescriptorBase(file, options, serialized_options, options_class_name) - added:
property Descriptor.syntax - added:
property EnumDescriptor.is_closed - added:
property FieldDescriptor.is_packed - added:
property FileDescriptor.syntax
- removed:
method DescriptorPool.AddEnumDescriptor(enum_desc) - changed:
constructor DescriptorPool(descriptor_db=…) → constructor DescriptorPool(descriptor_db=…, use_deprecated_legacy_json_field_conflicts=…)
- added:
function AddHelpersToExtensions(file_des)
- added:
function SetRecursionLimit(new_limit) - added:
function UnknownMessageSetItemDecoder() - added:
variable DEFAULT_RECURSION_LIMIT
- added:
class FieldMask(object) - added:
method FieldMask.AllFieldsFromDescriptor(message_descriptor) - added:
method FieldMask.CanonicalFormFromMask(mask) - added:
method FieldMask.FromJsonString(value) - added:
method FieldMask.Intersect(mask1, mask2) - added:
method FieldMask.IsValidForDescriptor(message_descriptor) - added:
method FieldMask.MergeMessage(source, destination, replace_message_field=…, replace_repeated_field=…) - added:
method FieldMask.ToJsonString() - added:
method FieldMask.Union(mask1, mask2)
- added:
class LocalTestResult(unittest.TestResult) - added:
class ReferenceLeakCheckerMixin(object) - added:
constructor LocalTestResult(parent_result) - added:
field ReferenceLeakCheckerMixin.NB_RUNS - added:
function SkipReferenceLeakChecker(reason) - added:
function TestCase(test_class) - added:
method LocalTestResult.addError(test, error) - added:
method LocalTestResult.addFailure(test, error) - added:
method LocalTestResult.addSkip(test, reason) - added:
method ReferenceLeakCheckerMixin.run(result=…) - added:
variable SkipReferenceLeakChecker
- removed:
function SupportsOpenEnums(field_descriptor)
- removed:
class FieldMask(object) - removed:
method FieldMask.AllFieldsFromDescriptor(message_descriptor) - removed:
method FieldMask.CanonicalFormFromMask(mask) - removed:
method FieldMask.FromJsonString(value) - removed:
method FieldMask.Intersect(mask1, mask2) - removed:
method FieldMask.IsValidForDescriptor(message_descriptor) - removed:
method FieldMask.MergeMessage(source, destination, replace_message_field=…, replace_repeated_field=…) - removed:
method FieldMask.ToJsonString() - removed:
method FieldMask.Union(mask1, mask2) - added:
variable FieldMask
- changed:
method Message.ClearExtension(extension_handle) → method Message.ClearExtension(field_descriptor) - changed:
method Message.HasExtension(extension_handle) → method Message.HasExtension(field_descriptor) - changed:
static method Message.RegisterExtension(extension_handle) → static method Message.RegisterExtension(field_descriptor)
- changed:
function GetMessages(file_protos) → function GetMessages(file_protos, pool=…) - added:
function GetMessageClass(descriptor) - added:
function GetMessageClassesForFiles(files, pool)
- changed:
class SymbolDatabase(message_factory.MessageFactory) → class SymbolDatabase - added:
constructor SymbolDatabase(pool=…) - added:
method SymbolDatabase.CreatePrototype(descriptor) - added:
method SymbolDatabase.GetPrototype(descriptor)
- changed:
function CEscape(text, as_utf8) → function CEscape(text, as_utf8) -> str - changed:
function CUnescape(text) → function CUnescape(text: str) -> bytes
- changed:
function MessageToBytes(message, **kwargs) → function MessageToBytes(message, **kwargs) -> bytes - changed:
function MessageToString(message, as_utf8=…, as_one_line=…, use_short_repeated_primitives=…, pointy_brackets=…, use_index_order=…, float_format=…, double_format=…, use_field_number=…, descriptor_pool=…, indent=…, message_formatter=…, print_unknown_fields=…, force_colon=…) → function MessageToString(message, as_utf8=…, as_one_line=…, use_short_repeated_primitives=…, pointy_brackets=…, use_index_order=…, float_format=…, double_format=…, use_field_number=…, descriptor_pool=…, indent=…, message_formatter=…, print_unknown_fields=…, force_colon=…) -> str
- added:
class UnknownField - added:
class UnknownFieldSet - added:
constructor UnknownField(field_number, wire_type, data) - added:
constructor UnknownFieldSet(msg) - added:
property UnknownField.data - added:
property UnknownField.field_number - added:
property UnknownField.wire_type - added:
variable UnknownFieldSet
- removed:
variable DESCRIPTOR
- removed:
variable DESCRIPTOR