IMPORTANT: No additional bug fixes or documentation updates
will be released for this version. For the latest information, see the
current release documentation.
Elasticsearch version 8.14.0
editElasticsearch version 8.14.0
editAlso see Breaking changes in 8.14.
Breaking changes
edit- Security
Known issues
edit- When upgrading clusters from version 8.11.4 or earlier, if your cluster contains non-master-eligible nodes, information about the new functionality of these upgraded nodes may not be registered properly with the master node. This can lead to some new functionality added since 8.12.0 not being accessible on the upgraded cluster. If your cluster is running on ECK 2.12.1 and above, this may cause problems with finalizing the upgrade. To resolve this issue, perform a rolling restart on the non-master-eligible nodes once all Elasticsearch nodes are upgraded. This issue is fixed in 8.15.0.
-
The
pytorch_inference
process used to run Machine Learning models can consume large amounts of memory. In environments where the available memory is limited, the OS Out of Memory Killer will kill thepytorch_inference
process to reclaim memory. This can cause inference requests to fail. Elasticsearch will automatically restart thepytorch_inference
process after it is killed up to four times in 24 hours. (issue: #110530)
Bug fixes
edit- Aggregations
- Application
-
- [Bugfix] Connector API - fix status serialisation issue in termquery #108365
- [Connector API] Fix bug with filtering validation toXContent #107467
- [Connector API] Fix bug with parsing *_doc_count nullable fields #108854
- [Connector API] Fix bug with with wrong target index for access control sync #109097
- Authorization
-
- Users with monitor privileges can access async_search/status endpoint even when setting keep_alive #107383
- CAT APIs
- CCR
-
- Add ?master_timeout query parameter to ccr apis #105168
- CRUD
- Cluster Coordination
-
-
Fix support for infinite
?master_timeout
#107050
-
Fix support for infinite
- Data streams
- Downsampling
- EQL
-
-
Use #addWithoutBreaking when adding a negative number of bytes to the circuit breaker in
SequenceMatcher
#107655
-
Use #addWithoutBreaking when adding a negative number of bytes to the circuit breaker in
- ES|QL
-
- ESQL: Allow reusing BUCKET grouping expressions in aggs #107578
- ESQL: Disable quoting in FROM command #108431
- ESQL: Fix MV_DEDUPE when using data from an index #107577 (issue: #104745)
- ESQL: Fix error message when failing to resolve aggregate groupings #108101 (issue: #108053)
- ESQL: Fix treating all fields as MV in COUNT pushdown #106720
- ESQL: Re-enable logical dependency check #105860
-
ESQL: median, count and
count_distinct
over constants #107414 (issues: #105248, #104900) - ES|QL fix no-length substring with supplementary (4-byte) character #107183
- ES|QL: Fix usage of IN operator with TEXT fields #106654 (issue: #105379)
- ES|QL: Improve support for TEXT fields in functions #106810
- Fix docs generation of signatures for variadic functions #107865
-
[ESQL] Mark
date_diff
as requiring all three arguments #108834 (issue: #108383)
- Health
- Highlighting
- Infra/CLI
-
- Workaround G1 bug for JDK 22 and 22.0.1 #108571
- Infra/Core
-
- Add a check for the same feature being declared regular and historical #106285
-
Fix
AffixSetting.exists
to include secure settings #106745 - Fix regression in get index settings (human=true) where the version was not displayed in human-readable format #107447
- Nativeaccess: try to load all located libsystemds #108238 (issue: #107878)
-
Update several references to
IndexVersion.toString
to usetoReleaseVersion
#107828 (issue: #107821) -
Update several references to
TransportVersion.toString
to usetoReleaseVersion
#107902
- Infra/Logging
-
- Log when update AffixSetting using addAffixMapUpdateConsumer #97072
- Infra/Node Lifecycle
- Infra/Scripting
- Ingest Node
- License
- Machine Learning
-
- Fix NPE in ML assignment notifier #107312
-
Fix
startOffset
must be non-negative error in XLMRoBERTa tokenizer #107891 (issue: #104626) - Fix the position of spike, dip and distribution changes bucket when the sibling aggregation includes empty buckets #106472
- Make OpenAI embeddings parser more flexible #106808
- Mapping
-
- Dedupe terms in terms queries #106381
-
Extend support of
allowedFields
togetMatchingFieldNames
andgetAllFields
#106862 - Fix for raw mapping merge of fields named "properties" #108867 (issue: #108866)
- Handle infinity during synthetic source construction for scaled float field #107494 (issue: #107101)
- Handle pass-through subfields with deep nesting #106767
-
Wrap "Pattern too complex" exception into an
IllegalArgumentException
#109173
- Network
-
- Fix HTTP corner-case response leaks #105617
- Search
-
-
Add
internalClusterTest
for and fix leak inExpandSearchPhase
#108562 (issue: #108369) - Avoid attempting to load the same empty field twice in fetch phase #107551
-
Bugfix: Disable eager loading
BitSetFilterCache
on Indexing Nodes #105791 - Cross-cluster painless/execute actions should check permissions only on target remote cluster #105360
-
Fix error 500 on invalid
ParentIdQuery
#105693 (issue: #105366) - Fix range queries for float/half_float fields when bounds are out of type’s range #106691
-
Fixing NPE when requesting [none] for
stored_fields
#104711 - Fork when handling remote field-caps responses #107370
-
Handle parallel calls to
createWeight
when profiling is on #108041 (issues: #104131, #104235) - Harden field-caps request dispatcher #108736
-
Replace
UnsupportedOperationException
withIllegalArgumentException
for non-existing columns #107038 - Unable to retrieve multiple stored field values #106575
-
Validate
model_id
is required when using thelearning_to_rank
rescorer #107743
-
Add
- Security
- Snapshot/Restore
- TSDB
-
- Flip dynamic mapping condition when create tsid #105636
- Transform
-
- Consolidate permissions checks #106413 (issue: #105794)
- Disable PIT for remote clusters #107969
- Make force-stopping the transform always remove persistent task from cluster state #106989 (issue: #106811)
- Only trigger action once per thread #107232 (issue: #107215)
- [Transform] Auto retry Transform start #106243
- Vector Search
Deprecations
edit- Mapping
-
-
Deprecate allowing
fields
in scenarios where it is ignored #106031
-
Deprecate allowing
Enhancements
edit- Aggregations
- Allocation
- Application
- Authentication
- Authorization
- Data streams
-
- Add data stream lifecycle to kibana reporting template #106259
- ES|QL
-
- Add ES|QL Locate function #106899 (issue: #106818)
- Add ES|QL signum function #106866
- Add status for enrich operator #106036
- Add two new OGC functions ST_X and ST_Y #105768
- Adjust array resizing in block builder #106934
- Bulk loading enrich fields in ESQL #106796
- ENRICH support for TEXT fields #106435 (issue: #105384)
- ESQL: Add timers to many status results #105421
- ESQL: Allow grouping key inside stats expressions #106579
- ESQL: Introduce expression validation phase #105477 (issue: #105425)
- ESQL: Log queries at debug level #108257
- ESQL: Regex improvements #106429
- ESQL: Sum of constants #105454
- ESQL: Support ST_DISJOINT #107007
- ESQL: Support partially folding CASE #106094
- ESQL: Use faster field caps #105067
- ESQL: extend BUCKET with spans #107272
- ESQL: perform a reduction on the data node #106516
- Expand support for ENRICH to full set supported by ES ingest processors #106186 (issue: #106162)
- Introduce ordinal bytesref block #106852 (issue: #106387)
- Leverage ordinals in enrich lookup #107449
- Serialize big array blocks #106373
- Serialize big array vectors #106327
-
Specialize serialization for
ArrayVectors
#105893 - Specialize serialization of array blocks #106102
-
Speed up serialization of
BytesRefArray
#106053 - Support ST_CONTAINS and ST_WITHIN #106503
- Support ST_INTERSECTS between geometry column and other geometry or string #104907 (issue: #104874)
- Engine
-
- Add metric for calculating index flush time excluding waiting on locks #107196
- Highlighting
- ILM+SLM
- Indices APIs
-
-
Wait forever for
IndexTemplateRegistry
asset installation #105985
-
Wait forever for
- Infra/CLI
- Infra/Core
-
-
Add pluggable
BuildVersion
inNodeMetadata
#105757
-
Add pluggable
- Infra/Metrics
- Infra/Scripting
- Ingest Node
- Machine Learning
- Mapping
-
- Make int8_hnsw our default index for new dense-vector fields #106836
- Ranking
-
- Add retrievers using the parser-only approach #105470
- Search
-
- Add Lucene spanish plural stemmer #106952
-
Add
modelId
andmodelText
toKnnVectorQueryBuilder
#106068 - Add a SIMD (Neon) optimised vector distance function for int8 #106133
- Add transport version for search load autoscaling #106377
-
CCS with
minimize_roundtrips
performs incremental merges of eachSearchResponse
#105781 - Track ongoing search tasks #107129
- Security
- Snapshot/Restore
- Stats
- TSDB
- Transform