Skip to content

Binary compatibility broken in Google.Protobuf by introduction of Proto2 features #6379

@jskeet

Description

@jskeet

This may be the case for other types as well, but at least FieldCodec introduced binary-incompatible changes in 3.9.0, in this commit.

Each FieldCodec static factory method gained a default parameter:

public static FieldCodec<string> ForString(uint tag)

became

public static FieldCodec<string> ForString(uint tag, string defaultValue = "")

This is a binary breaking change. Code compiled against an earlier version of Google.Protobuf fails at execution time when using the new version, as it can't find the method. We should have added overloads instead of default parameters here.

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions