# High level REST client backwards compatibility

**URL:** <https://discuss.elastic.co/t/high-level-rest-client-backwards-compatibility/284345>\
**Category:** Elasticsearch\
**Tags:** language-clients\
**Created:** [September 16, 2021, 3:00am UTC](https://discuss.elastic.co/t/high-level-rest-client-backwards-compatibility/284345 "2021-09-16T03:00:42Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![Chris\_Gatihi](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/chris_gatihi/32/25820_2.png) [@Chris\_Gatihi](https://discuss.elastic.co/u/Chris_Gatihi)\
**Post date:** [September 16, 2021, 3:00am UTC](https://discuss.elastic.co/t/high-level-rest-client-backwards-compatibility/284345/1 "2021-09-16T03:00:42Z")

</div>

In the [transport client documentation](https://www.elastic.co/guide/en/elasticsearch/client/java-api/current/client.html) I see this statement:

> The client must have the same major version (e.g. `2.x` , or `5.x` ) as the nodes in the cluster. Clients may connect to clusters which have a different minor version (e.g. `2.3.x` ) but it is possible that new functionality may not be supported. Ideally, the client should have the same version as the cluster.

In the [docs for the new java client](https://github.com/elastic/elasticsearch-java) (currently being developed) I see this:

> The Elasticsearch Java client is forward compatible; meaning that the client supports communicating with greater minor versions of Elasticsearch. Elastic language clients are also backwards compatible with lesser supported minor Elasticsearch versions.

Both of these statements convey backwards compatibility for _minor_ versions.

But I don't see such a statement in the documentation for the java high level rest client here: [Compatibility | Java REST Client [7.16] | Elastic](https://www.elastic.co/guide/en/elasticsearch/client/java-rest/7.x/java-rest-high-compatibility.html)

I'm currently using the java high level REST client version 7.11.1 on ES nodes running 7.11.1. I'd like to update to the java high level REST client libraries to 7.14.1.

Is it required that I upgrade my ES nodes to 7.14.1 _before_ updating the java client libraries to 7.14.1? Or would things work fine if the 7.14.1 client libraries are used to talk to the 7.11.1 ES nodes? Or is the behavior unknown?

---

<div class="post-metadata">

**Author:** ![dadoonet](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/dadoonet/32/137187_2.png) [@dadoonet](https://discuss.elastic.co/u/dadoonet)\
**Post date:** [September 16, 2021, 5:10am UTC](https://discuss.elastic.co/t/high-level-rest-client-backwards-compatibility/284345/2 "2021-09-16T05:10:47Z")

</div>

If you want to upgrade the client you should (must) upgrade the server.

You can upgrade the server without upgrading the client. But if you upgrade the client, you should really upgrade the server.

Ideally always keep the versions in sync.

---

<div class="post-metadata">

**Author:** ![Chris\_Gatihi](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/chris_gatihi/32/25820_2.png) [@Chris\_Gatihi](https://discuss.elastic.co/u/Chris_Gatihi)\
**Post date:** [September 16, 2021, 5:48am UTC](https://discuss.elastic.co/t/high-level-rest-client-backwards-compatibility/284345/3 "2021-09-16T05:48:03Z")

</div>

> [@Chris\_Gatihi](#):
>
> Elastic language clients are also backwards compatible with lesser supported minor Elasticsearch versions.

Thanks @dadoonet. So if I'm understanding correctly, this statement here will be true of the new client but is not true of the high level REST client today.

In other words, if I were on the new java client, there would be no problem using the 7.14.1 client to talk to a 7.11.1 server. But today with the high level REST client this isn't supported.

Does that sound right?

---

<div class="post-metadata">

**Author:** ![dadoonet](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/dadoonet/32/137187_2.png) [@dadoonet](https://discuss.elastic.co/u/dadoonet)\
**Post date:** [September 16, 2021, 6:17am UTC](https://discuss.elastic.co/t/high-level-rest-client-backwards-compatibility/284345/4 "2021-09-16T06:17:58Z")

</div>

Yes. That sounds right. @swallez might confirm.

---

<div class="post-metadata">

**Author:** ![system](https://us1.discourse-cdn.com/elastic/original/3X/1/a/1ac57faf039f6b580b3f104ef42a2a89e41014de.png) [@system](https://discuss.elastic.co/u/system)\
**Post date:** [October 14, 2021, 6:18am UTC](https://discuss.elastic.co/t/high-level-rest-client-backwards-compatibility/284345/5 "2021-10-14T06:18:28Z")

</div>

This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.
