Release notesedit

7.15.0 (2021-09-22)edit

Clientedit

  • Added more precise type hints to many API parameters
  • Added explicit parameters to AsyncTransport and AIOHttpConnection
  • 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

    • 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
    • Deprecated positional arguments for APIs, instead use keyword arguments exclusively.

Searchedit

  • Added the search_mvt experimental API
  • Added body field parameters to the search, scroll, and clear_scroll APIs
  • Deprecated the body parameter of the search, scroll, and clear_scroll APIs

Documentsedit

  • Added body field parameters to the update API
  • Added the document parameter to the create and index APIs
  • Deprecated the body parameter of the create, index, and update APIs

Indicesedit

  • Added the indices.disk_usage experimental API
  • Added the indices.fields_usage_stats experimental API
  • Added body field parameters to the indices.create API
  • Deprecated the body parameter of the indices.create API

Machine Learningedit

  • Added the ignore_unavailable, allow_no_indices, ignore_throttled, and expand_wildcards parameters to the ml.put_job API

Nodesedit

  • Added the nodes.clear_repositories_metering_archive experimental API
  • Added the nodes.get_repositories_metering_info experimental API
  • Added the shards option to the index_metric parameter of the nodes.stats API
  • Deprecated the doc_type parameter of the nodes.hot_threads API, instead use the type parameter

    Securityedit

  • Added the security.query_api_keys API

Licenseedit

  • Deprecated the doc_type parameter of the license.post_start_trial API, instead use the type parameter

7.14.0 (2021-08-02)edit

  • Added check that client is connected to an Elasticsearch cluster. If the client isn’t connected to a supported Elasticsearch cluster the UnsupportedProductError exception will be raised.

Searchedit

  • Added the terms_enum beta API
  • Removed the query_and_fetch and dfs_query_and_fetch options in the search_type parameter to the msearch, msearch_template and search_template APIs

Index Lifecycle Managementedit

  • Added the ilm.migrate_to_data_tiers API

Machine Learningedit

  • Added the ml.reset_job API

Securityedit

  • Added the security.saml_authenticate API
  • Added the security.saml_complete_logout API
  • Added the security.saml_invalidate API
  • Added the security.saml_logout API
  • Added the security.saml_prepare_authentication API
  • Added the security.saml_service_provider_metadata API

SQLedit

  • Added the sql.delete_async API
  • Added the sql.get_async API
  • Added the sql.get_async_status API

Snapshotsedit

  • Added the include_repository parameter to snapshot.get API
  • Added the rarely_abort_writes parameter to the snapshot.repository_analyze API

7.13.4 (2021-07-20)edit

  • Client is compatible with Elasticsearch 7.13.4

7.13.3 (2021-07-07)edit

  • NameError would be raised on Python 2.7 and 3.4 when a connection error would have otherwise been raised.

7.13.2 (2021-06-21)edit

  • 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

Snapshotedit

  • Added the snapshot.repository_analyze API

7.13.1 (2021-06-02)edit

  • Client is compatible with Elasticsearch 7.13.1

7.13.0 (2021-05-25)edit

  • 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.

Catedit

  • 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

Machine Learningedit

  • 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.

Nodesedit

  • Added include_unloaded_segments parameter to node.stats API

Searchable Snapshotsedit

  • Added the searchable_snapshots.cache_stats experimental API

Securityedit

  • 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

Shutdownedit

  • Added the shutdown.delete_node experiemental API
  • Added the shutdown.get_node experimental API
  • Added the shutdown.put_node experimental API

Snapshotsedit

  • Added the index_details parameter to snapshot.get API

Text Structureedit

  • Changed the text_structure.find_structure API from experimental to stable

7.12.1 (2021-04-27)edit

Text Structureedit

  • Changed the text_structure.find_text_structure API from experimental to stable

7.12.0 (2021-03-23)edit

Autoscalingedit

  • Changed autoscaling.delete_autoscaling_policy, autoscaling.get_autoscaling_policy, and autoscaling.put_autoscaling_policy APIs from experimental to stable

EQLedit

  • Added eql.get_status API

Logashedit

  • Added logstash.delete_pipeline, logstash.get_pipeline, and logstash.put_pipeline APIs

Machine Learningedit

  • Removed the experimental ml.find_text_structure API

Searchable Snapshotsedit

  • Added storage parameter to the searchable_snapshots.mount API
  • Added level parameter to the searchable_snapshots.stats API

Searchedit

  • Added the min_compatible_shard_node parameter to search()

Text Structureedit

  • Added experimental text_structure.find_text_structure API

7.11.0 (2021-02-10)edit

  • Added support for 7.11 APIs.
  • Added the X-Elastic-Client-Meta HTTP header and the meta_header parameter for controlling the header (#1473).
  • Added ElasticsearchWarning which is raised when the Warning HTTP header is returned from Elasticsearch. ElasticsearchDeprecationWarning is now an alias for this warning type (#1495).

7.10.1 (2020-12-09)edit

  • Fixed issue where the Scan helper would fail if a scroll response returned without a value for _shards.skipped (#1451).
  • Fixed handling of IPv6 hosts with a port in the computed Connection.host property (#1460).
  • Fixed documented task management API stability, should have been as "experimental" (#1471).
  • Changed deprecated collections.Mapping in favor of collections.abc.Mapping for Python 3.9 (#1443).

7.10.0 (2020-11-11)edit

  • Added support for Elasticsearch 7.10 APIs.
  • Added basic type stubs for static type checking and IDE auto-complete of API parameters (#1297, #1406).
  • Added support for Optimistic Concurrency Control options (_if_seq_no/_if_primary_term) to bulk helpers (#1387).
  • Added support for passing _source with "_op_type": "update" bulk helpers (#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 (#1394).
  • Fix a typo in AsyncTransport where sniff_timeout was used instead of sniffer_timeout (#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 (#1401).

7.9.1 (2020-08-19)edit

  • Fixed the import of async helpers which were not available in 7.9.0 (#1353).
  • Added support for url_prefix when using AIOHttpConnection (#1357).

7.9.0 (2020-08-18)edit

  • 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 (#1279, #1326).

7.8.1 (2020-07-30)edit

  • Added the accept_enterprise parameter to xpack.info API (#1337).

7.8.0 (2020-06-18)edit

  • Added support for ES 7.8 APIs.
  • Added support for async/await with asyncio via AsyncElasticsearch. See documentation on `using Asyncio with Elasticsearch (#1232, #1235, #1236).
  • Added async helpers async_bulk, async_streaming_bulk, async_scan, and async_reindex (#1260).
  • Updated exists_source API to use non-deprecated Elasticsearch API routes when doc_type is not specified to suppress deprecation warnings (#1272).

7.7.1 (2020-05-26)edit

  • Updated create, update, explain, get_source, and termvectors APIs to use non-deprecated Elasticsearch API routes when doc_type is not specified to suppress deprecation warnings (#1253).

7.7.0 (2020-05-13)edit

  • Added support for ES 7.7 APIs (#1182).
  • Added ElasticsearchDeprecationWarning which is raised when a Warning HTTP header is sent by Elasticsearch (#1179).
  • Added support for serializing numpy and pandas data types to JSONSerializer (#1180).
  • Added certifi as a dependency so HTTPS connections work automatically.
  • Fixed duplicated parameters in some API docstrings (#1169, thanks to Morten Hauberg).

7.6.0 (2020-03-19)edit

  • Added support for ES 7.6 APIs.
  • Added support for 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 (#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 (#1157).

7.5.1 (2020-01-19)edit

  • All API is now auto generated.
  • Deprecated the .xpack namespace.
  • Update client to support ES 7.5 APIs.

7.1.0 (2019-11-14)edit

  • Fix sniffing with http.publish_host.
  • Fix request_timeout for indices APIs.
  • Allow access to x-pack features without xpack namespace.
  • Fix mark dead.

7.0.5 (2019-10-01)edit

  • Fix verify_certs=False.

7.0.4 (2019-08-22)edit

  • Fix wheel distribution.

7.0.3 (2019-08-21)edit

  • Remove sleep in retries.
  • Pass scroll_id through body in scroll.
  • Add user-agent.

7.0.2 (2019-05-29)edit

  • Add connection parameter for Elastic Cloud cloud_id.
  • ML client uses client object for _bulk_body requests.

7.0.1 (2019-05-19)edit

  • 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.

7.0.0 (2019-04-11)edit

  • 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 Elasticsearch both xpack and oss flavors.