|
2 | 2 | == Release notes |
3 | 3 |
|
4 | 4 | * <<rn-8-0-0>> |
| 5 | +* <<rn-7-17-1>> |
5 | 6 | * <<rn-7-17-0>> |
6 | 7 | * <<rn-7-16-3>> |
7 | 8 | * <<rn-7-16-2>> |
|
45 | 46 | [discrete] |
46 | 47 | ==== Added |
47 | 48 |
|
48 | | -- Added the top-level `.options()` method to `Elasticsearch` and `AsyncElasticsearch` for modifying transport options. |
49 | | -- Added parameters corresponding to JSON request body fields for all APIs |
50 | | -- Added `basic_auth` parameter for specifying username and password authentication |
51 | | -- Added `bearer_auth` parameter for specifying an HTTP bearer token or service token |
52 | | -- Added the `meta` property to `ApiError` to access the HTTP response metadata of an error. |
53 | | -- Added a check that a compatible version of the `elastic-transport` package is installed. |
| 49 | +* Added the top-level `.options()` method to `Elasticsearch` and `AsyncElasticsearch` for modifying transport options. |
| 50 | +* Added parameters corresponding to JSON request body fields for all APIs |
| 51 | +* Added `basic_auth` parameter for specifying username and password authentication |
| 52 | +* Added `bearer_auth` parameter for specifying an HTTP bearer token or service token |
| 53 | +* Added the `meta` property to `ApiError` to access the HTTP response metadata of an error. |
| 54 | +* Added a check that a compatible version of the `elastic-transport` package is installed. |
54 | 55 |
|
55 | 56 | [discrete] |
56 | 57 | ==== Changed |
57 | 58 |
|
58 | | -- Changed the transport layer to use the `elastic-transport` package |
59 | | -- Changed user-defined `body` parameters to have semantic names (e.g `index(document={...})` instead of `index(body={...})`). |
60 | | -- Changed responses to be objects with two properties, `meta` for response metadata (HTTP status, headers, node, etc) and `body` for a typed body. |
61 | | -- Changed `AsyncElasticsearch` to always be available, regardless of whether `aiohttp` is installed |
62 | | -- Changed exception hierarchy, the major change is a new exception `ApiError` which differentiates between an error that's raised from the transport layer (previously `elasticsearch.exceptions.TransportError`, now `elastic_transport.TransportError`) and one raised from the API layer |
63 | | -- Changed the name of `JSONSerializer` to `JsonSerializer` for consistency with other serializer names. Added an alias to the old name for backwards compatibility |
64 | | -- Changed the default mimetypes (`application/json`) to instead use compatibility mimetypes (`application/vnd.elasticsearch+json`) which always request for responses compatibility with version 8.x. |
| 59 | +* Changed the transport layer to use the `elastic-transport` package |
| 60 | +* Changed user-defined `body` parameters to have semantic names (e.g `index(document={...})` instead of `index(body={...})`). |
| 61 | +* Changed responses to be objects with two properties, `meta` for response metadata (HTTP status, headers, node, etc) and `body` for a typed body. |
| 62 | +* Changed `AsyncElasticsearch` to always be available, regardless of whether `aiohttp` is installed |
| 63 | +* Changed exception hierarchy, the major change is a new exception `ApiError` which differentiates between an error that's raised from the transport layer (previously `elasticsearch.exceptions.TransportError`, now `elastic_transport.TransportError`) and one raised from the API layer |
| 64 | +* Changed the name of `JSONSerializer` to `JsonSerializer` for consistency with other serializer names. Added an alias to the old name for backwards compatibility |
| 65 | +* Changed the default mimetypes (`application/json`) to instead use compatibility mimetypes (`application/vnd.elasticsearch+json`) which always request for responses compatibility with version 8.x. |
65 | 66 |
|
66 | 67 | [discrete] |
67 | 68 | ==== Removed |
68 | 69 |
|
69 | | -- Removed support for Python 2.7 and Python 3.5, the library now supports only Python 3.6+ |
70 | | -- Removed the `elasticsearch.connection` module as all functionality has been moved to the `elastic-transport` package |
71 | | -- Removed the default URL of `http://localhost:9200` due to Elasticsearch 8.0 default configuration being `https://localhost:9200`. |
| 70 | +* Removed support for Python 2.7 and Python 3.5, the library now supports only Python 3.6+ |
| 71 | +* Removed the `elasticsearch.connection` module as all functionality has been moved to the `elastic-transport` package |
| 72 | +* Removed the default URL of `http://localhost:9200` due to Elasticsearch 8.0 default configuration being `https://localhost:9200`. |
72 | 73 | The client's connection to Elasticsearch now must be specified with scheme, host, and port or with the `cloud_id` parameter |
73 | | -- Removed the ability to use positional arguments with API methods. Going forward all API parameters must be keyword-only parameters |
74 | | -- Removed the `doc_type`, `include_type_name`, and `copy_settings` parameters from many document and index APIs |
| 74 | +* Removed the ability to use positional arguments with API methods. Going forward all API parameters must be keyword-only parameters |
| 75 | +* Removed the `doc_type`, `include_type_name`, and `copy_settings` parameters from many document and index APIs |
75 | 76 |
|
76 | 77 | [discrete] |
77 | 78 | ==== Deprecated |
78 | 79 |
|
79 | | -- Deprecated the `body` and `params` parameters on all APIs |
80 | | -- Deprecated setting transport options `http_auth`, `api_key`, `ignore`, `request_timeout`, `headers`, and `opaque_id` |
| 80 | +* Deprecated the `body` and `params` parameters on all APIs |
| 81 | +* Deprecated setting transport options `http_auth`, `api_key`, `ignore`, `request_timeout`, `headers`, and `opaque_id` |
81 | 82 | All of these settings should instead be set via the `.options()` method |
82 | | -- Deprecated the `elasticsearch.transport` and `elasticsearch.client` modules. These modules will be removed in a future version |
| 83 | +* Deprecated the `elasticsearch.transport` and `elasticsearch.client` modules. These modules will be removed in a future version |
83 | 84 |
|
84 | 85 | [discrete] |
85 | 86 | ==== CAT |
86 | 87 |
|
87 | | -- Removed the deprecated `local` parameter from the `cat.indices`, `cat.nodes`, `cat.shards` API |
88 | | -- Removed the deprecated `allow_no_datafeeds` parameter from the `cat.ml_datafeeds` API |
89 | | -- Removed the deprecated `allow_no_jobs` parameter from the `cat.ml_jobs` API |
90 | | -- Removed the deprecated `size` parameter from the `cat.thread_pool` API |
91 | | -- Added the `time` parameter to the `cat.thread_pool` API |
| 88 | +* Removed the deprecated `local` parameter from the `cat.indices`, `cat.nodes`, `cat.shards` API |
| 89 | +* Removed the deprecated `allow_no_datafeeds` parameter from the `cat.ml_datafeeds` API |
| 90 | +* Removed the deprecated `allow_no_jobs` parameter from the `cat.ml_jobs` API |
| 91 | +* Removed the deprecated `size` parameter from the `cat.thread_pool` API |
| 92 | +* Added the `time` parameter to the `cat.thread_pool` API |
92 | 93 |
|
93 | 94 | [discrete] |
94 | 95 | ==== Documents |
95 | 96 |
|
96 | | -- Removed the deprecated `size` parameter from the `delete_by_query` API |
97 | | -- Removed the deprecated `size` parameter from the `update_by_query` API |
| 97 | +* Removed the deprecated `size` parameter from the `delete_by_query` API |
| 98 | +* Removed the deprecated `size` parameter from the `update_by_query` API |
98 | 99 |
|
99 | 100 | [discrete] |
100 | 101 | ==== Indices |
101 | 102 |
|
102 | | -- Removed the deprecated `indices.flush_synced` API |
103 | | -- Removed the deprecated `indices.freeze` API |
104 | | -- Removed the deprecated `indices.get_upgrade` API |
105 | | -- Removed the deprecated `indices.upgrade` API |
106 | | -- Removed the deprecated `indices.exist_type` API |
107 | | -- Removed the deprecated parameter `copy_settings` from the `indices.shrink` API |
108 | | -- Deprecated the `verbose` parameter of the `indices.segments` API |
| 103 | +* Removed the deprecated `indices.flush_synced` API |
| 104 | +* Removed the deprecated `indices.freeze` API |
| 105 | +* Removed the deprecated `indices.get_upgrade` API |
| 106 | +* Removed the deprecated `indices.upgrade` API |
| 107 | +* Removed the deprecated `indices.exist_type` API |
| 108 | +* Removed the deprecated parameter `copy_settings` from the `indices.shrink` API |
| 109 | +* Deprecated the `verbose` parameter of the `indices.segments` API |
109 | 110 |
|
110 | 111 | [discrete] |
111 | 112 | ==== License / X-Pack |
112 | 113 |
|
113 | | -- Deprecated the `accept_enterprise` parameter of the `license.get` API |
114 | | -- Deprecated the `accept_enterprise` parameter of the `xpack.info` API |
| 114 | +* Deprecated the `accept_enterprise` parameter of the `license.get` API |
| 115 | +* Deprecated the `accept_enterprise` parameter of the `xpack.info` API |
115 | 116 |
|
116 | 117 | [discrete] |
117 | 118 | ==== Machine Learning |
118 | 119 |
|
119 | | -- Added the **experimental** `ml.infer_trained_model_deployment` API |
120 | | -- Added the **experimental** `ml.put_trained_model_definition_part` API |
121 | | -- Added the **experimental** `ml.put_trained_model_vocabulary` API |
122 | | -- Added the **experimental** `ml.start_trained_model_deployment` API |
123 | | -- Added the **experimental** `ml.stop_trained_model_deployment` API |
124 | | -- Added the `timeout` parameter to the `ml.delete_trained_model` API |
125 | | -- Removed the deprecated `allow_no_jobs` parameter from the `ml.close_job` API |
126 | | -- Removed the deprecated `ml.find_text_structure` API |
127 | | -- Removed the deprecated `allow_no_datafeeds` parameter from the `ml.get_datafeed_stats` API |
128 | | -- Removed the deprecated `allow_no_datafeeds` parameter from the `ml.get_datafeeds` API |
129 | | -- Removed the deprecated `allow_no_jobs` parameter from the `ml.get_job_stats` API |
130 | | -- Removed the deprecated `allow_no_jobs` parameter from the `ml.get_jobs` API |
131 | | -- Removed the deprecated `allow_no_jobs` parameter from the `ml.get_overall_buckets` API |
| 120 | +* Added the **experimental** `ml.infer_trained_model_deployment` API |
| 121 | +* Added the **experimental** `ml.put_trained_model_definition_part` API |
| 122 | +* Added the **experimental** `ml.put_trained_model_vocabulary` API |
| 123 | +* Added the **experimental** `ml.start_trained_model_deployment` API |
| 124 | +* Added the **experimental** `ml.stop_trained_model_deployment` API |
| 125 | +* Added the `timeout` parameter to the `ml.delete_trained_model` API |
| 126 | +* Removed the deprecated `allow_no_jobs` parameter from the `ml.close_job` API |
| 127 | +* Removed the deprecated `ml.find_text_structure` API |
| 128 | +* Removed the deprecated `allow_no_datafeeds` parameter from the `ml.get_datafeed_stats` API |
| 129 | +* Removed the deprecated `allow_no_datafeeds` parameter from the `ml.get_datafeeds` API |
| 130 | +* Removed the deprecated `allow_no_jobs` parameter from the `ml.get_job_stats` API |
| 131 | +* Removed the deprecated `allow_no_jobs` parameter from the `ml.get_jobs` API |
| 132 | +* Removed the deprecated `allow_no_jobs` parameter from the `ml.get_overall_buckets` API |
132 | 133 |
|
133 | 134 | [discrete] |
134 | 135 | ==== Search |
135 | 136 |
|
136 | | -- Added the **experimental** `knn_search` API |
| 137 | +* Added the **experimental** `knn_search` API |
137 | 138 |
|
138 | 139 | [discrete] |
139 | 140 | ==== Searchable Snapshots |
140 | 141 |
|
141 | | -- Removed the deprecated `searchable_snapshots.repository_stats` API |
| 142 | +* Removed the deprecated `searchable_snapshots.repository_stats` API |
142 | 143 |
|
143 | 144 | [discrete] |
144 | 145 | ==== Snapshots |
145 | 146 |
|
146 | | -- Changed the `snapshot.delete` API to accept multiple snapshots |
| 147 | +* Changed the `snapshot.delete` API to accept multiple snapshots |
147 | 148 |
|
148 | 149 | [discrete] |
149 | 150 | ==== Security |
150 | 151 |
|
151 | | -- Added the `security.enroll_kibana` API |
152 | | -- Added the `security.enroll_node` API |
| 152 | +* Added the `security.enroll_kibana` API |
| 153 | +* Added the `security.enroll_node` API |
| 154 | + |
| 155 | + |
| 156 | +[discrete] |
| 157 | +[[rn-7-17-1]] |
| 158 | +=== 7.17.1 (2022-02-28) |
| 159 | + |
| 160 | +* Fixed `AiohttpHttpConnection`` to not leak TLS connections when the socket isn't explicitly shutdown by the peer |
| 161 | +* Fixed the `from` parameter to be rewritten to `from_` when used with the `scan` and `async_scan` helpers |
153 | 162 |
|
154 | 163 |
|
155 | 164 | [discrete] |
|
180 | 189 | [discrete] |
181 | 190 | ==== Fixed |
182 | 191 |
|
183 | | -- Fixed issue where the `AIOHttpConnection` wouldn't log query parameters for URLs. |
| 192 | +* Fixed issue where the `AIOHttpConnection` wouldn't log query parameters for URLs. |
184 | 193 |
|
185 | 194 |
|
186 | 195 | [discrete] |
|
190 | 199 | [discrete] |
191 | 200 | ==== Deprecated |
192 | 201 |
|
193 | | -- Deprecated the `send_get_body_as` parameter. This parameter is no longer necessary |
| 202 | +* Deprecated the `send_get_body_as` parameter. This parameter is no longer necessary |
194 | 203 | as APIs all use non-GET HTTP methods when using a body. |
195 | | -- Removal of `body`, `params`, and other per-request parameters has been delayed beyond 8.0.0. |
| 204 | +* Removal of `body`, `params`, and other per-request parameters has been delayed beyond 8.0.0. |
196 | 205 | Changed deprecation warnings to mention "future version" instead of 8.0.0. |
197 | 206 |
|
198 | 207 | [discrete] |
199 | 208 | ==== Fixed |
200 | 209 |
|
201 | | -- Fixed an issue with `unicode` HTTP headers with the urllib3 HTTP client |
202 | | -- Fixed an issue with the `scan` helper to always set the `sort` and `scroll` parameters |
| 210 | +* Fixed an issue with `unicode` HTTP headers with the urllib3 HTTP client |
| 211 | +* Fixed an issue with the `scan` helper to always set the `sort` and `scroll` parameters |
203 | 212 |
|
204 | 213 | [discrete] |
205 | 214 | ==== Search |
206 | 215 |
|
207 | | -- Changed the `keep_alive` parameter of the `open_point_in_time` API to be required |
| 216 | +* Changed the `keep_alive` parameter of the `open_point_in_time` API to be required |
208 | 217 | to reflect its required status within Elasticsearch |
209 | | -- Added the `track_total_hits` parameter to the `search_mvt` API |
| 218 | +* Added the `track_total_hits` parameter to the `search_mvt` API |
210 | 219 |
|
211 | 220 | [discrete] |
212 | 221 | ==== Fleet |
213 | 222 |
|
214 | | -- Changed the `fleet.global_checkpoints` API from **experimental** to **stable** |
215 | | -- Added the `fleet.search` **experimental** API |
216 | | -- Added the `fleet.msearch` **experimental** API |
| 223 | +* Changed the `fleet.global_checkpoints` API from **experimental** to **stable** |
| 224 | +* Added the `fleet.search` **experimental** API |
| 225 | +* Added the `fleet.msearch` **experimental** API |
217 | 226 |
|
218 | 227 | [discrete] |
219 | 228 | ==== Indices |
220 | 229 |
|
221 | | -- Added the `indices.modify_data_stream` API |
| 230 | +* Added the `indices.modify_data_stream` API |
222 | 231 |
|
223 | 232 | [discrete] |
224 | 233 | ==== Ingest |
225 | 234 |
|
226 | | -- Added the `if_version` parameter to the `ingest.put_pipeline` API |
| 235 | +* Added the `if_version` parameter to the `ingest.put_pipeline` API |
227 | 236 |
|
228 | 237 | [discrete] |
229 | 238 | ==== Migration |
230 | 239 |
|
231 | | -- Added the `migration.get_feature_upgrade_status` API |
232 | | -- Added the `migration.post_feature_upgrade` API |
| 240 | +* Added the `migration.get_feature_upgrade_status` API |
| 241 | +* Added the `migration.post_feature_upgrade` API |
233 | 242 |
|
234 | 243 | [discrete] |
235 | 244 | ==== Machine Learning |
236 | 245 |
|
237 | | -- Added the `defer_definition_decompression` parameter to the `ml.put_trained_model` API |
| 246 | +* Added the `defer_definition_decompression` parameter to the `ml.put_trained_model` API |
238 | 247 |
|
239 | 248 | [discrete] |
240 | 249 | ==== Transforms |
241 | 250 |
|
242 | | -- Added the `transform.upgrade_transforms` API |
| 251 | +* Added the `transform.upgrade_transforms` API |
243 | 252 |
|
244 | 253 |
|
245 | 254 | [discrete] |
|
249 | 258 | [discrete] |
250 | 259 | ==== Nodes |
251 | 260 |
|
252 | | -- Documented additional options the `metric` parameter of the `nodes.info` API. |
| 261 | +* Documented additional options the `metric` parameter of the `nodes.info` API. |
253 | 262 |
|
254 | 263 |
|
255 | 264 | [discrete] |
|
259 | 268 | [discrete] |
260 | 269 | ==== Client |
261 | 270 |
|
262 | | -- Fixed a performance regression in `JSONSerializer.default()` when `numpy` and `pandas` weren't installed. |
263 | | -- Changed the `DeprecationWarning` for the `body` parameter to be a "removed in a future version" instead of "removed in 8.0" in line with the 8.0 roadmap. |
| 271 | +* Fixed a performance regression in `JSONSerializer.default()` when `numpy` and `pandas` weren't installed. |
| 272 | +* Changed the `DeprecationWarning` for the `body` parameter to be a "removed in a future version" instead of "removed in 8.0" in line with the 8.0 roadmap. |
264 | 273 |
|
265 | 274 | [discrete] |
266 | 275 | ==== Search |
267 | 276 |
|
268 | | -- The `index` parameter of the `open_point_in_time` API is now required, was optional. |
| 277 | +* The `index` parameter of the `open_point_in_time` API is now required, was optional. |
269 | 278 |
|
270 | 279 |
|
271 | 280 | [discrete] |
|
275 | 284 | [discrete] |
276 | 285 | ==== Client |
277 | 286 |
|
278 | | -- Added more precise type hints to many API parameters |
279 | | -- Added explicit parameters to `AsyncTransport` and `AIOHttpConnection` |
280 | | -- Added `MapboxVectorTileSerializer` for handling the `application/vnd.mapbox-vector-tile` mimetype. Because this mimetype is binary rather than text the raw response `bytes` are forwarded from the serializer without decoding |
281 | | -- Reduced amount of time to import the `elasticsearch` module by delaying imports of `pandas` and `numpy` until later in the JSON serialization stage if necessary |
282 | | -- Deprecated positional arguments for APIs, instead use keyword arguments exclusively. |
| 287 | +* Added more precise type hints to many API parameters |
| 288 | +* Added explicit parameters to `AsyncTransport` and `AIOHttpConnection` |
| 289 | +* Added `MapboxVectorTileSerializer` for handling the `application/vnd.mapbox-vector-tile` mimetype. Because this mimetype is binary rather than text the raw response `bytes` are forwarded from the serializer without decoding |
| 290 | +* Reduced amount of time to import the `elasticsearch` module by delaying imports of `pandas` and `numpy` until later in the JSON serialization stage if necessary |
| 291 | +* Deprecated positional arguments for APIs, instead use keyword arguments exclusively. |
283 | 292 |
|
284 | 293 | [discrete] |
285 | 294 | ==== Search |
286 | 295 |
|
287 | | -- Added the `search_mvt` **experimental** API |
288 | | -- Added body field parameters to the `search`, `scroll`, and `clear_scroll` APIs |
289 | | -- Deprecated the `body` parameter of the `search`, `scroll`, and `clear_scroll` APIs |
| 296 | +* Added the `search_mvt` **experimental** API |
| 297 | +* Added body field parameters to the `search`, `scroll`, and `clear_scroll` APIs |
| 298 | +* Deprecated the `body` parameter of the `search`, `scroll`, and `clear_scroll` APIs |
290 | 299 |
|
291 | 300 | [discrete] |
292 | 301 | ==== Documents |
293 | 302 |
|
294 | | -- Added body field parameters to the `update` API |
295 | | -- Added the `document` parameter to the `create` and `index` APIs |
296 | | -- Deprecated the `body` parameter of the `create`, `index`, and `update` APIs |
| 303 | +* Added body field parameters to the `update` API |
| 304 | +* Added the `document` parameter to the `create` and `index` APIs |
| 305 | +* Deprecated the `body` parameter of the `create`, `index`, and `update` APIs |
297 | 306 |
|
298 | 307 | [discrete] |
299 | 308 | ==== Indices |
300 | 309 |
|
301 | | -- Added the `indices.disk_usage` **experimental** API |
302 | | -- Added the `indices.fields_usage_stats` **experimental** API |
303 | | -- Added body field parameters to the `indices.create` API |
304 | | -- Deprecated the `body` parameter of the `indices.create` API |
| 310 | +* Added the `indices.disk_usage` **experimental** API |
| 311 | +* Added the `indices.fields_usage_stats` **experimental** API |
| 312 | +* Added body field parameters to the `indices.create` API |
| 313 | +* Deprecated the `body` parameter of the `indices.create` API |
305 | 314 |
|
306 | 315 | [discrete] |
307 | 316 | ==== Machine Learning |
308 | 317 |
|
309 | | -- Added the `ignore_unavailable`, `allow_no_indices`, `ignore_throttled`, and `expand_wildcards` parameters to the `ml.put_job` API |
| 318 | +* Added the `ignore_unavailable`, `allow_no_indices`, `ignore_throttled`, and `expand_wildcards` parameters to the `ml.put_job` API |
310 | 319 |
|
311 | 320 | [discrete] |
312 | 321 | ==== Nodes |
313 | 322 |
|
314 | | -- Added the `nodes.clear_repositories_metering_archive` **experimental** API |
315 | | -- Added the `nodes.get_repositories_metering_info` **experimental** API |
316 | | -- Added the `shards` option to the `index_metric` parameter of the `nodes.stats` API |
317 | | -- Deprecated the `doc_type` parameter of the `nodes.hot_threads` API, instead use the `type` parameter |
| 323 | +* Added the `nodes.clear_repositories_metering_archive` **experimental** API |
| 324 | +* Added the `nodes.get_repositories_metering_info` **experimental** API |
| 325 | +* Added the `shards` option to the `index_metric` parameter of the `nodes.stats` API |
| 326 | +* Deprecated the `doc_type` parameter of the `nodes.hot_threads` API, instead use the `type` parameter |
318 | 327 | [discrete] |
319 | 328 | ==== Security |
320 | 329 |
|
321 | | -- Added the `security.query_api_keys` API |
| 330 | +* Added the `security.query_api_keys` API |
322 | 331 |
|
323 | 332 | [discrete] |
324 | 333 | ==== License |
325 | 334 |
|
326 | | -- Deprecated the `doc_type` parameter of the `license.post_start_trial` API, instead use the `type` parameter |
| 335 | +* Deprecated the `doc_type` parameter of the `license.post_start_trial` API, instead use the `type` parameter |
327 | 336 |
|
328 | 337 |
|
329 | 338 | [discrete] |
|
0 commit comments