Elasticsearch version 8.17.0
Elasticsearch version 8.17.0
The 8.17.0 release contains a fix for a potential security vulnerability. See our security advisory for more details.
Also see Breaking changes in 8.17.
License changes
Change to synthetic _source
licensing
Starting with this release, the synthetic _source feature is available exclusively with the Enterprise subscription. Synthetic _source
is used in logs data streams (logsdb
index mode), time series data streams (TSDS, using time_series
index mode), application performance monitoring (APM), and Universal Profiling.
If you are using these capabilities and are not on an Enterprise license, the change will result in increased storage requirements for new data, as the synthetic _source
setting will be ignored. Existing indices that used synthetic _source
will remain seamlessly accessible.
Refer to the subscription page for Elastic Cloud and Elastic Stack/self-managed for the breakdown of available features and their associated subscription tiers. For further details and subscription options, contact your Elastic sales representative or contact us.
Bug fixes
Analysis
- Adjust analyze limit exception to be a
bad_request
#116325
CCS
CRUD
- Standardize error code when bulk body is invalid #114869
Data streams
- Acquire stats searcher for data stream stats #117953
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) - ES|QL: Fix stats by constant expression #114899
- Fix BWC for ES|QL cluster request #117865
- Fix CCS exchange when multi cluster aliases point to same cluster #117297
- Fix COUNT filter pushdown #117503 (issue: #115522)
- Fix NPE in
EnrichLookupService
on mixed clusters with <8.14 versions #116583 (issues: #116529, #116544) - Fix stats by constant expresson with alias #117551
- Fix validation of SORT by aggregate functions #117316
- Fixing remote ENRICH by pushing the Enrich inside
FragmentExec
#114665 (issue: #105095) - Ignore cancellation exceptions #117657
- Limit size of
Literal#toString
#117842 - Opt into extra data stream resolution #118378
- 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
Ingest Node
- Fix enrich cache size setting name #117575
- Fix log message format bugs #118354
- Fix reconstituting version string from components #117213 (issue: #116950)
- Reducing error-level stack trace logging for normal events in
GeoIpDownloader
#114924
License
- Distinguish
LicensedFeature
by family field #116809
Logs
- Prohibit changes to index mode, source, and sort settings during resize #115812
Machine Learning
- Fix deberta tokenizer bug caused by bug in normalizer #117189
- Fix for Deberta tokenizer when input sequence exceeds 512 tokens #117595
- 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)
- Wait for the worker service to shutdown before closing task processor #117920 (issue: #117563)
Mapping
- Address mapping and compute engine runtime field issues #117792 (issue: #117644)
- Always Emit Inference ID in Semantic Text Mapping #117294
- Fix concurrency issue with
ReinitializingSourceProvider
#118370 (issue: #118238) - Fix false positive date detection with trailing dot #116953 (issue: #116946)
- Parse the contents of dynamic objects for [subobjects:false] #117762 (issue: #117544)
Network
- Use underlying
ByteBuf
refCount
forReleasableBytesReference
#116211
Ranking
- Fix for propagating filters from compound to inner retrievers #117914
Search
- Add missing
async_search
query parameters to rest-api-spec #117312 - Don’t skip shards in coord rewrite if timestamp is an alias #117271
- Fields caps does not honour ignore_unavailable #116021 (issue: #107767)
- _validate does not honour ignore_unavailable #116656 (issue: #116594)
Vector Search
- Correct bit * byte and bit * float script comparisons #117404
Watcher
Deprecations
Infra/REST API
- Add a basic deprecation warning that the JSON format for non-detailed error responses is changing in v9 #114739 (issue: #89387)
Mapping
- Deprecate
_source.mode
in mappings #116689
Enhancements
Authorization
- Add a
monitor_stats
privilege and allow that privilege for remote cluster privileges #114964
Data streams
- Adding a deprecation info API warning for data streams with old indices #116447
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
- [ES|QL] Implicit casting string literal to intervals #115814 (issue: #115352)
Indices APIs
- Ensure class resource stream is closed in
ResourceUtils
#116437
Inference
- Add version prefix to Inference Service API path #117366
- Update sparse text embeddings API route for Inference Service #118368
Infra/Core
Ingest Node
- 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
Logs
- Add logsdb telemetry #115994
- Add num docs and size to logsdb telemetry #116128
- Feature: re-structure document ID generation favoring _id inverted index compression #104683
Machine Learning
- 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 API] Add API to get configuration of inference services #114862
- [Inference API] Improve chunked results error message #115807
Recovery
Relevance
- Add query rules retriever #114855
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
Vector Search
- Add support for bitwise inner-product in painless #116082
- Improve halfbyte transposition performance, marginally improving bbq performance #117350
New features
Data streams
- Add default ILM policies and switch to ILM for apm-data plugin #115687
ES|QL
- Add support for
BYTE_LENGTH
scalar function #116591 - Esql/lookup join grammar #116515
- Remove snapshot build restriction for match and qstr functions #114482
Search
- ESQL - Add match operator (:) #116819
Upgrades
Security
- Upgrade Bouncy Castle FIPS dependencies #112989