Protobuf offers advanced features for modeling richer APIs and evolving schemas safely over time. Descriptor-based extension, reflection, and validation workflows have dedicated pages.
Anatomy of an evolving schema
This diagram breaks down the features this chapter covers. Each label links to the page that covers it in detail.
ORDER.PROTO
edition = "2024";
package shop.v1;
import "google/protobuf/any.proto";
import "google/protobuf/struct.proto";
option features.enum_type = CLOSED;
message Order {
reserved 2, "legacy_status";
string id = 1;
string note = 3 [deprecated = true];
google.protobuf.Any payload = 4;
google.protobuf.Value metadata = 5;
}
Next
Imports
How import statements resolve, and how a schema registry turns copied .proto files into pinned dependencies.