Summary
In this chapter, you have learned why API versioning in gRPC is important when using public endpoints or clients that have been developed by external teams. You now know that the sequence numbers of Protobuf fields are used as field identifiers during the transit of the message, while human-readable field names are simply labels. However, despite the fact that changing the field name to any arbitrary value will not break interface compatibility, modifying the existing fields in any way is still not a good practice.
You have learned that the safest way to change a Protobuf definition without causing compatibility issues is to either remove some fields or add new fields with new sequence numbers. Any fields that haven't been populated will be populated with default values by gRPC middleware. Any fields that don't exist in a Protobuf definition will be ignored if they are present in the message.
You are now aware that to prevent anyone from accidentally adding...