8.7.0.asciidoc 19 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392
  1. [[release-notes-8.7.0]]
  2. == {es} version 8.7.0
  3. Also see <<breaking-changes-8.7,Breaking changes in 8.7>>.
  4. [[known-issues-8.7.0]]
  5. [float]
  6. === Known issues
  7. include::8.6.0.asciidoc[tag=reconciliation-imbalance-known-issue]
  8. [[breaking-8.7.0]]
  9. [float]
  10. === Breaking changes
  11. Ingest Node::
  12. * Making `JsonProcessor` stricter so that it does not silently drop data {es-pull}93179[#93179] (issue: {es-issue}92898[#92898])
  13. [[bug-8.7.0]]
  14. [float]
  15. === Bug fixes
  16. Aggregations::
  17. * Don't create a new `DoubleHistogram` instance for empty buckets {es-pull}92547[#92547]
  18. * Fix: do not allow map key types other than String {es-pull}88686[#88686] (issue: {es-issue}66057[#66057])
  19. Allocation::
  20. * Fallback to the actual shard size when forecast is not available {es-pull}93461[#93461]
  21. * Skip `DiskThresholdMonitor` when cluster state is not recovered {es-pull}93699[#93699]
  22. * Suppress response headers in `AllocationActionMultiListener` {es-pull}93777[#93777] (issue: {es-issue}93773[#93773])
  23. Authentication::
  24. * Correctly remove domain from realm when rewriting `Authentication` for compatibility with node versions that don't
  25. support domains {es-pull}93276[#93276]
  26. Authorization::
  27. * Fix Security's expression resolver to not remove unavailable but authorized names {es-pull}92625[#92625]
  28. CCR::
  29. * Deduplicate Heavy CCR Repository CS Requests {es-pull}91398[#91398]
  30. CRUD::
  31. * Avoid NPE in Stateless Get/mGet {es-pull}94164[#94164]
  32. * Do not refresh all indices in `TransportBulkAction` {es-pull}93417[#93417]
  33. Cluster Coordination::
  34. * Delay master task failure notifications until commit {es-pull}92693[#92693] (issue: {es-issue}92677[#92677])
  35. Data streams::
  36. * Allow different filters per `DataStream` in a `DataStreamAlias` {es-pull}92692[#92692] (issue: {es-issue}92050[#92050])
  37. Geo::
  38. * Build index qualified name in cross cluster vector tile search {es-pull}94574[#94574] (issue: {es-issue}94557[#94557])
  39. * Check `GeohexGrid` bounds on geopoint using spherical coordinates {es-pull}92460[#92460]
  40. * Fix bug when clipping Geometry collections in vector tiles {es-pull}93562[#93562]
  41. Health::
  42. * Take into account `max_headroom` in disk watermark calculations {es-pull}93157[#93157] (issue: {es-issue}93155[#93155])
  43. ILM+SLM::
  44. * Allow ILM step transition to the phase terminal step {es-pull}91754[#91754]
  45. * Avoiding `BulkProcessor` deadlock in ILMHistoryStore {es-pull}91238[#91238] (issues: {es-issue}68468[#68468], {es-issue}50440[#50440])
  46. * Fixed changing only the `forceMerge` flag in `SearchableSnapshotAction` wouldn't update the policy {es-pull}93847[#93847]
  47. * Preventing ILM and SLM runtime state from being stored in a snapshot {es-pull}92252[#92252]
  48. Infra/CLI::
  49. * Restore printing bootstrap checks as errors {es-pull}93178[#93178] (issue: {es-issue}93074[#93074])
  50. Infra/Core::
  51. * Add `jdk.internal.reflect` permission to es codebase {es-pull}92387[#92387] (issue: {es-issue}92356[#92356])
  52. * Add checks for exception loops through suppressed exceptions only {es-pull}93944[#93944] (issue: {es-issue}93943[#93943])
  53. * Ensure one-shot wrappers release their delegates {es-pull}92928[#92928]
  54. * Fix `InputStream#readAllBytes` on `InputStreamIndexInput` {es-pull}92680[#92680]
  55. * Fix indices resolver for datemath with colon {es-pull}92973[#92973]
  56. * Make `FilterStreamInput` less trappy {es-pull}92422[#92422]
  57. Infra/Plugins::
  58. * Ensure ordering of plugin initialization {es-pull}93882[#93882] (issue: {es-issue}93851[#93851])
  59. * Fix unclosed directory stream in `ClassReaders` {es-pull}92890[#92890] (issue: {es-issue}92866[#92866])
  60. * Update the version of asm used by plugin scanner {es-pull}92784[#92784] (issue: {es-issue}92782[#92782])
  61. Infra/REST API::
  62. * [Rest Api Compatibility] Format response media type with parameters {es-pull}92695[#92695]
  63. Infra/Scripting::
  64. * Fix NPE when method was called on an array type {es-pull}91713[#91713] (issue: {es-issue}87562[#87562])
  65. Infra/Settings::
  66. * Fix parse failures for ILM operator settings {es-pull}94477[#94477] (issue: {es-issue}94465[#94465])
  67. Ingest Node::
  68. * Better names and types for ingest stats {es-pull}93533[#93533] (issue: {es-issue}80763[#80763])
  69. * Correctly handle an exception case for ingest failure {es-pull}92455[#92455]
  70. * Disable ingest-attachment logging {es-pull}93878[#93878]
  71. * Download the geoip databases only when needed {es-pull}92335[#92335] (issue: {es-issue}90673[#90673])
  72. * Forwarding simulate calls to ingest nodes {es-pull}92171[#92171]
  73. * Grok returns a list of matches for repeated pattern names #92092 {es-pull}92586[#92586] (issue: {es-issue}92092[#92092])
  74. * Handle a default/request pipeline and a final pipeline with minimal additional overhead {es-pull}93329[#93329] (issues: {es-issue}92843[#92843], {es-issue}81244[#81244], {es-issue}93118[#93118])
  75. * Ingest-attachment module tika dependency versions {es-pull}93755[#93755]
  76. * More accurate total ingest stats {es-pull}91730[#91730] (issue: {es-issue}91358[#91358])
  77. * Speed up ingest geoip processors {es-pull}92372[#92372]
  78. * Speed up ingest set and append processors {es-pull}92395[#92395]
  79. Machine Learning::
  80. * Allocate trained models if zone awareness attributes not set {es-pull}94128[#94128] (issue: {es-issue}94123[#94123])
  81. * Fix data counts race condition when starting a datafeed {es-pull}93324[#93324] (issue: {es-issue}93298[#93298])
  82. * Fix tokenization bug when handling normalization in BERT and MPNet {es-pull}92329[#92329]
  83. * Free resources correctly when model loading is cancelled {es-pull}92204[#92204]
  84. * Stop the `frequent_items` aggregation reporting a subset when a superset exists {es-pull}92239[#92239]
  85. * Use long inference timeout at ingest {es-pull}93731[#93731]
  86. Mapping::
  87. * Fix dynamic mapping detection for invalid dates {es-pull}94115[#94115] (issue: {es-issue}93888[#93888])
  88. * No length check for source-only keyword fields {es-pull}93299[#93299] (issue: {es-issue}9304[#9304])
  89. Network::
  90. * Delay Connection#onRemoved while pending {es-pull}92546[#92546]
  91. * Fix fransport handshake starting before tls handshake completes {es-pull}90534[#90534] (issue: {es-issue}77999[#77999])
  92. * Protect `NodeConnectionsService` from stale conns {es-pull}92558[#92558] (issue: {es-issue}92029[#92029])
  93. Recovery::
  94. * Disable recovery monitor before recovery start {es-pull}93551[#93551] (issue: {es-issue}93542[#93542])
  95. * Fix potential leak in `RemoteRecoveryHandler` {es-pull}91802[#91802]
  96. * Report recovered files as recovered from snapshot for fully mounted searchable snapshots {es-pull}92976[#92976]
  97. Rollup::
  98. * Downsampling unmapped text fields {es-pull}94387[#94387] (issue: {es-issue}94346[#94346])
  99. * Propagate timestamp format and convert nanoseconds to milliseconds {es-pull}94141[#94141] (issue: {es-issue}94085[#94085])
  100. * Stop processing `TransportDownsampleAction` on failure {es-pull}94624[#94624]
  101. * Support downsampling of histogram as labels {es-pull}93445[#93445] (issue: {es-issue}93263[#93263])
  102. Search::
  103. * Add null check for sort fields over collapse fields {es-pull}94546[#94546] (issue: {es-issue}94407[#94407])
  104. * Annotated highlighter does not match when search contains both annotation and annotated term {es-pull}92920[#92920] (issue: {es-issue}91944[#91944])
  105. * Clear field caps index responses on cancelled {es-pull}93716[#93716] (issue: {es-issue}93029[#93029])
  106. * Do not include frozen indices in PIT by default {es-pull}94377[#94377]
  107. * Fix NPE thrown by prefix query in strange scenarios {es-pull}94369[#94369]
  108. * Fix _id field fetch issue. {es-pull}94528[#94528] (issue: {es-issue}94515[#94515])
  109. * Fix metadata `_size` when it comes to stored fields extraction {es-pull}94483[#94483] (issue: {es-issue}94468[#94468])
  110. * Fix missing override for matches in `ProfileWeight` {es-pull}92360[#92360]
  111. * Nested path info shouldn't be added during `copy_to` {es-pull}93340[#93340] (issue: {es-issue}93117[#93117])
  112. * Use all profiling events on startup {es-pull}92087[#92087]
  113. * Use keyword analyzer for untokenized fields in `TermVectorsService` {es-pull}94518[#94518]
  114. * [Profiling] Adjust handling of last data slice {es-pull}94283[#94283]
  115. * [Profiling] Ensure responses are only sent once {es-pull}93692[#93692] (issue: {es-issue}93691[#93691])
  116. * [Profiling] Handle response processing errors {es-pull}93860[#93860]
  117. Snapshot/Restore::
  118. * Fix unhandled exception when blobstore repository contains unexpected file {es-pull}93914[#93914]
  119. * Support for GCS proxies everywhere in the GCS API {es-pull}92192[#92192] (issue: {es-issue}91952[#91952])
  120. Stats::
  121. * Avoid capturing cluster state in TBbNA {es-pull}92255[#92255]
  122. TSDB::
  123. * Fix synthetic `_source` for sparse `_doc_count` field {es-pull}91769[#91769] (issue: {es-issue}91731[#91731])
  124. Task Management::
  125. * Fix context leak in list tasks API {es-pull}93431[#93431] (issue: {es-issue}93428[#93428])
  126. Transform::
  127. * Integrate "sourceHasChanged" call into failure handling and retry logic {es-pull}92762[#92762] (issue: {es-issue}92133[#92133])
  128. Vector Search::
  129. * Fix `maxScore` calculation for kNN search {es-pull}93875[#93875]
  130. * Fix explain for kNN search matches {es-pull}93876[#93876]
  131. [[enhancement-8.7.0]]
  132. [float]
  133. === Enhancements
  134. Aggregations::
  135. * Optimize composite agg with leading global ordinal value source {es-pull}92197[#92197]
  136. Allocation::
  137. * Add `forecasted_write_load` and `forecasted_shard_size_in_bytes` to the endpoint {es-pull}92303[#92303]
  138. * Expose tier balancing stats via internal endpoint {es-pull}92199[#92199]
  139. * Introduce ShardRouting.Role {es-pull}92668[#92668]
  140. * Prevalidate node removal API (pt. 2) {es-pull}91256[#91256] (issue: {es-issue}87776[#87776])
  141. * Simulate moves using cluster_concurrent_rebalance=2 {es-pull}93977[#93977]
  142. * Unpromotables skip replication and peer recovery {es-pull}93210[#93210]
  143. Authentication::
  144. * Add new `token_type` setting to JWT realm {es-pull}91536[#91536]
  145. * JWT realm - Initial support for access tokens {es-pull}91781[#91781]
  146. * JWT realm - Simplify token principal calculation {es-pull}92315[#92315]
  147. * JWT realm - add support for required claims {es-pull}92314[#92314]
  148. * Support custom PBKDF2 password hashes {es-pull}92871[#92871]
  149. Authorization::
  150. * Allowed indices matcher supports nested limited roles {es-pull}93306[#93306]
  151. * Extra `kibana_system` privileges for Fleet transform upgrades {es-pull}91499[#91499]
  152. * Pre-authorize child search transport actions {es-pull}91886[#91886]
  153. Cluster Coordination::
  154. * Add links to troubleshooting docs {es-pull}92755[#92755] (issue: {es-issue}92741[#92741])
  155. * Improve node-{join,left} logging for troubleshooting {es-pull}92742[#92742]
  156. * Repeat `cluster.initial_master_nodes` log warning {es-pull}92744[#92744]
  157. EQL::
  158. * EQL Samples: add support for multiple samples per key {es-pull}91783[#91783]
  159. Engine::
  160. * Add commits listener for `InternalEngine` and `CombinedDeletionPolicy` {es-pull}92017[#92017]
  161. * Add primary term supplier to Engine.IndexCommitListener {es-pull}92101[#92101]
  162. * Adjust range of allowed percentages of deletes in an index {es-pull}93188[#93188]
  163. * Diff the list of filenames that are added by each new commit {es-pull}92238[#92238]
  164. * Set a fixed compound file threshold of 1GB {es-pull}92659[#92659]
  165. Geo::
  166. * Add methods to H3#hexRing to prevent allocating long arrays {es-pull}92711[#92711]
  167. * Add methods to prevent allocating long arrays during child navigation on H3 api {es-pull}92099[#92099]
  168. * Add new H3 api method #h3ToNoChildrenIntersecting {es-pull}91673[#91673]
  169. * In H3, compute destination point from distance and azimuth using planar 3d math" {es-pull}93084[#93084]
  170. * Protect H3 library against integer overflow {es-pull}92829[#92829]
  171. * Reduce number of object allocations in H3#h3ToGeoBoundary {es-pull}91586[#91586]
  172. * Speed H3 library by using `FastMath` implementation for trigonometric functions {es-pull}91839[#91839]
  173. Health::
  174. * Expose Health Api telemetry via xpack {es-pull}91708[#91708] (issue: {es-issue}90877[#90877])
  175. * Health api stats {es-pull}91559[#91559]
  176. Indices APIs::
  177. * Add `ignore_missing_component_templates` config option {es-pull}92436[#92436] (issue: {es-issue}92426[#92426])
  178. Infra/CLI::
  179. * Scan stable plugins for named components upon install {es-pull}92528[#92528]
  180. Infra/Core::
  181. * Add log level for JVM logs {es-pull}92382[#92382]
  182. * Added new field `rollout_duration_seconds` to fleet-actions {es-pull}92640[#92640]
  183. * Bind the readiness service to the wildcard address {es-pull}91329[#91329] (issue: {es-issue}90997[#90997])
  184. * Provide locally mounted secure settings implementation {es-pull}93392[#93392]
  185. Infra/Plugins::
  186. * Check stable plugin version at install and load time {es-pull}91780[#91780]
  187. * Example stable plugins with settings {es-pull}92334[#92334]
  188. * Load stable plugins as synthetic modules {es-pull}91869[#91869]
  189. * Settings api for stable plugins {es-pull}91467[#91467]
  190. Infra/Scripting::
  191. * Script: Metadata `validateMetadata` optimization {es-pull}93333[#93333]
  192. * Short-circuit painless def equality {es-pull}92102[#92102]
  193. * Use primitive types rather than boxing/unboxing for iterating over primitive arrays from defs {es-pull}92025[#92025]
  194. Ingest Node::
  195. * Cache the creation of parsers within DateProcessor {es-pull}92880[#92880]
  196. * Make `GeoIpProcessor` backing database instance pluggable {es-pull}93285[#93285]
  197. Machine Learning::
  198. * Add identification of multimodal distribution to anomaly explanations {ml-pull}2440[#2440]
  199. * Add the ability to include and exclude values in Frequent items {es-pull}92414[#92414]
  200. * Better error when `aggregate_metric_double` used in scrolling datafeeds {es-pull}92232[#92232] (issue: {es-issue}90592[#90592])
  201. * Implement extension pruning in frequent items to improve runtime {es-pull}92322[#92322]
  202. * Improve `frequent_items` performance using global ordinals {es-pull}93304[#93304]
  203. * Improve anomaly detection results indexing speed {es-pull}92417[#92417]
  204. * Improve frequent items runtime {es-pull}93255[#93255]
  205. * Increase the default timeout for the start trained model deployment API {es-pull}92328[#92328]
  206. * Option to delete user-added annotations for the reset/delete job APIs {es-pull}91698[#91698] (issue: {es-issue}74310[#74310])
  207. * Persist data counts and datafeed timing stats asynchronously {es-pull}93000[#93000]
  208. * Remove the PyTorch inference work queue as now handled in Elasticsearch {ml-pull}2456[#2456]
  209. * Text Embedding search {es-pull}93531[#93531]
  210. * Upgrade PyTorch to version 1.13.1 {ml-pull}2430[#2430]
  211. Mapping::
  212. * Switch to Lucene's new `IntField/LongField/FloatField/DoubleField` {es-pull}93165[#93165]
  213. Monitoring::
  214. * Add kibana.stats.elasticsearch_client stats to the monitoring index templates. {es-pull}91508[#91508]
  215. * Add monitoring mappings for es ingest metricset {es-pull}92950[#92950]
  216. Network::
  217. * Deserialize responses on the handling thread-pool {es-pull}91367[#91367]
  218. Performance::
  219. * Add vector distance scoring to micro benchmarks {es-pull}92340[#92340]
  220. Query Languages::
  221. * Introduce parameterized rule and executor {es-pull}92428[#92428]
  222. Recovery::
  223. * Make clean up files step configurable for peer-recovery of replicas {es-pull}92490[#92490]
  224. Search::
  225. * Access term dictionary more efficiently {es-pull}92269[#92269]
  226. * Add `term` query support to `rank_features` mapped field {es-pull}93247[#93247]
  227. * Add new `query_vector_builder` option to knn search clause {es-pull}93331[#93331]
  228. * Add profiling plugin {es-pull}91640[#91640]
  229. * Enable profiling plugin by default {es-pull}92787[#92787]
  230. * Get stackframes and executables more concurrently {es-pull}93559[#93559]
  231. * Improve the false positive rate of the bloom filter by setting 7 hash functions {es-pull}93283[#93283]
  232. * Increase the number of threads of GET threadpool {es-pull}92309[#92309]
  233. * Instrument Weight#count in ProfileWeight {es-pull}85656[#85656] (issue: {es-issue}85203[#85203])
  234. * Reduce memory usage of match all bitset {es-pull}92777[#92777]
  235. * Runtime fields to optionally ignore script errors {es-pull}92380[#92380]
  236. * Speed up retrieval of data for flamegraphs {es-pull}93448[#93448]
  237. * Support retrieving inlined stack frames {es-pull}92863[#92863]
  238. * [Profiling] Reduce GC pressure {es-pull}93590[#93590]
  239. Security::
  240. * Configurable retention period for invalidated or expired API keys {es-pull}92219[#92219]
  241. * Record timestamp on API key invalidation {es-pull}91873[#91873]
  242. Snapshot/Restore::
  243. * Make `RecoveryPlannerService` optional {es-pull}92489[#92489]
  244. TSDB::
  245. * Enable bloom filter for `_id` field in tsdb indices {es-pull}92115[#92115]
  246. * Improve downsampling performance by removing map lookups {es-pull}92494[#92494] (issue: {es-issue}90226[#90226])
  247. * Minor TSDB parsing speedup {es-pull}92276[#92276]
  248. * Skip duplicate checks on segments that don't contain the document's timestamp {es-pull}92456[#92456]
  249. * Support `fields` in synthetic source in last cases {es-pull}91595[#91595]
  250. Task Management::
  251. * `TransportGetTaskAction:` Wait for the task asynchronously {es-pull}93375[#93375]
  252. * `TransportListTaskAction:` wait for tasks to finish asynchronously {es-pull}90977[#90977] (issue: {es-issue}89564[#89564])
  253. Transform::
  254. * Add from parameter to Transform Start API {es-pull}91116[#91116] (issue: {es-issue}88646[#88646])
  255. * Support "offset" parameter in `DateHistogramGroupSource` {es-pull}93203[#93203]
  256. * Trigger state persistence based on time {es-pull}93221[#93221]
  257. Vector Search::
  258. * Allow `null` to be provided for `dense_vector` field values {es-pull}93388[#93388]
  259. * Allow more than one KNN search clause {es-pull}92118[#92118] (issue: {es-issue}91187[#91187])
  260. Watcher::
  261. * Add ability for Watcher's webhook actions to send additional header {es-pull}93426[#93426]
  262. [[feature-8.7.0]]
  263. [float]
  264. === New features
  265. Distributed::
  266. * Secure settings that can fall back to yml in Stateless {es-pull}91925[#91925]
  267. Geo::
  268. * Geohex aggregation on `geo_shape` field {es-pull}91956[#91956] (issue: {es-issue}90163[#90163])
  269. * Support geo_grid ingest processor {es-pull}93370[#93370] (issue: {es-issue}92473[#92473])
  270. Health::
  271. * The Health API is now generally available {es-pull}92879[#92879]
  272. * [HealthAPI] Add size parameter that controls the number of affected resources returned {es-pull}92399[#92399] (issue: {es-issue}91930[#91930])
  273. * [HealthAPI] Add support for the FEATURE_STATE affected resource {es-pull}92296[#92296] (issue: {es-issue}91353[#91353])
  274. Infra/Plugins::
  275. * [Fleet] Add files and files data index templates and ILM policies {es-pull}91413[#91413]
  276. Ingest Node::
  277. * Redact Ingest Processor {es-pull}92951[#92951]
  278. Machine Learning::
  279. * Make `frequent_item_sets` aggregation GA {es-pull}93421[#93421]
  280. * Make native inference generally available {es-pull}92213[#92213]
  281. TSDB::
  282. * Add a TSDB rate aggregation {es-pull}90447[#90447]
  283. * Downsampling GA {es-pull}92913[#92913]
  284. * Release time_series and rate (on counter fields) aggegations as tech preview {es-pull}93546[#93546]
  285. * Time series (TSDS) GA {es-pull}91519[#91519]
  286. Transform::
  287. * Transform _schedule_now API {es-pull}92948[#92948] (issue: {es-issue}44722[#44722])
  288. [[upgrade-8.7.0]]
  289. [float]
  290. === Upgrades
  291. Infra/Core::
  292. * Align all usages of Jackson to be 2.14.2 {es-pull}93438[#93438]
  293. Ingest Node::
  294. * Upgrading tika to 2.6.0 {es-pull}92104[#92104]
  295. Network::
  296. * Upgrade to Netty 4.1.85 {es-pull}91846[#91846]
  297. * Upgrade to Netty 4.1.86 {es-pull}92587[#92587]
  298. Query Languages::
  299. * Upgrade antlr to 4.11.1 for ql, eql and sql {es-pull}93238[#93238]
  300. Search::
  301. * Upgrade to Lucene 9.5.0 {es-pull}93385[#93385]
  302. * Upgrade to lucene-9.5.0-snapshot-d19c3e2e0ed {es-pull}92957[#92957]
  303. Snapshot/Restore::
  304. * Align all usages of protobuf to be 3.21.9 {es-pull}92123[#92123]
  305. * Bump reactor netty version {es-pull}92457[#92457]
  306. * Consolidate google-oauth-client to latest version {es-pull}91722[#91722]