Skip to content

Commit a6e04e5

Browse files
authored
Merge branch '8.19' into backport/8.19/pr-214586
2 parents 31f7bfa + 9e80458 commit a6e04e5

657 files changed

Lines changed: 22233 additions & 7883 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/CODEOWNERS

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -704,6 +704,7 @@ src/platform/packages/shared/kbn-osquery-io-ts-types @elastic/security-asset-man
704704
x-pack/platform/plugins/shared/osquery @elastic/security-defend-workflows
705705
examples/partial_results_example @elastic/kibana-data-discovery
706706
x-pack/platform/plugins/private/painless_lab @elastic/kibana-management
707+
src/platform/packages/shared/kbn-palettes @elastic/kibana-visualizations
707708
src/platform/packages/private/kbn-panel-loader @elastic/kibana-presentation
708709
src/platform/packages/private/kbn-peggy @elastic/kibana-operations
709710
packages/kbn-peggy-loader @elastic/kibana-operations

docs/CHANGELOG.asciidoc

Lines changed: 19 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -100,7 +100,13 @@ include::upgrade-notes.asciidoc[]
100100
[[release-notes-8.18.2]]
101101
== {kib} 8.18.2
102102

103-
The 8.18.2 release includes the following fixes.
103+
The 8.18.2 release includes the following known issues and fixes.
104+
105+
[float]
106+
[[known-issues-8.18.2]]
107+
=== Known issues
108+
109+
include::CHANGELOG.asciidoc[tag=known-issue-1508]
104110

105111
[float]
106112
[[fixes-v8.18.2]]
@@ -122,13 +128,14 @@ For the Elastic Security 8.18.2 release information, refer to {security-guide}/r
122128
The 8.18.1 release contains fixes for potential security vulnerabilities. See our https://discuss.elastic.co/c/announcements/security-announcements/31[security advisory] for more details.
123129
====
124130

125-
The 8.18.1 release includes the following enhancements and fixes.
131+
The 8.18.1 release includes the following known issues, enhancements and fixes.
126132

127133
[float]
128134
[[known-issues-8.18.1]]
129135
=== Known issues
130136

131137
include::CHANGELOG.asciidoc[tag=known-issue-220339]
138+
include::CHANGELOG.asciidoc[tag=known-issue-1508]
132139

133140
[float]
134141
[[enhancement-v8.18.1]]
@@ -163,13 +170,22 @@ Machine Learning::
163170

164171
[[release-notes-8.18.0]]
165172
== {kib} 8.18.0
166-
coming::[8.18.0]
167173

168174
Review the following information about the {kib} 8.18.0 release.
169175
[float]
170176
[[known-issues-8.18.0]]
171177
=== Known issues
172178

179+
// tag::known-issue-1508[]
180+
.Observability AI assistant gets stuck in a loop when attempting to call the `execute_connector` function.
181+
[%collapsible]
182+
====
183+
*Details* +
184+
The Observability AI assistant gets stuck in a loop when calling the `execute_connector` function. Instead of completing queries, it times out with the error message `Failed to parse function call arguments when converting messages for inference: SyntaxError: Unexpected non-whitespace character after JSON at position 72 and Error: Tool call arguments for execute_connector (...) were invalid`.
185+
186+
====
187+
// end::known-issue-1508[]
188+
173189
// tag::known-issue-220339[]
174190
.Observability AI assistant Knowledge Base entries with empty text can lead to Kibana OOM or restarts.
175191
[%collapsible]

fleet_packages.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,6 @@
5656
},
5757
{
5858
"name": "security_detection_engine",
59-
"version": "8.18.3"
59+
"version": "8.18.5"
6060
}
61-
]
61+
]

package.json

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -731,6 +731,7 @@
731731
"@kbn/osquery-plugin": "link:x-pack/platform/plugins/shared/osquery",
732732
"@kbn/paertial-results-example-plugin": "link:examples/partial_results_example",
733733
"@kbn/painless-lab-plugin": "link:x-pack/platform/plugins/private/painless_lab",
734+
"@kbn/palettes": "link:src/platform/packages/shared/kbn-palettes",
734735
"@kbn/panel-loader": "link:src/platform/packages/private/kbn-panel-loader",
735736
"@kbn/portable-dashboards-example": "link:examples/portable_dashboards_example",
736737
"@kbn/preboot-example-plugin": "link:examples/preboot_example",
@@ -1149,7 +1150,7 @@
11491150
"deep-freeze-strict": "^1.1.1",
11501151
"deepmerge": "^4.3.1",
11511152
"del": "^6.1.0",
1152-
"diff": "^8.0.0",
1153+
"diff": "^8.0.1",
11531154
"dotenv": "^16.4.5",
11541155
"elastic-apm-node": "^4.13.0",
11551156
"email-addresses": "^5.0.0",
@@ -1186,6 +1187,7 @@
11861187
"io-ts": "^2.2.22",
11871188
"ipaddr.js": "2.0.0",
11881189
"isbinaryfile": "4.0.2",
1190+
"jest-diff": "^29.7.0",
11891191
"joi": "^17.13.3",
11901192
"joi-to-json": "^4.3.0",
11911193
"jquery": "^3.7.1",
@@ -1819,7 +1821,6 @@
18191821
"jest-canvas-mock": "^2.5.2",
18201822
"jest-cli": "^29.7.0",
18211823
"jest-config": "^29.7.0",
1822-
"jest-diff": "^29.7.0",
18231824
"jest-environment-jsdom": "^29.7.0",
18241825
"jest-matcher-utils": "^29.7.0",
18251826
"jest-mock": "^29.7.0",

src/dev/build/tasks/os_packages/docker_generator/run.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,7 @@ export async function runDockerGenerator(
6262
if (flags.fips) {
6363
imageFlavor += '-fips';
6464
baseImageName =
65-
'docker.elastic.co/wolfi/chainguard-base-fips:latest@sha256:a9e07d97c55f5b854b1c203509e57b6f466eb26318540b2e1b59734355f747b6';
65+
'docker.elastic.co/wolfi/chainguard-base-fips:latest@sha256:68e0781cd592beda39880428985d5fecca1cf2abb18365da73bf1f7ebd994974';
6666
}
6767

6868
// General docker var config

src/dev/build/tasks/os_packages/run_fpm.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -87,6 +87,8 @@ export async function runFpm(
8787
// tell fpm about the config file so that it is called out in the package definition
8888
'--config-files',
8989
`/etc/kibana`,
90+
'--config-files',
91+
`/etc/${envFolder}/kibana`,
9092

9193
// define template values that will be injected into the install/uninstall
9294
// scripts, also causes scripts to be processed with erb

src/platform/packages/private/kbn-esql-editor/src/esql_editor.tsx

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -520,12 +520,14 @@ export const ESQLEditor = memo(function ESQLEditor({
520520
return variablesService?.areSuggestionsEnabled ?? false;
521521
},
522522
getJoinIndices: kibana.services?.esql?.getJoinIndicesAutocomplete,
523+
getTimeseriesIndices: kibana.services?.esql?.getTimeseriesIndicesAutocomplete,
523524
};
524525
return callbacks;
525526
}, [
526527
fieldsMetadata,
527528
license,
528529
kibana.services?.esql?.getJoinIndicesAutocomplete,
530+
kibana.services?.esql?.getTimeseriesIndicesAutocomplete,
529531
dataSourcesCache,
530532
fixedQuery,
531533
memoizedSources,

src/platform/packages/private/kbn-esql-editor/src/types.ts

Lines changed: 3 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ import type { UsageCollectionStart } from '@kbn/usage-collection-plugin/public';
1818
import type { Storage } from '@kbn/kibana-utils-plugin/public';
1919
import type { UiActionsStart } from '@kbn/ui-actions-plugin/public';
2020
import type { DataPublicPluginStart } from '@kbn/data-plugin/public';
21-
import type { ESQLControlVariable } from '@kbn/esql-types';
21+
import type { ESQLControlVariable, IndicesAutocompleteResult } from '@kbn/esql-types';
2222

2323
export interface ControlsContext {
2424
/** The editor supports the creation of controls,
@@ -88,16 +88,6 @@ export interface ESQLEditorProps {
8888
expandToFitQueryOnMount?: boolean;
8989
}
9090

91-
export interface JoinIndicesAutocompleteResult {
92-
indices: JoinIndexAutocompleteItem[];
93-
}
94-
95-
export interface JoinIndexAutocompleteItem {
96-
name: string;
97-
mode: 'lookup' | string;
98-
aliases: string[];
99-
}
100-
10191
interface ESQLVariableService {
10292
areSuggestionsEnabled: boolean;
10393
esqlVariables: ESQLControlVariable[];
@@ -108,7 +98,8 @@ interface ESQLVariableService {
10898
}
10999

110100
export interface EsqlPluginStartBase {
111-
getJoinIndicesAutocomplete: () => Promise<JoinIndicesAutocompleteResult>;
101+
getJoinIndicesAutocomplete: () => Promise<IndicesAutocompleteResult>;
102+
getTimeseriesIndicesAutocomplete: () => Promise<IndicesAutocompleteResult>;
112103
variablesService: ESQLVariableService;
113104
getLicense: () => Promise<ILicense | undefined>;
114105
}

src/platform/packages/shared/kbn-apm-synthtrace/src/lib/shared/base_kibana_client.ts

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -11,9 +11,9 @@
1111

1212
import fetch from 'node-fetch';
1313
import { RequestInit } from 'node-fetch';
14-
import Path from 'path';
1514
import { kibanaHeaders } from './client_headers';
1615
import { getFetchAgent } from '../../cli/utils/ssl';
16+
import { normalizeUrl } from '../utils/normalize_url';
1717

1818
type KibanaClientFetchOptions = RequestInit;
1919

@@ -33,18 +33,20 @@ export class KibanaClient {
3333
}
3434

3535
fetch<T>(pathname: string, options: KibanaClientFetchOptions): Promise<T> {
36-
const url = Path.join(this.target, pathname);
37-
return fetch(url, {
36+
const pathnameWithLeadingSlash = pathname.startsWith('/') ? pathname : `/${pathname}`;
37+
const url = new URL(`${this.target}${pathnameWithLeadingSlash}`);
38+
const normalizedUrl = normalizeUrl(url.toString());
39+
return fetch(normalizedUrl, {
3840
...options,
3941
headers: {
4042
...this.headers,
4143
...options.headers,
4244
},
43-
agent: getFetchAgent(url),
45+
agent: getFetchAgent(normalizedUrl),
4446
}).then(async (response) => {
4547
if (response.status >= 400) {
4648
throw new KibanaClientHttpError(
47-
`Response error for ${options.method?.toUpperCase() ?? 'GET'} ${url}`,
49+
`Response error for ${options.method?.toUpperCase() ?? 'GET'} ${normalizedUrl}`,
4850
response.status,
4951
await response.json().catch((error) => {
5052
return undefined;
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
/*
2+
* Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
3+
* or more contributor license agreements. Licensed under the "Elastic License
4+
* 2.0", the "GNU Affero General Public License v3.0 only", and the "Server Side
5+
* Public License v 1"; you may not use this file except in compliance with, at
6+
* your election, the "Elastic License 2.0", the "GNU Affero General Public
7+
* License v3.0 only", or the "Server Side Public License, v 1".
8+
*/
9+
10+
export function normalizeUrl(url: string): string {
11+
return url.replace(/([^:]\/)\/+/g, '$1');
12+
}

0 commit comments

Comments
 (0)