Skip to content

Support endpoints added in new version with compatible api #64852

@pgomulka

Description

@pgomulka

A follow up from a discussion on #64423 (comment)

When a user provides an accept header applicaiton/vnd.elasticsearch+json;compatible-with=7 (v7 in short) and is talking to ES v7 (7.0 - 7.x)
He should expect no breaking changes in all ES 7 range.
New apis might be added, but hence adding is not a breaking change this is ok.
Client might be getting a 404 requesting a non existing resource on ES 7.0 but get a 200 when that endpoint was added in 7.1
The response header Content-Type should be always equal to the Accept header on a request (applicaiton/vnd.elasticsearch+json;compatible-with=7)

After upgrading to ES 8, when a client is still using v7 client, he will continue sending applicaiton/vnd.elasticsearch+json;compatible-with=7 Accept header on its requests.
For endpoints that did not change - he will continue getting 200 and response’s content-type applicaiton/vnd.elasticsearch+json;compatible-with=7

Question 1: For endpoints newly adedd in ES v8 (non existing in v7 range) should he be getting 200 and ``applicaiton/vnd.elasticsearch+json;compatible-with=7` as newly added is always backwards compatible ?

Question 2 What if the newly added API is experimental and it changes in a breaking way in v8.1?

relates #51816

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions