Elasticsearch release notes
Review the changes, fixes, and more in each version of Elasticsearch.
To check for security updates, go to Security announcements for the Elastic stack.
Release date: March 25, 2025
- 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 support for
BYTE_LENGTH
scalar function #116591 - Esql/lookup join grammar #116515
- Remove snapshot build restriction for match and qstr functions #114482
- 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
- ESQL - Add match operator (:) #116819
- Upgrade to Lucene 10 #114741
- 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
- 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