[[release-notes]] == Release notes * <> * <> * <> * <> * <> * <> * <> * <> * <> * <> * <> * <> * <> * <> * <> * <> * <> * <> * <> * <> * <> * <> * <> * <> [discrete] [[rn-7-13-3]] === 7.13.3 (2021-07-07) * `NameError` would be raised on Python 2.7 and 3.4 when a connection error would have otherwise been raised. [discrete] [[rn-7-13-2]] === 7.13.2 (2021-06-21) * Fixed `Transport.perform_request()` to properly reraise `RecursionError` * Fixed `AIOHttpConnection` to no longer send `Accept-Encoding: gzip, deflate` when `http_compress=None`. Instead now sends no `Accept-Encoding` header in the default case [discrete] ==== Snapshot * Added the `snapshot.repository_analyze` API [discrete] [[rn-7-13-1]] === 7.13.1 (2021-06-02) * Client is compatible with Elasticsearch 7.13.1 [discrete] [[rn-7-13-0]] === 7.13.0 (2021-05-25) * Added support for compatibility header for Elasticsearch. If the environment variable `ELASTIC_CLIENT_APIVERSIONING=1` is set the client will send the headers Accept and Content-Type with the following value: `application/vnd.elasticsearch+json;compatible-with=7`. [discrete] ==== Cat * Added the `include_unloaded_segments` parameter to the `cat.nodes` API * Added the `features.reset_features` **experimental** API * Added the `fleet.global_checkpoints` **expiremental** API * Added the `ingest.geo_ip_stats` API [discrete] ==== Machine Learning * Added the `ml.delete_trained_model_alias` API * Added the `ml.preview_data_frame_analytics` API * Added the `ml.put_trained_model_alias` API * Changed the `ml.delete_data_frame_analytics`, `ml.delete_trained_model`, `ml.explain_data_frame_analytics`, `ml.get_data_fram_analytics`, `ml.get_data_frame_analytics_stats`, `ml.get_trained_models`, `ml.get_trained_models_stats`, `ml.put_trained_model`, `ml.start_data_frame_analytics`, `ml.stop_data_frame_analytics`, `ml.update_data_frame_analytics` APIs from **beta** to **stable**. [discrete] ==== Nodes * Added `include_unloaded_segments` parameter to `node.stats` API [discrete] ==== Searchable Snapshots * Added the `searchable_snapshots.cache_stats` **experimental** API [discrete] ==== Security * Added the `security.clear_cached_service_tokens` **beta** API * Added the `security.create_service_token` **beta** API * Added the `security.delete_service_token` **beta** API * Added the `security.get_service_accounts` **beta** API * Added the `security.get_service_credentials` **beta** API [discrete] ==== Shutdown * Added the `shutdown.delete_node` **experiemental** API * Added the `shutdown.get_node` **experimental** API * Added the `shutdown.put_node` **experimental** API [discrete] ==== Snapshots * Added the `index_details` parameter to `snapshot.get` API [discrete] ==== Text Structure * Changed the `text_structure.find_structure` API from **experimental** to **stable** [discrete] [[rn-7-12-1]] === 7.12.1 (2021-04-27) [discrete] ==== Text Structure * Changed the `text_structure.find_text_structure` API from **experimental** to **stable** [discrete] [[rn-7-12-0]] === 7.12.0 (2021-03-23) [discrete] ==== Autoscaling * Changed `autoscaling.delete_autoscaling_policy`, `autoscaling.get_autoscaling_policy`, and `autoscaling.put_autoscaling_policy` APIs from **experimental** to **stable** [discrete] ==== EQL * Added `eql.get_status` API [discrete] ==== Logash * Added `logstash.delete_pipeline`, `logstash.get_pipeline`, and `logstash.put_pipeline` APIs [discrete] ==== Machine Learning * Removed the **experimental** `ml.find_text_structure` API [discrete] ==== Searchable Snapshots * Added `storage` parameter to the `searchable_snapshots.mount` API * Added `level` parameter to the `searchable_snapshots.stats` API [discrete] ==== Search * Added the `min_compatible_shard_node` parameter to `search()` [discrete] ==== Text Structure * Added **experimental** `text_structure.find_text_structure` API [discrete] [[rn-7-11-0]] === 7.11.0 (2021-02-10) * Added support for 7.11 APIs. * Added the `X-Elastic-Client-Meta` HTTP header and the `meta_header` parameter for controlling the header (https://github.com/elastic/elasticsearch-py/pull/1473[#1473]). * Added `ElasticsearchWarning` which is raised when the `Warning` HTTP header is returned from {es}. `ElasticsearchDeprecationWarning` is now an alias for this warning type (https://github.com/elastic/elasticsearch-py/pull/1495[#1495]). [discrete] [[rn-7-10-1]] === 7.10.1 (2020-12-09) * Fixed issue where the Scan helper would fail if a `scroll` response returned without a value for `_shards.skipped` (https://github.com/elastic/elasticsearch-py/pull/1451[#1451]). * Fixed handling of IPv6 hosts with a port in the computed `Connection.host` property (https://github.com/elastic/elasticsearch-py/pull/1460[#1460]). * Fixed documented task management API stability, should have been as "experimental" (https://github.com/elastic/elasticsearch-py/pull/1471[#1471]). * Changed deprecated `collections.Mapping` in favor of `collections.abc.Mapping` for Python 3.9 (https://github.com/elastic/elasticsearch-py/pull/1443[#1443]). [discrete] [[rn-7-10-0]] === 7.10.0 (2020-11-11) * Added support for {es} 7.10 APIs. * Added basic type stubs for static type checking and IDE auto-complete of API parameters (https://github.com/elastic/elasticsearch-py/pull/1297[#1297], https://github.com/elastic/elasticsearch-py/pull/1406[#1406]). * Added support for https://www.elastic.co/guide/en/elasticsearch/reference/current/optimistic-concurrency-control.html[`Optimistic Concurrency Control options`] (`_if_seq_no`/`_if_primary_term`) to bulk helpers (https://github.com/elastic/elasticsearch-py/pull/1387[#1387]). * Added support for passing `_source` with `"_op_type": "update"` bulk helpers (https://github.com/elastic/elasticsearch-py/pull/1387[#1387]). * Fixed bug where `Connection.log_request_failure()` call would receive the compressed HTTP body rather than uncompressed when an error is raised for `RequestsHttpConnection` (https://github.com/elastic/elasticsearch-py/pull/1394[#1394]). * Fix a typo in AsyncTransport where `sniff_timeout` was used instead of `sniffer_timeout` (https://github.com/elastic/elasticsearch-py/pull/1431[#1431]). * Removed explicit `yarl` dependency from `[async]` extra to avoid issue where pip would override `aiohttp`'s pin of `yarl`. This is not a problem if you install with `--use-feature=2020-resolver`. Users should see no changes (https://github.com/elastic/elasticsearch-py/pull/1401[#1401]). [discrete] [[rn-7-9-1]] === 7.9.1 (2020-08-19) * Fixed the import of async helpers which were not available in 7.9.0 (https://github.com/elastic/elasticsearch-py/pull/1353[#1353]). * Added support for `url_prefix` when using `AIOHttpConnection` (https://github.com/elastic/elasticsearch-py/pull/1357[#1357]). [discrete] [[rn-7-9-0]] === 7.9.0 (2020-08-18) * Added support for ES 7.9 APIs. * Fixed retries to not raise an error when `sniff_on_connection_error=True` and a `TransportError` is raised during the sniff step. Instead the retry will continue or the error that triggered the retry will be raised (https://github.com/elastic/elasticsearch-py/pull/1279[#1279], https://github.com/elastic/elasticsearch-py/pull/1326[#1326]). [discrete] [[rn-7-8-1]] === 7.8.1 (2020-07-30) * Added the `accept_enterprise` parameter to `xpack.info` API (https://github.com/elastic/elasticsearch-py/pull/1337[#1337]). [discrete] [[rn-7-8-0]] === 7.8.0 (2020-06-18) * Added support for ES 7.8 APIs. * Added support for async/await with asyncio via `AsyncElasticsearch`. See https://elasticsearch-py.readthedocs.io/en/master/async.html[documentation] on `using Asyncio with {es} (https://github.com/elastic/elasticsearch-py/pull/1232[#1232], https://github.com/elastic/elasticsearch-py/pull/1235[#1235], https://github.com/elastic/elasticsearch-py/pull/1236[#1236]). * Added async helpers `async_bulk`, `async_streaming_bulk`, `async_scan`, and `async_reindex` (https://github.com/elastic/elasticsearch-py/pull/1260[#1260]). * Updated `exists_source` API to use non-deprecated {es} API routes when `doc_type` is not specified to suppress deprecation warnings (https://github.com/elastic/elasticsearch-py/pull/1272[#1272]). [discrete] [[rn-7-7-1]] === 7.7.1 (2020-05-26) * Updated `create`, `update`, `explain`, `get_source`, and `termvectors` APIs to use non-deprecated {es} API routes when `doc_type` is not specified to suppress deprecation warnings (https://github.com/elastic/elasticsearch-py/pull/1253[#1253]). [discrete] [[rn-7-7-0]] === 7.7.0 (2020-05-13) * Added support for ES 7.7 APIs (https://github.com/elastic/elasticsearch-py/pull/1182[#1182]). * Added `ElasticsearchDeprecationWarning` which is raised when a `Warning` HTTP header is sent by {es} (https://github.com/elastic/elasticsearch-py/pull/1179[#1179]). * Added support for serializing `numpy` and `pandas` data types to `JSONSerializer` (https://github.com/elastic/elasticsearch-py/pull/1180[#1180]). * Added `certifi` as a dependency so HTTPS connections work automatically. * Fixed duplicated parameters in some API docstrings (https://github.com/elastic/elasticsearch-py/pull/1169[#1169], thanks to https://github.com/mortenhauberg[Morten Hauberg]). [discrete] [[rn-7-6-0]] === 7.6.0 (2020-03-19) * Added support for ES 7.6 APIs. * Added support for https://www.elastic.co/guide/en/elasticsearch/reference/current/tasks.html#_identifying_running_tasks[`X-Opaque-Id`] to identify long-running tasks. * Added support for HTTP compression to `RequestsHttpConnection`. * Updated default setting of `http_compress` when using `cloud_id` to `True`. * Updated default setting of `sniffing` when using `cloud_id` to `False`. * Updated default port to `443` if `cloud_id` and no other port is defined on the client or within `cloud_id`. * Updated `GET` HTTP requests that contain a body to `POST` where the API allows this to fix proxies rejecting these requests. * Fix regression of `client.cluster.state()` where the default `metric` should be set to `"_all"` if an index is given (https://github.com/elastic/elasticsearch-py/pull/1143[#1143]). * Fix regression of `client.tasks.get()` without a `task_id` having similar functionality to `client.tasks.list()` This will be removed in `v8.0` of `elasticsearch-py` (https://github.com/elastic/elasticsearch-py/pull/1157[#1157]). [discrete] [[rn-7-5-1]] === 7.5.1 (2020-01-19) * All API is now auto generated. * Deprecated the `.xpack` namespace. * Update client to support ES 7.5 APIs. [discrete] [[rn-7-1-0]] === 7.1.0 (2019-11-14) * Fix sniffing with `http.publish_host`. * Fix `request_timeout` for `indices` APIs. * Allow access to `x-pack` features without `xpack` namespace. * Fix mark dead. [discrete] [[rn-7-0-5]] === 7.0.5 (2019-10-01) * Fix `verify_certs=False`. [discrete] [[rn-7-0-4]] === 7.0.4 (2019-08-22) * Fix wheel distribution. [discrete] [[rn-7-0-3]] === 7.0.3 (2019-08-21) * Remove sleep in retries. * Pass `scroll_id` through body in `scroll`. * Add `user-agent`. [discrete] [[rn-7-0-2]] === 7.0.2 (2019-05-29) * Add connection parameter for Elastic Cloud cloud_id. * ML client uses client object for _bulk_body requests. [discrete] [[rn-7-0-1]] === 7.0.1 (2019-05-19) * Use black to format the code. * Update the test matrix to only use current pythons and 7.x ES. * Blocking pool must fit thread_count. * Update client to support missing ES 7 API's and query params. [discrete] [[rn-7-0-0]] === 7.0.0 (2019-04-11) * Removed deprecated option `update_all_types`. * Using insecure SSL configuration (`verify_cert=False`) raises a warning, this can be not showed with `ssl_show_warn=False`. * Add support for 7.x APIs in {es} both xpack and oss flavors.