Differences between protobuf v2 and v3.
- proto3 does not support required/optional fields. All fields in proto3 are optional.
- proto3 does not support specifying default values for optional fields. In proto3, the default value is fixed for type (it is usually 0, false, empty string, etc.)
- proto2 supports groups (but they are deprecated anyway)
- proto2 supports extensions mechanism
- extensions are not supported for oneof