Skip to content

Commit f25eac5

Browse files
author
elasticsearchmachine
committed
Merge remote-tracking branch 'origin/main' into lucene_snapshot
2 parents 9223312 + 71ca623 commit f25eac5

File tree

40 files changed

+450
-247
lines changed

40 files changed

+450
-247
lines changed

docs/reference/search-connectors/es-connectors-gmail.md

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -132,6 +132,8 @@ To get started, log into [Google Cloud Platform](https://cloud.google.com) and g
132132
You need to grant the following **OAuth Scopes** to your service account:
133133

134134
* `https://www.googleapis.com/auth/admin.directory.user.readonly`
135+
* `https://www.googleapis.com/auth/admin.directory.group.readonly`
136+
* `https://www.googleapis.com/auth/gmail.readonly`
135137

136138
This step allows the connector to access user data and their group memberships in your Google Workspace organization.
137139

@@ -296,4 +298,4 @@ See [Security](/reference/search-connectors/es-connectors-security.md).
296298

297299
This connector is built in Python with the [Elastic connector framework](https://github.com/elastic/connectors/tree/main).
298300

299-
View the [source code for this connector](https://github.com/elastic/connectors/tree/main/connectors/sources/gmail.py) (branch *main*, compatible with Elastic *9.0*).
301+
View the [source code for this connector](https://github.com/elastic/connectors/tree/main/connectors/sources/gmail.py) (branch *main*, compatible with Elastic *9.0*).

docs/release-notes/breaking-changes.md

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,13 @@ If you are migrating from a version prior to version 9.0, you must first upgrade
1212

1313
% ## Next version [elasticsearch-nextversion-breaking-changes]
1414

15+
## 9.0.8 [elasticsearch-9.0.8-breaking-changes]
16+
```{applies_to}
17+
stack: ga 9.0.8
18+
```
19+
20+
There are no breaking changes associated with this release.
21+
1522
## 9.1.4 [elasticsearch-9.1.4-breaking-changes]
1623

1724
There are no breaking changes associated with this release.
Lines changed: 103 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,103 @@
1+
version: 9.0.8
2+
released: false
3+
generated: 2025-10-03T13:09:24.707151330Z
4+
changelogs:
5+
- pr: 134134
6+
summary: Prevent field caps from failing due to can match failure
7+
area: Search
8+
type: bug
9+
issues:
10+
- 116106
11+
- pr: 134461
12+
summary: Propagates filter() to aggregation functions' surrogates
13+
area: Aggregations
14+
type: bug
15+
issues:
16+
- 134380
17+
- pr: 134636
18+
summary: "[Island Browser] Add `manage`, `create_index`, `read`, `index`, `write`, `delete`, permission for third party agent indices `kibana_system`"
19+
area: Authorization
20+
type: enhancement
21+
issues:
22+
- 134136
23+
- pr: 134656
24+
summary: Fix deadlock in `ThreadPoolMergeScheduler` when a failing merge closes the `IndexWriter`
25+
area: Engine
26+
type: bug
27+
issues: []
28+
- pr: 134673
29+
summary: Gracefully shutdown model deployment when node is removed from assignment routing
30+
area: Machine Learning
31+
type: bug
32+
issues: []
33+
- pr: 134711
34+
summary: Add Reason field to elastic-agent upgrade details metadata
35+
area: Infra/Plugins
36+
type: enhancement
37+
issues: []
38+
- pr: 134955
39+
summary: Prevent Transform from queuing too many PIT close requests by waiting for PIT to close before finishing the checkpoint
40+
area: Transform
41+
type: bug
42+
issues:
43+
- 134925
44+
- pr: 134963
45+
summary: Fix a bug in the GET _transform API that incorrectly claims some Transform configurations are missing
46+
area: Transform
47+
type: bug
48+
issues:
49+
- 134263
50+
- pr: 135012
51+
summary: Bypass MMap arena grouping as this has caused issues with too many regions being mapped
52+
area: Engine
53+
type: bug
54+
issues: []
55+
- pr: 135078
56+
summary: Fix async get results with inconsistent headers
57+
area: ES|QL
58+
type: bug
59+
issues:
60+
- 135042
61+
- pr: 135176
62+
summary: '`CentroidCalculator` does not return negative summation weights'
63+
area: Geo
64+
type: bug
65+
issues:
66+
- 131861
67+
- pr: 135235
68+
summary: Fix systemd notify to use a shared arena
69+
area: Infra/Node Lifecycle
70+
type: bug
71+
issues: []
72+
- pr: 135270
73+
summary: Add .reindexed-v7-ml-anomalies-* to anomaly results template index pattern
74+
area: Machine Learning
75+
type: bug
76+
issues: []
77+
- pr: 135414
78+
summary: "Change reindex to use ::es-redacted:: filtering"
79+
area: Audit
80+
type: enhancement
81+
issues: []
82+
- pr: 135479
83+
summary: Correctly apply field path to JSON processor when adding contents to document root
84+
area: Ingest Node
85+
type: bug
86+
issues: []
87+
- pr: 135653
88+
summary: Reset health status on successful empty checkpoint
89+
area: Machine Learning
90+
type: bug
91+
issues:
92+
- 135650
93+
- pr: 135776
94+
summary: Fix KQL case-sensitivity for keyword fields in ES|QL
95+
area: Search
96+
type: bug
97+
issues:
98+
- 135772
99+
- pr: 135845
100+
summary: Fix for creating semantic_text fields on pre-8.11 indices crashing Elasticsearch
101+
area: Mapping
102+
type: bug
103+
issues: []

docs/release-notes/deprecations.md

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,13 @@ To give you insight into what deprecated features you’re using, {{es}}:
1616

1717
% ## Next version [elasticsearch-nextversion-deprecations]
1818

19+
## 9.0.8 [elasticsearch-9.0.8-deprecations]
20+
```{applies_to}
21+
stack: ga 9.0.8
22+
```
23+
24+
There are no deprecations associated with this release.
25+
1926
## 9.1.4 [elasticsearch-9.1.4-deprecations]
2027

2128
There are no deprecations associated with this release.

docs/release-notes/index.md

Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,62 @@ To check for security updates, go to [Security announcements for the Elastic sta
2020
% ### Fixes [elasticsearch-next-fixes]
2121
% *
2222

23+
## 9.0.8 [elasticsearch-9.0.8-release-notes]
24+
```{applies_to}
25+
stack: ga 9.0.8
26+
```
27+
28+
### Features and enhancements [elasticsearch-9.0.8-features-enhancements]
29+
30+
Audit:
31+
* Change reindex to use ::es-redacted:: filtering [#135414](https://github.com/elastic/elasticsearch/pull/135414)
32+
33+
Authorization:
34+
* [Island Browser] Add `manage`, `create_index`, `read`, `index`, `write`, `delete`, permission for third party agent indices `kibana_system` [#134636](https://github.com/elastic/elasticsearch/pull/134636) (issue: [#134136](https://github.com/elastic/elasticsearch/issues/134136))
35+
36+
Infra/Plugins:
37+
* Add Reason field to elastic-agent upgrade details metadata [#134711](https://github.com/elastic/elasticsearch/pull/134711)
38+
39+
40+
### Fixes [elasticsearch-9.0.8-fixes]
41+
42+
Aggregations:
43+
* Propagates filter() to aggregation functions' surrogates [#134461](https://github.com/elastic/elasticsearch/pull/134461) (issue: [#134380](https://github.com/elastic/elasticsearch/issues/134380))
44+
45+
ES|QL:
46+
* Fix async get results with inconsistent headers [#135078](https://github.com/elastic/elasticsearch/pull/135078) (issue: [#135042](https://github.com/elastic/elasticsearch/issues/135042))
47+
48+
Engine:
49+
* Bypass MMap arena grouping as this has caused issues with too many regions being mapped [#135012](https://github.com/elastic/elasticsearch/pull/135012)
50+
* Fix deadlock in `ThreadPoolMergeScheduler` when a failing merge closes the `IndexWriter` [#134656](https://github.com/elastic/elasticsearch/pull/134656)
51+
52+
Geo:
53+
* `CentroidCalculator` does not return negative summation weights [#135176](https://github.com/elastic/elasticsearch/pull/135176) (issue: [#131861](https://github.com/elastic/elasticsearch/issues/131861))
54+
55+
Infra/Node Lifecycle:
56+
* Fix systemd notify to use a shared arena [#135235](https://github.com/elastic/elasticsearch/pull/135235)
57+
58+
Ingest Node:
59+
* Correctly apply field path to JSON processor when adding contents to document root [#135479](https://github.com/elastic/elasticsearch/pull/135479)
60+
61+
Machine Learning:
62+
* Add .reindexed-v7-ml-anomalies-* to anomaly results template index pattern [#135270](https://github.com/elastic/elasticsearch/pull/135270)
63+
* Gracefully shutdown model deployment when node is removed from assignment routing [#134673](https://github.com/elastic/elasticsearch/pull/134673)
64+
* Reset health status on successful empty checkpoint [#135653](https://github.com/elastic/elasticsearch/pull/135653) (issue: [#135650](https://github.com/elastic/elasticsearch/issues/135650))
65+
66+
Mapping:
67+
* Fix for creating semantic_text fields on pre-8.11 indices crashing Elasticsearch [#135845](https://github.com/elastic/elasticsearch/pull/135845)
68+
69+
Search:
70+
* Fix KQL case-sensitivity for keyword fields in ES|QL [#135776](https://github.com/elastic/elasticsearch/pull/135776) (issue: [#135772](https://github.com/elastic/elasticsearch/issues/135772))
71+
* Prevent field caps from failing due to can match failure [#134134](https://github.com/elastic/elasticsearch/pull/134134) (issue: [#116106](https://github.com/elastic/elasticsearch/issues/116106))
72+
73+
Transform:
74+
* Fix a bug in the GET _transform API that incorrectly claims some Transform configurations are missing [#134963](https://github.com/elastic/elasticsearch/pull/134963) (issue: [#134263](https://github.com/elastic/elasticsearch/issues/134263))
75+
* Prevent Transform from queuing too many PIT close requests by waiting for PIT to close before finishing the checkpoint [#134955](https://github.com/elastic/elasticsearch/pull/134955) (issue: [#134925](https://github.com/elastic/elasticsearch/issues/134925))
76+
77+
78+
2379
## 9.1.4 [elasticsearch-9.1.4-release-notes]
2480

2581
### Features and enhancements [elasticsearch-9.1.4-features-enhancements]

libs/entitlement/tools/common/src/main/java/org/elasticsearch/entitlement/tools/ExternalAccess.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,11 @@ public static EnumSet<ExternalAccess> fromString(String accessAsString) {
5656
if ("PUBLIC".equals(accessAsString)) {
5757
return EnumSet.of(ExternalAccess.PUBLIC_CLASS, ExternalAccess.PUBLIC_METHOD);
5858
}
59+
// used by JDK public API extractor (only), describing protected method access
60+
// in this case public class access can be implied
61+
if ("PROTECTED".equals(accessAsString)) {
62+
return EnumSet.of(ExternalAccess.PUBLIC_CLASS, ExternalAccess.PROTECTED_METHOD);
63+
}
5964
if ("PUBLIC-METHOD".equals(accessAsString)) {
6065
return EnumSet.of(ExternalAccess.PUBLIC_METHOD);
6166
}

libs/entitlement/tools/jdk-api-extractor/README.md

Lines changed: 19 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,28 +1,39 @@
11
This tool scans the JDK on which it is running to extract its public accessible API.
22
That is:
3-
- public methods (including constructors) of public, exported classes as well as protected methods of these if not final.
4-
- internal implementations (overwrites) of above.
3+
- public methods (including constructors) of public, exported classes as well as protected methods of non-final classes.
4+
- any overwrites of public methods of public, exported super classes and interfaces.
55

66
The output of this tool is meant to be diffed against the output for another JDK
77
version to identify changes that need to be reviewed for entitlements.
8+
The output is compatible with the `public-callers-finder` tool to calculate the
9+
public transitive surface of new additions. See the example below.
810

911
The following `TAB`-separated columns are written:
1012
1. module name
11-
2. fully qualified class name (ASM style, with `/` separators)
12-
3. method name
13-
4. method descriptor (ASM signature)
14-
5. visibility (`PUBLIC` / `PROTECTED`)
15-
6. `STATIC` modifier or empty
16-
7. `FINAL` modifier or empty
13+
2. unused / empty (for compatibility with `public-callers-finder`)
14+
3. unused / empty (for compatibility with `public-callers-finder`)
15+
4. fully qualified class name (ASM style, with `/` separators)
16+
5. method name
17+
6. method descriptor (ASM signature)
18+
7. visibility (`PUBLIC` / `PROTECTED`)
19+
8. `STATIC` modifier or empty
20+
9. `FINAL` modifier or empty
1721

1822
Usage example:
1923
```bash
2024
./gradlew :libs:entitlement:tools:jdk-api-extractor:run -Druntime.java=24 --args="api-jdk24.tsv"
2125
./gradlew :libs:entitlement:tools:jdk-api-extractor:run -Druntime.java=25 --args="api-jdk25.tsv"
26+
2227
# diff the public apis
2328
diff -u libs/entitlement/tools/jdk-api-extractor/api-jdk24.tsv libs/entitlement/tools/jdk-api-extractor/api-jdk25.tsv > libs/entitlement/tools/jdk-api-extractor/api.diff
29+
2430
# extract additions in the new JDK, these require the most careful review
2531
cat libs/entitlement/tools/jdk-api-extractor/api.diff | grep '^+[^+]' | sed 's/^+//' > api-jdk25-additions.tsv
32+
33+
# review new additions next for critical ones that should require entitlements
34+
# once done, remove all lines that are not considered critical and run the public-callers-finder to report
35+
# the transitive public surface for these additions
36+
./gradlew :libs:entitlement:tools:public-callers-finder:run -Druntime.java=25 --args="api-jdk25-additions.tsv true"
2637
```
2738

2839
### Optional arguments:

libs/entitlement/tools/jdk-api-extractor/src/main/java/org/elasticsearch/entitlement/tools/jdkapi/JdkApiExtractor.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -188,6 +188,8 @@ CharSequence toLine(ModuleClass moduleClass) {
188188
return String.join(
189189
SEPARATOR,
190190
moduleClass.module,
191+
"", // compatibility with public-callers-finder
192+
"", // compatibility with public-callers-finder
191193
moduleClass.clazz,
192194
method,
193195
descriptor,

libs/entitlement/tools/public-callers-finder/README.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
1-
This tool scans the JDK on which it is running. It takes a list of methods (compatible with the output of the `securitymanager-scanner` tool), and looks for the "public surface" of these methods (i.e. any class/method accessible from regular Java code that calls into the original list, directly or transitively).
1+
This tool scans the JDK on which it is running. It takes a list of methods (compatible with the output of the `securitymanager-scanner` and `jdk-api-extractor` tools),
2+
and looks for the "public surface" of these methods (i.e. any class/method accessible from regular Java code that calls into the original list, directly or transitively).
23

34
It acts basically as a recursive "Find Usages" in Intellij, stopping at the first fully accessible point (public method on a public class).
45
The tool scans every method in every class inside the same java module; e.g.
@@ -14,19 +15,18 @@ it treats calls to `super` in `S.m` as regular calls (e.g. `example() -> S.m() -
1415

1516
In order to run the tool, use:
1617
```shell
17-
./gradlew :libs:entitlement:tools:public-callers-finder:run <input-file> [<bubble-up-from-public>]
18+
./gradlew :libs:entitlement:tools:public-callers-finder:run -Druntime.java=25 --args="<input-file> [<bubble-up-from-public>]"
1819
```
1920
Where `input-file` is a CSV file (columns separated by `TAB`) that contains the following columns:
20-
Module name
21-
1. unused
21+
1. Module name
2222
2. unused
2323
3. unused
2424
4. Fully qualified class name (ASM style, with `/` separators)
2525
5. Method name
2626
6. Method descriptor (ASM signature)
2727
7. Visibility (PUBLIC/PUBLIC-METHOD/PRIVATE)
2828

29-
And `bubble-up-from-public` is a boolean (`true|false`) indicating if the code should stop at the first public method (`false`: default, recommended) or continue to find usages recursively even after reaching the "public surface".
29+
And `bubble-up-from-public` is a boolean (`true|false`) indicating if the code should stop at the first public method (`false`: default) or continue to find usages recursively even after reaching the "public surface".
3030

3131
The output of the tool is another CSV file, with one line for each entry-point, columns separated by `TAB`
3232

libs/entitlement/tools/public-callers-finder/build.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ repositories {
5151
}
5252

5353
dependencies {
54-
compileOnly(project(':libs:core'))
54+
implementation(project(':libs:core'))
5555
implementation 'org.ow2.asm:asm:9.8'
5656
implementation 'org.ow2.asm:asm-util:9.8'
5757
implementation(project(':libs:entitlement:tools:common'))

0 commit comments

Comments
 (0)