Skip to content

Handle client-server backward incompatible changes #807

Closed

Description

@r4victor

At the moment, there is no mechanism to track CLI and server compatibility and handle backward-incompatible changes. This results in the sometimes broken CLI when it works with a newer server version.

We should:

  • Handle backward-incompatible changes. The client sends its version to the server via the X-API-Version header. If the server does not support this version, it answers with 412 Precondition Failed. The CLI prints the message asking to update the CLI.
  • Reduce the number of backward-incompatible changes. As of now, introducing new fields to common pydantic models is backward-incompatible since models have extra = Extra.forbid set. We can remove this setting if pydantic models used to parse user input (configuration, profile) are decoupled.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions