What are the best practices of backward/forward compatibility and versioning
when defining protocol buffer v3 message types?
Is it recommended to deliver a schema version identifier with the messages
(either "envelope" or message itself) in order for the recipient to be able to infer
whether to process the message or drop it?
I'm planning to deliver messages primarily through Kafka, so it would be possible to
include a schema version number in message header.