Schema Evolution over Time
Before we enter the practical part of this book, we need to touch on the last important bit about Protobuf. Often, the data schemas evolve and it is important to make sure that newer versions of our app can still interact with older/newer versions of it. Now, while Protobuf does not provide any automatic way of ensuring compatibility between different versions, it provides constructs that can help us.
In this chapter, we’re going to cover the following main topics:
- Backward and forward compatibility
- Reserved tags and names
- How to evolve schemas safely
By the end of this chapter, you will understand how to design schemas that are backward and forward compatible, and that are safe to use across versions of your app.