Disallow or limit changing default values in API protos across releases #6377
Labels
api/v2
design proposal
Needs design doc/proposal before implementation
stale
stalebot believes this issue/PR has not been touched recently
A sometimes used pattern when fixing bugs has been to add a
BoolValue
and default false for the fix in the current release and default true in the next. This is really a breaking wire change, since while it doesn't affect wire encoding, the semantics change in a way that makes it hard to consistently reuse protos across versions.It can be done safely in some situations, e.g. if a
BoolValue
is introduced and its semantics are opt-in and then we default true later, but we need to spell this out in the Breaking Change Policy and API style guide.This is related to #6271.
The text was updated successfully, but these errors were encountered: