Elasticsearch Python Client release notes
Review the changes, fixes, and more in each version of Elasticsearch Python Client.
To check for security updates, go to Security announcements for the Elastic stack.
- ES|QL query builder integration with the DSL module (#3058)
- ES|QL query builder robustness fixes (#3017)
- Fix ES|QL
multi_match()signature (#3052)
- Add support for ES|QL query builder objects to ES|QL Query and Async Query APIs
- Add Transform Set Upgrade Mode API
- Fix type of
fieldsparameter of Term Vectors API to array of strings - Fix type of
paramsparameter of SQL Query API to array
- Preserve the
skip_emptysetting into_dict()recursive serializations (#3041) - Add
separator_groupandseparatorsattributes toChunkingSettingstype - Add
primaryattribute toShardFailuretype - Fix type of
keyattribute ofArrayPercentilesItemto float
- ES|QL query builder (technical preview) (#2997)
- Update OpenTelemetry conventions (#2999)
- Add option to disable accurate reporting of file and line location in warnings (Fixes #3003) (#3006)
- Remove
if_primary_term,if_seq_noandop_typefrom Create API - Remove
master_timeoutfrom Ingest Get Ip Location Database API - Remove
application,priviledgeandusernamefrom the Security Get User API - Rename
type_query_stringtotypein License Post Start Trial API - Add
require_data_streamto Index API - Add
settings_filterto Cluster Get Component Template API - Add
causeto Cluster Put Component Template API - Add
master_timeoutto Cluster State API - Add
ccs_minimize_roundtripsto EQL Search API - Add
keep_aliveandkeep_on_completionto ES|QL Async Query API - Add
formatto ES|QL Async Query Get API - Add ES|QL Get Query and List Queries APIs
- Add Indices Delete Data Stream Options API
- Add Indices Get Data Stream Options and Put Data Stream Options APIS
- Add Indices Get Data Stream Settings and Put Data Stream Settings APIs
- Add
allow_no_indices,expand_wildcardsandignore_availableto Indices Recovery API - Add Indices Remove Block API
- Add Amazon Sagemaker to Inference API
- Add
input_typeto Inference API - Add
timeoutto all Inference Put APIs - Add Inference Put Custom API
- Add Inference Put DeepSeek API
- Add
task_settingsto Put HuggingFace API - Add
refreshto Security Grant API Key API - Add
wait_for_completionto the Snapshot Delete API - Add
stateto Snapshot Get API - Add
refreshto Synonyms Put Synonym, Put Synonym Rule and Delete Synonym Rule APIs
- Handle lists in
copy_tooption in DSL field declarations correctly (Fixes #2992) (#2993) - Add
index_optionsto SparseVector type - Add SparseVectorIndexOptions type
- Add
keyto FiltersBucket type
Other changes
- Drop support for Python 3.8 (#3001)
- ES|QL query builder integration with the DSL module (#3058)
- ES|QL query builder robustness fixes (#3017)
- Fix ES|QL
multi_match()signature (#3052)
- Add support for ES|QL query builder objects to ES|QL Query and Async Query APIs
- Add Transform Set Upgrade Mode API
- Fix type of
fieldsparameter of Term Vectors API to array of strings - Fix type of
paramsparameter of SQL Query API to array
- Preserve the
skip_emptysetting into_dict()recursive serializations (#3041) - Add
primaryattribute toShardFailuretype - Fix type of
keyattribute ofArrayPercentilesItemto float
- ES|QL query builder (technical preview) (#2997)
- Add option to disable accurate reporting of file and line location in warnings (Fixes #3003) (#3006)
- Remove
if_primary_term,if_seq_noandop_typefrom Create API - Remove
stored_fieldsfrom Get Source API - Remove
master_timeoutfrom Ingest Get Ip Location Database API - Remove
application,priviledgeandusernamefrom the Security Get User API - Rename
type_query_stringtotypein License Post Start Trial API - Add
require_data_streamto Index API - Add
settings_filterto Cluster Get Component Template API - Add
causeto Cluster Put Component Template API - Add
ccs_minimize_roundtripsto EQL Search API - Add
keep_aliveandkeep_on_completionto ES|QL Async Query API - Add
formatto ES|QL Async Query Get API - Add
allow_no_indices,expand_wildcardsandignore_availableto Indices Recovery API - Add
timeoutto all Inference Put APIs - Add
refreshto Security Get User Profile API - Add
wait_for_completionto the Snapshot Delete API
- Handle lists in
copy_tofield option correctly (Fixes #2992) (#2993) - Add
keyto FiltersBucket type
- Add
rescore_vectortoDenseVectorIndexOptions
- Surface caused_by in ApiError (#2932)
- Clarify Elasticsearch 9.x compatibility (#2928)
- Reorganize Sphinx docs to only include reference pages (#2776)
Tip
Upgrade to Elasticsearch 9 before using elasticsearch-py 9.0.0 or later. Using elasticsearch-py 9.0.0 on an Elasticsearch 8 server will fail. Since language clients are forward-compatible, you should first upgrade Elasticsearch, then the Elasticsearch client. See the compatibility documentation for more details.
- Remove deprecated
Elasticsearch()options (#2840) - Remove deprecated
url_prefixanduse_ssloptions (#2797)
See the breaking changes page for more details.
- Merge
elasticsearch-dsl-py_ package (#2736) - Add Python DSL documentation (#2761)
- Autogenerate DSL field classes from schema (#2780)
- Improve DSL documentation examples with class-based queries and type hints (#2857)
- Document the use of
param()in Python DSL methods (#2861) - Migrate documentation from AsciiDoc to Markdown format (#2806)
- Document use of sub-clients (#2798)
- Document how to make API calls (#2843)
- Fix
simulatesub-client documentation (#2749)
- Remove deprecated
/_knn_searchAPI - Remove Unfreeze an index API
- Remove
min_compatible_shard_nodefrom Search and Async Search Submit APIs - Remove local parameter from cat alias, Alias exists, and Get alias APIs
- Remove
verbosefrom Index segments API - Remove
include_model_definitionfrom Get trained model configuration info API - Remove
wait_for_active_shardsfrom experimental Get field usage stats API - Support soft-deletes in connectors:
- Add
hardto Delete connector API - Add
include_deletedto Get and List Connector APIs
- Add
- Add
master_timeoutto Migrate to data tiers routing APIs - Add
master_timeoutto the Alias exists and Get alias APIs. - Add
expand_wildcardsto Create snapshot 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, Elastic Inference Service (EIS), Elasticsearch, ELSER, Google AI Studio, Google Vertex AI, Hugging Face, Jina AI, Mistral, OpenAI, and Voyage AI
- Add Elastic Inference Service (EIS) chat completion API
- 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 - Add
if_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 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
ignore_malformed,script,on_script_errorandtime_series_dimensionto Boolean field - Add
indexto GeoShape field - Add
search_inference_idto SemanticText field