Skip to content

Commit 26b6496

Browse files
author
elasticsearchmachine
committed
Forward port release notes for v8.15.3
1 parent 8670dd7 commit 26b6496

File tree

4 files changed

+143
-187
lines changed

4 files changed

+143
-187
lines changed
Lines changed: 2 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -1,40 +1,6 @@
11
include::migration_intro.asciidoc[]
22

3-
* <<migrating-8.17,Migrating to 8.17>>
4-
* <<migrating-8.16,Migrating to 8.16>>
5-
* <<migrating-8.15,Migrating to 8.15>>
6-
* <<migrating-8.14,Migrating to 8.14>>
7-
* <<migrating-8.13,Migrating to 8.13>>
8-
* <<migrating-8.12,Migrating to 8.12>>
9-
* <<migrating-8.11,Migrating to 8.11>>
10-
* <<migrating-8.10,Migrating to 8.10>>
11-
* <<migrating-8.9,Migrating to 8.9>>
12-
* <<migrating-8.8,Migrating to 8.8>>
13-
* <<migrating-8.7,Migrating to 8.7>>
14-
* <<migrating-8.6,Migrating to 8.6>>
15-
* <<migrating-8.5,Migrating to 8.5>>
16-
* <<migrating-8.4,Migrating to 8.4>>
17-
* <<migrating-8.3,Migrating to 8.3>>
18-
* <<migrating-8.2,Migrating to 8.2>>
19-
* <<migrating-8.1,Migrating to 8.1>>
20-
* <<migrating-8.0,Migrating to 8.0>>
3+
* <<migrating-9.0,Migrating to 9.0>>
214
22-
include::migrate_8_17.asciidoc[]
23-
include::migrate_8_16.asciidoc[]
24-
include::migrate_8_15.asciidoc[]
25-
include::migrate_8_14.asciidoc[]
26-
include::migrate_8_13.asciidoc[]
27-
include::migrate_8_12.asciidoc[]
28-
include::migrate_8_11.asciidoc[]
29-
include::migrate_8_10.asciidoc[]
30-
include::migrate_8_9.asciidoc[]
31-
include::migrate_8_8.asciidoc[]
32-
include::migrate_8_7.asciidoc[]
33-
include::migrate_8_6.asciidoc[]
34-
include::migrate_8_5.asciidoc[]
35-
include::migrate_8_4.asciidoc[]
36-
include::migrate_8_3.asciidoc[]
37-
include::migrate_8_2.asciidoc[]
38-
include::migrate_8_1.asciidoc[]
39-
include::migrate_8_0.asciidoc[]
5+
include::migrate_9_0.asciidoc[]
406

docs/reference/release-notes.asciidoc

Lines changed: 2 additions & 128 deletions
Original file line numberDiff line numberDiff line change
@@ -6,135 +6,9 @@
66

77
This section summarizes the changes in each release.
88

9-
* <<release-notes-8.17.0>>
10-
* <<release-notes-8.16.0>>
11-
* <<release-notes-8.15.1>>
12-
* <<release-notes-8.15.0>>
13-
* <<release-notes-8.14.3>>
14-
* <<release-notes-8.14.2>>
15-
* <<release-notes-8.14.1>>
16-
* <<release-notes-8.14.0>>
17-
* <<release-notes-8.13.4>>
18-
* <<release-notes-8.13.3>>
19-
* <<release-notes-8.13.2>>
20-
* <<release-notes-8.13.1>>
21-
* <<release-notes-8.13.0>>
22-
* <<release-notes-8.12.2>>
23-
* <<release-notes-8.12.1>>
24-
* <<release-notes-8.12.0>>
25-
* <<release-notes-8.11.4>>
26-
* <<release-notes-8.11.3>>
27-
* <<release-notes-8.11.2>>
28-
* <<release-notes-8.11.1>>
29-
* <<release-notes-8.11.0>>
30-
* <<release-notes-8.10.4>>
31-
* <<release-notes-8.10.3>>
32-
* <<release-notes-8.10.2>>
33-
* <<release-notes-8.10.1>>
34-
* <<release-notes-8.10.0>>
35-
* <<release-notes-8.9.2>>
36-
* <<release-notes-8.9.1>>
37-
* <<release-notes-8.9.0>>
38-
* <<release-notes-8.8.2>>
39-
* <<release-notes-8.8.1>>
40-
* <<release-notes-8.8.0>>
41-
* <<release-notes-8.7.1>>
42-
* <<release-notes-8.7.0>>
43-
* <<release-notes-8.6.2>>
44-
* <<release-notes-8.6.1>>
45-
* <<release-notes-8.6.0>>
46-
* <<release-notes-8.5.3>>
47-
* <<release-notes-8.5.2>>
48-
* <<release-notes-8.5.1>>
49-
* <<release-notes-8.5.0>>
50-
* <<release-notes-8.4.3>>
51-
* <<release-notes-8.4.2>>
52-
* <<release-notes-8.4.1>>
53-
* <<release-notes-8.4.0>>
54-
* <<release-notes-8.3.3>>
55-
* <<release-notes-8.3.2>>
56-
* <<release-notes-8.3.1>>
57-
* <<release-notes-8.3.0>>
58-
* <<release-notes-8.2.3>>
59-
* <<release-notes-8.2.2>>
60-
* <<release-notes-8.2.1>>
61-
* <<release-notes-8.2.0>>
62-
* <<release-notes-8.1.3>>
63-
* <<release-notes-8.1.2>>
64-
* <<release-notes-8.1.1>>
65-
* <<release-notes-8.1.0>>
66-
* <<release-notes-8.0.1>>
67-
* <<release-notes-8.0.0>>
68-
* <<release-notes-8.0.0-rc2>>
69-
* <<release-notes-8.0.0-rc1>>
70-
* <<release-notes-8.0.0-beta1>>
71-
* <<release-notes-8.0.0-alpha2>>
72-
* <<release-notes-8.0.0-alpha1>>
9+
* <<release-notes-9.0.0>>
7310

7411
--
7512

76-
include::release-notes/8.17.0.asciidoc[]
77-
include::release-notes/8.16.0.asciidoc[]
78-
include::release-notes/8.15.1.asciidoc[]
79-
include::release-notes/8.15.0.asciidoc[]
80-
include::release-notes/8.14.3.asciidoc[]
81-
include::release-notes/8.14.2.asciidoc[]
82-
include::release-notes/8.14.1.asciidoc[]
83-
include::release-notes/8.14.0.asciidoc[]
84-
include::release-notes/8.13.4.asciidoc[]
85-
include::release-notes/8.13.3.asciidoc[]
86-
include::release-notes/8.13.2.asciidoc[]
87-
include::release-notes/8.13.1.asciidoc[]
88-
include::release-notes/8.13.0.asciidoc[]
89-
include::release-notes/8.12.2.asciidoc[]
90-
include::release-notes/8.12.1.asciidoc[]
91-
include::release-notes/8.12.0.asciidoc[]
92-
include::release-notes/8.11.4.asciidoc[]
93-
include::release-notes/8.11.3.asciidoc[]
94-
include::release-notes/8.11.2.asciidoc[]
95-
include::release-notes/8.11.1.asciidoc[]
96-
include::release-notes/8.11.0.asciidoc[]
97-
include::release-notes/8.10.4.asciidoc[]
98-
include::release-notes/8.10.3.asciidoc[]
99-
include::release-notes/8.10.2.asciidoc[]
100-
include::release-notes/8.10.1.asciidoc[]
101-
include::release-notes/8.10.0.asciidoc[]
102-
include::release-notes/8.9.2.asciidoc[]
103-
include::release-notes/8.9.1.asciidoc[]
104-
include::release-notes/8.9.0.asciidoc[]
105-
include::release-notes/8.8.2.asciidoc[]
106-
include::release-notes/8.8.1.asciidoc[]
107-
include::release-notes/8.8.0.asciidoc[]
108-
include::release-notes/8.7.1.asciidoc[]
109-
include::release-notes/8.7.0.asciidoc[]
110-
include::release-notes/8.6.2.asciidoc[]
111-
include::release-notes/8.6.1.asciidoc[]
112-
include::release-notes/8.6.0.asciidoc[]
113-
include::release-notes/8.5.3.asciidoc[]
114-
include::release-notes/8.5.2.asciidoc[]
115-
include::release-notes/8.5.1.asciidoc[]
116-
include::release-notes/8.5.0.asciidoc[]
117-
include::release-notes/8.4.3.asciidoc[]
118-
include::release-notes/8.4.2.asciidoc[]
119-
include::release-notes/8.4.1.asciidoc[]
120-
include::release-notes/8.4.0.asciidoc[]
121-
include::release-notes/8.3.3.asciidoc[]
122-
include::release-notes/8.3.2.asciidoc[]
123-
include::release-notes/8.3.1.asciidoc[]
124-
include::release-notes/8.3.0.asciidoc[]
125-
include::release-notes/8.2.3.asciidoc[]
126-
include::release-notes/8.2.2.asciidoc[]
127-
include::release-notes/8.2.1.asciidoc[]
128-
include::release-notes/8.2.0.asciidoc[]
129-
include::release-notes/8.1.3.asciidoc[]
130-
include::release-notes/8.1.2.asciidoc[]
131-
include::release-notes/8.1.1.asciidoc[]
132-
include::release-notes/8.1.0.asciidoc[]
133-
include::release-notes/8.0.1.asciidoc[]
134-
include::release-notes/8.0.0.asciidoc[]
135-
include::release-notes/8.0.0-rc2.asciidoc[]
136-
include::release-notes/8.0.0-rc1.asciidoc[]
137-
include::release-notes/8.0.0-beta1.asciidoc[]
138-
include::release-notes/8.0.0-alpha2.asciidoc[]
139-
include::release-notes/8.0.0-alpha1.asciidoc[]
13+
include::release-notes/9.0.0.asciidoc[]
14014

Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
[[release-notes-8.15.3]]
2+
== {es} version 8.15.3
3+
4+
Also see <<breaking-changes-8.15,Breaking changes in 8.15>>.
5+
6+
[[bug-8.15.3]]
7+
[float]
8+
=== Bug fixes
9+
10+
Aggregations::
11+
* Don't validate internal stats if they are empty {es-pull}113846[#113846] (issue: {es-issue}113811[#113811])
12+
* Fix `needsScore` computation in `GlobalOrdCardinalityAggregator` {es-pull}113129[#113129] (issue: {es-issue}112975[#112975])
13+
14+
Authentication::
15+
* Enables cluster state role mapper, to include ECK operator-defined role mappings in role resolution {es-pull}114337[#114337]
16+
17+
ES|QL::
18+
* ES|QL: Ensure minimum capacity for `PlanStreamInput` caches {es-pull}114116[#114116]
19+
* ES|QL: Skip CASE function from `InferIsNotNull` rule checks {es-pull}113123[#113123] (issue: {es-issue}112704[#112704])
20+
* [ESQL] Fix init value in max float aggregation {es-pull}113699[#113699]
21+
* [ESQL] Support datetime data type in Least and Greatest functions {es-pull}113961[#113961]
22+
23+
Machine Learning::
24+
* Fix check on E5 model platform compatibility {es-pull}113437[#113437] (issue: {es-issue}113577[#113577])
25+
* Handle parsing ingest processors where definition is not a object {es-pull}113697[#113697] (issue: {es-issue}113615[#113615])
26+
* [ML][backport] Warn for model load failures if they have a status code <500 {es-pull}113410[#113410]
27+
* [M] Fix error message formatting {es-pull}113266[#113266]
28+
29+
Search::
30+
* Fix analyzed wildcard query in simple_query_string when disjunctions is empty {es-pull}114264[#114264] (issue: {es-issue}114185[#114185])
31+
* Fix collapse interaction with stored fields {es-pull}112761[#112761] (issue: {es-issue}112646[#112646])
32+
33+
[[enhancement-8.15.3]]
34+
[float]
35+
=== Enhancements
36+
37+
Machine Learning::
38+
* Write downloaded model parts async {es-pull}111684[#111684]
39+
40+
[[upgrade-8.15.3]]
41+
[float]
42+
=== Upgrades
43+
44+
Snapshot/Restore::
45+
* Upgrade protobufer to 3.25.5 {es-pull}113869[#113869]
46+
47+

docs/reference/release-notes/highlights.asciidoc

Lines changed: 92 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -8,31 +8,8 @@ ifeval::["{release-state}"!="unreleased"]
88
For detailed information about this release, see the <<es-release-notes>> and
99
<<breaking-changes>>.
1010

11-
// Add previous release to the list
12-
Other versions:
13-
14-
{ref-bare}/8.16/release-highlights.html[8.16]
15-
| {ref-bare}/8.15/release-highlights.html[8.15]
16-
| {ref-bare}/8.14/release-highlights.html[8.14]
17-
| {ref-bare}/8.13/release-highlights.html[8.13]
18-
| {ref-bare}/8.12/release-highlights.html[8.12]
19-
| {ref-bare}/8.11/release-highlights.html[8.11]
20-
| {ref-bare}/8.10/release-highlights.html[8.10]
21-
| {ref-bare}/8.9/release-highlights.html[8.9]
22-
| {ref-bare}/8.8/release-highlights.html[8.8]
23-
| {ref-bare}/8.7/release-highlights.html[8.7]
24-
| {ref-bare}/8.6/release-highlights.html[8.6]
25-
| {ref-bare}/8.5/release-highlights.html[8.5]
26-
| {ref-bare}/8.4/release-highlights.html[8.4]
27-
| {ref-bare}/8.3/release-highlights.html[8.3]
28-
| {ref-bare}/8.2/release-highlights.html[8.2]
29-
| {ref-bare}/8.1/release-highlights.html[8.1]
30-
| {ref-bare}/8.0/release-highlights.html[8.0]
31-
3211
endif::[]
3312

34-
// The notable-highlights tag marks entries that
35-
// should be featured in the Stack Installation and Upgrade Guide:
3613
// tag::notable-highlights[]
3714

3815
[discrete]
@@ -97,6 +74,98 @@ ZStandard offers ~12% lower storage usage and a ~14% higher indexing throughput
9774

9875
{es-pull}112665[#112665]
9976

77+
[discrete]
78+
[[esql_introduce_per_agg_filter]]
79+
=== ESQL: Introduce per agg filter
80+
Add support for aggregation scoped filters that work dynamically on the
81+
data in each group.
82+
83+
[source,esql]
84+
----
85+
| STATS success = COUNT(*) WHERE 200 <= code AND code < 300,
86+
redirect = COUNT(*) WHERE 300 <= code AND code < 400,
87+
client_err = COUNT(*) WHERE 400 <= code AND code < 500,
88+
server_err = COUNT(*) WHERE 500 <= code AND code < 600,
89+
total_count = COUNT(*)
90+
----
91+
92+
Implementation wise, the base AggregateFunction has been extended to
93+
allow a filter to be passed on. This is required to incorporate the
94+
filter as part of the aggregate equality/identity which would fail with
95+
the filter as an external component.
96+
As part of the process, the serialization for the existing aggregations
97+
had to be fixed so AggregateFunction implementations so that it
98+
delegates to their parent first.
99+
100+
{es-pull}113735[#113735]
101+
100102
// end::notable-highlights[]
101103

102104

105+
[discrete]
106+
[[esql_multi_value_fields_supported_in_geospatial_predicates]]
107+
=== ESQL: Multi-value fields supported in Geospatial predicates
108+
Supporting multi-value fields in `WHERE` predicates is a challenge due to not knowing whether `ALL` or `ANY`
109+
of the values in the field should pass the predicate.
110+
For example, should the field `age:[10,30]` pass the predicate `WHERE age>20` or not?
111+
This ambiguity does not exist with the spatial predicates
112+
`ST_INTERSECTS` and `ST_DISJOINT`, because the choice between `ANY` or `ALL`
113+
is implied by the predicate itself.
114+
Consider a predicate checking a field named `location` against a test geometry named `shape`:
115+
116+
* `ST_INTERSECTS(field, shape)` - true if `ANY` value can intersect the shape
117+
* `ST_DISJOINT(field, shape)` - true only if `ALL` values are disjoint from the shape
118+
119+
This works even if the shape argument is itself a complex or compound geometry.
120+
121+
Similar logic exists for `ST_CONTAINS` and `ST_WITHIN` predicates, but these are not as easily solved
122+
with `ANY` or `ALL`, because a collection of geometries contains another collection if each of the contained
123+
geometries is within at least one of the containing geometries. Evaluating this requires that the multi-value
124+
field is first combined into a single geometry before performing the predicate check.
125+
126+
* `ST_CONTAINS(field, shape)` - true if the combined geometry contains the shape
127+
* `ST_WITHIN(field, shape)` - true if the combined geometry is within the shape
128+
129+
{es-pull}112063[#112063]
130+
131+
[discrete]
132+
[[enhance_sort_push_down_to_lucene_to_cover_references_to_fields_st_distance_function]]
133+
=== Enhance SORT push-down to Lucene to cover references to fields and ST_DISTANCE function
134+
The most used and likely most valuable geospatial search query in Elasticsearch is the sorted proximity search,
135+
finding items within a certain distance of a point of interest and sorting the results by distance.
136+
This has been possible in ES|QL since 8.15.0, but the sorting was done in-memory, not pushed down to Lucene.
137+
Now the sorting is pushed down to Lucene, which results in a significant performance improvement.
138+
139+
Queries that perform both filtering and sorting on distance are supported. For example:
140+
141+
[source,esql]
142+
----
143+
FROM test
144+
| EVAL distance = ST_DISTANCE(location, TO_GEOPOINT("POINT(37.7749, -122.4194)"))
145+
| WHERE distance < 1000000
146+
| SORT distance ASC, name DESC
147+
| LIMIT 10
148+
----
149+
150+
In addition, the support for sorting on EVAL expressions has been extended to cover references to fields:
151+
152+
[source,esql]
153+
----
154+
FROM test
155+
| EVAL ref = field
156+
| SORT ref ASC
157+
| LIMIT 10
158+
----
159+
160+
{es-pull}112938[#112938]
161+
162+
[discrete]
163+
[[cross_cluster_search_telemetry]]
164+
=== Cross-cluster search telemetry
165+
The cross-cluster search telemetry is collected when cross-cluster searches
166+
are performed, and is returned as "ccs" field in `_cluster/stats` output.
167+
It also add a new parameter `include_remotes=true` to the `_cluster/stats` API
168+
which will collect data from connected remote clusters.
169+
170+
{es-pull}113825[#113825]
171+

0 commit comments

Comments
 (0)