Summary
In this chapter we took a look at some of the common edge cases that come up when evolving gRPC services over time. We dug into ABI/API compatibility concerns, maintaining wire format equivalence, and ensuring that we don’t unintentionally change the behavior of our API. We also took a look at common gotchas like field clearing and proper error handling.
Using the techniques discussed here you can safely evolve your services without introducing breaking changes for existing consumers.
In the next chapter, we’ll take a look at how to extend your gRPC services with things like custom options and protoc
plugins.