8.16.0.asciidoc 31 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529
  1. [[release-notes-8.16.0]]
  2. == {es} version 8.16.0
  3. Also see <<breaking-changes-8.16,Breaking changes in 8.16>>.
  4. [[breaking-8.16.0]]
  5. [float]
  6. === Breaking changes
  7. Analysis::
  8. * Set lenient to true by default when using updateable synonyms {es-pull}110901[#110901]
  9. Data streams::
  10. * Update data stream lifecycle telemetry to track global retention {es-pull}112451[#112451]
  11. ES|QL::
  12. * Entirely remove META FUNCTIONS {es-pull}113967[#113967]
  13. Mapping::
  14. * JDK locale database change {es-pull}113975[#113975]
  15. Search::
  16. * Adding breaking change entry for retrievers {es-pull}115399[#115399]
  17. [[bug-8.16.0]]
  18. [float]
  19. === Bug fixes
  20. Aggregations::
  21. * Always check the parent breaker with zero bytes in `PreallocatedCircuitBreakerService` {es-pull}115181[#115181]
  22. * Force using the last centroid during merging {es-pull}111644[#111644] (issue: {es-issue}111065[#111065])
  23. Authentication::
  24. * Check for disabling own user in Put User API {es-pull}112262[#112262] (issue: {es-issue}90205[#90205])
  25. * Expose cluster-state role mappings in APIs {es-pull}114951[#114951]
  26. Authorization::
  27. * Fix DLS & FLS sometimes being enforced when it is disabled {es-pull}111915[#111915] (issue: {es-issue}94709[#94709])
  28. * Fix DLS using runtime fields and synthetic source {es-pull}112341[#112341]
  29. CRUD::
  30. * Don't fail retention lease sync actions due to capacity constraints {es-pull}109414[#109414] (issue: {es-issue}105926[#105926])
  31. Cluster Coordination::
  32. * Ensure clean thread context in `MasterService` {es-pull}114512[#114512]
  33. Data streams::
  34. * Adding support for data streams with a match-all template {es-pull}111311[#111311] (issue: {es-issue}111204[#111204])
  35. * Exclude internal data streams from global retention {es-pull}112100[#112100]
  36. * Fix verbose get data stream API not requiring extra privileges {es-pull}112973[#112973]
  37. * OTel mappings: avoid metrics to be rejected when attributes are malformed {es-pull}114856[#114856]
  38. * Resolve pipelines from template on lazy rollover write {es-pull}116031[#116031] (issue: {es-issue}112781[#112781])
  39. * [apm-data] Apply lazy rollover on index template creation {es-pull}116219[#116219] (issue: {es-issue}116230[#116230])
  40. * [otel-data] Add more kubernetes aliases {es-pull}115429[#115429]
  41. * logs-apm.error-*: define log.level field as keyword {es-pull}112440[#112440]
  42. Distributed::
  43. * Handle `InternalSendException` inline for non-forking handlers {es-pull}114375[#114375]
  44. EQL::
  45. * Fix validation of TEXT fields with case insensitive comparison {es-pull}111238[#111238] (issue: {es-issue}111235[#111235])
  46. ES|QL::
  47. * Add Values aggregation tests, fix `ConstantBytesRefBlock` memory handling {es-pull}111367[#111367]
  48. * Align year diffing to the rest of the units in DATE_DIFF: chronological {es-pull}113103[#113103] (issue: {es-issue}112482[#112482])
  49. * Disable pushdown of WHERE past STATS {es-pull}115308[#115308] (issue: {es-issue}115281[#115281])
  50. * Fix CASE when conditions are multivalued {es-pull}112401[#112401] (issue: {es-issue}112359[#112359])
  51. * Fix DEBUG log of filter {es-pull}116086[#116086] (issue: {es-issue}116055[#116055])
  52. * Fix Double operations returning infinite {es-pull}111064[#111064] (issue: {es-issue}111026[#111026])
  53. * Fix `REVERSE` with backspace character {es-pull}115245[#115245] (issues: {es-issue}114372[#114372], {es-issue}115227[#115227], {es-issue}115228[#115228])
  54. * Fix a bug in VALUES agg {es-pull}115952[#115952]
  55. * Fix a bug in `MV_PERCENTILE` {es-pull}112218[#112218] (issues: {es-issue}112193[#112193], {es-issue}112180[#112180], {es-issue}112187[#112187], {es-issue}112188[#112188])
  56. * Fix filtered grouping on ords {es-pull}115312[#115312] (issue: {es-issue}114897[#114897])
  57. * Fix grammar changes around per agg filtering {es-pull}114848[#114848]
  58. * Fix serialization during `can_match` {es-pull}111779[#111779] (issues: {es-issue}111701[#111701], {es-issue}111726[#111726])
  59. * Fix synthetic attribute pruning {es-pull}111413[#111413] (issue: {es-issue}105821[#105821])
  60. * Don't lose the original casting error message {es-pull}111968[#111968] (issue: {es-issue}111967[#111967])
  61. * Fix for missing indices error message {es-pull}111797[#111797] (issue: {es-issue}111712[#111712])
  62. * Restrict sorting for `_source` and counter field types {es-pull}114638[#114638] (issues: {es-issue}114423[#114423], {es-issue}111976[#111976])
  63. * Better validation for GROK patterns {es-pull}110574[#110574] (issue: {es-issue}110533[#110533])
  64. * Better validation for RLIKE patterns {es-pull}112489[#112489] (issue: {es-issue}112485[#112485])
  65. * Better validation of GROK patterns {es-pull}112200[#112200] (issue: {es-issue}112111[#112111])
  66. * Fix LIMIT pushdown past MV_EXPAND {es-pull}115624[#115624] (issues: {es-issue}102084[#102084], {es-issue}102061[#102061])
  67. * Fix ST_CENTROID_AGG when no records are aggregated {es-pull}114888[#114888] (issue: {es-issue}106025[#106025])
  68. * Spatial search functions support multi-valued fields in compute engine {es-pull}112063[#112063] (issues: {es-issue}112102[#112102], {es-issue}112505[#112505], {es-issue}110830[#110830])
  69. * Check expression resolved before checking its data type in `ImplicitCasting` {es-pull}113314[#113314] (issue: {es-issue}113242[#113242])
  70. * Simplify patterns for subfields {es-pull}111118[#111118]
  71. * Simplify syntax of named parameter for identifier and pattern {es-pull}115061[#115061]
  72. * Skip validating remote cluster index names in parser {es-pull}114271[#114271]
  73. * Use `RangeQuery` and String in `BinaryComparison` on datetime fields {es-pull}110669[#110669] (issue: {es-issue}107900[#107900])
  74. * Verify aggregation filter's type is boolean to avoid `class_cast_exception` {es-pull}116274[#116274]
  75. * Add tests for stats by constant {es-pull}110593[#110593] (issue: {es-issue}105383[#105383])
  76. * Make named parameter for identifier and pattern snapshot {es-pull}114784[#114784]
  77. * Validate `mv_sort` order {es-pull}110021[#110021] (issue: {es-issue}109910[#109910])
  78. Geo::
  79. * Fix cases of collections with one point {es-pull}111193[#111193] (issue: {es-issue}110982[#110982])
  80. * Try to simplify geometries that fail with `TopologyException` {es-pull}115834[#115834]
  81. Health::
  82. * Set `replica_unassigned_buffer_time` in constructor {es-pull}112612[#112612]
  83. ILM+SLM::
  84. * Make `SnapshotLifecycleStats` immutable so `SnapshotLifecycleMetadata.EMPTY` isn't changed as side-effect {es-pull}111215[#111215]
  85. Indices APIs::
  86. * Align dot prefix validation with Serverless {es-pull}116266[#116266]
  87. * Revert "Add `ResolvedExpression` wrapper" {es-pull}115317[#115317]
  88. Infra/Core::
  89. * Fix max file size check to use `getMaxFileSize` {es-pull}113723[#113723] (issue: {es-issue}113705[#113705])
  90. * Guard blob store local directory creation with `doPrivileged` {es-pull}115459[#115459]
  91. * Handle `BigInteger` in xcontent copy {es-pull}111937[#111937] (issue: {es-issue}111812[#111812])
  92. * Report JVM stats for all memory pools (97046) {es-pull}115117[#115117] (issue: {es-issue}97046[#97046])
  93. * `ByteArrayStreamInput:` Return -1 when there are no more bytes to read {es-pull}112214[#112214]
  94. Infra/Logging::
  95. * Only emit product origin in deprecation log if present {es-pull}111683[#111683] (issue: {es-issue}81757[#81757])
  96. Infra/Settings::
  97. * GET _cluster/settings with include_defaults returns the expected fallback value if defined in elasticsearch.yml {es-pull}110816[#110816] (issue: {es-issue}110815[#110815])
  98. Ingest Node::
  99. * Fix IPinfo geolocation schema {es-pull}115147[#115147]
  100. * Fix `getDatabaseType` for unusual MMDBs {es-pull}112888[#112888]
  101. License::
  102. * Fix Start Trial API output acknowledgement header for features {es-pull}111740[#111740] (issue: {es-issue}111739[#111739])
  103. * Fix `TokenService` always appearing used in Feature Usage {es-pull}112263[#112263] (issue: {es-issue}61956[#61956])
  104. * Fix lingering license warning header in IP filter {es-pull}115510[#115510] (issue: {es-issue}114865[#114865])
  105. Logs::
  106. * Do not expand dots when storing objects in ignored source {es-pull}113910[#113910]
  107. * Fix `ignore_above` handling in synthetic source when index level setting is used {es-pull}113570[#113570] (issue: {es-issue}113538[#113538])
  108. * Fix synthetic source for flattened field when used with `ignore_above` {es-pull}113499[#113499] (issue: {es-issue}112044[#112044])
  109. * Prohibit changes to index mode, source, and sort settings during restore {es-pull}115811[#115811]
  110. Machine Learning::
  111. * Avoid `ModelAssignment` deadlock {es-pull}109684[#109684]
  112. * Avoid `catch (Throwable t)` in `AmazonBedrockStreamingChatProcessor` {es-pull}115715[#115715]
  113. * Allow for `pytorch_inference` results to include zero-dimensional tensors
  114. * Empty percentile results no longer throw no_such_element_exception in Anomaly Detection jobs {es-pull}116015[#116015] (issue: {es-issue}116013[#116013])
  115. * Fix NPE in Get Deployment Stats {es-pull}115404[#115404]
  116. * Fix bug in ML serverless autoscaling which prevented trained model updates from triggering a scale up {es-pull}110734[#110734]
  117. * Fix stream support for `TaskType.ANY` {es-pull}115656[#115656]
  118. * Fix parameter initialization for large forecasting models {ml-pull}2759[#2759]
  119. * Forward bedrock connection errors to user {es-pull}115868[#115868]
  120. * Ignore unrecognized openai sse fields {es-pull}114715[#114715]
  121. * Prevent NPE if model assignment is removed while waiting to start {es-pull}115430[#115430]
  122. * Send mid-stream errors to users {es-pull}114549[#114549]
  123. * Temporarily return both `modelId` and `inferenceId` for GET /_inference until we migrate clients to only `inferenceId` {es-pull}111490[#111490]
  124. * Warn for model load failures if they have a status code <500 {es-pull}113280[#113280]
  125. * [Inference API] Remove unused Cohere rerank service settings fields in a BWC way {es-pull}110427[#110427]
  126. * [ML] Create Inference API will no longer return model_id and now only return inference_id {es-pull}112508[#112508]
  127. Mapping::
  128. * Fix `MapperBuilderContext#isDataStream` when used in dynamic mappers {es-pull}110554[#110554]
  129. * Fix synthetic source field names for multi-fields {es-pull}112850[#112850]
  130. * Retrieve the source for objects and arrays in a separate parsing phase {es-pull}113027[#113027] (issue: {es-issue}112374[#112374])
  131. * Two empty mappings now are created equally {es-pull}107936[#107936] (issue: {es-issue}107031[#107031])
  132. Ranking::
  133. * Fix MLTQuery handling of custom term frequencies {es-pull}110846[#110846]
  134. * Fix RRF validation for `rank_constant` < 1 {es-pull}112058[#112058]
  135. * Fix score count validation in reranker response {es-pull}111212[#111212] (issue: {es-issue}111202[#111202])
  136. Search::
  137. * Allow for querries on `_tier` to skip shards in the `can_match` phase {es-pull}114990[#114990] (issue: {es-issue}114910[#114910])
  138. * Allow out of range term queries for numeric types {es-pull}112916[#112916]
  139. * Do not exclude empty arrays or empty objects in source filtering {es-pull}112250[#112250] (issue: {es-issue}109668[#109668])
  140. * Fix synthetic source handling for `bit` type in `dense_vector` field {es-pull}114407[#114407] (issue: {es-issue}114402[#114402])
  141. * Improve DateTime error handling and add some bad date tests {es-pull}112723[#112723] (issue: {es-issue}112190[#112190])
  142. * Improve date expression/remote handling in index names {es-pull}112405[#112405] (issue: {es-issue}112243[#112243])
  143. * Make "too many clauses" throw IllegalArgumentException to avoid 500s {es-pull}112678[#112678] (issue: {es-issue}112177[#112177])
  144. * Make empty string searches be consistent with case (in)sensitivity {es-pull}110833[#110833]
  145. * Prevent flattening of ordered and unordered interval sources {es-pull}114234[#114234]
  146. * Remove needless forking to GENERIC in `TransportMultiSearchAction` {es-pull}110796[#110796]
  147. * Search/Mapping: KnnVectorQueryBuilder support for allowUnmappedFields {es-pull}107047[#107047] (issue: {es-issue}106846[#106846])
  148. * Span term query to convert to match no docs when unmapped field is targeted {es-pull}113251[#113251]
  149. * Speedup `CanMatchPreFilterSearchPhase` constructor {es-pull}110860[#110860]
  150. * Update `BlobCacheBufferedIndexInput::readVLong` to correctly handle negative long values {es-pull}115594[#115594]
  151. * [8.x] Limit the number of tasks that a single search can submit {es-pull}115932[#115932]
  152. Security::
  153. * Add ECK Role Mapping Cleanup {es-pull}115823[#115823]
  154. * Updated the transport CA name in Security Auto-Configuration. {es-pull}106520[#106520] (issue: {es-issue}106455[#106455])
  155. Snapshot/Restore::
  156. * Handle status code 0 in S3 CMU response {es-pull}116212[#116212] (issue: {es-issue}102294[#102294])
  157. TSDB::
  158. * Implement `parseBytesRef` for `TimeSeriesRoutingHashFieldType` {es-pull}113373[#113373] (issue: {es-issue}112399[#112399])
  159. Task Management::
  160. * Improve handling of failure to create persistent task {es-pull}114386[#114386]
  161. Transform::
  162. * Allow task canceling of validate API calls {es-pull}110951[#110951]
  163. * Include reason when no nodes are found {es-pull}112409[#112409] (issue: {es-issue}112404[#112404])
  164. Vector Search::
  165. * Fix dim validation for bit `element_type` {es-pull}114533[#114533]
  166. * Support semantic_text in object fields {es-pull}114601[#114601] (issue: {es-issue}114401[#114401])
  167. Watcher::
  168. * Truncating watcher history if it is too large {es-pull}111245[#111245] (issue: {es-issue}94745[#94745])
  169. [[deprecation-8.16.0]]
  170. [float]
  171. === Deprecations
  172. Analysis::
  173. * Deprecate dutch_kp and lovins stemmer as they are removed in Lucene 10 {es-pull}113143[#113143]
  174. * deprecate `edge_ngram` side parameter {es-pull}110829[#110829]
  175. CRUD::
  176. * Deprecate dot-prefixed indices and composable template index patterns {es-pull}112571[#112571]
  177. Search::
  178. * Adding deprecation warnings for rrf using rank and `sub_searches` {es-pull}114854[#114854]
  179. * Deprecate legacy params from range query {es-pull}113286[#113286]
  180. [[enhancement-8.16.0]]
  181. [float]
  182. === Enhancements
  183. Aggregations::
  184. * Account for `DelayedBucket` before reduction {es-pull}113013[#113013]
  185. * Add protection for OOM during aggregations partial reduction {es-pull}110520[#110520]
  186. * Deduplicate `BucketOrder` when deserializing {es-pull}112707[#112707]
  187. * Lower the memory footprint when creating `DelayedBucket` {es-pull}112519[#112519]
  188. * Reduce heap usage for `AggregatorsReducer` {es-pull}112874[#112874]
  189. * Remove reduce and `reduceContext` from `DelayedBucket` {es-pull}112547[#112547]
  190. Allocation::
  191. * Add link to flood-stage watermark exception message {es-pull}111315[#111315]
  192. * Always allow rebalancing by default {es-pull}111015[#111015]
  193. Application::
  194. * [Profiling] add `container.id` field to event index template {es-pull}111969[#111969]
  195. Authorization::
  196. * Add manage roles privilege {es-pull}110633[#110633]
  197. * Add privileges required for CDR misconfiguration features to work on AWS SecurityHub integration {es-pull}112574[#112574]
  198. Codec::
  199. * Remove zstd feature flag for index codec best compression {es-pull}112665[#112665]
  200. * [8.x] Remove zstd feature flag for index codec best compression {es-pull}112857[#112857]
  201. Data streams::
  202. * Add 'verbose' flag retrieving `maximum_timestamp` for get data stream API {es-pull}112303[#112303]
  203. * Display effective retention in the relevant data stream APIs {es-pull}112019[#112019]
  204. * Expose global retention settings via data stream lifecycle API {es-pull}112210[#112210]
  205. * Ignore warning on yaml test put template {es-pull}116201[#116201] (issue: {es-issue}116158[#116158])
  206. * Make ecs@mappings work with OTel attributes {es-pull}111600[#111600]
  207. Distributed::
  208. * Add link to Max Shards Per Node exception message {es-pull}110993[#110993]
  209. ES|QL::
  210. * Add EXP ES|QL function {es-pull}110879[#110879]
  211. * Delay construction of warnings {es-pull}114368[#114368]
  212. * Add `CircuitBreaker` to TDigest, Step 3: Connect with ESQL CB {es-pull}113387[#113387]
  213. * Add `CircuitBreaker` to TDigest, Step 4: Take into account shallow classes size {es-pull}113613[#113613] (issue: {es-issue}113916[#113916])
  214. * Collect and display execution metadata for ES|QL cross cluster searches {es-pull}112595[#112595] (issue: {es-issue}112402[#112402])
  215. * Add support for multivalue fields in Arrow output {es-pull}114774[#114774]
  216. * BUCKET: allow numerical spans as whole numbers {es-pull}111874[#111874] (issues: {es-issue}104646[#104646], {es-issue}109340[#109340], {es-issue}105375[#105375])
  217. * Have BUCKET generate friendlier intervals {es-pull}111879[#111879] (issue: {es-issue}110916[#110916])
  218. * Profile more timing information {es-pull}111855[#111855]
  219. * Push down filters even in case of renames in Evals {es-pull}114411[#114411]
  220. * Speed up CASE for some parameters {es-pull}112295[#112295]
  221. * Speed up grouping by bytes {es-pull}114021[#114021]
  222. * Use less memory in listener {es-pull}114358[#114358]
  223. * Add support for cached strings in plan serialization {es-pull}112929[#112929]
  224. * Add Telemetry API and track top functions {es-pull}111226[#111226]
  225. * Enhance SORT push-down to Lucene to cover references to fields and ST_DISTANCE function {es-pull}112938[#112938] (issue: {es-issue}109973[#109973])
  226. * Siem ea 9521 improve test {es-pull}111552[#111552]
  227. * Support multi-valued fields in compute engine for ST_DISTANCE {es-pull}114836[#114836] (issue: {es-issue}112910[#112910])
  228. * Add `SPACE` function {es-pull}112350[#112350]
  229. * Add finish() elapsed time to aggregation profiling times {es-pull}113172[#113172] (issue: {es-issue}112950[#112950])
  230. * Make query wrapped by `SingleValueQuery` cacheable {es-pull}110116[#110116]
  231. * Add hypot function {es-pull}114382[#114382]
  232. * Cast mixed numeric types to a common numeric type for Coalesce and In at Analyzer {es-pull}111917[#111917] (issue: {es-issue}111486[#111486])
  233. * Combine Disjunctive CIDRMatch {es-pull}111501[#111501] (issue: {es-issue}105143[#105143])
  234. * Create `Range` in `PushFiltersToSource` for qualified pushable filters on the same field {es-pull}111437[#111437]
  235. * Name parameter with leading underscore {es-pull}111950[#111950] (issue: {es-issue}111821[#111821])
  236. * Named parameter for field names and field name patterns {es-pull}112905[#112905]
  237. * Validate index name in parser {es-pull}112081[#112081]
  238. * Add reverse function {es-pull}113297[#113297]
  239. * Explicit cast a string literal to `date_period` and `time_duration` in arithmetic operations {es-pull}109193[#109193]
  240. Experiences::
  241. * Integrate IBM watsonx to Inference API for text embeddings {es-pull}111770[#111770]
  242. Geo::
  243. * Add support for spatial relationships in point field mapper {es-pull}112126[#112126]
  244. * Small performance improvement in h3 library {es-pull}113385[#113385]
  245. * Support docvalues only query in shape field {es-pull}112199[#112199]
  246. Health::
  247. * (API) Cluster Health report `unassigned_primary_shards` {es-pull}112024[#112024]
  248. * Do not treat replica as unassigned if primary recently created and unassigned time is below a threshold {es-pull}112066[#112066]
  249. ILM+SLM::
  250. * ILM: Add `total_shards_per_node` setting to searchable snapshot {es-pull}112972[#112972] (issue: {es-issue}112261[#112261])
  251. * PUT slm policy should only increase version if actually changed {es-pull}111079[#111079]
  252. * Preserve Step Info Across ILM Auto Retries {es-pull}113187[#113187]
  253. * Register SLM run before snapshotting to save stats {es-pull}110216[#110216]
  254. * SLM interval schedule followup - add back `getFieldName` style getters {es-pull}112123[#112123]
  255. Infra/Core::
  256. * Add nanos support to `ZonedDateTime` serialization {es-pull}111689[#111689] (issue: {es-issue}68292[#68292])
  257. * Extend logging for dropped warning headers {es-pull}111624[#111624] (issue: {es-issue}90527[#90527])
  258. * Give the kibana system user permission to read security entities {es-pull}114363[#114363]
  259. Infra/Metrics::
  260. * Add `TaskManager` to `pluginServices` {es-pull}112687[#112687]
  261. Infra/REST API::
  262. * Optimize the loop processing of URL decoding {es-pull}110237[#110237] (issue: {es-issue}110235[#110235])
  263. Infra/Scripting::
  264. * Expose `HexFormat` in Painless {es-pull}112412[#112412]
  265. Infra/Settings::
  266. * Improve exception message for bad environment variable placeholders in settings {es-pull}114552[#114552] (issue: {es-issue}110858[#110858])
  267. * Reprocess operator file settings when settings service starts, due to node restart or master node change {es-pull}114295[#114295]
  268. Ingest Node::
  269. * Add `size_in_bytes` to enrich cache stats {es-pull}110578[#110578]
  270. * Add support for templates when validating mappings in the simulate ingest API {es-pull}111161[#111161]
  271. * Adding `index_template_substitutions` to the simulate ingest API {es-pull}114128[#114128]
  272. * Adding component template substitutions to the simulate ingest API {es-pull}113276[#113276]
  273. * Adding mapping validation to the simulate ingest API {es-pull}110606[#110606]
  274. * Adds example plugin for custom ingest processor {es-pull}112282[#112282] (issue: {es-issue}111539[#111539])
  275. * Fix unnecessary mustache template evaluation {es-pull}110986[#110986] (issue: {es-issue}110191[#110191])
  276. * Listing all available databases in the _ingest/geoip/database API {es-pull}113498[#113498]
  277. * Make enrich cache based on memory usage {es-pull}111412[#111412] (issue: {es-issue}106081[#106081])
  278. * Tag redacted document in ingest metadata {es-pull}113552[#113552]
  279. * Verify Maxmind database types in the geoip processor {es-pull}114527[#114527]
  280. Logs::
  281. * Add validation for synthetic source mode in logs mode indices {es-pull}110677[#110677]
  282. * Store original source for keywords using a normalizer {es-pull}112151[#112151]
  283. Machine Learning::
  284. * Add Completion Inference API for Alibaba Cloud AI Search Model {es-pull}112512[#112512]
  285. * Add Streaming Inference spec {es-pull}113812[#113812]
  286. * Add chunking settings configuration to `CohereService,` `AmazonBedrockService,` and `AzureOpenAiService` {es-pull}113897[#113897]
  287. * Add chunking settings configuration to `ElasticsearchService/ELSER` {es-pull}114429[#114429]
  288. * Add custom rule parameters to force time shift {es-pull}110974[#110974]
  289. * Adding chunking settings to `GoogleVertexAiService,` `AzureAiStudioService,` and `AlibabaCloudSearchService` {es-pull}113981[#113981]
  290. * Adding chunking settings to `MistralService,` `GoogleAiStudioService,` and `HuggingFaceService` {es-pull}113623[#113623]
  291. * Adds a new Inference API for streaming responses back to the user. {es-pull}113158[#113158]
  292. * Allow users to force a detector to shift time series state by a specific amount {ml-pull}2695[#2695]
  293. * Create `StreamingHttpResultPublisher` {es-pull}112026[#112026]
  294. * Create an ml node inference endpoint referencing an existing model {es-pull}114750[#114750]
  295. * Default inference endpoint for ELSER {es-pull}113873[#113873]
  296. * Default inference endpoint for the multilingual-e5-small model {es-pull}114683[#114683]
  297. * Dynamically get of num allocations {es-pull}114636[#114636]
  298. * Enable OpenAI Streaming {es-pull}113911[#113911]
  299. * Filter empty task settings objects from the API response {es-pull}114389[#114389]
  300. * Migrate Inference to `ChunkedToXContent` {es-pull}111655[#111655]
  301. * Register Task while Streaming {es-pull}112369[#112369]
  302. * Server-Sent Events for Inference response {es-pull}112565[#112565]
  303. * Stream Anthropic Completion {es-pull}114321[#114321]
  304. * Stream Azure Completion {es-pull}114464[#114464]
  305. * Stream Bedrock Completion {es-pull}114732[#114732]
  306. * Stream Cohere Completion {es-pull}114080[#114080]
  307. * Stream Google Completion {es-pull}114596[#114596]
  308. * Stream OpenAI Completion {es-pull}112677[#112677]
  309. * Support sparse embedding models in the elasticsearch inference service {es-pull}112270[#112270]
  310. * Switch default chunking strategy to sentence {es-pull}114453[#114453]
  311. * Update the Pytorch library to version 2.3.1 {ml-pull}2688[#2688]
  312. * Upgrade to AWS SDK v2 {es-pull}114309[#114309] (issue: {es-issue}110590[#110590])
  313. * Use the same chunking configurations for models in the Elasticsearch service {es-pull}111336[#111336]
  314. * Validate streaming HTTP Response {es-pull}112481[#112481]
  315. * Wait for allocation on scale up {es-pull}114719[#114719]
  316. * [Inference API] Add Alibaba Cloud AI Search Model support to Inference API {es-pull}111181[#111181]
  317. * [Inference API] Add Docs for AlibabaCloud AI Search Support for the Inference API {es-pull}111181[#111181]
  318. * [Inference API] Introduce Update API to change some aspects of existing inference endpoints {es-pull}114457[#114457]
  319. * [Inference API] Prevent inference endpoints from being deleted if they are referenced by semantic text {es-pull}110399[#110399]
  320. * [Inference API] alibabacloud ai search service support chunk infer to support semantic_text field {es-pull}110399[#110399]
  321. Mapping::
  322. * Add Field caps support for Semantic Text {es-pull}111809[#111809]
  323. * Add Lucene segment-level fields stats {es-pull}111123[#111123]
  324. * Add Search Inference ID To Semantic Text Mapping {es-pull}113051[#113051]
  325. * Add object param for keeping synthetic source {es-pull}113690[#113690]
  326. * Add support for multi-value dimensions {es-pull}112645[#112645] (issue: {es-issue}110387[#110387])
  327. * Allow dimension fields to have multiple values in standard and logsdb index mode {es-pull}112345[#112345] (issues: {es-issue}112232[#112232], {es-issue}112239[#112239])
  328. * Allow fields with dots in sparse vector field mapper {es-pull}111981[#111981] (issue: {es-issue}109118[#109118])
  329. * Allow querying `index_mode` {es-pull}110676[#110676]
  330. * Configure keeping source in `FieldMapper` {es-pull}112706[#112706]
  331. * Control storing array source with index setting {es-pull}112397[#112397]
  332. * Introduce mode `subobjects=auto` for objects {es-pull}110524[#110524]
  333. * Update `semantic_text` field to support indexing numeric and boolean data types {es-pull}111284[#111284]
  334. * Use fallback synthetic source for `copy_to` and doc_values: false cases {es-pull}112294[#112294] (issues: {es-issue}110753[#110753], {es-issue}110038[#110038], {es-issue}109546[#109546])
  335. Network::
  336. * Add links to network disconnect troubleshooting {es-pull}112330[#112330]
  337. Ranking::
  338. * Add timeout and cancellation check to rescore phase {es-pull}115048[#115048]
  339. Relevance::
  340. * Add a query rules tester API call {es-pull}114168[#114168]
  341. Search::
  342. * Add more `dense_vector` details for cluster stats field stats {es-pull}113607[#113607]
  343. * Add range and regexp Intervals {es-pull}111465[#111465]
  344. * Adding support for `allow_partial_search_results` in PIT {es-pull}111516[#111516]
  345. * Allow incubating Panama Vector in simdvec, and add vectorized `ipByteBin` {es-pull}112933[#112933]
  346. * Avoid using concurrent collector manager in `LuceneChangesSnapshot` {es-pull}113816[#113816]
  347. * Bool query early termination should also consider `must_not` clauses {es-pull}115031[#115031]
  348. * Deduplicate Kuromoji User Dictionary {es-pull}112768[#112768]
  349. * Multi term intervals: increase max_expansions {es-pull}112826[#112826] (issue: {es-issue}110491[#110491])
  350. * Search coordinator uses `event.ingested` in cluster state to do rewrites {es-pull}111523[#111523]
  351. * Update cluster stats for retrievers {es-pull}114109[#114109]
  352. Security::
  353. * (logger) change from error to warn for short circuiting user {es-pull}112895[#112895]
  354. * Add asset criticality indices for `kibana_system_user` {es-pull}113588[#113588]
  355. * Add tier preference to security index settings allowlist {es-pull}111818[#111818]
  356. * [Service Account] Add `AutoOps` account {es-pull}111316[#111316]
  357. Snapshot/Restore::
  358. * Add `max_multipart_parts` setting to S3 repository {es-pull}113989[#113989]
  359. * Add support for Azure Managed Identity {es-pull}111344[#111344]
  360. * Add telemetry for repository usage {es-pull}112133[#112133]
  361. * Add workaround for missing shard gen blob {es-pull}112337[#112337]
  362. * Clean up dangling S3 multipart uploads {es-pull}111955[#111955] (issues: {es-issue}101169[#101169], {es-issue}44971[#44971])
  363. * Execute shard snapshot tasks in shard-id order {es-pull}111576[#111576] (issue: {es-issue}108739[#108739])
  364. * Include account name in Azure settings exceptions {es-pull}111274[#111274]
  365. * Introduce repository integrity verification API {es-pull}112348[#112348] (issue: {es-issue}52622[#52622])
  366. Stats::
  367. * Track search and fetch failure stats {es-pull}113988[#113988]
  368. TSDB::
  369. * Add support for boolean dimensions {es-pull}111457[#111457] (issue: {es-issue}111338[#111338])
  370. * Stop iterating over all fields to extract @timestamp value {es-pull}110603[#110603] (issue: {es-issue}92297[#92297])
  371. * Support booleans in routing path {es-pull}111445[#111445]
  372. Vector Search::
  373. * Dense vector field types updatable for int4 {es-pull}110928[#110928]
  374. * Use native scalar scorer for int8_flat index {es-pull}111071[#111071]
  375. [[feature-8.16.0]]
  376. [float]
  377. === New features
  378. Data streams::
  379. * Introduce global retention in data stream lifecycle. {es-pull}111972[#111972]
  380. * X-pack/plugin/otel: introduce x-pack-otel plugin {es-pull}111091[#111091]
  381. ES|QL::
  382. * Add match function {es-pull}113374[#113374]
  383. * Add `MV_PSERIES_WEIGHTED_SUM` for score calculations used by security solution {es-pull}109017[#109017]
  384. * Add async ID and `is_running` headers to ESQL async query {es-pull}111840[#111840]
  385. * Add boolean support to Max and Min aggs {es-pull}110527[#110527]
  386. * Add boolean support to TOP aggregation {es-pull}110718[#110718]
  387. * Added `mv_percentile` function {es-pull}111749[#111749] (issue: {es-issue}111591[#111591])
  388. * Introduce per agg filter {es-pull}113735[#113735]
  389. * Strings support for MAX and MIN aggregations {es-pull}111544[#111544]
  390. * Support IP fields in MAX and MIN aggregations {es-pull}110921[#110921]
  391. * TOP aggregation IP support {es-pull}111105[#111105]
  392. * TOP support for strings {es-pull}113183[#113183] (issue: {es-issue}109849[#109849])
  393. * `mv_median_absolute_deviation` function {es-pull}112055[#112055] (issue: {es-issue}111590[#111590])
  394. * Add MATCH operator {es-pull}110971[#110971]
  395. ILM+SLM::
  396. * SLM Interval based scheduling {es-pull}110847[#110847]
  397. Inference::
  398. * EIS integration {es-pull}111154[#111154]
  399. Ingest Node::
  400. * Add a `terminate` ingest processor {es-pull}114157[#114157] (issue: {es-issue}110218[#110218])
  401. Machine Learning::
  402. * Inference autoscaling {es-pull}109667[#109667]
  403. * Telemetry for inference adaptive allocations {es-pull}110630[#110630]
  404. Relevance::
  405. * [Query rules] Add `exclude` query rule type {es-pull}111420[#111420]
  406. Search::
  407. * Async search: Add ID and "is running" http headers {es-pull}112431[#112431] (issue: {es-issue}109576[#109576])
  408. * Cross-cluster search telemetry {es-pull}113825[#113825]
  409. Vector Search::
  410. * Adding new bbq index types behind a feature flag {es-pull}114439[#114439]
  411. [[upgrade-8.16.0]]
  412. [float]
  413. === Upgrades
  414. Infra/Core::
  415. * Upgrade xcontent to Jackson 2.17.0 {es-pull}111948[#111948]
  416. * Upgrade xcontent to Jackson 2.17.2 {es-pull}112320[#112320]
  417. Infra/Metrics::
  418. * Update APM Java Agent to support JDK 23 {es-pull}115194[#115194] (issues: {es-issue}115101[#115101], {es-issue}115100[#115100])
  419. Search::
  420. * Upgrade to Lucene 9.12 {es-pull}113333[#113333]
  421. Snapshot/Restore::
  422. * Upgrade Azure SDK {es-pull}111225[#111225]
  423. * Upgrade `repository-azure` dependencies {es-pull}112277[#112277]
  424. [discrete]
  425. [[known-issues-8.16.0]]
  426. === Known issues
  427. {esql}::
  428. * Some valid queries using an `ENRICH` command can fail when a match field is used that is absent from some indices or shards, either with a 500 status code due to `NullPointerException` or `ClassCastException` or with a 400 status code and `IllegalArgumentException`. This is fixed in {es-pull}126187[#126187].
  429. * A bug in the ES|QL STATS command may yield incorrect results. The bug only happens in very specific cases that follow this pattern: `STATS ... BY keyword1, keyword2`, i.e. the command must have exactly two grouping fields, both keywords, where the first field has high cardinality (more than 65k distinct values).
  430. The bug is described in detail in [this issue](https://github.com/elastic/elasticsearch/issues/130644).
  431. The problem was introduced in 8.16.0 and [fixed](https://github.com/elastic/elasticsearch/pull/130705) in 8.17.9, 8.18.7.
  432. Possible workarounds include:
  433. * switching the order of the grouping keys (eg. `STATS ... BY keyword2, keyword1`, if the `keyword2` has a lower cardinality)
  434. * reducing the grouping key cardinality, by filtering out values before STATS