Skip to content

Upgrading google-protobuf 3 to 4

Unknown3.25.8 → 4.36.2Security1

Fetching 67 releases from GitHub…46 / 67
UnknownUpgrade verdict

DepDelta is still reading the notes for 21 of 67 releases, so breaking changes can't be ruled out yet.

  • DepDelta is still reading the release notes in this range, so it can't rule out breaking changes yet.
  • This page updates as the notes come in.
1 item needs code or config changes

Ruby requirement changed in 4.36.0.rc.1: >= 2.7 → >= 3.2.

Adds bigdecimal >= 0, rake ~> 13.3.

Security1
protobuf-java has potential Denial of Service issue
High

Generated by DepDelta from published Ruby source. Not mixed with prose notes.

  • added: module Pb
  • added: const Protobuf.SymbolVisibility
  • removed: class LegacyObjectCache
  • removed: class ObjectCache
  • removed: const FFI.Syntax
  • removed: constructor LegacyObjectCache()
  • removed: constructor ObjectCache()
  • removed: method DescriptorPool.build()
  • removed: method FileDescriptor.syntax()
  • removed: method LegacyObjectCache.get(_)
  • removed: method LegacyObjectCache.try_add(_, _)
  • removed: method ObjectCache.get(_)
  • removed: method ObjectCache.try_add(_, _)
  • removed: method RepeatedField.each_index()
  • added: class MethodDescriptor
  • added: class ServiceDescriptor
  • added: const FFI.Upb_JsonDecodeResult_Error
  • added: const FFI.Upb_JsonDecodeResult_Ok
  • added: const FFI.Upb_Message_Begin
  • added: constructor MethodDescriptor(_, _)
  • added: constructor ServiceDescriptor(_, _)
  • added: method Descriptor.to_proto()
  • added: method EnumDescriptor.to_proto()
  • added: method FieldDescriptor.is_packed?()
  • added: method FieldDescriptor.required?()
  • added: method FieldDescriptor.to_proto()
  • added: method FileDescriptor.to_proto()
  • added: method Map.freeze()
  • added: method Map.frozen?()
  • added: method MessageExts.to_hash()
  • added: method MethodDescriptor.client_streaming()
  • added: method MethodDescriptor.input_type()
  • added: method MethodDescriptor.inspect()
  • added: method MethodDescriptor.name()
  • added: method MethodDescriptor.options()
  • added: method MethodDescriptor.output_type()
  • added: method MethodDescriptor.server_streaming()
  • added: method MethodDescriptor.to_proto()
  • added: method MethodDescriptor.to_s()
  • added: method OneofDescriptor.to_proto()
  • added: method RepeatedField.freeze()
  • added: method RepeatedField.frozen?()
  • added: method ServiceDescriptor.each()
  • added: method ServiceDescriptor.file_descriptor()
  • added: method ServiceDescriptor.inspect()
  • added: method ServiceDescriptor.name()
  • added: method ServiceDescriptor.options()
  • added: method ServiceDescriptor.to_proto()
  • added: method ServiceDescriptor.to_s()
  • added: static method FileDescriptor.from_native(_, _ = …)
  • added: static method FileDescriptor.to_native(_, _)
  • added: static method MethodDescriptor.from_native(_, _ = …)
  • added: static method MethodDescriptor.new(*)
  • added: static method MethodDescriptor.to_native(_, _)
  • added: static method ServiceDescriptor.from_native(_, _ = …)
  • added: static method ServiceDescriptor.new(*)
  • added: static method ServiceDescriptor.to_native(_, _)
  • removed: class AtomicCounter
  • removed: class Builder
  • removed: class EnumBuilder
  • removed: class FileBuilder
  • removed: class MessageBuilder
  • removed: class OneofBuilder
  • removed: constructor AtomicCounter()
  • removed: constructor Builder(_)
  • removed: constructor EnumBuilder(_, _)
  • removed: constructor FileBuilder(_, _, _ = …)
  • removed: constructor MessageBuilder(_, _, _)
  • removed: constructor OneofBuilder(_, _)
  • removed: method Arena.pin(_)
  • removed: method AtomicCounter.get_and_increment()
  • removed: method Builder.add_enum(_)
  • removed: method Builder.add_file(_, _ = …)
  • removed: method Builder.add_message(_)
  • removed: method Builder.build()
  • removed: method EnumBuilder.value(_, _)
  • removed: method FileBuilder.add_enum(_)
  • removed: method FileBuilder.add_message(_)
  • removed: method FileBuilder.build()
  • removed: method FileBuilder.fix_nesting()
  • removed: method FileBuilder.get_parent_msg(_, _, _)
  • removed: method FileBuilder.infer_package(_)
  • removed: method FileBuilder.internal_file_proto()
  • removed: method FileBuilder.rewrite_enum_default(_)
  • removed: method FileBuilder.rewrite_enum_defaults()
  • removed: method FileBuilder.split_parent_name(_)
  • removed: method MessageBuilder.internal_add_field(_, _, _, _, _, _, oneof_index: …, proto3_optional: …)
  • removed: method MessageBuilder.internal_add_synthetic_oneofs()
  • removed: method MessageBuilder.internal_msg_proto()
  • removed: method MessageBuilder.map(_, _, _, _, _ = …)
  • removed: method MessageBuilder.oneof(_)
  • removed: method MessageBuilder.optional(_, _, _, _ = …, _ = …)
  • removed: method MessageBuilder.proto3_optional(_, _, _, _ = …, _ = …)
  • removed: method MessageBuilder.repeated(_, _, _, _ = …, _ = …)
  • removed: method MessageBuilder.required(_, _, _, _ = …, _ = …)
  • removed: method OneofBuilder.optional(_, _, _, _ = …, _ = …)
  • changed: method PointerHelper.descriptor_from_file_def(_, _) → method PointerHelper.descriptor_from_file_def(_, _ = …)
  • added: class LegacyObjectCache
  • added: class ObjectCache
  • added: constructor LegacyObjectCache()
  • added: constructor ObjectCache()
  • added: method LegacyObjectCache.get(_)
  • added: method LegacyObjectCache.try_add(_, _)
  • added: method ObjectCache.get(_)
  • added: method ObjectCache.try_add(_, _)
  • added: const Enumvalue.JsonEnumValueOptions
  • added: module Enumvalue