IMPORTANT: elasticsearch.js has been replaced by the new Elasticsearch JavaScript client. We strongly advise you to migrate to the new client. To learn more, see the migration guide.
Versions
editVersions
edit16.7.2 (Nov 30 2020)
edit-
use
undefined
as the default ssl ciphers to address a backwards-compatibility issue in node 15.3 https://github.com/nodejs/node/issues/36292
16.7.1 (Mar 26 2020)
edit- apiVersions before 7.6 restored after feedback in https://github.com/elastic/elasticsearch-js-legacy/issues/28
16.7.0 (Mar 25 2020)
edit-
apiVersion
"7.6"
is now the default -
"7.6"
is now the only apiVersion in the version 7 major version
16.6.0 (Jan 15 2020)
edit-
apiVersion
"7.5"
is now the default
16.5.0 (Oct 31 2019)
edit-
apiVersion
"7.4"
is now the default
16.4.0 (Jul 10 2019)
edit-
apiVersion
"7.3"
is now the default
16.3.0 (Jul 10 2019)
edit- Removed many development dependencies
- Switched to standard + prettier linting config. Testing indicates that this doesn’t have any effect on the external API but it produces thousands of changes so releasing as a minor version bump just to be safe.
16.2.0 (Jul 3 2019)
edit-
apiVersion
"7.2"
is now the default -
Dropped support for old
6.7
version
16.1.1 (Jun 4 2019)
edit- Updated readme
16.1.0 (May 29 2019)
edit-
apiVersion
"7.1"
is now the default
16.0.0 (May 2 2019)
edit-
apiVersion
"7.0"
is now the default - Dropped support for old 6.x versions, and all versions before 5.6
15.5.0 (May 1 2019)
edit-
apiVersion
"6.7"
is now the default
15.4.1 (Feb 6 2019)
edit- Drop support for old versions in the 5.x line, only 5.6 is maintained
15.4.0 (Feb 6 2019)
edit-
apiVersion
"6.6"
is now the default
15.3.1 (Jan 23 2019)
edit- Fixed an issue in node 10 where multi-byte characters in the URL would trigger and uncaught error #756
15.3.0 (Jan 9 2019)
edit-
apiVersion
"6.5"
is now the default
15.2.0 (Oct 29 2018)
edit-
apiVersion
"6.4"
is now the default
15.1.1 (July 3 2018)
edit- Fix JSON serialization bug affecting some objects with non-enumerable properties #504
15.1.0 (July 3 2018)
edit-
apiVersion
"6.3"
is now the default
15.0.0 (May 14 2018)
edit-
Upgrade from lodash 2 to lodash 4 (Thanks @dominykas!) #600
-
Because this is such a large shift, and it could have potentially subtle effects on the module, we’ve done a major version bump. Unless you are using custom plugins that rely on the old
utils
, this should be the equivalent of a patch upgrade.
-
Because this is such a large shift, and it could have potentially subtle effects on the module, we’ve done a major version bump. Unless you are using custom plugins that rely on the old
14.2.1 (Mar 16 2018)
edit- Transpile versions of the browser clients to ensure legacy browser compatibility #645
14.2.0 (Mar 12 2018)
edit-
apiVersion
"6.2"
is now the default -
agentkeepalive
upgraded from 2.2.0 to 3.4.1 for compatibility with IPv6 hostnames in SSL certificates #642
14.1.0 (Jan 31 2018)
edit-
apiVersion
"6.1"
is now the default -
Fix the way that
keepAliveFreeSocketTimeout
is used #600 (Thanks @shaharmor!)
14.0.0 (Nov 14 2017)
edit-
apiVersion
"6.0"
is now the default
13.3.0 (Aug 9 2017)
edit-
apiVersion
"5.5"
is now the default - Use JSON version of scroll/clearScroll API in for apiVerion 2.0+ #576
13.2.0 (Jun 21 2017)
edit-
Added
sniffedNodesFilterPath
config parameter to allow customizing thefilter_path
sent when sniffing for new nodes. #599
13.1.0 (Jun 12 2017)
edit-
apiVersion
"5.4"
is now the default
13.0.0 (Apr 24 2017)
edit-
apiVersion
"5.3"
is now the default - Fixed the way that http addresses are sniffed from the cluster #496
-
Switched back to
agentkeepalive
for managing keep-alive connections #476 -
keepAlive*
settings have changed, and the defaults have been updated to match node.js/agentkeep defaults 87cc201 -
bulk
and other APIs that send line-delimited JSON bodies now use theContent-Type: application/x-ndjson
header #507 -
"console"
reporter is now available in Node.js for environments where that is preferred to"stdout"
#523 -
minor changes to
apiVersion
will no longer be released as a major release-
When we decided to have elasticsearch-js support multiple version of Elasticsearch, we included an
apiVersion
configuration paramter for users to choose the API that each client should expose. This setting had a default value that matched the most recent version of Elasticsearch at the time of release. Since Elasticsearch didn’t make specific guarantees about backwards compatibility elasticsearch-js released a new major version every time the defaultapiVersion
changed.Elasticsearch now guarantees backwards compatibility within a specific major version, and has for a while, (See "Types of Releases") so starting in 13.0, changes to the default
apiVersion
that are within the same major version of Elasticsearch will be released as minor version updates. This means that when Elasticsearch 5.3 is released, elasticsearch-js will release a new 13.x version, and when Elasticsearch 6.0 is released, elasticsearch-js will release a major update (14.0, or similar).
-
-
all but the latest
apiVersion
options from the 1.x and 2.x line have been removed-
Elasticsearch-js ships with individual API definitions for every minor version of Elasticsearch, leading to the library becoming unnecessarily large. In an effort to find a compromise between size and ease of use elasticsearch-js now only ships with
apiVersion
options for the latest minor release of Elasticsearch 1.x and 2.x (1.7 and 2.4 at this time).If you use an older version of Elasticsearch 1.x or 2.x, please consider upgrading to get the latest features and bug fixes (see section 7.1 of the support policy). If you cannot upgrade then you have two options:
-
Use the
apiVersion
that matches the major version of your Elasticsearch install (1.4 ⇒ 1.7, 2.0 ⇒ 2.4, etc.). This definition may include new APIs or parameters that are mentioned in the docs but not actually available in your Elasticsearch version, but any methods or parameter you were using before 13.0 should work perfectly. -
Download the API definition file for the version you are using from the 12.1.1 source, and then attach it to the client like so:
const elasticsearch = require('elasticsearch') elasticsearch.Client.apis['1.4'] = require('./1_4.js'); // downloaded from https://git.io/vDE7w const client = new elasticsearch.Client({ apiVersion: '1.4' })
-
Use the
-
12.1 (Nov 16 2016)
edit-
Added
httpAuth
configuration parameter - Fixed a bug introduced in v9.0.1 that prevented error messages from including some available metadata
12.0 (Oct 26 2016)
edit-
apiVersion
"5.0"
is now the default
11.0 (Apr 5 2016)
edit-
apiVersion
"2.3"
is now the default -
updated APIs, to use the new APIs exposed by the
v5.0.0-alpha1
of elasticsearch use the"master"
api version. - Switch to promise from promise-js to prevent polluting global environment
- Pass the keepAlive configuration all the way to the Agent #371
10.1 (Jan 8 2016)
edit- browser builds now include the "unstable" api’s from elasticsearch
-
added
createNodeAgent
configuration value for overriding the agent that the node.js HttpConnector uses. (see #329) - fix a bug that could cause error statuses to be strings rather than numbers
- doc fixes
- support sniffing nodes that have published hostnames
- error logging now includes information about the request where the error occured #330
10.0 (Nov 24 2015)
edit-
apiVersion
"2.1"
is now the default -
Remove
bluebird
dependency, use an ES6 Promise shim instead. To use Bluebird in your project supply the defer configuration option.
9.0 (Oct 30 2015)
edit-
apiVersion
"2.0"
is now the default - Fix a memory leak caused by sniffing
-
Use the
application/x-ldjson
content-type for bulk formatted bodies -
Added
wwwAuthenticateDirective
property to401
errors
8.2 (Sep 17 2015)
edit-
Added
sniffedNodesProtocol
configuration option -
Fixed an issue which prevented promised from getting rejected if the
GET
verb was used with a request body (#263)
8.1 (Sep 8 2015)
edit-
Added apiVersion
"2.x"
, which will semi-regularly be updated to match the latest development at elastic/elasticsearch#2.x - Removed node engine upper-bound, supporting 4.0 and versions beyond.
8.0 (Aug 26 2015)
edit-
apiVersion changed back to
"1.7"
until es 2.0 is actually released.
unpublished 7.0 (Aug 26 2015)
edit-
Added apiVersion
"2.0"
, which is now the default
6.1 (Aug 18 2015)
edit-
Added experimental support for apiVersion
"2.0"
- Added support for many more status codes so that "unknown error" is far less likely.
6.0 (Aug 4 2015)
edit-
Added apiVersion
"1.7"
, which is now the default - Error objects resulting from a completed http request now have much more information about the request that caused them.
5.0 (Jun 9 2015)
edit-
Added apiVersion
"1.6"
, which is now the default
4.1 (May 19 2015)
edit- Plugin configuration option added
- Added support for object based error
4.0 (Mar 26 2015)
edit-
Added apiVersion
"1.5"
, which is now the default - Changed the default pingTimeout to 3 seconds, and made it configurable
- Improved compatibility with node 0.12
- Updated dependencies
- Make the stream logger actually usable (thanks @falmp!)
3.1 (Jan 6 2015)
edit- Added HTTPS/SSL configuration options and related errors
-
client.scroll()
requests made without a body will use thescrollId
param as the body to prevent #113 & #174 -
Updated bluebird to
v2.8.2
- bluebird changelog - Added specific error message for 504 errors #182
3.0 (Nov 7 2014)
edit-
Added apiVersion
"1.4"
, which is now the default -
Improved parsing of
host:
strings, examples in the tests -
The Angular version of the client now uses
angular.toJson()
(1.2, 1.3) to serialize requests, override withserializer: "json"
- Angular requests are now being aborted properly
2.4 (Jul 30 2014)
edit-
Added apiVersion
"1.3"
, which is now the default - Angular connector (when used with Basic Auth) no longer modifies Angular’s default headers
2.3 (Jul 11 2014)
edit- Added support for Node 0.11
-
Updated
bluebird
, which modified the promise api somewhat - moved the log generator into it’s own package makelogs
-
Lower the logging level of
Request complete
2.2 (Mar 27 2014)
edit-
The default API version is now
'1.2'
- Node clinet now supports master, 1.x, 1.2, 1.1, 1.0, and 0.90
- Browser client now supports versions 1.0, 1.1, and 1.2
2.1 (Mar 27 2014)
edit-
The default API version is now
'1.1'
- Errors generated in the browser will now have stack traces
- Clarified IE-support
- Improvements to the bundled log-generator
2.0 (Mar 27 2014)
edit-
The default API version is now
'1.0'
- Promises are now supported using the Bluebird module
- If you try to reuse a configuration object, an error will be thrown. https://github.com/elastic/elasticsearch-js/issues/33
1.5 (Feb 6 2014)
edit-
Switched out
keepaliveagent
dependency withforever-agent
, which is used in the ever popularrequest
module, and is much simpler -
The option to use keep-alive is now all or nothing.
maxKeepAliveTime
andmaxKeepAliveRequests
config parameters have been replaced bykeepAlive
, which will keeps at leastminSockets
connections open forever. See: Configuration -
Closing the client with
keepAlive
turned on will allow the process to exit. https://github.com/elastic/elasticsearch-js/issues/40 - Fixed a bug that caused invalid param/type errors to not be reported properly, in the browser builds that use promises
- added the cat.threadPool to the master/1.0/1.x apis
- Enabled Basic auth in the Angular connector — Thanks @jeff-french!
- Fixed a bug that was preventing index requests (and any other POST/PUT request) from using connections in the connection pool
1.4 (Jan 30 2014)
edit- The trace log messages will now diaplay the actual host connected to (without auth info) unless they are being written to a bash script
- API Updated with latest changes awaiting 1.0 release
1.2/1.3 (Jan 17 2014)
edit-
apiVersion
config parameter was added. Use this to specify which API the client should provide, we currently offer support for elasticsearch branches "0.90", "1.0", and "master"
1.1 (Dec 22 2013)
edit-
Changed the resolution value of promises. Instead of being an object like
{body: ..., status: ...}
it is now just the response body
1.0 (Dec 17 2013)
edit- Initial Release