-
Notifications
You must be signed in to change notification settings - Fork 25.4k
Description
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