Problem:
A server can add backwards compatible optional fields which will break the client if it fails when we parse a response because we deny unknown fields.
Solution: Rather than remove that altogether (I assume you put it in for a good reason), I added a command line flag to prevent writing deny_unknown_fields to files. Plumbed this through in a more general 'options' field so further fields can be added without changing signatures in the future, or adding a large number of arguments to functions.
Problem: A server can add backwards compatible optional fields which will break the client if it fails when we parse a response because we deny unknown fields.
Solution: Rather than remove that altogether (I assume you put it in for a good reason), I added a command line flag to prevent writing
deny_unknown_fields
to files. Plumbed this through in a more general 'options' field so further fields can be added without changing signatures in the future, or adding a large number of arguments to functions.Without flag
With flag: