Marathon 1.5 has introduced an API that normalizes legacy input, but produces incompatible output, thus breaking consumers of the v2 API. We are concerned that this will prevent users from upgrading, and have already faced several issues where components were forced to adjust.
To allow people continued usage of existing tooling, we need to support a backwards compatible API by default, and provide a way to opt-in to using the new schema version, so that components that have already adjusted, or want to adjust, can use the improved networking API.
This story is about scoping a solution to the problem, not about implementing it.
TODO: create Sub-tasks after scoping:
- produce backwards-compatible output (1.4 schema) by default
- allow users to opt-in to 1.5 changes. Only then, the response will be according to the 1.5 schema (i.e. will not contain deprecated fields)
- clarify how users can opt-in: via a feature flag, via specifying the schemaVersion in the request header or body, via a query-param?