Release notes

edit

8.16.0 (2024-11-12)

edit
  • Support Python 3.13 (#2689)
  • Emit Python warnings for beta and tech preview APIs (#2685)
  • Vectorstore: use a retriever query for hybrid search (#2682)
  • Allow retries for statuses other than 429 in streaming bulk (#2702)
  • Make BulkIndexError and ScanError serializable (#2700)
  • Fix import when trace is missing from opentelemetry package (#2705)
  • Update APIs:

    • Fix nodes parameter in Task management API
    • Add Test query rule API
    • Add Create Cross-Cluster API key and Update Cross-Cluster API key APIs
    • Add Verify snapshot repository API
    • Add data_stream_name and settings to Delete auto-follow pattern API
    • Add max_samples_per_key to Get async EQL status API
    • Add lifecycle and remove unused data_retention and downsampling parameters from Put data stream lifecycle API
    • Add include_remotes and remove flat_settings from Cluster stats API
    • Add remote_indices to Create or update application privileges and Create or update roles APIs

Note that the new Python warnings can be disabled as follows:

import warnings
from elasticsearch.exceptions import GeneralAvailabilityWarning

warnings.filterwarnings("ignore", category=GeneralAvailabilityWarning)

8.15.1 (2024-09-08)

edit
  • Fix OTel context loss in parallel bulk helper (#2616)
  • Use request converter to generate python examples (#2645)
  • Add Geoip database configuration APIs: Create or update, Get and Delete
  • Add q parameter to Update by Query API
  • Add allow_no_indices and ignore_unavailable parameters to Resolve index API

8.15.0 (2024-08-09)

edit
  • Added the Connector API (#2623)
  • Added support for semantic_text and semantic query.
  • Added support for sequences of job id, model id and tags where applicable in ML APIs
  • Added dry_run and force parameters to the Perform inference API
  • Added optional Arrow deserialization support (#2632)
  • Merged Query Ruleset API into new Query Rules API (#2607)
  • Added mapping code examples (#2596)
  • Fixed reference docs (#2629)
  • Dropped Python 3.7 support (#2618)

8.14.0 (2024-06-06)

edit
  • Fixed node_pool_class override (#2581, contributed by Tallak Hellebust)
  • Added retriever to the Search API
  • Added deprecated and removed allow_auto_create from the Create or update component template API
  • Added allow_auto_create, cause, deprecated, ignore_missing_component_templates and master_timeout to the Create or update index template API
  • Added cause, removed flat_settings and timeout from the Create or update index template legacy API
  • Removed various unsupported parameters from the Simulate index API
  • Added various supported paramters to the Simulate index template API
  • Added the completion and rerank task types to the Inference APIs
  • Added the query and timeout parameters to the Perform inference API
  • Added typed_keys to the Search Application Search API
  • Added with_profile_uid to the Get API key information and Query API key information APIs

8.13.2 (2024-05-24)

edit
  • Added the ml.update_trained_model_deployment API
  • Marked Requests 2.32.2 as incompatible with the Elasticsearch client

8.13.1 (2024-05-03)

edit
  • Added force_synthetic_source to the Get API
  • Added wait_for_completion to the Create trained model API
  • Added typed_keys to the Query API key information API

8.13.0 (2024-03-22)

edit
  • Added native OpenTelemetry support
  • Added optional orjson (a fast, correct JSON library) serialization support
  • Added the text_structure.test_grok_pattern API
  • Added the indices.resolve_cluster API
  • Renamed the model_id parameter to inference_id in the inference APIs
  • Changed all synonyms APIs from experimental to stable.
  • Fixed API key documentation

8.12.1 (2024-02-22)

edit
  • Fixed but deprecated parameter aliases in body parameter
  • Added mappings and bulk to quickstart page

8.12.0 (2024-01-19)

edit
  • Dropped support for Python 3.6
  • Allowed unrestricted body parameter again
  • Added the Inference APIs
  • Added the ES|QL API
  • Added active_only parameter to security.get_api_key API
  • Added expiration parameter to security.update_api_key API

8.11.1 (2023-12-08)

edit
  • Added missing role_templates to security.put_role_mapping API
  • Added interactive examples page to documentation
  • Changed API reference to have one page per sub-client

8.11.0 (2023-11-13)

edit
  • Support Python 3.12
  • Added missing scores parameter to create trained model vocabulary API
  • Added missing delete_dest_index parameter to delete transform API

8.10.1 (2023-10-13)

edit
  • Removed deprecation warnings when using body parameter
  • Fixed some type hints to use covariant Sequence instead of invariant List

8.10.0 (2023-09-22)

edit
  • Added the Query rules APIs
  • Added the Synonyms APIs

8.9.0 (2023-08-10)

edit
  • Added the cluster.info API
  • Updated the inference_config argument in ml.put_trained_model API to reflect an improvement in the specification

8.8.1 (2023-07-06)

edit
  • Added the rank parameter to the search API

8.8.0 (2023-05-25)

edit
  • Added include_defaults parameter to the cluster.get_component_template, indices.get_data_stream, and indices.get_index_template API
  • Added the indices.delete_data_lifecycle, indices.explain_data_lifecycle, indices.get_data_lifecycle, and indices.put_data_lifecycle APIs
  • Added the experimental search_application.delete, search_application.delete_behavioral_analytics, search_application.get, search_application.get_behavioral_analytics, search_application.list, search_application.put, search_application.put_behavioral_analytics, and search_application.search APIs.

8.7.0 (2023-04-06)

edit
  • Added the health_report API
  • Added the transform.schedule_now_transform API
  • Added the from_ request parameter to the transform.start_transform API
  • Added the buffer, grid_agg, and with_labels parameters to the search_mvt API
  • Added the allow_auto_create parameter to the cluster.create_component_template API
  • Added the delete_user_annotations parameter to the ml.delete_job, ml.reset_job API
  • Added the start and end parameters to the ml.preview_datafeed API
  • Added the priority parameter to the ml.start_datafeed API
  • Added the job_id parameter to the ml.update_datafeed API
  • Added the model_prune_window parameter to the ml.update_job API
  • Added the feature_states parameter to the snapshot.restore_snapshot API
  • Added the timeout parameter to the transform.get_transform_stats API
  • Added the from_ parameter to the transform.start_transform API
  • Changed the input parameter of the ml.put_trained_models API from required to optional
  • Fixed the cluster.create_component_template API by removing the erroneously provided aliases, mappings, and settings parameters. Only the template parameter should be used for specifying component templates.

8.6.2 (2023-02-16)

edit
  • Client is compatible with Elasticsearch 8.6.2

8.6.1 (2023-01-27)

edit
  • Client is compatible with Elasticsearch 8.6.1

Core

edit
  • Added the expand_wildcards, preference, and routing parameters to the open_point_in_time API.

8.6.0 (2023-01-10)

edit
  • Client is compatible with Elasticsearch 8.6.0

Core

edit
  • Changed the fields parameter of the field_caps API to be encoded in the HTTP request body.
  • Changed the index parameter of the rank_eval API to be optional.
  • Changed the requests parameter of the rank_eval API to be optional.

CAT

edit
  • Added the time parameter to the cat.indices API

Machine Learning

edit
  • Fixed the model_id parameter of the ml.clear_trained_model_deployment_cache API to be required.

8.5.3 (2022-12-08)

edit
  • Client is compatible with Elasticsearch 8.5.3

8.5.2 (2022-11-23)

edit
  • Client is compatible with Elasticsearch 8.5.2

8.5.1 (2022-11-21)

edit
  • Client is compatible with Elasticsearch 8.5.1

8.5.0 (2022-11-2)

edit

Indices

edit
  • Added the experimental indices.downsample API

Rollup

edit
  • Removed the deprecated rollup.rollup API.

Snapshot

edit
  • Added the index_names parameter to the snapshot.get API.

Machine Learning

edit
  • Added the beta ml.clear_trained_model_deployment_cache API.
  • Changed the ml.put_trained_model_definition_part API from experimental to stable.
  • Changed the ml.put_trained_model_vocabulary API from experimental to stable.
  • Changed the ml.start_trained_model_deployment API from experimental to stable.
  • Changed the ml.stop_trained_model_deployment API from experimental to stable.

Security

edit
  • Added the with_limited_by parameter to the get_api_key API.
  • Added the with_limited_by parameter to the query_api_keys API.
  • Added the with_profile_uid parameter to the get_user API.
  • Changed the security.activate_user_profile API from beta to stable.
  • Changed the security.disable_user_profile API from beta to stable.
  • Changed the security.enable_user_profile API from beta to stable.
  • Changed the security.get_user_profile API from beta to stable.
  • Changed the security.suggest_user_profiles API from beta to stable.
  • Changed the security.update_user_profile_data API from beta to stable.
  • Changed the security.has_privileges_user_profile API from experimental to stable.

8.4.3 (2022-10-06)

edit
  • Client is compatible with Elasticsearch 8.4.3

8.4.2 (2022-09-20)

edit

Documents

edit
  • Added the error_trace, filter_path, human and pretty parameters to the get_source API.
  • Added the ext parameter to the search API.

Async Search

edit
  • Added the ext parameter to the async_search.submit API.

Fleet

edit
  • Added the ext parameter to the fleet.search API.

8.4.1 (2022-09-06)

edit
  • Client is compatible with Elasticsearch 8.4.1

8.4.0 (2022-08-25)

edit

Search

edit
  • Added the knn parameter to the search API.
  • Added the knn parameter to the async_search.submit API.

Machine Learning

edit
  • Added the cache_size parameter to the ml.start_trained_model_deployment API.

Security

edit
  • Added the security.update_api_key API.

8.3.3 (2022-08-01)

edit
  • Client is compatible with Elasticsearch 8.3.3

8.3.2 (2022-08-01)

edit

Security

edit
  • Added the refresh parameter to the security.create_service_token API.

8.3.1 (2022-06-30)

edit

Security

edit
  • Added the experimental security.has_privileges_user_profile API.
  • Added the hint parameter to the experimental security.suggest_user_profiles API.

8.3.0 (2022-06-29)

edit
  • Client is compatible with Elasticsearch 8.3.0

8.2.3 (2022-06-15)

edit

Documents

edit
  • Added the routing parameter to the msearch API.

CAT

edit
  • Added the cat.component_templates API.

Ingest

edit
  • Added the if_version parameter to the ingest.put_pipeline API.

Security

edit
  • Changed the name parameter for the security.create_service_token API from required to optional.
  • Added the refresh parameter to the security.create_service_token API.
  • Changed the name of access parameter to the labels parameter in the security.update_user_profile_data API.

Shutdown

edit
  • Added the timeout and master_timeout parameters to the shutdown.get_node, shutdown.delete_node, and shutdown.put_node APIs.
  • Added the reason, type, allocation_delay, and target_node_name parameters to the shutdown.put_node API.

8.2.2 (2022-06-01)

edit
  • Client is compatible with Elasticsearch 8.2.2

8.2.1 (2022-06-01)

edit

Machine Learning

edit
  • Added the inference_config parameter to the ml.infer_trained_model_deployment API

8.2.0 (2022-05-03)

edit

Client

edit
  • Re-introduced support for passing requests.auth.BaseAuth objects to the http_auth parameter which was available in 7.x.

Search

edit
  • Added the filter parameter to the experimental knn_search API

Documents

edit
  • Changed the source and dest parameters for the reindex API from optional to required

Indices

edit
  • Added the indices.field_usage_stats API
  • Added the indices.modify_data_stream API
  • Added the fields and types parameters to the field_caps API
  • Added the ignore_unvailable parameter to the open_point_in_time API
  • Added the master_timeout and timeout parameters to the indices.delete API
  • Added the features parameter to the indices.get API

Machine Learning

edit
  • Added the ml.get_memory_stats API

Migrations

edit
  • Added the migrations.get_feature_upgrade_status API
  • Added the migrations.post_feature_upgrade API

Nodes

edit
  • Added the nodes.clear_repositories_metering_archive API
  • Added the nodes.get_repositories_metering_info API

Security

edit
  • Added the beta security.activate_user_profile API
  • Added the beta security.disable_user_profile API
  • Added the beta security.enable_user_profile API
  • Added the beta security.get_user_profile API
  • Added the beta security.suggest_user_profiles API
  • Added the beta security.update_user_profile_data API

SQL

edit
  • Added the catalog, index_using_frozen, keep_alive, keep_on_completion, runtime_mappings, and wait_for_completion_timeout parameters to the sql.query API

8.1.2 (2022-03-30)

edit
  • Client is compatible with Elasticsearch 8.1.2

8.1.1 (2022-03-22)

edit

Documents

edit
  • Changed the source and dest parameters of the reindex API to be required.

Mappings

edit
  • Changed the fields parameter of the field_caps API to be required.

8.1.0 (2022-03-08)

edit

Transforms

edit
  • Added the transform.reset_transform API

8.0.0 (2022-02-10)

edit

Added

edit
  • Added the top-level .options() method to Elasticsearch and AsyncElasticsearch for modifying transport options.
  • Added parameters corresponding to JSON request body fields for all APIs
  • Added basic_auth parameter for specifying username and password authentication
  • Added bearer_auth parameter for specifying an HTTP bearer token or service token
  • Added the meta property to ApiError to access the HTTP response metadata of an error.
  • Added a check that a compatible version of the elastic-transport package is installed.

Changed

edit
  • Changed the transport layer to use the elastic-transport package
  • Changed user-defined body parameters to have semantic names (e.g index(document={...}) instead of index(body={...})).
  • Changed responses to be objects with two properties, meta for response metadata (HTTP status, headers, node, etc) and body for a typed body.
  • Changed AsyncElasticsearch to always be available, regardless of whether aiohttp is installed
  • 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
  • Changed the name of JSONSerializer to JsonSerializer for consistency with other serializer names. Added an alias to the old name for backwards compatibility
  • 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.

Removed

edit
  • Removed support for Python 2.7 and Python 3.5, the library now supports only Python 3.6+
  • Removed the elasticsearch.connection module as all functionality has been moved to the elastic-transport package
  • Removed the default URL of http://localhost:9200 due to Elasticsearch 8.0 default configuration being https://localhost:9200. The client’s connection to Elasticsearch now must be specified with scheme, host, and port or with the cloud_id parameter
  • Removed the ability to use positional arguments with API methods. Going forward all API parameters must be keyword-only parameters
  • Removed the doc_type, include_type_name, and copy_settings parameters from many document and index APIs

Deprecated

edit
  • Deprecated the body and params parameters on all APIs
  • Deprecated setting transport options http_auth, api_key, ignore, request_timeout, headers, and opaque_id All of these settings should instead be set via the .options() method
  • Deprecated the elasticsearch.transport and elasticsearch.client modules. These modules will be removed in a future version

CAT

edit
  • Removed the deprecated local parameter from the cat.indices, cat.nodes, cat.shards API
  • Removed the deprecated allow_no_datafeeds parameter from the cat.ml_datafeeds API
  • Removed the deprecated allow_no_jobs parameter from the cat.ml_jobs API
  • Removed the deprecated size parameter from the cat.thread_pool API
  • Added the time parameter to the cat.thread_pool API

Documents

edit
  • Removed the deprecated size parameter from the delete_by_query API
  • Removed the deprecated size parameter from the update_by_query API

Indices

edit
  • Removed the deprecated indices.flush_synced API
  • Removed the deprecated indices.freeze API
  • Removed the deprecated indices.get_upgrade API
  • Removed the deprecated indices.upgrade API
  • Removed the deprecated indices.exist_type API
  • Removed the deprecated parameter copy_settings from the indices.shrink API
  • Deprecated the verbose parameter of the indices.segments API

License / X-Pack

edit
  • Deprecated the accept_enterprise parameter of the license.get API
  • Deprecated the accept_enterprise parameter of the xpack.info API

Machine Learning

edit
  • Added the experimental ml.infer_trained_model_deployment API
  • Added the experimental ml.put_trained_model_definition_part API
  • Added the experimental ml.put_trained_model_vocabulary API
  • Added the experimental ml.start_trained_model_deployment API
  • Added the experimental ml.stop_trained_model_deployment API
  • Added the timeout parameter to the ml.delete_trained_model API
  • Removed the deprecated allow_no_jobs parameter from the ml.close_job API
  • Removed the deprecated ml.find_text_structure API
  • Removed the deprecated allow_no_datafeeds parameter from the ml.get_datafeed_stats API
  • Removed the deprecated allow_no_datafeeds parameter from the ml.get_datafeeds API
  • Removed the deprecated allow_no_jobs parameter from the ml.get_job_stats API
  • Removed the deprecated allow_no_jobs parameter from the ml.get_jobs API
  • Removed the deprecated allow_no_jobs parameter from the ml.get_overall_buckets API

Search

edit
  • Added the experimental knn_search API

Searchable Snapshots

edit
  • Removed the deprecated searchable_snapshots.repository_stats API

Snapshots

edit
  • Changed the snapshot.delete API to accept multiple snapshots

Security

edit
  • Added the security.enroll_kibana API
  • Added the security.enroll_node API