A binary serialization format whose recorded field numbers allow forward and backward schema drift.

Protobuf lets schemas evolve without breaking encoders

Backward compatibility comes from never reusing a field number and from defaulting to new, unknown fields being skipped rather than fatal. Numbers pin the contract A protobuf field is committed to a wire identity the moment it is given a number, and that number is the contract, not the name. Renaming a field is safe, changing its wire number is a breaking change. So the mapping of tag numbers to meanings must be adjudicated carefully and never reused for a different type, because old binaries holding the old meaning will decode it wrongly the moment the number is reassigned. ...

November 19, 2027 · 5 min · XB Field Notes