Elasticsearch version 8.11.0edit

Also see Breaking changes in 8.11.

Breaking changesedit

Infra/Core
  • Remove transport_versions from cluster state API #99223

Known issuesedit

Bug fixesedit

Aggregations
  • Adjust DateHistogram's bucket accounting to be iteratively #101012
  • Allow parsing on non-string routing fields #97729
  • Support runtime fields in synthetic source #99796 (issue: #98287)
Allocation
  • Consider node shutdown in DataTierAllocationDecider #98824 (issue: #97207)
Application
  • Align look-back with client-side cache #101264
  • Increase K/V look-back time interval #101205
  • Provide stable resampling #101255
  • [Profiling] Tighten resource creation check #99873
Authorization
  • Allow enrich_user to read/view enrich indices #100707
  • Grant editor and viewer access to profiling #100594
CCR
  • CCR: Use local cluster state request #100323
CRUD
  • Change GetFromTranslog to indices action #99300
  • Wait for cluster to recover before resolving index template #99797
Cluster Coordination
  • Reset GatewayService flags before reroute #98653 (issue: #98606)
Data streams
  • DSL waits for the tsdb time boundaries to lapse #100470 (issue: #99696)
  • Propagate cancellation in DataTiersUsageTransportAction #100253
  • [DSL] skip deleting indices that have in-progress downsampling operations #101495
Downsampling
  • Make downsample target index replicas configurable #99712
ES|QL
  • "params" correctly parses the values including an optional "type" #99310 (issue: #99294)
  • Account for an exception being thrown when building a BytesRefArrayBlock #99726 (issue: #99472)
  • Add arithmetic operators #98628
  • Add identity check in Block equality #100377 (issue: #100374)
  • Adds Enrich implicit match_fields to field_caps call #101456 (issue: #101328)
  • Better management of not stored TEXT fiels with synthetic source #99695
  • Continue resolving attributes for Eval #99601 (issue: #99576)
  • Create a Vector when needed for IN #99382 (issue: #99347)
  • ESQL: Fix unreleased block in topn #101648 (issue: #101588)
  • ESQL: check type before casting #101492 (issue: #101489)
  • Fix NPE when aggregating literals #99827
  • Fix escaping of backslash in LIKE operator #101120 (issue: #101106)
  • Fix eval of functions on foldable literals #101438 (issue: #101425)
  • Fix non-null value being returned for unsupported data types in ValueSources #100656 (issue: #100048)
  • Graceful handling of non-bool condition in the filter #100645 (issues: #100049, #100409)
  • Handle queries with non-existing enrich policies and no field #100647 (issue: #100593)
  • Implement serialization of InvalidMappedField #98972 (issue: #98851)
  • Improve verifier error for incorrect agg declaration #100650 (issue: #100641)
  • Limit how many bytes concat() can process #100360
  • Make DISSECT parameter append_separator case insensitive #101358 (issue: #101138)
  • Page shouldn’t close a block twice #100370 (issues: #100356, #100365)
  • Preserve intermediate aggregation output in local relation #100866 (issue: #100807)
  • Properly handle multi-values in fold() and date math #100766 (issue: #100497)
  • Remove aliasing inside Eval #100238 (issue: #100174)
  • Resilience to non-indexed fields #99588 (issue: #99506)
  • Skip synthetic attributes when planning the physical fragment #99188 (issue: #99170)
  • Support date and time intervals as input params #101001 (issue: #99570)
  • Support queries that don’t return underlying fields #98759 (issue: #98404)
  • Use exact attributes for data source extraction #99874 (issue: #99183)
  • mv_expand pushes down limit and project and keep the limit after it untouched #100782 (issues: #99971, #100774)
  • support metric tsdb fields while querying index patterns #100351 (issue: #100144)
Geo
  • Use NamedWritable to enable GeoBoundingBox serialisation #99163 (issue: #99089)
Health
  • Fix NPE in StableMasterHealthIndicatorService #98635
  • Health report infrastructure doesn’t trip the circuit breakers #101629
  • Propagate cancellation in GetHealthAction #100273
Highlighting
  • Correctly handle ScriptScoreQuery in plain highlighter #99804 (issue: #99700)
  • Disable weight_matches when kNN query is present #101713
ILM+SLM
  • Compute SLM retention from RepositoryData #100092 (issue: #99953)
  • WaitForSnapshotStep verifies if the index belongs to the latest snapshot of that SLM policy #100911
Infra/Core
  • Add java.net.NetPermission to APM module’s permissions #99474
  • Don’t update system index mappings in mixed clusters #101778 (issues: #101331, #99778)
  • Revert "Kibana system index does not allow user templates to affect it" #98888
  • Specify correct current IndexVersion after 8.10 release #98574 (issue: #98555)
  • Tracing: Use doPriv when working with spans, use SpanId #100232
Infra/Scripting
  • Improve painless error wrapping #100872
Ingest Node
  • Improving tika handling #101486
  • Update enrich execution to only set index false on fields that support it #98038 (issue: #98019)
Machine Learning
  • Avoid risk of OOM in datafeeds when memory is constrained #98915 (issue: #89769)
  • Fix for inference requests being sent to every node with a model allocation. If there are more nodes than items in the original request then empty requests were sent. #100388 (issue: #100180)
  • Preserve order of inference results when calling the _infer API with multiple inputs on a model deployment with more than one allocation the output results order was not guaranteed to match the input order. The fix ensures the output order matches the input order. #100143
  • Remove noisy Could not find trained model message #100760
  • Safely drain deployment request queues before allowing node to shutdown #98406
  • Use the correct writable name for model assignment metadata in mixed version clusters. Prevents a node failure due to IllegalArgumentException Unknown NamedWriteable [trained_model_assignment] #100886
  • Wait to gracefully stop deployments until alternative allocation exists #99107
Mapping
  • Automatically disable ignore_malformed on datastream @timestamp fields #99346
  • Correct behaviour of ContentPath::remove() #98332 (issue: #98327)
  • Fix merges of mappings with subobjects: false for composable index templates #97317 (issue: #96768)
  • Percolator to support parsing script score query with params #101051 (issue: #97377)
Network
  • Do not report failure after connections are made #99117
Percolator
  • Fix percolator query for stored queries that expand on wildcard field names #98878
Query Languages
Recovery
Search
  • Consistent scores for multi-term SourceConfirmedTestQuery #100846 (issue: #98712)
  • Fix UnsignedLong field range query gt "0" can get the result equal to 0 #98843
  • Fix advanceExact for doc values from sources #99685
  • Fork response-sending in OpenPointInTimeAction #99222
  • [CI] SearchResponseTests#testSerialization failing resolved #100020 (issue: #100005)
  • fix fuzzy query rewrite parameter not work #97642
Security
  • Fix NullPointerException in RotableSecret #100779 (issue: #99759)
Snapshot/Restore
  • Fix race condition in SnapshotsService #101652
  • Fix snapshot double finalization #101497
  • Fix thread context in getRepositoryData #99627
  • Frozen index input clone copy cache file #98930
  • Make S3 anti-contention delay configurable #101245
  • More robust timeout for repo analysis #101184 (issue: #101182)
  • Register repository_s3 settings #101344
  • Reinstate RepositoryData BwC #100447
TSDB
  • Don’t ignore empty index template that have no template definition #98840 (issue: #98834)
  • Fix painless execute api and tsdb issue #101212 (issue: #101072)
  • Make tsdb settings public in Serverless #99567 (issue: #99563)
Transform
  • Fix possible NPE when getting transform stats for failed transforms #98061 (issue: #98052)
  • Ignore IndexNotFound error when refreshing destination index #101627
  • Make Transform Feature Reset really wait for all the tasks #100624
  • Make tasks that calculate checkpoints cancellable #100808
Watcher
  • Treating watcher webhook response header names as case-insensitive #99717

Deprecationsedit

Rollup
  • Rollup functionality is now deprecated #101265

Enhancementsedit

Aggregations
  • Disable FilterByFilterAggregator through ClusterSettings #99417 (issue: #99335)
  • Represent histogram value count as long #99912 (issue: #99820)
  • Skip DisiPriorityQueue on single filter agg #99215 (issue: #99202)
  • Use a competitive iterator in FiltersAggregator #98360 (issue: #97544)
Allocation
  • Report a node’s "roles" setting in the /_cluster/allocation/explain response #98550 (issue: #97859)
Application
  • Add flamegraph API #99091
  • [Profiling] Allow to customize the ILM policy #99909
  • [Profiling] Allow to wait until resources created #99655
Audit
  • Reduce verbosity of the bulk indexing audit log #98470
Authentication
  • Allow native users/roles to be disabled via setting #98654
CAT APIs
  • Add dataset size to cat indices and cat shards #98622 (issue: #95092)
Data streams
  • Allow explain data stream lifecycle to accept a data stream #98811
ES|QL
  • Add CEIL function #98847
  • Add ability to perform date math #98870 (issue: #98402)
  • Add support for TEXT fields in comparison operators and SORT #98528 (issue: #98642)
  • Compact topn #99316
  • Date math for negatives #99711
  • Enable arithmetics for durations and periods #99432 (issue: #99293)
  • Enhance SHOW FUNCTIONS command #99736 (issue: #99507)
  • Improve log messages #99470
  • Log execution time consistently #99286
  • Log query and execution time #99058
  • Log start and end of queries #99746
  • Lower the implicit limit, if none is user-provided #99816 (issue: #99458)
  • Make settings dynamic #101516
  • Mark counter fields as unsupported #99054
  • Remove the swapped-args check for date_xxx() #101362 (issue: #99562)
  • Serialize the source in expressions #99956
  • Simple check if all blocks get released #100199
  • Support unsigned long in sqrt and log10 #98711
  • Use DEBUG log level to report execution steps #99303
Engine
  • Use IndexWriter.flushNextBuffer() to reclaim memory from indexing buffers #94607
Health
  • Avoiding the use of nodes that are no longer in the cluster when computing master stability #98809 (issue: #98636)
  • When a primary is inactive but this is considered expected, the same applies for the replica of this shard. #99995 (issue: #99951)
Infra/Core
  • APM Metering API #99832
  • Update the elastic-apm-agent version #100064
  • Use mappings version to retrieve system index mappings at creation time #99555
Infra/Node Lifecycle
  • Add links to docs from failing bootstrap checks #99644 (issue: #99614)
  • Chunk SingleNodeShutdownStatus and ShutdownShardMigrationStatus (and related action) response #99798 (issue: #99678)
Infra/REST API
  • Add IndexVersion to node info #99515
  • Add component info versions to node info in a pluggable way #99631
  • Return a 410 (Gone) status code for unavailable API endpoints #97397
Machine Learning
  • Add new _inference API #99224
  • Adding an option for trained models to be platform specific #99584
  • Log warnings for jobs unassigned for a long time #100154
  • Simplify the Inference Ingest Processor configuration #100205
Mapping
  • Automatically flatten objects when subobjects:false #97972 (issue: #88934)
  • Explicit parsing object capabilities of FieldMappers #98684 (issue: #98537)
  • Reintroduce sparse_vector mapping #98996
Network
  • Chunk the cluster allocation explain response #99641 (issue: #97803)
Recovery
  • Wait for cluster state in recovery #99193
Search
  • Add additional counters to _clusters response for all Cluster search states #99566 (issue: #98927)
  • Adding support for exist queries to sparse_vector fields #99775 (issue: #99319)
  • Make _index optional for pinned query docs #97450
  • Reduce copying when creating scroll/PIT ids #99219
  • Refactor SearchResponseClusters to use CHM #100129 (issue: #99101)
  • Support cluster/details for CCS minimize_roundtrips=false #98457
Security
  • Support rotatating the JWT shared secret #99278
Snapshot/Restore
  • Remove shard data files when they fail to write for snapshot #99694
Stats
  • Prune unnecessary information from TransportNodesInfoAction.NodeInfoRequest #99938 (issue: #99744)
TSDB
  • Add index.look_back_time setting for tsdb data streams #98518 (issue: #98463)
  • Improve time-series error and documentation #100018
  • Trim stored fields for _id field in tsdb #97409
Transform
  • Add accessors required to recreate TransformStats object from the fields #98844
Vector Search
  • Add new max_inner_product vector similarity function #99527
  • Adds nested support for indexed dense_vector fields #99763
  • Dense vector field types are indexed by default #98268
  • Increase the max vector dims to 4096 #99682

New featuresedit

Analysis
  • Add support for Persian language stemmer #99106 (issue: #98911)
Application
  • Automatically map float arrays of lengths 128 - 2048 as dense_vector #98512 (issue: #97532)
Data streams
  • GA the data stream lifecycle #100187
  • GET _data_stream displays both ILM and DSL information #99947
ES|QL
  • Integrate Elasticsearch Query Language, ES|QL #98309
  • LEAST and GREATEST functions #98630
  • LEFT function #98942
  • LTRIM, RTRIM and fix unicode whitespace #98590
  • RIGHT function #98974
  • TopN sorting with min and max for multi-value fields #98337

Upgradesedit

Packaging
  • Update bundled JDK to 21.0.1 #101133
Search
  • Upgrade main to Lucene 9.8.0 #100138