Skip to content

Commit c5f1669

Browse files
author
elasticsearchmachine
committed
Forward port release notes for v8.15.1
1 parent c805f90 commit c5f1669

File tree

3 files changed

+86
-147
lines changed

3 files changed

+86
-147
lines changed

docs/reference/release-notes.asciidoc

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
This section summarizes the changes in each release.
88

99
* <<release-notes-8.16.0>>
10+
* <<release-notes-8.15.1>>
1011
* <<release-notes-8.15.0>>
1112
* <<release-notes-8.14.3>>
1213
* <<release-notes-8.14.2>>
@@ -72,6 +73,7 @@ This section summarizes the changes in each release.
7273
--
7374

7475
include::release-notes/8.16.0.asciidoc[]
76+
include::release-notes/8.15.1.asciidoc[]
7577
include::release-notes/8.15.0.asciidoc[]
7678
include::release-notes/8.14.3.asciidoc[]
7779
include::release-notes/8.14.2.asciidoc[]
Lines changed: 74 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,74 @@
1+
[[release-notes-8.15.1]]
2+
== {es} version 8.15.1
3+
4+
Also see <<breaking-changes-8.15,Breaking changes in 8.15>>.
5+
6+
[[known-issues-8.15.1]]
7+
[float]
8+
=== Known issues
9+
* Elasticsearch will not start if custom role mappings are configured using the
10+
`xpack.security.authc.realms.*.files.role_mapping` configuration option. As a workaround, custom role mappings
11+
can be configured using the https://www.elastic.co/guide/en/elasticsearch/reference/current/security-api-put-role-mapping.html[REST API] (issue: {es-issue}112503[#112503])
12+
13+
[[bug-8.15.1]]
14+
[float]
15+
=== Bug fixes
16+
17+
Aggregations::
18+
* Revert "Avoid bucket copies in Aggs" {es-pull}111758[#111758] (issue: {es-issue}111679[#111679])
19+
20+
Authorization::
21+
* Fix DLS over Runtime Fields {es-pull}112260[#112260] (issue: {es-issue}111637[#111637])
22+
23+
ES|QL::
24+
* Avoid losing error message in failure collector {es-pull}111983[#111983] (issue: {es-issue}111894[#111894])
25+
* Avoid wrapping rejection exception in exchange {es-pull}112178[#112178] (issue: {es-issue}112106[#112106])
26+
* ESQL: Fix for overzealous validation in case of invalid mapped fields {es-pull}111475[#111475] (issue: {es-issue}111452[#111452])
27+
28+
Geo::
29+
* Add maximum nested depth check to WKT parser {es-pull}111843[#111843]
30+
* Always check `crsType` when folding spatial functions {es-pull}112090[#112090] (issue: {es-issue}112089[#112089])
31+
* Fix NPE when executing doc value queries over shape geometries with empty segments {es-pull}112139[#112139]
32+
33+
Indices APIs::
34+
* Fix template alias parsing livelock {es-pull}112217[#112217]
35+
36+
Infra/Core::
37+
* Fix windows memory locking {es-pull}111866[#111866] (issue: {es-issue}111847[#111847])
38+
39+
Ingest Node::
40+
* Fixing incorrect bulk request took time {es-pull}111863[#111863] (issue: {es-issue}111854[#111854])
41+
* Improve performance of grok pattern cycle detection {es-pull}111947[#111947]
42+
43+
Logs::
44+
* Merge multiple ignored source entires for the same field {es-pull}111994[#111994] (issue: {es-issue}111694[#111694])
45+
46+
Machine Learning::
47+
* [Inference API] Move Delete inference checks to threadpool worker {es-pull}111646[#111646]
48+
49+
Mapping::
50+
* Check for valid `parentDoc` before retrieving its previous {es-pull}112005[#112005] (issue: {es-issue}111990[#111990])
51+
* Fix calculation of parent offset for ignored source in some cases {es-pull}112046[#112046]
52+
* Fix synthetic source for empty nested objects {es-pull}111943[#111943] (issue: {es-issue}111811[#111811])
53+
* No error when `store_array_source` is used without synthetic source {es-pull}111966[#111966]
54+
* Prevent synthetic field loaders accessing stored fields from using stale data {es-pull}112173[#112173] (issue: {es-issue}112156[#112156])
55+
56+
Ranking::
57+
* Properly handle filters on `TextSimilarityRank` retriever {es-pull}111673[#111673]
58+
59+
Relevance::
60+
* Semantic reranking should fail whenever inference ID does not exist {es-pull}112038[#112038] (issue: {es-issue}111934[#111934])
61+
* [Bugfix] Add `accessDeclaredMembers` permission to allow search application templates to parse floats {es-pull}111285[#111285]
62+
63+
Search::
64+
* Explain Function Score Query {es-pull}111807[#111807]
65+
66+
Security::
67+
* Fix "unexpected field [remote_cluster]" for CCS (RCS 1.0) when using API key that references `remote_cluster` {es-pull}112226[#112226]
68+
* Fix connection timeout for `OpenIdConnectAuthenticator` get Userinfo {es-pull}112230[#112230]
69+
70+
Vector Search::
71+
* Fix `NullPointerException` when doing knn search on empty index without dims {es-pull}111756[#111756] (issue: {es-issue}111733[#111733])
72+
* Speed up dense/sparse vector stats {es-pull}111729[#111729] (issue: {es-issue}111715[#111715])
73+
74+

docs/reference/release-notes/highlights.asciidoc

Lines changed: 10 additions & 147 deletions
Original file line numberDiff line numberDiff line change
@@ -32,42 +32,6 @@ endif::[]
3232

3333
// tag::notable-highlights[]
3434

35-
[discrete]
36-
[[stored_fields_are_compressed_with_zstandard_instead_of_lz4_deflate]]
37-
=== Stored fields are now compressed with ZStandard instead of LZ4/DEFLATE
38-
Stored fields are now compressed by splitting documents into blocks, which
39-
are then compressed independently with ZStandard. `index.codec: default`
40-
(default) uses blocks of at most 14kB or 128 documents compressed with level
41-
0, while `index.codec: best_compression` uses blocks of at most 240kB or
42-
2048 documents compressed at level 3. On most datasets that we tested
43-
against, this yielded storage improvements in the order of 10%, slightly
44-
faster indexing and similar retrieval latencies.
45-
46-
{es-pull}103374[#103374]
47-
48-
[discrete]
49-
[[stricter_failure_handling_in_multi_repo_get_snapshots_request_handling]]
50-
=== Stricter failure handling in multi-repo get-snapshots request handling
51-
If a multi-repo get-snapshots request encounters a failure in one of the
52-
targeted repositories then earlier versions of Elasticsearch would proceed
53-
as if the faulty repository did not exist, except for a per-repository
54-
failure report in a separate section of the response body. This makes it
55-
impossible to paginate the results properly in the presence of failures. In
56-
versions 8.15.0 and later this API's failure handling behaviour has been
57-
made stricter, reporting an overall failure if any targeted repository's
58-
contents cannot be listed.
59-
60-
{es-pull}107191[#107191]
61-
62-
[discrete]
63-
[[add_new_int4_quantization_to_dense_vector]]
64-
=== Add new int4 quantization to dense_vector
65-
New int4 (half-byte) scalar quantization support via two knew index types: `int4_hnsw` and `int4_flat`.
66-
This gives an 8x reduction from `float32` with some accuracy loss. In addition to less memory required, this
67-
improves query and merge speed significantly when compared to raw vectors.
68-
69-
{es-pull}109317[#109317]
70-
7135
[discrete]
7236
[[esql_inlinestats]]
7337
=== ESQL: INLINESTATS
@@ -93,50 +57,6 @@ Produces output like:
9357

9458
{es-pull}109583[#109583]
9559

96-
[discrete]
97-
[[mark_query_rules_as_ga]]
98-
=== Mark Query Rules as GA
99-
This PR marks query rules as Generally Available. All APIs are no longer
100-
in tech preview.
101-
102-
{es-pull}110004[#110004]
103-
104-
[discrete]
105-
[[adds_new_bit_element_type_for_dense_vectors]]
106-
=== Adds new `bit` `element_type` for `dense_vectors`
107-
This adds `bit` vector support by adding `element_type: bit` for
108-
vectors. This new element type works for indexed and non-indexed
109-
vectors. Additionally, it works with `hnsw` and `flat` index types. No
110-
quantization based codec works with this element type, this is
111-
consistent with `byte` vectors.
112-
113-
`bit` vectors accept up to `32768` dimensions in size and expect vectors
114-
that are being indexed to be encoded either as a hexidecimal string or a
115-
`byte[]` array where each element of the `byte` array represents `8`
116-
bits of the vector.
117-
118-
`bit` vectors support script usage and regular query usage. When
119-
indexed, all comparisons done are `xor` and `popcount` summations (aka,
120-
hamming distance), and the scores are transformed and normalized given
121-
the vector dimensions.
122-
123-
For scripts, `l1norm` is the same as `hamming` distance and `l2norm` is
124-
`sqrt(l1norm)`. `dotProduct` and `cosineSimilarity` are not supported.
125-
126-
Note, the dimensions expected by this element_type are always to be
127-
divisible by `8`, and the `byte[]` vectors provided for index must be
128-
have size `dim/8` size, where each byte element represents `8` bits of
129-
the vectors.
130-
131-
{es-pull}110059[#110059]
132-
133-
[discrete]
134-
[[redact_processor_generally_available]]
135-
=== The Redact processor is Generally Available
136-
The Redact processor uses the Grok rules engine to obscure text in the input document matching the given Grok patterns. The Redact processor was initially released as Technical Preview in `8.7.0`, and is now released as Generally Available.
137-
138-
{es-pull}110395[#110395]
139-
14060
[discrete]
14161
[[always_allow_rebalancing_by_default]]
14262
=== Always allow rebalancing by default
@@ -149,76 +69,19 @@ version 8.16 `allow_rebalance` setting defaults to `always` unless the legacy al
14969

15070
{es-pull}111015[#111015]
15171

152-
// end::notable-highlights[]
153-
154-
155-
[discrete]
156-
[[new_custom_parser_for_iso_8601_datetimes]]
157-
=== New custom parser for ISO-8601 datetimes
158-
This introduces a new custom parser for ISO-8601 datetimes, for the `iso8601`, `strict_date_optional_time`, and
159-
`strict_date_optional_time_nanos` built-in date formats. This provides a performance improvement over the
160-
default Java date-time parsing. Whilst it maintains much of the same behaviour,
161-
the new parser does not accept nonsensical date-time strings that have multiple fractional seconds fields
162-
or multiple timezone specifiers. If the new parser fails to parse a string, it will then use the previous parser
163-
to parse it. If a large proportion of the input data consists of these invalid strings, this may cause
164-
a small performance degradation. If you wish to force the use of the old parsers regardless,
165-
set the JVM property `es.datetime.java_time_parsers=true` on all ES nodes.
166-
167-
{es-pull}106486[#106486]
168-
16972
[discrete]
170-
[[new_custom_parser_for_more_iso_8601_date_formats]]
171-
=== New custom parser for more ISO-8601 date formats
172-
Following on from #106486, this extends the custom ISO-8601 datetime parser to cover the `strict_year`,
173-
`strict_year_month`, `strict_date_time`, `strict_date_time_no_millis`, `strict_date_hour_minute_second`,
174-
`strict_date_hour_minute_second_millis`, and `strict_date_hour_minute_second_fraction` date formats.
175-
As before, the parser will use the existing java.time parser if there are parsing issues, and the
176-
`es.datetime.java_time_parsers=true` JVM property will force the use of the old parsers regardless.
73+
[[add_global_retention_in_data_stream_lifecycle]]
74+
=== Add global retention in data stream lifecycle
75+
Data stream lifecycle now supports configuring retention on a cluster level, namely global retention. Global retention
76+
allows us to configure two different retentions:
17777

178-
{es-pull}108606[#108606]
78+
- `data_streams.lifecycle.retention.default` is applied to all data streams managed by the data stream lifecycle that do not have retention
79+
defined on the data stream level.
80+
- `data_streams.lifecycle.retention.max` is applied to all data streams managed by the data stream lifecycle and it allows any data stream
81+
data to be deleted after the `max_retention` has passed.
17982

180-
[discrete]
181-
[[preview_support_for_connection_type_domain_isp_databases_in_geoip_processor]]
182-
=== Preview: Support for the 'Connection Type, 'Domain', and 'ISP' databases in the geoip processor
183-
As a Technical Preview, the {ref}/geoip-processor.html[`geoip`] processor can now use the commercial
184-
https://dev.maxmind.com/geoip/docs/databases/connection-type[GeoIP2 'Connection Type'],
185-
https://dev.maxmind.com/geoip/docs/databases/domain[GeoIP2 'Domain'],
186-
and
187-
https://dev.maxmind.com/geoip/docs/databases/isp[GeoIP2 'ISP']
188-
databases from MaxMind.
189-
190-
{es-pull}108683[#108683]
191-
192-
[discrete]
193-
[[update_elasticsearch_to_lucene_9_11]]
194-
=== Update Elasticsearch to Lucene 9.11
195-
Elasticsearch is now updated using the latest Lucene version 9.11.
196-
Here are the full release notes:
197-
But, here are some particular highlights:
198-
- Usage of MADVISE for better memory management: https://github.com/apache/lucene/pull/13196
199-
- Use RWLock to access LRUQueryCache to reduce contention: https://github.com/apache/lucene/pull/13306
200-
- Speedup multi-segment HNSW graph search for nested kNN queries: https://github.com/apache/lucene/pull/13121
201-
- Add a MemorySegment Vector scorer - for scoring without copying on-heap vectors: https://github.com/apache/lucene/pull/13339
202-
203-
{es-pull}109219[#109219]
83+
{es-pull}111972[#111972]
20484

205-
[discrete]
206-
[[synthetic_source_improvements]]
207-
=== Synthetic `_source` improvements
208-
There are multiple improvements to synthetic `_source` functionality:
209-
210-
* Synthetic `_source` is now supported for all field types including `nested` and `object`. `object` fields are supported with `enabled` set to `false`.
211-
212-
* Synthetic `_source` can be enabled together with `ignore_malformed` and `ignore_above` parameters for all field types that support them.
213-
214-
{es-pull}109501[#109501]
215-
216-
[discrete]
217-
[[index_sorting_on_indexes_with_nested_fields]]
218-
=== Index sorting on indexes with nested fields
219-
Index sorting is now supported for indexes with mappings containing nested objects.
220-
The index sort spec (as specified by `index.sort.field`) can't contain any nested
221-
fields, still.
85+
// end::notable-highlights[]
22286

223-
{es-pull}110251[#110251]
22487

0 commit comments

Comments
 (0)