Skip to content

retire old versions of external API #11641

Open

Description

@davepacheco

We currently support many older versions of the external API. We should retire old ones. Ideally, each release we'd retire versions older than N releases prior.

Doing this is probably blocked on oxidecomputer/dropshot#1754. Without that, if we're retiring API versions N and previous, how do you update the definition of an endpoint that was introduced in version N-1 and still in the current version? You could reasonably think it should go from N-1.. to .. (all versions), but that would allow old clients to accidentally invoke them. You could change it to N+1... That would cause clients to get 404s and 405s, which would not be as crisp as the error saying that the API version itself is unsupported. Importantly, this is really easy to get wrong. You would reasonably think that N+1.. would be equivalent to .. if N+1 is the oldest version.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions