Binary and source compatibility
When using the codegen tools for gRPC (protoc
, protoc-gen-grpc
, and related plugins) there are two interfaces you need to be concerned with: the ABI and the API.
The application binary interface (ABI), as it relates to gRPC, refers to the binary interface of the tool that’s being used to generate the protobuf code as well as any code that the generated code will rely on.
The application programming interface (API) refers to the signatures of the methods we, as the consumer, can call the objects that are available for us, etc.
For the most part, you shouldn’t have to worry too much about the ABI unless you’re changing the major version of protoc
being used to generate the code. If this is the case, you’ll likely want to bump the version without any code changes first, just to make sure the ABI is compatible.
The API on the other hand, is something you do need to be concerned about every time you make changes to your protobuf...