This documentation contains work-in-progress information for future Elastic Stack and Cloud releases. Use the version selector to view supported release docs. It also contains some Elastic Cloud serverless information. Check out our serverless docs for more details.
Elasticsearch version 9.0.0
editElasticsearch version 9.0.0
editComing in 9.0.0.
Also see Breaking changes in 9.0.
Breaking changes
edit- Allocation
- Analysis
- Cluster Coordination
-
-
Remove unsupported legacy value for
discovery.type
#112903
-
Remove unsupported legacy value for
- Highlighting
-
-
Remove support for deprecated
force_source
highlighting parameter #116943
-
Remove support for deprecated
- Indices APIs
- Infra/REST API
- Ingest Node
- Mapping
-
-
Remove support for type, fields,
copy_to
and boost in metadata field definition #116944
-
Remove support for type, fields,
- Search
-
- Remove legacy params from range query #116970
- Snapshot/Restore
-
-
Remove deprecated
xpack.searchable.snapshot.allocate_on_rolling_restart
setting #114202
-
Remove deprecated
Bug fixes
edit- Aggregations
- Analysis
-
-
Adjust analyze limit exception to be a
bad_request
#116325
-
Adjust analyze limit exception to be a
- CCS
- CRUD
- Data streams
-
-
Add missing header in
put_data_lifecycle
rest-api-spec #116292
-
Add missing header in
- EQL
- ES|QL
-
- Added stricter range type checks and runtime warnings for ENRICH #115091 (issues: #107357, #116799)
- Don’t return TEXT type for functions that take TEXT #114334 (issues: #111537, #114333)
-
ESQL: Fix sorts containing
_source
#116980 (issue: #116659) - ESQL: fix the column position in errors #117153
- ES|QL: Fix stats by constant expression #114899
-
Fix NPE in
EnrichLookupService
on mixed clusters with <8.14 versions #116583 (issues: #116529, #116544) - Fix TDigestState.read CB leaks #114303 (issue: #114194)
-
Fixing remote ENRICH by pushing the Enrich inside
FragmentExec
#114665 (issue: #105095) -
Use
SearchStats
instead of field.isAggregatable in data node planning #115744 (issue: #115737) - [ESQL] Fix Binary Comparisons on Date Nanos #116346
-
[ES|QL] To_DatePeriod and To_TimeDuration return better error messages on
union_type
fields #114934
- Infra/CLI
- Infra/Metrics
-
-
Make
randomInstantBetween
always return value in range [minInstant,maxInstant]
#114177
-
Make
- Infra/REST API
- Infra/Settings
- Ingest Node
- Logs
- Machine Learning
-
- Fix bug in ML autoscaling when some node info is unavailable #116650
- Fix deberta tokenizer bug caused by bug in normalizer #117189
-
Hides
hugging_face_elser
service from theGET _inference/_services API
#116664 (issue: #116644) - Mitigate IOSession timeouts #115414 (issues: #114385, #114327, #114105, #114232)
- Propagate scoring function through random sampler #116957 (issue: #110134)
- Update Deberta tokenizer #116358
- Wait for up to 2 seconds for yellow status before starting search #115938 (issues: #107777, #105955, #107815, #112191)
- Mapping
- Network
-
-
Use underlying
ByteBuf
refCount
forReleasableBytesReference
#116211
-
Use underlying
- Ranking
- Relevance
-
- Fix handling of bulk requests with semantic text fields and delete ops #116942
- Search
-
- Catch and handle disconnect exceptions in search #115836
- Fields caps does not honour ignore_unavailable #116021 (issue: #107767)
- Fix handling of time exceeded exception in fetch phase #116676
-
Fix leak in
DfsQueryPhase
and introduce search disconnect stress test #116060 (issue: #115056) - Inconsistency in the _analyzer api when the index is not included #115930
- Semantic text simple partial update #116478
- Updated Date Range to Follow Documentation When Assuming Missing Values #112258 (issue: #111484)
- Validate missing shards after the coordinator rewrite #116382
- _validate does not honour ignore_unavailable #116656 (issue: #116594)
- Snapshot/Restore
-
- Retry throttled snapshot deletions #113237
- Vector Search
- Watcher
Deprecations
editEnhancements
edit- Allocation
-
- Only publish desired balance gauges on master #115383
- Authorization
- CRUD
-
- Suppress merge-on-recovery for older indices #113462
- Data streams
- Distributed
- ES|QL
-
-
Add ES|QL
bit_length
function #115792 - ESQL: Honor skip_unavailable setting for nonmatching indices errors at planning time #116348 (issue: #114531)
-
ESQL: Remove parent from
FieldAttribute
#112881 - ESQL: extract common filter from aggs #115678
- ESQL: optimise aggregations filtered by false/null into evals #115858
-
ES|QL CCS uses
skip_unavailable
setting for handling disconnected remote clusters #115266 (issue: #114531) - ES|QL: add metrics for functions #114620
- Esql Enable Date Nanos (tech preview) #117080
- Support partial sort fields in TopN pushdown #116043 (issue: #114515)
- [ES|QL] Implicit casting string literal to intervals #115814 (issue: #115352)
-
Add ES|QL
- Health
-
-
Increase
replica_unassigned_buffer_time
default from 3s to 5s #112834
-
Increase
- Indices APIs
-
-
Ensure class resource stream is closed in
ResourceUtils
#116437
-
Ensure class resource stream is closed in
- Inference
-
- Add version prefix to Inference Service API path #117095
- Infra/Circuit Breakers
-
- Add link to Circuit Breaker "Data too large" exception message #113561
- Infra/Core
- Infra/Metrics
-
-
Add
ensureGreen
test method for use withadminClient
#113425
-
Add
- Infra/Scripting
-
-
Add a
mustache.max_output_size_bytes
setting to limit the length of results from mustache scripts #114002
-
Add a
- Ingest Node
-
- Add postal_code support to the City and Enterprise databases #114193
- Add support for registered country fields for maxmind geoip databases #114521
- Adding support for additional mapping to simulate ingest API #114742
- Adding support for simulate ingest mapping adddition for indices with mappings that do not come from templates #115359
- Support IPinfo database configurations #114548
- Support more maxmind fields in the geoip processor #114268
- Logs
- Machine Learning
-
- Add DeBERTa-V2/V3 tokenizer #111852
- Add special case for elastic reranker in inference API #116962
-
Adding inference endpoint validation for
AzureAiStudioService
#113713 -
Adds support for
input_type
field to Vertex inference service #116431 - Enable built-in Inference Endpoints and default for Semantic Text #116931
-
Increase default
queue_capacity
to 10_000 and decrease maxqueue_capacity
to 100_000 #115041 - Inference duration and error metrics #115876
- Remove all mentions of eis and gateway and deprecate flags that do #116692
- [Inference API] Add API to get configuration of inference services #114862
- [Inference API] Improve chunked results error message #115807
- Network
-
- Allow http unsafe buffers by default #116115
- Recovery
- Reindex
-
- Change Reindexing metrics unit from millis to seconds #115721
- Relevance
- Search
-
- Add Search Phase APM metrics #113194
-
Add
docvalue_fields
Support fordense_vector
Fields #114484 (issue: #108470) -
Add initial support for
semantic_text
field type #113920 - Adds access to flags no_sub_matches and no_overlapping_matches to hyphenation-decompounder-tokenfilter #115459 (issue: #97849)
-
Better sizing
BytesRef
for Strings in Queries #115655 -
Enable
_tier
based coordinator rewrites for all indices (not just mounted indices) #115797 - Only aggregations require at least one shard request #115314
- Security
-
-
Add refresh
.security
index call between security migrations #114879
-
Add refresh
- Snapshot/Restore
- Vector Search
-
- Add support for bitwise inner-product in painless #116082
New features
editUpgrades
edit- Search
-
- Upgrade to Lucene 10 #114741