Update docs to clarify 9.x compatibility (#2789)

This commit is contained in:
Josh Mock
2025-04-24 14:20:38 -05:00
committed by GitHub
parent 710b937bff
commit 41a2159f63
4 changed files with 31 additions and 54 deletions

View File

@ -51,7 +51,6 @@ console.log(result)
To create a new instance of the Bulk helper, access it as shown in the example above, the configuration options are:
`datasource`
: An array, async generator or a readable stream with the data you need to index/create/update/delete. It can be an array of strings or objects, but also a stream of json strings or JavaScript objects.
If it is a stream, we recommend to use the [`split2`](https://www.npmjs.com/package/split2) package, that splits the stream on new lines delimiters.

View File

@ -8,7 +8,6 @@ mapped_pages:
This is the official Node.js client for {{es}}. This page gives a quick overview about the features of the client.
## Features [_features]
* One-to-one mapping with REST API.
@ -19,7 +18,6 @@ This is the official Node.js client for {{es}}. This page gives a quick overview
* Child client support.
* TypeScript support out of the box.
### Install multiple versions [_install_multiple_versions]
If you are using multiple versions of {{es}}, you need to use multiple versions of the client as well. In the past, installing multiple versions of the same package was not possible, but with `npm v6.9`, you can do it via aliasing.
@ -74,5 +72,3 @@ npm install esmain@github:elastic/elasticsearch-js
::::{warning}
This command installs the main branch of the client which is not considered stable.
::::

View File

@ -21,45 +21,41 @@ npm install @elastic/elasticsearch@<major>
To learn more about the supported major versions, please refer to the [Compatibility matrix](#js-compatibility-matrix).
## Node.js support [nodejs-support]
::::{note}
The minimum supported version of Node.js is `v18`.
::::
The client versioning follows the {{stack}} versioning, this means that major, minor, and patch releases are done following a precise schedule that often does not coincide with the [Node.js release](https://nodejs.org/en/about/releases/) times.
To avoid support insecure and unsupported versions of Node.js, the client **will drop the support of EOL versions of Node.js between minor releases**. Typically, as soon as a Node.js version goes into EOL, the client will continue to support that version for at least another minor release. If you are using the client with a version of Node.js that will be unsupported soon, you will see a warning in your logs (the client will start logging the warning with two minors in advance).
Unless you are **always** using a supported version of Node.js, we recommend defining the client dependency in your `package.json` with the `~` instead of `^`. In this way, you will lock the dependency on the minor release and not the major. (for example, `~7.10.0` instead of `^7.10.0`).
| Node.js Version | Node.js EOL date | End of support |
| --- | --- | --- |
| `8.x` | December 2019 | `7.11` (early 2021) |
| `10.x` | April 2021 | `7.12` (mid 2021) |
| `12.x` | April 2022 | `8.2` (early 2022) |
| `14.x` | April 2023 | `8.8` (early 2023) |
| `16.x` | September 2023 | `8.11` (late 2023) |
| Node.js Version | Node.js EOL date | End of support |
| --------------- | ---------------- | ------------------- |
| `8.x` | December 2019 | `7.11` (early 2021) |
| `10.x` | April 2021 | `7.12` (mid 2021) |
| `12.x` | April 2022 | `8.2` (early 2022) |
| `14.x` | April 2023 | `8.8` (early 2023) |
| `16.x` | September 2023 | `8.11` (late 2023) |
| `18.x` | April 2025 | `9.2` (late 2025) |
## Compatibility matrix [js-compatibility-matrix]
Language clients are forward compatible; meaning that clients support communicating with greater or equal minor versions of {{es}} without breaking. It does not mean that the client automatically supports new features of newer {{es}} versions; it is only possible after a release of a new client version. For example, a 8.12 client version wont automatically support the new features of the 8.13 version of {{es}}, the 8.13 client version is required for that. {{es}} language clients are only backwards compatible with default distributions and without guarantees made.
| {{es}} Version | Client Version | Supported |
| --- | --- | --- |
| `8.x` | `8.x` | `8.x` |
| `7.x` | `7.x` | `7.17` |
| `6.x` | `6.x` | |
| `5.x` | `5.x` | |
| -------------- | -------------- | --------- |
| `9.x` | `9.x` | `9.x` |
| `8.x` | `8.x` | `8.x` |
| `7.x` | `7.x` | `7.17` |
| `6.x` | `6.x` | |
| `5.x` | `5.x` | |
### Browser [_browser]
::::{warning}
There is no official support for the browser environment. It exposes your {{es}} instance to everyone, which could lead to security issues. We recommend you to write a lightweight proxy that uses this client instead, you can see a proxy example [here](https://github.com/elastic/elasticsearch-js/tree/master/docs/examples/proxy).
::::