[[release-notes-8.13.0]] == {es} version 8.13.0 Also see <>. [[known-issues-8.13.0]] [float] === Known issues * Due to a bug in the bundled JDK 22 nodes might crash abruptly under high memory pressure. We recommend <> asap to mitigate the issue. * Nodes upgraded to 8.13.0 fail to load downsampling persistent tasks. This prevents them from joining the cluster, blocking its upgrade (issue: {es-issue}106880[#106880]) + This affects clusters running version 8.10 or later, with an active downsampling https://www.elastic.co/guide/en/elasticsearch/reference/current/downsampling-ilm.html[configuration] or a configuration that was activated at some point since upgrading to version 8.10 or later. [[breaking-8.13.0]] [float] === Breaking changes ES|QL:: * ESQL: Grammar - FROM METADATA no longer requires [] {es-pull}105221[#105221] * ES|QL: remove PROJECT keyword from the grammar {es-pull}105064[#105064] * [ESQL] Remove is_nan, is_finite, and `is_infinite` {es-pull}104091[#104091] TSDB:: * Change `index.look_ahead_time` index setting's default value from 2 hours to 30 minutes. {es-pull}103898[#103898] * Lower the `look_ahead_time` index setting's max value from 7 days to 2 hours. {es-pull}103434[#103434] [[bug-8.13.0]] [float] === Bug fixes Aggregations:: * Disable parallel collection for terms aggregation with `min_doc_count` equals to 0 {es-pull}106156[#106156] * `GlobalOrdCardinalityAggregator` should use `HyperLogLogPlusPlus` instead of `HyperLogLogPlusPlusSparse` {es-pull}105546[#105546] Allocation:: * Fix disk computation when initializing new shards {es-pull}102879[#102879] * Fix disk computation when initializing unassigned shards in desired balance computation {es-pull}102207[#102207] Application:: * Fix Search Applications bug where deleting an alias before deleting an application intermittently caused errors {es-pull}106329[#106329] * Use search to determine if cluster contains data {es-pull}103920[#103920] * [Connector API] Bugfix: support list type in filtering advenced snippet value {es-pull}105633[#105633] * [Connector API] Fix default ordering in `SyncJob` list endpoint {es-pull}105945[#105945] * [Connector API] Fix serialisation of script params in connector index service {es-pull}106060[#106060] Authentication:: * Execute SAML authentication on the generic threadpool {es-pull}105232[#105232] (issue: {es-issue}104962[#104962]) Authorization:: * Adjust interception of requests for specific shard IDs {es-pull}101656[#101656] Client:: * Validate settings in `ReloadSecureSettings` API {es-pull}103176[#103176] Data streams:: * Apm-data: fix `@custom` component templates {es-pull}104182[#104182] * Avoid false-positive matches on intermediate objects in `ecs@mappings` {es-pull}105440[#105440] (issue: {es-issue}102794[#102794]) * Execute lazy rollover with an internal dedicated user #104732 {es-pull}104905[#104905] (issue: {es-issue}104732[#104732]) * Fix write index resolution when an alias is pointing to a TSDS {es-pull}104440[#104440] (issue: {es-issue}104189[#104189]) * x-pack/plugin/core: add `match_mapping_type` to `ecs@mappings` dynamic templates {es-pull}103035[#103035] Distributed:: * Fix logger Strings.format calls {es-pull}104573[#104573] * Request indexing memory pressure in APM node metrics publisher {es-pull}103520[#103520] ES|QL:: * ESQL: Add single value checks on LIKE/RLIKE pushdown {es-pull}103807[#103807] (issue: {es-issue}103806[#103806]) * ESQL: Correct out-of-range filter pushdowns {es-pull}99961[#99961] (issue: {es-issue}99960[#99960]) * ESQL: Fix Analyzer to not interpret escaped * as a pattern {es-pull}105325[#105325] (issue: {es-issue}104955[#104955]) * ESQL: Fix a bug loading unindexed text fields {es-pull}104553[#104553] * ESQL: Fix bug in grammar that allowed spaces inside id pattern {es-pull}105476[#105476] (issue: {es-issue}105441[#105441]) * ESQL: Fix replacement of nested expressions in aggs with multiple parameters {es-pull}104718[#104718] (issue: {es-issue}104706[#104706]) * ESQL: Fix wrong attribute shadowing in pushdown rules {es-pull}105650[#105650] (issue: {es-issue}105434[#105434]) * ESQL: Improve pushdown of certain filters {es-pull}103538[#103538] (issue: {es-issue}103536[#103536]) * ESQL: allow `null` in date math {es-pull}103610[#103610] (issue: {es-issue}103085[#103085]) * ESQL: make `cidr_match` foldable {es-pull}105403[#105403] (issue: {es-issue}105376[#105376]) * ES|QL: Disable optimizations that rely on Expression.nullable() {es-pull}105691[#105691] * ES|QL: Improve type validation in aggs for UNSIGNED_LONG better support for VERSION {es-pull}104911[#104911] (issue: {es-issue}102961[#102961]) * ES|QL: better management of exact subfields for TEXT fields {es-pull}103510[#103510] (issue: {es-issue}99899[#99899]) * Fix error on sorting unsortable `geo_point` and `cartesian_point` {es-pull}106351[#106351] (issue: {es-issue}106007[#106007]) * For empty mappings use a `LocalRelation` {es-pull}105081[#105081] (issue: {es-issue}104809[#104809]) * Resume driver when failing to fetch pages {es-pull}106392[#106392] (issue: {es-issue}106262[#106262]) * Review KEEP logic to prevent duplicate column names {es-pull}103316[#103316] * `ProjectOperator` should not retain references to released blocks {es-pull}105848[#105848] Engine:: * Consider currently refreshing data in the memory usage of refresh {es-pull}104122[#104122] * Release `TranslogSnapshot` buffer after iteration {es-pull}106398[#106398] (issue: {es-issue}106390[#106390]) Health:: * Make Health API more resilient to multi-version clusters {es-pull}105789[#105789] (issue: {es-issue}90183[#90183]) * Stop the periodic health logger when es is stopping {es-pull}105272[#105272] ILM+SLM:: * Remove `hashCode` and `equals` from `OperationModeUpdateTask` {es-pull}104265[#104265] (issue: {es-issue}100871[#100871]) * [ILM] Delete step deletes data stream with only one index {es-pull}105772[#105772] Indices APIs:: * Fix `require_alias` implicit true value on presence {es-pull}104099[#104099] (issue: {es-issue}103945[#103945]) Infra/CLI:: * Fix server cli to always pass through exit code {es-pull}104943[#104943] Infra/Core:: * Do not enable APM agent 'instrument', it's not required for manual tracing {es-pull}105055[#105055] * Fix bogus assertion tripped by force-executed tasks {es-pull}104581[#104581] (issue: {es-issue}104580[#104580]) * Metrics: Allow `AsyncCounters` to switch providers {es-pull}103025[#103025] * Metrics: Handle null observations in observers {es-pull}103091[#103091] Infra/Node Lifecycle:: * Close rather than stop `HttpServerTransport` on shutdown {es-pull}102759[#102759] (issue: {es-issue}102501[#102501]) Ingest Node:: * Add stable `ThreadPool` constructor to `LogstashInternalBridge` {es-pull}105163[#105163] * Adding `executedPipelines` to the `IngestDocument` copy constructor {es-pull}105427[#105427] * Revert "x-pack/plugin/apm-data: download geoip DB on pipeline creation" {es-pull}104505[#104505] * X-pack/plugin/apm-data: fix `@custom` pipeline support {es-pull}104113[#104113] Machine Learning:: * Allow GET inference models by user a with read only permission {es-pull}105346[#105346] * Avoid computing `currentInferenceProcessors` on every cluster state {es-pull}106057[#106057] * Catch all the potential exceptions in the ingest processor code {es-pull}105391[#105391] * Changed system auditor to use levels {es-pull}105429[#105429] * During ML maintenance, reset jobs in the reset state without a corresponding task {es-pull}106062[#106062] * Fix `categorize_text` aggregation nested under empty buckets {es-pull}105987[#105987] (issue: {es-issue}105836[#105836]) * Fix resetting a job if the original reset task no longer exists. {es-pull}106020[#106020] * Retry updates to model snapshot ID on job config {es-pull}104077[#104077] * The OpenAI model parameter should be in service settings not task settings. Move the configuration field to service settings {es-pull}105458[#105458] * Undeploy elser when inference model deleted {es-pull}104230[#104230] Mapping:: * Fix parsing of flattened fields within subobjects: false {es-pull}105373[#105373] Network:: * Fix use-after-free at event-loop shutdown {es-pull}105486[#105486] Search:: * Correct profiled rewrite time for knn with a pre-filter {es-pull}104150[#104150] * Force execution of `SearchService.Reaper` {es-pull}106544[#106544] (issue: {es-issue}106543[#106543]) * Move `TransportTermsEnumAction` coordination off transport threads {es-pull}104408[#104408] * Remove `SearchException` usages without a proper status code {es-pull}105150[#105150] * Require the name field for `inner_hits` for collapse {es-pull}104666[#104666] * add validation on _id field when upsert new doc {es-pull}103399[#103399] (issue: {es-issue}102981[#102981]) Security:: * Revert "Validate settings in `ReloadSecureSettings` API" {es-pull}103310[#103310] Snapshot/Restore:: * Do not record s3 http request time when it is not available {es-pull}105103[#105103] * `URLRepository` should not block shutdown {es-pull}105588[#105588] TLS:: * Respect --pass option in certutil csr mode {es-pull}106105[#106105] Transform:: * Fix `_reset` API when called with `force=true` on a failed transform {es-pull}106574[#106574] (issue: {es-issue}106573[#106573]) * Fix a bug where destination index aliases are not set up for an unattended transform {es-pull}105499[#105499] * Remove duplicate checkpoint audits {es-pull}105164[#105164] (issue: {es-issue}105106[#105106]) * Return results in order {es-pull}105089[#105089] (issue: {es-issue}104847[#104847]) * Use deduced mappings for determining proper fields' format even if `deduce_mappings==false` {es-pull}103682[#103682] (issue: {es-issue}103115[#103115]) Vector Search:: * Fix bug when nested knn pre-filter might match nested docs {es-pull}105994[#105994] Watcher:: * Handling exceptions on watcher reload {es-pull}105442[#105442] (issue: {es-issue}69842[#69842]) [[deprecation-8.13.0]] [float] === Deprecations Distributed:: * `DesiredNode:` deprecate `node_version` field and make it optional (unused) in current parser {es-pull}104209[#104209] Infra/Core:: * Deprecate `client.type` {es-pull}104574[#104574] [[enhancement-8.13.0]] [float] === Enhancements Aggregations:: * Add index mapping parameter for `counted_keyword` {es-pull}103646[#103646] * Introduce an `AggregatorReducer` to reduce the footprint of aggregations in the coordinating node {es-pull}105207[#105207] * Release resources in `BestBucketsDeferringCollector` earlier {es-pull}104893[#104893] * Support sampling in `counted_terms` aggregation {es-pull}103846[#103846] Allocation:: * Account for reserved disk size {es-pull}103903[#103903] * Derive expected replica size from primary {es-pull}102078[#102078] Application:: * Add serverless scopes for Connector APIs {es-pull}104063[#104063] * [Connector API] Change required privileges to indices:data/read(write) {es-pull}105289[#105289] * [Connector API] Implement update `index_name` action {es-pull}104648[#104648] * [Connector API] Support filtering by name, index name in list action {es-pull}105131[#105131] * [Connector API] Support filtering connectors by service type and a query {es-pull}105178[#105178] * [Connector API] Support updating configuration values only {es-pull}105249[#105249] * [Connectors API] Add new field `api_key_secret_id` to Connector {es-pull}104982[#104982] * [Connectors API] Implement connector status update action {es-pull}104750[#104750] * [Connectors API] Implement update native action endpoint {es-pull}104654[#104654] * [Connectors API] Implement update service type action {es-pull}104643[#104643] * [Connectors API] Relax strict response parsing for get/list operations {es-pull}104909[#104909] * [Profiling] Extract properties faster from source {es-pull}104356[#104356] * [Profiling] Mark all templates as managed {es-pull}103783[#103783] * [Profiling] Speed up processing of stacktraces {es-pull}104674[#104674] * [Profiling] Support downsampling of generic events {es-pull}104730[#104730] * [Profiling] Use shard request cache consistently {es-pull}103643[#103643] Authentication:: * Expose API key authentication metrics {es-pull}103178[#103178] * Expose realms authentication metrics {es-pull}104200[#104200] * Expose service account authentication metrics {es-pull}104043[#104043] * Expose token authentication metrics {es-pull}104142[#104142] * Hot-reloadable LDAP bind password {es-pull}104320[#104320] * Support of `match` for the Query API Key API {es-pull}104594[#104594] Authorization:: * [Security Solution] Allow write permission for `kibana_system` role on endpoint response index {es-pull}103555[#103555] CRUD:: * Avoid wrapping searchers multiple times in mget {es-pull}104227[#104227] (issue: {es-issue}85069[#85069]) Client:: * Add rest spec for Query User API {es-pull}104529[#104529] Cluster Coordination:: * Add troubleshooting docs link to `PeerFinder` logs {es-pull}104787[#104787] * Report current master in `PeerFinder` {es-pull}104396[#104396] Data streams:: * Introduce lazy rollover for mapping updates in data streams {es-pull}103309[#103309] (issue: {es-issue}89346[#89346]) * Use new `ignore_dynamic_beyond_limit` in logs and metric data streams {es-pull}105180[#105180] * X-pack/plugin/apm-data: add dynamic setting for enabling template registry {es-pull}104386[#104386] (issue: {es-issue}104385[#104385]) * X-pack/plugin/core: rename `double_metrics` template {es-pull}103033[#103033] * x-pack/plugin/apm-data: Add a new field transaction.profiler_stack_trace_ids to traces-apm@mappings.yaml {es-pull}105223[#105223] * x-pack/plugin/apm-data: Map some APM fields as flattened and fix error.grouping_name script {es-pull}103032[#103032] * x-pack/plugin/core: make automatic rollovers lazy {es-pull}105273[#105273] (issue: {es-issue}104083[#104083]) Discovery-Plugins:: * Set read timeout for fetching IMDSv2 token {es-pull}104407[#104407] (issue: {es-issue}104244[#104244]) Downsampling:: * Support patch transport version from 8.12 {es-pull}104406[#104406] ES|QL:: * Add ES|QL async delete API {es-pull}103628[#103628] * Avoid humongous blocks {es-pull}103340[#103340] * ESQL: Add TO_UPPER and TO_LOWER functions {es-pull}104309[#104309] * ESQL: Add option to drop null fields {es-pull}102428[#102428] * ESQL: Add plan consistency verification after each optimizer {es-pull}105371[#105371] * ESQL: Check field exists before load from `_source` {es-pull}103632[#103632] * ESQL: Delay finding field load infrastructure {es-pull}103821[#103821] * ESQL: Expand shallow copy with vecs {es-pull}103681[#103681] (issue: {es-issue}100528[#100528]) * ESQL: Extend STATS command to support aggregate expressions {es-pull}104958[#104958] * ESQL: Infer not null for aggregated fields {es-pull}103673[#103673] (issue: {es-issue}102787[#102787]) * ESQL: Nested expressions inside stats command {es-pull}104387[#104387] (issue: {es-issue}99828[#99828]) * ESQL: Pre-allocate rows in TopNOperator {es-pull}104796[#104796] * ESQL: Referencing expressions that contain backticks requires <>. {es-pull}100740[#100740] (issue: {es-issue}100312[#100312]) * ESQL: Simpify IS NULL/IS NOT NULL evaluation {es-pull}103099[#103099] (issue: {es-issue}103097[#103097]) * ESQL: Speed up reading many nulls {es-pull}105088[#105088] * ESQL: Support loading shapes from source into WKB blocks {es-pull}104269[#104269] * ESQL: Track the rest of `DocVector` {es-pull}103727[#103727] * ESQL: `MV_FIRST` and `MV_LAST` {es-pull}103928[#103928] * ESQL: add `date_diff` function {es-pull}104118[#104118] (issue: {es-issue}101942[#101942]) * ESQL: push down "[text_field] is not null" {es-pull}105593[#105593] * ES|QL Async Query API {es-pull}103398[#103398] * Prepare enrich plan to support multi clusters {es-pull}104355[#104355] * Reading points from source to reduce precision loss {es-pull}103698[#103698] * Remove deprecated Block APIs {es-pull}103592[#103592] * Reserve bytes before serializing page {es-pull}105269[#105269] * Support ST_CENTROID over spatial points {es-pull}104218[#104218] (issue: {es-issue}104656[#104656]) * Support cross clusters query in ESQL {es-pull}101640[#101640] * Support enrich ANY mode in cross clusters query {es-pull}104840[#104840] * Support enrich coordinator mode {es-pull}104936[#104936] * Support enrich remote mode {es-pull}104993[#104993] Geo:: * Add support for Well Known Binary (WKB) in the fields API for spatial fields {es-pull}103461[#103461] * Add the possibility to transform WKT to WKB directly {es-pull}104030[#104030] Health:: * Add APM metrics to `HealthPeriodicLogger` {es-pull}102765[#102765] * Extend `repository_integrity` health indicator for unknown and invalid repos {es-pull}104614[#104614] (issue: {es-issue}103784[#103784]) ILM+SLM:: * Add "step":"ERROR" to ILM explain response for missing policy {es-pull}103720[#103720] (issue: {es-issue}99030[#99030]) * Add default rollover conditions to ILM explain API response {es-pull}104721[#104721] (issue: {es-issue}103395[#103395]) * ILM/SLM history policies forcemerge in hot and dsl configuration {es-pull}103190[#103190] Infra/CLI:: * Add replay diagnostic dir to system jvm options {es-pull}103535[#103535] Infra/Circuit Breakers:: * Lower G1 minimum full GC interval {es-pull}105259[#105259] Infra/Core:: * Adding threadpool metrics {es-pull}102371[#102371] * ES - document observing with rejections {es-pull}104859[#104859] * Thread pool metrics {es-pull}104500[#104500] Infra/Metrics:: * Modify name of threadpool metric for rejected {es-pull}105015[#105015] Infra/Node Lifecycle:: * Wait for async searches to finish when shutting down {es-pull}101487[#101487] Infra/Transport API:: * Make `ParentTaskAssigningClient.getRemoteClusterClient` method also return `ParentTaskAssigningClient` {es-pull}100813[#100813] Ingest Node:: * Adding `ActionRequestLazyBuilder` implementation of `RequestBuilder` {es-pull}104927[#104927] * Adding a `RequestBuilder` interface {es-pull}104778[#104778] * Adding a custom exception for problems with the graph of pipelines to be applied to a document {es-pull}105196[#105196] * Improving the performance of the ingest simulate verbose API {es-pull}105265[#105265] * Ingest geoip processor cache 'no results' from the database {es-pull}104092[#104092] * Limiting the number of nested pipelines that can be executed {es-pull}105428[#105428] * Modifying request builders {es-pull}104636[#104636] Java Low Level REST Client:: * Set thread name used by REST client {es-pull}103160[#103160] Machine Learning:: * Add optional pruning configuration (weighted terms scoring) to text expansion query {es-pull}102862[#102862] * Add text_embedding inference service with multilingual-e5 and custom eland models {es-pull}104949[#104949] * Add 3 automatic restarts for `pytorch_inference` processes that stop unexpectedly {es-pull}104433[#104433] * Add support for Cohere inference service {es-pull}104559[#104559] * Always test for spikes and dips as well as changes in the change point aggregation {es-pull}103922[#103922] * Apply windowing and chunking to long documents {es-pull}104363[#104363] * Automatically download the ELSER model when PUT in `_inference` {es-pull}104334[#104334] * Better handling of number of allocations in pytorch_inference in the case that hardware_concurrency fails {ml-pull}2607[#2607] * Change detection aggregation improvements {es-pull}102824[#102824] * Conditionally send the dimensions field as part of the openai requests {es-pull}105299[#105299] (issue: {es-issue}105005[#105005]) * Endpoint to find positions of Grok pattern matches {es-pull}104394[#104394] * Ensure unique IDs between inference models and trained model deployments {es-pull}103996[#103996] * Expose some ML metrics via APM {es-pull}102584[#102584] * Make `task_type` optional in `_inference` APIs {es-pull}104483[#104483] * Update `missingTrainedModel` message to include: you may need to create it {es-pull}104155[#104155] * Upgrade MKL to version 2024.0 on Linux x86_64 {ml-pull}2619[#2619] * Upgrade PyTorch to version 2.1.2. {ml-pull}2588[#2588] * Upgrade zlib to version 1.2.13 on Windows {ml-pull}2588[#2588] * Use Boost.JSON for JSON processing {ml-pull}2614[#2614] * Validate inference model ids {es-pull}103669[#103669] Mapping:: * Add `index.mapping.total_fields.ignore_dynamic_beyond_limit` setting to ignore dynamic fields when field limit is reached {es-pull}96235[#96235] * Make field limit more predictable {es-pull}102885[#102885] Network:: * Prune unnecessary information from TransportNodesStatsAction.NodeStatsRequest {es-pull}102559[#102559] (issue: {es-issue}100878[#100878]) Percolator:: * Return `matched_queries` in Percolator {es-pull}103084[#103084] (issue: {es-issue}10163[#10163]) Query Languages:: * Introduce Alias.unwrap method {es-pull}104575[#104575] Search:: * Dyamically adjust node metrics cache expire {es-pull}104460[#104460] * Enhancement: Metrics for Search Took Times using Action Listeners {es-pull}104996[#104996] * Field caps performance pt2 {es-pull}105941[#105941] * Field-caps field has value lookup use map instead of looping array {es-pull}105770[#105770] * Flag in `_field_caps` to return only fields with values in index {es-pull}103651[#103651] * Include better output in profiling & `toString` for automaton based queries {es-pull}105468[#105468] * Metrics for search latencies {es-pull}102557[#102557] * Ref count search response bytes {es-pull}103763[#103763] (issue: {es-issue}102657[#102657]) * Remove leniency in msearch parsing {es-pull}103232[#103232] * Resolve Cluster API {es-pull}102726[#102726] * Reuse number field mapper tests in other modules {es-pull}99142[#99142] (issue: {es-issue}92947[#92947]) * S3 first byte latency metric {es-pull}102435[#102435] * Update s3 latency metric to use micros {es-pull}103633[#103633] * Upgrade to Lucene 9.10.0 {es-pull}105578[#105578] Security:: * Add Query Users API {es-pull}104033[#104033] * Add `ApiKey` expiration time to audit log {es-pull}103959[#103959] * Add expiration time to update api key api {es-pull}103453[#103453] * Add stricter validation for api key expiration time {es-pull}103973[#103973] * Add support for the `simple_query_string` to the Query API Key API {es-pull}104132[#104132] * Add support for the `type` parameter, for sorting, to the Query API Key API {es-pull}104625[#104625] * Aggs support for Query API Key Information API {es-pull}104895[#104895] * Hot-reloadable remote cluster credentials {es-pull}102798[#102798] Snapshot/Restore:: * Add s3 `HeadObject` request to request stats {es-pull}105105[#105105] * Expose `OperationPurpose` in S3 access logs using a https://docs.aws.amazon.com/AmazonS3/latest/userguide/LogFormat.html#LogFormatCustom[custom query-string parameter] {es-pull}105044[#105044] * Fix blob cache race, decay, time dependency {es-pull}104784[#104784] * Pause shard snapshots on graceful shutdown {es-pull}101717[#101717] * Retry indefinitely for s3 indices blob read errors {es-pull}103300[#103300] Store:: * List hidden shard stores by default {es-pull}103710[#103710] TLS:: * 'elasticsearch-certutil cert' now verifies the issuing chain of the generated certificate {es-pull}103948[#103948] TSDB:: * Improve storage efficiency for non-metric fields in TSDB {es-pull}99747[#99747] * Introduce experimental pass-through field type {es-pull}103648[#103648] * Nest pass-through objects within objects {es-pull}105062[#105062] * Restrict usage of certain aggregations when in sort order execution is required {es-pull}104665[#104665] * Small time series agg improvement {es-pull}106288[#106288] Transform:: * Allow transforms to use PIT with remote clusters again {es-pull}105192[#105192] (issue: {es-issue}104518[#104518]) * Transforms: Adding basic stats API param {es-pull}104878[#104878] Vector Search:: * Add new int8_flat and flat vector index types {es-pull}104872[#104872] * Add support for more than one `inner_hit` when searching nested vectors {es-pull}104006[#104006] * Making `k` and `num_candidates` optional for knn search {es-pull}101209[#101209] (issue: {es-issue}97533[#97533]) [[feature-8.13.0]] [float] === New features Data streams:: * Add `require_data_stream` parameter to indexing requests to enforce indexing operations target a data stream {es-pull}101872[#101872] (issue: {es-issue}97032[#97032]) * Redirect failed ingest node operations to a failure store when available {es-pull}103481[#103481] ES|QL:: * ESQL: Introduce mode setting for ENRICH {es-pull}103949[#103949] * ESQL: add =~ operator (case insensitive equality) {es-pull}103656[#103656] Health:: * Create a DSL health indicator as part of the health API {es-pull}103130[#103130] Infra/Core:: * Add gradle tasks and code to modify and access mappings between version ids and release versions {es-pull}103627[#103627] Mapping:: * Add `unmatch_mapping_type`, and support array of types {es-pull}103171[#103171] (issues: {es-issue}102807[#102807], {es-issue}102795[#102795]) Search:: * Added Duplicate Word Check Feature to Analysis Nori {es-pull}103325[#103325] (issue: {es-issue}103321[#103321]) * [Synonyms] Mark Synonyms as GA {es-pull}103223[#103223] [[upgrade-8.13.0]] [float] === Upgrades Query Languages:: * Upgrade ANTLR4 to 4.13.1 {es-pull}105334[#105334] (issue: {es-issue}102953[#102953]) Search:: * Upgrade to Lucene 9.9.0 {es-pull}102782[#102782] * Upgrade to Lucene 9.9.1 {es-pull}103387[#103387] * Upgrade to Lucene 9.9.2 {es-pull}104753[#104753]