8.18.0 (2025-04-15)
edit
IMPORTANT: This documentation is no longer updated. Refer to Elastic's version policy and the latest documentation.
8.18.0 (2025-04-15)
edit- Merge `Elasticsearch-DSL <https://github.com/elastic/elasticsearch-dsl-py/>`_ package (#2736)
- Add Python DSL documentation (#2761)
- Autogenerate DSL field classes from schema (#2780)
- Document use of sub-clients (#2798)
- Improve DSL documentation examples with class-based queries and type hints (#2857)
-
Document the use of
param()in Python DSL methods (#2861) -
Fix
simulatesub-client documentation (#2749)[#2749]) -
Update APIs
-
Remove
wait_for_active_shardsfrom experimental Get field usage stats API -
Rename incorrect
access_tokentotokenin Logout of OpenID Connect API - Add inference APIs: Alibaba Cloud AI Search, Amazon Bedrock, Anthropic, Azure AI Studio, Azure OpenAI, Cohere, Elasticsearch, ELSER, Google AI Studio, Google Vertex AI, Hugging Face, Jina AI, Mistral, OpenAI, and Voyage AI
- Add Reindex legacy backing indices APIs
- Add Create an index from a source index API
-
Add
include_source_on_errorto Create, Index, Update and Bulk APIs - Add Stop async ES|QL query API
-
Add
timeoutto Resolve Cluster API -
Add
adaptive_allocationsbody field to Start and Update a trained model deployment API -
Rename
index_template_subtitutionstoindex_template_substitutionsin Simulate data ingestion API* Addif_primary_term,if_seq_no,op_type,require_aliasandrequire_data_streamto Create API -
Add
max_concurrent_shard_requeststo Open point in time API -
Add
localandflat_settingsto Check index templates API -
Add
reopento Update index settings API -
Add
resourceto Reload search analyzer API -
Add
lazyto Roll over to a new index API -
Add
causeandcreateto Simulate index template APIs - Add Elastic Inference Service (EIS) chat completion
- Add inference APIs: Alibaba Cloud AI Search, Amazon Bedrock, Anthropic, Azure AI Studio, Azure OpenAI, Cohere, Elastic Inference Service (EIS), Elasticsearch, ELSER, Google AI Studio, Google Vertex AI, Hugging Face, Jina AI, Mistral, OpenAI, and Voyage AI
-
Remove
-
Update DSL
-
Add
ignore_malformed,script,on_script_errorandtime_series_dimensionto Boolean field -
Add
indexto GeoShape field -
Add
search_inference_idto SemanticText field
-
Add
8.17.2 (2025-03-04)
edit- Explain how to use sub clients in API docs (#2798)
- Render descriptions as Markdown in API docs
-
Update APIs
-
Add
keep_aliveto Submit async search API -
Add
Run and Deletean async ES|QL query APIs - Add Get async ES|QL query results API
-
Add
include_ccs_metadatato ES|QL query API
-
Add
8.17.1 (2025-01-23)
edit- Make pyarrow dependency optional for tests (#2733, contributed by danigm)
-
Update APIs:
- Add Simulate ingest API
- Add Get data stream lifecycle stats API
- Add Update inference API
- Add Create or update, Get and Delete IP geolocation database configuration APIs
- Add Bulk update API keys
- Add Get and Update Security index settings APIs
- Add OpenID Connect prepare authentication, OpenID Connect authenticate and OpenID Connect logout APIs
- Add Delegate PKI authentication API
- Add Repository analysis API
- Add Render Search Application Query API
- Add Find field structure and Find messages structure APIs
- Add Get Watcher index settings and Update Watcher index settings APIs
- Add experimental Check in and Claim connector sync job APIs
- Add experimental Set connector sync job errors and Set connector sync job stats APIs
- Add experimental Update connector features APIs
- Add experimental Post Event to an Analytics Collection API
-
Add
timeoutandmaster_timeoutto Snapshot lifecycle management (SLM) APIs -
Add
allow_partial_search_resultsto SQL search API -
Add
throttle_period_in_millisto Create or update watch API - Fix query parameters for CAT APIs
8.17.0 (2024-12-13)
edit- Allow simsimd again on Python 3.13 (#2722)
-
Update APIs:
- Mark all Inference APIs as stable.
-
Add
allow_partial_search_resultsto the Open Point in Time API -
Add
keep_aliveto the Get async search status API -
Remove the
keep_alive,pre_filter_shard_sizeandscrollparameters from the Submit async search API. They were never supported. -
Add
master_timeoutandtimeoutto all autoscaling policy APIs -
Add
master_timeoutto the Alias exists and Get alias APIs -
Add
list_executed_pipelinesandrequire_data_streamto Bulk API -
Add
include_model_definitionto Get trained models API -
Add
metato Create data frame analytics API -
Add
aggsto Create datafeeds API -
Add
allow_no_indices,expand_wildcards,ignore_throttledandignore_unavailableto Create anomaly detection jobs API
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
BulkIndexErrorandScanErrorserializable (#2700) -
Fix import when
traceis missing fromopentelemetrypackage (#2705) -
Update APIs:
-
Fix
nodesparameter 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_nameandsettingsto Delete auto-follow pattern API -
Add
max_samples_per_keyto Get async EQL status API -
Add
lifecycleand remove unuseddata_retentionanddownsampling parametersfrom Put data stream lifecycle API -
Add
include_remotesand removeflat_settingsfrom Cluster stats API -
Add
remote_indicesto Create or update application privileges and Create or update roles APIs
-
Fix
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)
edit8.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_runandforceparameters 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_classoverride (#2581, contributed by Tallak Hellebust) -
Added
retrieverto the Search API -
Added
deprecatedand removedallow_auto_createfrom the Create or update component template API -
Added
allow_auto_create,cause,deprecated,ignore_missing_component_templatesandmaster_timeoutto the Create or update index template API -
Added
cause, removedflat_settingsandtimeoutfrom 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
completionandreranktask types to the Inference APIs -
Added the
queryandtimeoutparameters to the Perform inference API -
Added
typed_keysto the Search Application Search API -
Added
with_profile_uidto the Get API key information and Query API key information APIs
8.13.2 (2024-05-24)
edit-
Added the
ml.update_trained_model_deploymentAPI - Marked Requests 2.32.2 as incompatible with the Elasticsearch client
8.13.1 (2024-05-03)
edit-
Added
force_synthetic_sourceto the Get API -
Added
wait_for_completionto the Create trained model API -
Added
typed_keysto 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_patternAPI -
Added the
indices.resolve_clusterAPI -
Renamed the
model_idparameter toinference_idin theinferenceAPIs -
Changed all
synonymsAPIs 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
bodyparameter again - Added the Inference APIs
- Added the ES|QL API
-
Added
active_onlyparameter tosecurity.get_api_keyAPI -
Added
expirationparameter tosecurity.update_api_keyAPI
8.11.1 (2023-12-08)
edit-
Added missing
role_templatestosecurity.put_role_mappingAPI - 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
scoresparameter to create trained model vocabulary API -
Added missing
delete_dest_indexparameter to delete transform API
8.10.1 (2023-10-13)
edit-
Removed deprecation warnings when using
bodyparameter - 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.infoAPI -
Updated the
inference_configargument inml.put_trained_modelAPI to reflect an improvement in the specification
8.8.1 (2023-07-06)
edit-
Added the
rankparameter to thesearchAPI
8.8.0 (2023-05-25)
edit-
Added
include_defaultsparameter to thecluster.get_component_template,indices.get_data_stream, andindices.get_index_templateAPI -
Added the
indices.delete_data_lifecycle,indices.explain_data_lifecycle,indices.get_data_lifecycle, andindices.put_data_lifecycleAPIs -
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, andsearch_application.searchAPIs.
8.7.0 (2023-04-06)
edit-
Added the
health_reportAPI -
Added the
transform.schedule_now_transformAPI -
Added the
from_request parameter to thetransform.start_transformAPI -
Added the
buffer,grid_agg, andwith_labelsparameters to thesearch_mvtAPI -
Added the
allow_auto_createparameter to thecluster.create_component_templateAPI -
Added the
delete_user_annotationsparameter to theml.delete_job,ml.reset_jobAPI -
Added the
startandendparameters to theml.preview_datafeedAPI -
Added the
priorityparameter to theml.start_datafeedAPI -
Added the
job_idparameter to theml.update_datafeedAPI -
Added the
model_prune_windowparameter to theml.update_jobAPI -
Added the
feature_statesparameter to thesnapshot.restore_snapshotAPI -
Added the
timeoutparameter to thetransform.get_transform_statsAPI -
Added the
from_parameter to thetransform.start_transformAPI -
Changed the
inputparameter of theml.put_trained_modelsAPI from required to optional -
Fixed the
cluster.create_component_templateAPI by removing the erroneously providedaliases,mappings, andsettingsparameters. Only thetemplateparameter 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, androutingparameters to theopen_point_in_timeAPI.
8.6.0 (2023-01-10)
edit- Client is compatible with Elasticsearch 8.6.0
Core
edit-
Changed the
fieldsparameter of thefield_capsAPI to be encoded in the HTTP request body. -
Changed the
indexparameter of therank_evalAPI to be optional. -
Changed the
requestsparameter of therank_evalAPI to be optional.
CAT
edit-
Added the
timeparameter to thecat.indicesAPI
Machine Learning
edit-
Fixed the
model_idparameter of theml.clear_trained_model_deployment_cacheAPI 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)
editIndices
edit-
Added the experimental
indices.downsampleAPI
Rollup
edit-
Removed the deprecated
rollup.rollupAPI.
Snapshot
edit-
Added the
index_namesparameter to thesnapshot.getAPI.
Machine Learning
edit-
Added the beta
ml.clear_trained_model_deployment_cacheAPI. -
Changed the
ml.put_trained_model_definition_partAPI from experimental to stable. -
Changed the
ml.put_trained_model_vocabularyAPI from experimental to stable. -
Changed the
ml.start_trained_model_deploymentAPI from experimental to stable. -
Changed the
ml.stop_trained_model_deploymentAPI from experimental to stable.
Security
edit-
Added the
with_limited_byparameter to theget_api_keyAPI. -
Added the
with_limited_byparameter to thequery_api_keysAPI. -
Added the
with_profile_uidparameter to theget_userAPI. -
Changed the
security.activate_user_profileAPI from beta to stable. -
Changed the
security.disable_user_profileAPI from beta to stable. -
Changed the
security.enable_user_profileAPI from beta to stable. -
Changed the
security.get_user_profileAPI from beta to stable. -
Changed the
security.suggest_user_profilesAPI from beta to stable. -
Changed the
security.update_user_profile_dataAPI from beta to stable. -
Changed the
security.has_privileges_user_profileAPI 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)
editDocuments
edit-
Added the
error_trace,filter_path,humanandprettyparameters to theget_sourceAPI. -
Added the
extparameter to thesearchAPI.
Async Search
edit-
Added the
extparameter to theasync_search.submitAPI.
Fleet
edit-
Added the
extparameter to thefleet.searchAPI.
8.4.1 (2022-09-06)
edit- Client is compatible with Elasticsearch 8.4.1
8.4.0 (2022-08-25)
editSearch
edit-
Added the
knnparameter to thesearchAPI. -
Added the
knnparameter to theasync_search.submitAPI.
Machine Learning
edit-
Added the
cache_sizeparameter to theml.start_trained_model_deploymentAPI.
Security
edit-
Added the
security.update_api_keyAPI.
8.3.3 (2022-08-01)
edit- Client is compatible with Elasticsearch 8.3.3
8.3.2 (2022-08-01)
editSecurity
edit-
Added the
refreshparameter to thesecurity.create_service_tokenAPI.
8.3.1 (2022-06-30)
editSecurity
edit-
Added the experimental
security.has_privileges_user_profileAPI. -
Added the
hintparameter to the experimentalsecurity.suggest_user_profilesAPI.
8.3.0 (2022-06-29)
edit- Client is compatible with Elasticsearch 8.3.0
8.2.3 (2022-06-15)
editDocuments
edit-
Added the
routingparameter to themsearchAPI.
CAT
edit-
Added the
cat.component_templatesAPI.
Ingest
edit-
Added the
if_versionparameter to theingest.put_pipelineAPI.
Security
edit-
Changed the
nameparameter for thesecurity.create_service_tokenAPI from required to optional. -
Added the
refreshparameter to thesecurity.create_service_tokenAPI. -
Changed the name of
accessparameter to thelabelsparameter in thesecurity.update_user_profile_dataAPI.
Shutdown
edit-
Added the
timeoutandmaster_timeoutparameters to theshutdown.get_node,shutdown.delete_node, andshutdown.put_nodeAPIs. -
Added the
reason,type,allocation_delay, andtarget_node_nameparameters to theshutdown.put_nodeAPI.
8.2.2 (2022-06-01)
edit- Client is compatible with Elasticsearch 8.2.2
8.2.1 (2022-06-01)
editMachine Learning
edit-
Added the
inference_configparameter to theml.infer_trained_model_deploymentAPI
8.2.0 (2022-05-03)
editClient
edit-
Re-introduced support for passing
requests.auth.BaseAuthobjects to thehttp_authparameter which was available in 7.x.
Search
edit-
Added the
filterparameter to the experimentalknn_searchAPI
Documents
edit-
Changed the
sourceanddestparameters for thereindexAPI from optional to required
Indices
edit-
Added the
indices.field_usage_statsAPI -
Added the
indices.modify_data_streamAPI -
Added the
fieldsandtypesparameters to thefield_capsAPI -
Added the
ignore_unvailableparameter to theopen_point_in_timeAPI -
Added the
master_timeoutandtimeoutparameters to theindices.deleteAPI -
Added the
featuresparameter to theindices.getAPI
Machine Learning
edit-
Added the
ml.get_memory_statsAPI
Migrations
edit-
Added the
migrations.get_feature_upgrade_statusAPI -
Added the
migrations.post_feature_upgradeAPI
Nodes
edit-
Added the
nodes.clear_repositories_metering_archiveAPI -
Added the
nodes.get_repositories_metering_infoAPI
Security
edit-
Added the beta
security.activate_user_profileAPI -
Added the beta
security.disable_user_profileAPI -
Added the beta
security.enable_user_profileAPI -
Added the beta
security.get_user_profileAPI -
Added the beta
security.suggest_user_profilesAPI -
Added the beta
security.update_user_profile_dataAPI
SQL
edit-
Added the
catalog,index_using_frozen,keep_alive,keep_on_completion,runtime_mappings, andwait_for_completion_timeoutparameters to thesql.queryAPI
8.1.2 (2022-03-30)
edit- Client is compatible with Elasticsearch 8.1.2
8.1.1 (2022-03-22)
editDocuments
edit-
Changed the
sourceanddestparameters of thereindexAPI to be required.
Mappings
edit-
Changed the
fieldsparameter of thefield_capsAPI to be required.
8.1.0 (2022-03-08)
editTransforms
edit-
Added the
transform.reset_transformAPI
8.0.0 (2022-02-10)
editAdded
edit-
Added the top-level
.options()method toElasticsearchandAsyncElasticsearchfor modifying transport options. - Added parameters corresponding to JSON request body fields for all APIs
-
Added
basic_authparameter for specifying username and password authentication -
Added
bearer_authparameter for specifying an HTTP bearer token or service token -
Added the
metaproperty toApiErrorto access the HTTP response metadata of an error. -
Added a check that a compatible version of the
elastic-transportpackage is installed.
Changed
edit-
Changed the transport layer to use the
elastic-transportpackage -
Changed user-defined
bodyparameters to have semantic names (e.gindex(document={...})instead ofindex(body={...})). -
Changed responses to be objects with two properties,
metafor response metadata (HTTP status, headers, node, etc) andbodyfor a typed body. -
Changed
AsyncElasticsearchto always be available, regardless of whetheraiohttpis installed -
Changed exception hierarchy, the major change is a new exception
ApiErrorwhich differentiates between an error that’s raised from the transport layer (previouslyelasticsearch.exceptions.TransportError, nowelastic_transport.TransportError) and one raised from the API layer -
Changed the name of
JSONSerializertoJsonSerializerfor 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.connectionmodule as all functionality has been moved to theelastic-transportpackage -
Removed the default URL of
http://localhost:9200due to Elasticsearch 8.0 default configuration beinghttps://localhost:9200. The client’s connection to Elasticsearch now must be specified with scheme, host, and port or with thecloud_idparameter - 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, andcopy_settingsparameters from many document and index APIs
Deprecated
edit-
Deprecated the
bodyandparamsparameters on all APIs -
Deprecated setting transport options
http_auth,api_key,ignore,request_timeout,headers, andopaque_idAll of these settings should instead be set via the.options()method -
Deprecated the
elasticsearch.transportandelasticsearch.clientmodules. These modules will be removed in a future version
CAT
edit-
Removed the deprecated
localparameter from thecat.indices,cat.nodes,cat.shardsAPI -
Removed the deprecated
allow_no_datafeedsparameter from thecat.ml_datafeedsAPI -
Removed the deprecated
allow_no_jobsparameter from thecat.ml_jobsAPI -
Removed the deprecated
sizeparameter from thecat.thread_poolAPI -
Added the
timeparameter to thecat.thread_poolAPI
Documents
edit-
Removed the deprecated
sizeparameter from thedelete_by_queryAPI -
Removed the deprecated
sizeparameter from theupdate_by_queryAPI
Indices
edit-
Removed the deprecated
indices.flush_syncedAPI -
Removed the deprecated
indices.freezeAPI -
Removed the deprecated
indices.get_upgradeAPI -
Removed the deprecated
indices.upgradeAPI -
Removed the deprecated
indices.exist_typeAPI -
Removed the deprecated parameter
copy_settingsfrom theindices.shrinkAPI -
Deprecated the
verboseparameter of theindices.segmentsAPI
License / X-Pack
edit-
Deprecated the
accept_enterpriseparameter of thelicense.getAPI -
Deprecated the
accept_enterpriseparameter of thexpack.infoAPI
Machine Learning
edit-
Added the experimental
ml.infer_trained_model_deploymentAPI -
Added the experimental
ml.put_trained_model_definition_partAPI -
Added the experimental
ml.put_trained_model_vocabularyAPI -
Added the experimental
ml.start_trained_model_deploymentAPI -
Added the experimental
ml.stop_trained_model_deploymentAPI -
Added the
timeoutparameter to theml.delete_trained_modelAPI -
Removed the deprecated
allow_no_jobsparameter from theml.close_jobAPI -
Removed the deprecated
ml.find_text_structureAPI -
Removed the deprecated
allow_no_datafeedsparameter from theml.get_datafeed_statsAPI -
Removed the deprecated
allow_no_datafeedsparameter from theml.get_datafeedsAPI -
Removed the deprecated
allow_no_jobsparameter from theml.get_job_statsAPI -
Removed the deprecated
allow_no_jobsparameter from theml.get_jobsAPI -
Removed the deprecated
allow_no_jobsparameter from theml.get_overall_bucketsAPI
Search
edit-
Added the experimental
knn_searchAPI
Searchable Snapshots
edit-
Removed the deprecated
searchable_snapshots.repository_statsAPI
Snapshots
edit-
Changed the
snapshot.deleteAPI to accept multiple snapshots
Security
edit-
Added the
security.enroll_kibanaAPI -
Added the
security.enroll_nodeAPI