Skip to content

Commit ac4fec6

Browse files
author
elasticsearchmachine
committed
Forward port release notes for v8.16.3
1 parent ebed385 commit ac4fec6

File tree

3 files changed

+298
-6
lines changed

3 files changed

+298
-6
lines changed
Lines changed: 234 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,234 @@
1+
[[migrating-8.16]]
2+
== Migrating to 8.16
3+
++++
4+
<titleabbrev>8.16</titleabbrev>
5+
++++
6+
7+
This section discusses the changes that you need to be aware of when migrating
8+
your application to {es} 8.16.
9+
10+
See also <<release-highlights>> and <<es-release-notes>>.
11+
12+
coming::[8.16.0]
13+
14+
15+
[discrete]
16+
[[breaking-changes-8.16]]
17+
=== Breaking changes
18+
19+
The following changes in {es} 8.16 might affect your applications
20+
and prevent them from operating normally.
21+
Before upgrading to 8.16, review these changes and take the described steps
22+
to mitigate the impact.
23+
24+
[discrete]
25+
[[breaking_816_analysis_changes]]
26+
==== Analysis changes
27+
28+
[[set_lenient_to_true_by_default_when_using_updateable_synonyms]]
29+
.Set lenient to true by default when using updateable synonyms
30+
[%collapsible]
31+
====
32+
*Details* +
33+
When a `synonym` or `synonym_graph` token filter is configured with `updateable: true`, the default `lenient`
34+
value will now be `true`.
35+
36+
*Impact* +
37+
`synonym` or `synonym_graph` token filters configured with `updateable: true` will ignore invalid synonyms by
38+
default. This prevents shard initialization errors on invalid synonyms.
39+
====
40+
41+
[discrete]
42+
[[breaking_816_mapping_changes]]
43+
==== Mapping changes
44+
45+
[[jdk_locale_database_change]]
46+
.JDK locale database change
47+
[%collapsible]
48+
====
49+
*Details* +
50+
{es} 8.16 changes the version of the JDK that is included from version 22 to version 23. This changes the locale database that is used by Elasticsearch from the COMPAT database to the CLDR database. This change can cause significant differences to the textual date formats accepted by Elasticsearch, and to calculated week-dates.
51+
52+
If you run {es} 8.16 on JDK version 22 or below, it will use the COMPAT locale database to match the behavior of 8.15. However, starting with {es} 9.0, {es} will use the CLDR database regardless of JDK version it is run on.
53+
54+
*Impact* +
55+
This affects you if you use custom date formats using textual or week-date field specifiers. If you use date fields or calculated week-dates that change between the COMPAT and CLDR databases, then this change will cause Elasticsearch to reject previously valid date fields as invalid data. You might need to modify your ingest or output integration code to account for the differences between these two JDK versions.
56+
57+
Starting in version 8.15.2, Elasticsearch will log deprecation warnings if you are using date format specifiers that might change on upgrading to JDK 23. These warnings are visible in Kibana.
58+
59+
For detailed guidance, refer to <<custom-date-format-locales,Differences in locale information between JDK versions>> and the https://ela.st/jdk-23-locales[Elastic blog].
60+
====
61+
62+
[discrete]
63+
[[breaking_816_es_ql_changes]]
64+
==== ES|QL changes
65+
66+
[[esql_entirely_remove_meta_functions]]
67+
.ESQL: Entirely remove META FUNCTIONS
68+
[%collapsible]
69+
====
70+
*Details* +
71+
Removes an undocumented syntax from ESQL: META FUNCTION. This was never
72+
reliable or really useful. Consult the documentation instead.
73+
74+
*Impact* +
75+
Removes an undocumented syntax from ESQL: META FUNCTION
76+
====
77+
78+
[discrete]
79+
[[breaking_816_rest_api_changes]]
80+
==== REST API changes
81+
82+
[[reworking_rrf_retriever_to_be_evaluated_during_rewrite_phase]]
83+
.Reworking RRF retriever to be evaluated during rewrite phase
84+
[%collapsible]
85+
====
86+
*Details* +
87+
In this release (8.16), we have introduced major changes to the retrievers framework
88+
and how they can be evaluated, focusing mainly on compound retrievers
89+
like `rrf` and `text_similarity_reranker`, which allowed us to support full
90+
composability (i.e. any retriever can be nested under any compound retriever),
91+
as well as supporting additional search features like collapsing, explaining,
92+
aggregations, and highlighting.
93+
94+
To ensure consistency, and given that this rework is not available until 8.16,
95+
`rrf` and `text_similarity_reranker` retriever queries would now
96+
throw an exception in a mixed cluster scenario, where there are nodes
97+
both in current or later (i.e. >= 8.16) and previous ( <= 8.15) versions.
98+
99+
As part of the rework, we have also removed the `_rank` property from
100+
the responses of an `rrf` retriever.
101+
102+
*Impact* +
103+
- Users will not be able to use the `rrf` and `text_similarity_reranker` retrievers in a mixed cluster scenario
104+
with previous releases (i.e. prior to 8.16), and the request will throw an `IllegalArgumentException`.
105+
- `_rank` has now been removed from the output of the `rrf` retrievers so trying to directly parse the field
106+
will throw an exception
107+
====
108+
109+
[[update_data_stream_lifecycle_telemetry_to_track_global_retention]]
110+
.Update data stream lifecycle telemetry to track global retention
111+
[%collapsible]
112+
====
113+
*Details* +
114+
In this release we introduced global retention settings that fulfil the following criteria:
115+
116+
- a data stream managed by the data stream lifecycle,
117+
- a data stream that is not an internal data stream.
118+
119+
As a result, we defined different types of retention:
120+
121+
- **data retention**: the retention configured on data stream level by the data stream user or owner
122+
- **default global retention:** the retention configured by an admin on a cluster level and applied to any
123+
data stream that doesn't have data retention and fulfils the criteria.
124+
- **max global retention:** the retention configured by an admin to guard against having long retention periods.
125+
Any data stream that fulfills the criteria will adhere to the data retention unless it exceeds the max retention,
126+
in which case the max global retention applies.
127+
- **effective retention:** the retention that applies on the data stream that fulfill the criteria at a given moment
128+
in time. It takes into consideration all the retention above and resolves it to the retention that will take effect.
129+
130+
Considering the above changes, having a field named `retention` in the usage API was confusing. For this reason, we
131+
renamed it to `data_retention` and added telemetry about the other configurations too.
132+
133+
*Impact* +
134+
Users that use the field `data_lifecycle.retention` should use the `data_lifecycle.data_retention`
135+
====
136+
137+
[discrete]
138+
[[breaking_816_ingest_changes]]
139+
==== Ingest changes
140+
141+
[[ingest_enrich.cache_size_name_inconsistency]]
142+
.Ingest enrich.cache_size name inconsistency
143+
[%collapsible]
144+
====
145+
*Details* +
146+
The setting `enrich.cache_size` was temporarily renamed to `enrich.cache.size` in `8.16.0` and `8.16.1`.
147+
The preferred resolution is upgrading to `8.16.2` or higher. If that is not possible, temporarily rename the setting to `enrich.cache.size` until you are able to upgrade to `8.16.2` or higher. The temporary name is deprecated and will be removed in a future version.
148+
149+
*Impact* +
150+
If your cluster has `enrich.cache_size` configured prior to upgrading to `8.16.0` or `8.16.1` you may see errors that prevent the upgrade from proceeding.
151+
====
152+
153+
154+
155+
[discrete]
156+
[[deprecated-8.16]]
157+
=== Deprecations
158+
159+
The following functionality has been deprecated in {es} 8.16
160+
and will be removed in a future version.
161+
While this won't have an immediate impact on your applications,
162+
we strongly encourage you to take the described steps to update your code
163+
after upgrading to 8.16.
164+
165+
To find out if you are using any deprecated functionality,
166+
enable <<deprecation-logging, deprecation logging>>.
167+
168+
[discrete]
169+
[[deprecations_816_analysis]]
170+
==== Analysis deprecations
171+
172+
[[deprecate_dutch_kp_lovins_stemmer_as_they_are_removed_in_lucene_10]]
173+
.Deprecate dutch_kp and lovins stemmer as they are removed in Lucene 10
174+
[%collapsible]
175+
====
176+
*Details* +
177+
kp, dutch_kp, dutchKp and lovins stemmers are deprecated and will be removed.
178+
179+
*Impact* +
180+
These stemmers will be removed and will be no longer supported.
181+
====
182+
183+
[[deprecate_edge_ngram_side_parameter]]
184+
.deprecate `edge_ngram` side parameter
185+
[%collapsible]
186+
====
187+
*Details* +
188+
edge_ngram will no longer accept the side parameter.
189+
190+
*Impact* +
191+
Users will need to update any usage of edge_ngram token filter that utilizes `side`. If the `back` value was used, they can achieve the same behavior by using the `reverse` token filter.
192+
====
193+
194+
[discrete]
195+
[[deprecations_816_crud]]
196+
==== CRUD deprecations
197+
198+
[[deprecate_dot_prefixed_indices_composable_template_index_patterns]]
199+
.Deprecate dot-prefixed indices and composable template index patterns
200+
[%collapsible]
201+
====
202+
*Details* +
203+
Indices beginning with a dot '.' are reserved for system and internal indices, and should not be used by and end-user. Additionally, composable index templates that contain patterns for dot-prefixed indices should also be avoided, as these patterns are meant for internal use only. In a future Elasticsearch version, creation of these dot-prefixed indices will no longer be allowed.
204+
205+
*Impact* +
206+
Requests performing an action that would create an index beginning with a dot (indexing a document, manual creation, reindex), or creating an index template with index patterns beginning with a dot, will contain a deprecation header warning about dot-prefixed indices in the response.
207+
====
208+
209+
[discrete]
210+
[[deprecations_816_rest_api]]
211+
==== REST API deprecations
212+
213+
[[adding_deprecation_warnings_for_rrf_using_rank_sub_searches]]
214+
.Adding deprecation warnings for rrf using rank and `sub_searches`
215+
[%collapsible]
216+
====
217+
*Details* +
218+
Search API parameter `sub_searches` will no longer be a supported and will be removed in future releases. Similarly, `rrf` can only be used through the specified `retriever` and no longer though the `rank` parameter
219+
220+
*Impact* +
221+
Requests specifying rrf through `rank` and/or `sub_searches` elements will be disallowed in a future version. Users should instead utilize the new `retriever` parameter.
222+
====
223+
224+
[[deprecate_legacy_params_from_range_query]]
225+
.Deprecate legacy params from range query
226+
[%collapsible]
227+
====
228+
*Details* +
229+
Range query will not longer accept `to`, `from`, `include_lower`, and `include_upper` parameters.
230+
231+
*Impact* +
232+
Instead use `gt`, `gte`, `lt` and `lte` parameters.
233+
====
234+
Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,56 @@
1+
[[release-notes-8.16.3]]
2+
== {es} version 8.16.3
3+
4+
Also see <<breaking-changes-8.16,Breaking changes in 8.16>>.
5+
6+
[[bug-8.16.3]]
7+
[float]
8+
=== Bug fixes
9+
10+
CCS::
11+
* Resolve/cluster should mark remotes as not connected when a security exception is thrown {es-pull}119793[#119793]
12+
13+
Data streams::
14+
* Add missing traces ilm policy for OTel traces data streams {es-pull}119449[#119449]
15+
16+
ES|QL::
17+
* Allow DATE_PARSE to read the timezones {es-pull}118603[#118603] (issue: {es-issue}117680[#117680])
18+
19+
ILM+SLM::
20+
* Add missing timeouts to rest-api-spec ILM APIs {es-pull}118837[#118837]
21+
* Add missing timeouts to rest-api-spec SLM APIs {es-pull}118958[#118958]
22+
23+
Ingest Node::
24+
* Add missing timeouts to rest-api-spec ingest APIs {es-pull}118844[#118844]
25+
* Expose BwC enrich cache setting in plugin {es-pull}119131[#119131]
26+
* Fixing `GetDatabaseConfigurationAction` response serialization {es-pull}119233[#119233]
27+
28+
Machine Learning::
29+
* Fix loss of context in the inference API for streaming APIs {es-pull}118999[#118999] (issue: {es-issue}119000[#119000])
30+
* Fix spike detection for short spikes at the tail of the data {es-pull}119637[#119637]
31+
* Fix timeout ingesting an empty string into a `semantic_text` field {es-pull}117840[#117840]
32+
33+
Search::
34+
* Fix: do not let `_resolve/cluster` hang if remote is unresponsive {es-pull}119516[#119516]
35+
* Handle exceptions in query phase can match {es-pull}117469[#117469] (issue: {es-issue}104994[#104994])
36+
37+
[[enhancement-8.16.3]]
38+
[float]
39+
=== Enhancements
40+
41+
Authorization::
42+
* Improve handling of nested fields in index reader wrappers {es-pull}118757[#118757]
43+
44+
Packaging::
45+
* In this release we've introduced an image based on the hardened link:https://github.com/wolfi-dev/[Wolfi]
46+
image to provide secure containers to our self-managed customers, help with compliance regulations,
47+
and improve our supply chain security posture. {es-pull}118684[#118684]
48+
49+
[[upgrade-8.16.3]]
50+
[float]
51+
=== Upgrades
52+
53+
Security::
54+
* Upgrade Bouncy Castle FIPS dependencies {es-pull}112989[#112989]
55+
56+

docs/reference/release-notes/highlights.asciidoc

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -10,13 +10,15 @@ For detailed information about this release, see the <<es-release-notes>> and
1010

1111
endif::[]
1212

13-
// The notable-highlights tag marks entries that
14-
// should be featured in the Stack Installation and Upgrade Guide:
1513
// tag::notable-highlights[]
16-
// [discrete]
17-
// === Heading
18-
//
19-
// Description.
14+
15+
[discrete]
16+
[[add_new_experimental_rank_vectors_mapping_for_late_interaction_second_order_ranking]]
17+
=== Add new experimental `rank_vectors` mapping for late-interaction second order ranking
18+
Late-interaction models are powerful rerankers. While their size and overall cost doesn't lend itself for HNSW indexing, utilizing them as second order reranking can provide excellent boosts in relevance. The new `rank_vectors` mapping allows for rescoring over new and novel multi-vector late-interaction models like ColBERT or ColPali.
19+
20+
{es-pull}118804[#118804]
21+
2022
// end::notable-highlights[]
2123

2224

0 commit comments

Comments
 (0)