๐Protobuf: updating message types
int32, uint32, int64, uint64, bool are all compatible (+enum)
sint32, sint64 are compatible
string, bytes are compatible (as long as bytes are valid UTF-8)
embedded messages are compatible with bytes (if bytes contain an encoded version of message)
fixed32, sfixed32, fixed64, sfixed64 are compatible
optional and repeated are compatible
moving one/multiple optional fields into
oneof
is safe (as long as only one of the fields is present)
Backlinks
- ๐ ยง Protobuf