|
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