What do you mean by heavyweight? protobufs should be much faster to work with than JSON.
These all qualify as "more heavyweight," at least from an implementation perspective.
That shouldn't be necessary. Protobuf changes are supposed to be additions-only, where existing field numbers never change their meaning, but new optional/default fields are added. If you do that, you only need one version of the proto spec.