update changelog in anticipation for 13.0

This commit is contained in:
spalger
2017-02-08 18:26:42 -07:00
parent 87fe5d4a83
commit fa52920ff1

View File

@ -1,6 +1,34 @@
[[changelog]]
== Changelog
=== 13.0 (Feb ? 2017)
* apiVersion `"5.2"` is now the default
* Fixed the way that http addresses are sniffed from the cluster https://github.com/elastic/elasticsearch-js/issues/496[#496]
* Switched back to `agentkeepalive` for managing keep-alive connections https://github.com/elastic/elasticsearch-js/issues/476[#476]
* 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 default `apiVersion` changed.
+
Elasticsearch now guarantees backwards compatibility within a specific major version, and has for a while, (https://www.elastic.co/support/eol[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 https://github.com/elastic/elasticsearch-js/issues/490[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 (https://www.elastic.co/support_policy[see section 7.1 of the support policy]). If you cannot upgrade then you have two options:
1. 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.
2. Download the API definition file for the version you are using from the https://github.com/elastic/elasticsearch-js/tree/da99740e1196068bdc03f830a0964cf5f05f0925/src/lib/apis[12.1.1 source], and then attach it to the client like so:
+
[source,js]
--------
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'
})
--------
=== 12.1 (Nov 16 2016)
* Added <<config-http-auth,`httpAuth`>> configuration parameter
* Fixed a bug introduced in v9.0.1 that prevented error messages from including some available metadata
@ -10,7 +38,7 @@
=== 11.0 (Apr 5 2016)
* apiVersion `"2.3"` is now the default
* updated APIs, to use the new API's exposed by the `v5.0.0-alpha1` of elasticsearch use the `"master"` api version.
* updated APIs, to use the new APIs exposed by the `v5.0.0-alpha1` of elasticsearch use the `"master"` api version.
* Switch to https://www.npmjs.com/package/promise[promise] from https://www.npmjs.com/package/promise-js[promise-js] to prevent polluting global environment
* Pass the keepAlive configuration all the way to the Agent https://github.com/elastic/elasticsearch-js/pull/371[#371]