Skip to content

Upgrading protobuf 3 to 4

Unknown3.20.3 → 4.25.9Security2

UnknownUpgrade verdict

DepDelta hasn't looked for this range's notes yet, so breaking changes can't be ruled out.

  • DepDelta hasn't finished looking for the notes in this range, so it can't rule out breaking changes yet.
2 items need code or config changes

Python requirement changed in 4.25.0rc1: >=3.7 → >=3.8.

Security2
protobuf-python has a potential Denial of Service issue
protobuf-cpp and protobuf-python have potential Denial of Service issue
High · CVSS 7.5

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