Closed LinuxMercedes closed 4 years ago
My thought is that additionalProperties = False
made sense before we got versioned config schemas, as it served as a crude warning that you probably needed to update Assigner as the config semantics might have changed. Now that we have versioned schemas, and thus can explicitly state a semantics change by updating the version number, I am of two minds:
1) We can have little a additional properties, as a treat, provided:
@brhoades, tell me I'm wrong (you can't not do it)!
Another argument for not allowing additional properties:
additonalProperties = False
, if you edit your schema and mess it up or put in something Assigner doesn't recognize, you get an error message and Assigner gives up.additionalProperties = True
, if you make a typo, Assigner may not show you an error and thus behave "weirdly", and if you stick extra stuff in, there's a chance a future version of Assigner will clobber that extra stuff silently.
From https://github.com/redkyn/assigner/pull/146#issuecomment-656253058:
The PR spurring this discussion adds a new key to Assigner's config, but does not change the semantics of the existing config entries and gracefully handles the situation where such a key is not present. If we permitted additional properties, this PR would not require a schema version bump, but as we don't, it does.
Since the issue of whether we keep
additionalProperties = False
in the next Assigner schema is independent of that PR, I figured it'd make sense to move the discussion to a separate issue.