Commit graph

1003 commits

Author SHA1 Message Date
Kibana Machine
af4c59f16d
[8.x] [OBX-UX-MGTM][ALERTING] Add the reason message to the rules recovery context (#211411) (#218490)
# Backport

This will backport the following commits from `main` to `8.x`:
- [[OBX-UX-MGTM][ALERTING] Add the reason message to the rules recovery
context (#211411)](https://github.com/elastic/kibana/pull/211411)

<!--- Backport version: 9.6.6 -->

### Questions ?
Please refer to the [Backport tool
documentation](https://github.com/sorenlouv/backport)

<!--BACKPORT [{"author":{"name":"Faisal
Kanout","email":"faisal.kanout@elastic.co"},"sourceCommit":{"committedDate":"2025-03-03T12:04:52Z","message":"[OBX-UX-MGTM][ALERTING]
Add the reason message to the rules recovery context (#211411)\n\n##
Summary\n\nIt fixes #184803 by:\n\n### Adding the reason message to
recovery context variables in the\nfollowing rules:\n- Inventory
Threshold\n- Metric threshold\n- Custom threshold\n- Log
threshold\n\n### Enabling recovery context and handling the recovery
alert context\nfor APM (except Anomaly)\n- Latency threshold\n- Error
count\n- Failed transaction
rate","sha":"9a6b4ecda3c0f1db49f8f93cd6968b4e2f2055d7","branchLabelMapping":{"^v9.1.0$":"main","^v8.19.0$":"8.x","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["release_note:enhancement","Feature:Alerting","v9.0.0","backport:prev-minor","Team:obs-ux-infra_services","Team:obs-ux-management","backport:version","v9.1.0","v8.19.0"],"title":"[OBX-UX-MGTM][ALERTING]
Add the reason message to the rules recovery
context","number":211411,"url":"https://github.com/elastic/kibana/pull/211411","mergeCommit":{"message":"[OBX-UX-MGTM][ALERTING]
Add the reason message to the rules recovery context (#211411)\n\n##
Summary\n\nIt fixes #184803 by:\n\n### Adding the reason message to
recovery context variables in the\nfollowing rules:\n- Inventory
Threshold\n- Metric threshold\n- Custom threshold\n- Log
threshold\n\n### Enabling recovery context and handling the recovery
alert context\nfor APM (except Anomaly)\n- Latency threshold\n- Error
count\n- Failed transaction
rate","sha":"9a6b4ecda3c0f1db49f8f93cd6968b4e2f2055d7"}},"sourceBranch":"main","suggestedTargetBranches":["8.x"],"targetPullRequestStates":[{"branch":"9.0","label":"v9.0.0","branchLabelMappingKey":"^v(\\d+).(\\d+).\\d+$","isSourceBranch":false,"url":"https://github.com/elastic/kibana/pull/212896","number":212896,"state":"MERGED","mergeCommit":{"sha":"2fc95c610f0b8a7a2b57cfc38a48f722f4ce5b84","message":"[9.0]
[OBX-UX-MGTM][ALERTING] Add the reason message to the rules recovery
context (#211411) (#212896)\n\n# Backport\n\nThis will backport the
following commits from `main` to `9.0`:\n- [[OBX-UX-MGTM][ALERTING] Add
the reason message to the rules recovery\ncontext
(#211411)](https://github.com/elastic/kibana/pull/211411)\n\n\n\n###
Questions ?\nPlease refer to the [Backport
tool\ndocumentation](https://github.com/sorenlouv/backport)\n\n\n\nCo-authored-by:
Faisal Kanout
<faisal.kanout@elastic.co>"}},{"branch":"main","label":"v9.1.0","branchLabelMappingKey":"^v9.1.0$","isSourceBranch":true,"state":"MERGED","url":"https://github.com/elastic/kibana/pull/211411","number":211411,"mergeCommit":{"message":"[OBX-UX-MGTM][ALERTING]
Add the reason message to the rules recovery context (#211411)\n\n##
Summary\n\nIt fixes #184803 by:\n\n### Adding the reason message to
recovery context variables in the\nfollowing rules:\n- Inventory
Threshold\n- Metric threshold\n- Custom threshold\n- Log
threshold\n\n### Enabling recovery context and handling the recovery
alert context\nfor APM (except Anomaly)\n- Latency threshold\n- Error
count\n- Failed transaction
rate","sha":"9a6b4ecda3c0f1db49f8f93cd6968b4e2f2055d7"}},{"branch":"8.x","label":"v8.19.0","branchLabelMappingKey":"^v8.19.0$","isSourceBranch":false,"state":"NOT_CREATED"}]}]
BACKPORT-->

Co-authored-by: Faisal Kanout <faisal.kanout@elastic.co>
2025-04-16 23:48:21 +02:00
jennypavlova
95e63f8260
[8.x] [APM][OTel] Encode service name in the APM URLs (#217092) (#218475)
# Backport

This will backport the following commits from `main` to `8.x`:
- [[APM][OTel] Encode service name in the APM URLs
(#217092)](https://github.com/elastic/kibana/pull/217092)

<!--- Backport version: 9.6.6 -->

### Questions ?
Please refer to the [Backport tool
documentation](https://github.com/sorenlouv/backport)

<!--BACKPORT
[{"author":{"name":"jennypavlova","email":"dzheni.pavlova@elastic.co"},"sourceCommit":{"committedDate":"2025-04-16T15:52:33Z","message":"[APM][OTel]
Encode service name in the APM URLs (#217092)\n\nCloses #213943\n\n##
Summary\n\nThis PR ensures the service name is always encoded in the APM
UIs. It's\na follow-up of https://github.com/elastic/kibana/pull/215031
and aims to\nfind a better solution to the problem:\n- Add the encoding
directly to `formatRequest` as suggested there\n- I saw that there are
many places where we use legacy Url builders, so\nI will try to replace
them where possible and use\napm router link method where the path is
encoded\n([ref](7158e0201b/src/platform/packages/shared/kbn-typed-react-router-config/src/create_router.ts (L184-L185)))\n-
The PR includes the changes to address the issue above:\n - Replaced and
removed `LegacyAPMLink`\n- Refactored `useAPMHref` to support encoding
(and extracted and test\nthe encoding logic)\n - Example usage: \n -
Before: \n ```js\n useAPMHref({\n path:
`/services/${serviceName}/.....`,\n persistedFilters,\n });\n ```\n -
After:\n ```js\n useAPMHref({\n path:
'/services/{serviceName}/.......}',\n pathParams: { serviceName },\n
persistedFilters,\n });\n ```\n - Used the APM router link method as
much as possible\n\n\n## Testing\n- Run `node scripts/synthtrace
trace_with_service_names_with_slashes.ts\n--clean --live --uniqueIds
--live`\n- Go to service inventory and click the
links:\n\n\nhttps://github.com/user-attachments/assets/fcd4fbfc-4125-4cc8-9b00-53c5f375423f","sha":"f816e7b84f94d9af8d3fffb85dc83512f31c55e9","branchLabelMapping":{"^v9.1.0$":"main","^v8.19.0$":"8.x","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["release_note:enhancement","v9.0.0","backport:prev-minor","Team:obs-ux-infra_services","backport:version","v8.18.0","v9.1.0","v8.19.0"],"title":"[APM][OTel]
Encode service name in the APM
URLs","number":217092,"url":"https://github.com/elastic/kibana/pull/217092","mergeCommit":{"message":"[APM][OTel]
Encode service name in the APM URLs (#217092)\n\nCloses #213943\n\n##
Summary\n\nThis PR ensures the service name is always encoded in the APM
UIs. It's\na follow-up of https://github.com/elastic/kibana/pull/215031
and aims to\nfind a better solution to the problem:\n- Add the encoding
directly to `formatRequest` as suggested there\n- I saw that there are
many places where we use legacy Url builders, so\nI will try to replace
them where possible and use\napm router link method where the path is
encoded\n([ref](7158e0201b/src/platform/packages/shared/kbn-typed-react-router-config/src/create_router.ts (L184-L185)))\n-
The PR includes the changes to address the issue above:\n - Replaced and
removed `LegacyAPMLink`\n- Refactored `useAPMHref` to support encoding
(and extracted and test\nthe encoding logic)\n - Example usage: \n -
Before: \n ```js\n useAPMHref({\n path:
`/services/${serviceName}/.....`,\n persistedFilters,\n });\n ```\n -
After:\n ```js\n useAPMHref({\n path:
'/services/{serviceName}/.......}',\n pathParams: { serviceName },\n
persistedFilters,\n });\n ```\n - Used the APM router link method as
much as possible\n\n\n## Testing\n- Run `node scripts/synthtrace
trace_with_service_names_with_slashes.ts\n--clean --live --uniqueIds
--live`\n- Go to service inventory and click the
links:\n\n\nhttps://github.com/user-attachments/assets/fcd4fbfc-4125-4cc8-9b00-53c5f375423f","sha":"f816e7b84f94d9af8d3fffb85dc83512f31c55e9"}},"sourceBranch":"main","suggestedTargetBranches":["9.0","8.18","8.x"],"targetPullRequestStates":[{"branch":"9.0","label":"v9.0.0","branchLabelMappingKey":"^v(\\d+).(\\d+).\\d+$","isSourceBranch":false,"state":"NOT_CREATED"},{"branch":"8.18","label":"v8.18.0","branchLabelMappingKey":"^v(\\d+).(\\d+).\\d+$","isSourceBranch":false,"state":"NOT_CREATED"},{"branch":"main","label":"v9.1.0","branchLabelMappingKey":"^v9.1.0$","isSourceBranch":true,"state":"MERGED","url":"https://github.com/elastic/kibana/pull/217092","number":217092,"mergeCommit":{"message":"[APM][OTel]
Encode service name in the APM URLs (#217092)\n\nCloses #213943\n\n##
Summary\n\nThis PR ensures the service name is always encoded in the APM
UIs. It's\na follow-up of https://github.com/elastic/kibana/pull/215031
and aims to\nfind a better solution to the problem:\n- Add the encoding
directly to `formatRequest` as suggested there\n- I saw that there are
many places where we use legacy Url builders, so\nI will try to replace
them where possible and use\napm router link method where the path is
encoded\n([ref](7158e0201b/src/platform/packages/shared/kbn-typed-react-router-config/src/create_router.ts (L184-L185)))\n-
The PR includes the changes to address the issue above:\n - Replaced and
removed `LegacyAPMLink`\n- Refactored `useAPMHref` to support encoding
(and extracted and test\nthe encoding logic)\n - Example usage: \n -
Before: \n ```js\n useAPMHref({\n path:
`/services/${serviceName}/.....`,\n persistedFilters,\n });\n ```\n -
After:\n ```js\n useAPMHref({\n path:
'/services/{serviceName}/.......}',\n pathParams: { serviceName },\n
persistedFilters,\n });\n ```\n - Used the APM router link method as
much as possible\n\n\n## Testing\n- Run `node scripts/synthtrace
trace_with_service_names_with_slashes.ts\n--clean --live --uniqueIds
--live`\n- Go to service inventory and click the
links:\n\n\nhttps://github.com/user-attachments/assets/fcd4fbfc-4125-4cc8-9b00-53c5f375423f","sha":"f816e7b84f94d9af8d3fffb85dc83512f31c55e9"}},{"branch":"8.x","label":"v8.19.0","branchLabelMappingKey":"^v8.19.0$","isSourceBranch":false,"state":"NOT_CREATED"}]}]
BACKPORT-->
2025-04-16 21:23:31 +02:00
Marshall Main
17ba3ab768
[8.x] [Security Solution][Detection Engine] Split search request building from search (#216887) (#218262)
# Backport

This will backport the following commits from `main` to `8.x`:
- [[Security Solution][Detection Engine] Split search request building
from search (#216887)](https://github.com/elastic/kibana/pull/216887)

<!--- Backport version: 9.6.6 -->

### Questions ?
Please refer to the [Backport tool
documentation](https://github.com/sorenlouv/backport)

<!--BACKPORT [{"author":{"name":"Marshall
Main","email":"55718608+marshallmain@users.noreply.github.com"},"sourceCommit":{"committedDate":"2025-04-15T12:19:34Z","message":"[Security
Solution][Detection Engine] Split search request building from search
(#216887)\n\n## Summary\n\nThis PR better separates the request building
logic in the detection\nengine from query building logic, removes
outdated error checking logic,\nupdates the `singleSearchAfter` `search`
call to no longer use the\nlegacy `meta: true` param, and improves
search response type
inference.","sha":"dee4dfbe5995614b82792b692775c150dc79635e","branchLabelMapping":{"^v9.1.0$":"main","^v8.19.0$":"8.x","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["release_note:skip","Team:Detection
Engine","backport:version","v9.1.0","v8.19.0"],"title":"[Security
Solution][Detection Engine] Split search request building from
search","number":216887,"url":"https://github.com/elastic/kibana/pull/216887","mergeCommit":{"message":"[Security
Solution][Detection Engine] Split search request building from search
(#216887)\n\n## Summary\n\nThis PR better separates the request building
logic in the detection\nengine from query building logic, removes
outdated error checking logic,\nupdates the `singleSearchAfter` `search`
call to no longer use the\nlegacy `meta: true` param, and improves
search response type
inference.","sha":"dee4dfbe5995614b82792b692775c150dc79635e"}},"sourceBranch":"main","suggestedTargetBranches":["8.x"],"targetPullRequestStates":[{"branch":"main","label":"v9.1.0","branchLabelMappingKey":"^v9.1.0$","isSourceBranch":true,"state":"MERGED","url":"https://github.com/elastic/kibana/pull/216887","number":216887,"mergeCommit":{"message":"[Security
Solution][Detection Engine] Split search request building from search
(#216887)\n\n## Summary\n\nThis PR better separates the request building
logic in the detection\nengine from query building logic, removes
outdated error checking logic,\nupdates the `singleSearchAfter` `search`
call to no longer use the\nlegacy `meta: true` param, and improves
search response type
inference.","sha":"dee4dfbe5995614b82792b692775c150dc79635e"}},{"branch":"8.x","label":"v8.19.0","branchLabelMappingKey":"^v8.19.0$","isSourceBranch":false,"state":"NOT_CREATED"}]}]
BACKPORT-->
2025-04-16 18:06:08 +01:00
Francesco Fagnani
54d58acf36
[8.x] [Synthetics] Added drilldown to synthetics stats overview embeddable (#217688) (#218387)
# Backport

This will backport the following commits from `main` to `8.x`:
- [[Synthetics] Added drilldown to synthetics stats overview embeddable
(#217688)](https://github.com/elastic/kibana/pull/217688)

<!--- Backport version: 9.6.6 -->

### Questions ?
Please refer to the [Backport tool
documentation](https://github.com/sorenlouv/backport)

<!--BACKPORT [{"author":{"name":"Francesco
Fagnani","email":"fagnani.francesco@gmail.com"},"sourceCommit":{"committedDate":"2025-04-16T07:52:16Z","message":"[Synthetics]
Added drilldown to synthetics stats overview embeddable
(#217688)\n\nThis PR closes #208066 by adding drilldowns to the
synthetics stats\noverview
embeddable.\n\n\n\nhttps://github.com/user-attachments/assets/fe8d9eb0-ecdc-449d-93af-7d165c541d46","sha":"ec88cca373b879b265df08965a9a590a7dc65217","branchLabelMapping":{"^v9.1.0$":"main","^v8.19.0$":"8.x","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["release_note:feature","Team:obs-ux-management","backport:version","v9.1.0","v8.19.0"],"title":"[Synthetics]
Added drilldown to synthetics stats overview
embeddable","number":217688,"url":"https://github.com/elastic/kibana/pull/217688","mergeCommit":{"message":"[Synthetics]
Added drilldown to synthetics stats overview embeddable
(#217688)\n\nThis PR closes #208066 by adding drilldowns to the
synthetics stats\noverview
embeddable.\n\n\n\nhttps://github.com/user-attachments/assets/fe8d9eb0-ecdc-449d-93af-7d165c541d46","sha":"ec88cca373b879b265df08965a9a590a7dc65217"}},"sourceBranch":"main","suggestedTargetBranches":["8.x"],"targetPullRequestStates":[{"branch":"main","label":"v9.1.0","branchLabelMappingKey":"^v9.1.0$","isSourceBranch":true,"state":"MERGED","url":"https://github.com/elastic/kibana/pull/217688","number":217688,"mergeCommit":{"message":"[Synthetics]
Added drilldown to synthetics stats overview embeddable
(#217688)\n\nThis PR closes #208066 by adding drilldowns to the
synthetics stats\noverview
embeddable.\n\n\n\nhttps://github.com/user-attachments/assets/fe8d9eb0-ecdc-449d-93af-7d165c541d46","sha":"ec88cca373b879b265df08965a9a590a7dc65217"}},{"branch":"8.x","label":"v8.19.0","branchLabelMappingKey":"^v8.19.0$","isSourceBranch":false,"state":"NOT_CREATED"}]}]
BACKPORT-->
2025-04-16 18:25:29 +02:00
Kibana Machine
6458959c21
[8.x] [Security Solution] Fix redux action being fired because of unused react-router value (#217055) (#218455)
# Backport

This will backport the following commits from `main` to `8.x`:
- [[Security Solution] Fix redux action being fired because of unused
react-router value
(#217055)](https://github.com/elastic/kibana/pull/217055)

<!--- Backport version: 9.6.6 -->

### Questions ?
Please refer to the [Backport tool
documentation](https://github.com/sorenlouv/backport)

<!--BACKPORT [{"author":{"name":"Kevin
Qualters","email":"56408403+kqualters-elastic@users.noreply.github.com"},"sourceCommit":{"committedDate":"2025-04-16T14:13:44Z","message":"[Security
Solution] Fix redux action being fired because of unused react-router
value (#217055)\n\n## Summary\n\nThis pr fixes a bug with the
RouteCapture component, used at a high\nlevel in the security solution
component tree, to reflect url changes\ninto redux. The code previously
used the full result of\n'react-router-dom' 's useLocation hook as the
payload, which contains 4\nparameters, pathname, search, hash that we
make use of, and a 4th that\nwas added sometime later by the library
that is essentially a random id\ngenerated every time the hook is
called, called key. We have never used\nthis, and it was being
inadvertently copied into the redux state, and\nalso causing some other
actions or hooks based listeners to run I think\nas well.\n\nBelow is
the contrived example of going from the home page to an empty\nalerts
page, and you can see 4 actions in the after, and 5 in the\nbefore, with
1 updating only the key. May reduce more unneeded actions\nwith more
going on in the page, but exactly how many is not
known.\nBefore:\n\n![image](ebd75055-4e17-497b-bed2-a5fd58c5c92f)\n\n\n###
Checklist\n\n- [ ] [Unit or
functional\ntests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)\nwere
updated or added to match the most common
scenarios","sha":"c277812ffe3e74eb9bc0733a538bd78ea9b95f58","branchLabelMapping":{"^v9.1.0$":"main","^v8.19.0$":"8.x","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["release_note:skip","Team:Threat
Hunting:Investigations","backport:all-open","v9.1.0"],"title":"[Security
Solution] Fix redux action being fired because of unused react-router
value","number":217055,"url":"https://github.com/elastic/kibana/pull/217055","mergeCommit":{"message":"[Security
Solution] Fix redux action being fired because of unused react-router
value (#217055)\n\n## Summary\n\nThis pr fixes a bug with the
RouteCapture component, used at a high\nlevel in the security solution
component tree, to reflect url changes\ninto redux. The code previously
used the full result of\n'react-router-dom' 's useLocation hook as the
payload, which contains 4\nparameters, pathname, search, hash that we
make use of, and a 4th that\nwas added sometime later by the library
that is essentially a random id\ngenerated every time the hook is
called, called key. We have never used\nthis, and it was being
inadvertently copied into the redux state, and\nalso causing some other
actions or hooks based listeners to run I think\nas well.\n\nBelow is
the contrived example of going from the home page to an empty\nalerts
page, and you can see 4 actions in the after, and 5 in the\nbefore, with
1 updating only the key. May reduce more unneeded actions\nwith more
going on in the page, but exactly how many is not
known.\nBefore:\n\n![image](ebd75055-4e17-497b-bed2-a5fd58c5c92f)\n\n\n###
Checklist\n\n- [ ] [Unit or
functional\ntests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)\nwere
updated or added to match the most common
scenarios","sha":"c277812ffe3e74eb9bc0733a538bd78ea9b95f58"}},"sourceBranch":"main","suggestedTargetBranches":[],"targetPullRequestStates":[{"branch":"main","label":"v9.1.0","branchLabelMappingKey":"^v9.1.0$","isSourceBranch":true,"state":"MERGED","url":"https://github.com/elastic/kibana/pull/217055","number":217055,"mergeCommit":{"message":"[Security
Solution] Fix redux action being fired because of unused react-router
value (#217055)\n\n## Summary\n\nThis pr fixes a bug with the
RouteCapture component, used at a high\nlevel in the security solution
component tree, to reflect url changes\ninto redux. The code previously
used the full result of\n'react-router-dom' 's useLocation hook as the
payload, which contains 4\nparameters, pathname, search, hash that we
make use of, and a 4th that\nwas added sometime later by the library
that is essentially a random id\ngenerated every time the hook is
called, called key. We have never used\nthis, and it was being
inadvertently copied into the redux state, and\nalso causing some other
actions or hooks based listeners to run I think\nas well.\n\nBelow is
the contrived example of going from the home page to an empty\nalerts
page, and you can see 4 actions in the after, and 5 in the\nbefore, with
1 updating only the key. May reduce more unneeded actions\nwith more
going on in the page, but exactly how many is not
known.\nBefore:\n\n![image](ebd75055-4e17-497b-bed2-a5fd58c5c92f)\n\n\n###
Checklist\n\n- [ ] [Unit or
functional\ntests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)\nwere
updated or added to match the most common
scenarios","sha":"c277812ffe3e74eb9bc0733a538bd78ea9b95f58"}}]}]
BACKPORT-->

Co-authored-by: Kevin Qualters <56408403+kqualters-elastic@users.noreply.github.com>
2025-04-16 18:03:58 +02:00
jennypavlova
44a13ffe63
[8.x] [APM][OTel] EDOT error summary fix (#217885) (#218391)
# Backport

This will backport the following commits from `main` to `8.x`:
- [[APM][OTel] EDOT error summary fix
(#217885)](https://github.com/elastic/kibana/pull/217885)

<!--- Backport version: 9.6.6 -->

### Questions ?
Please refer to the [Backport tool
documentation](https://github.com/sorenlouv/backport)

<!--BACKPORT
[{"author":{"name":"jennypavlova","email":"dzheni.pavlova@elastic.co"},"sourceCommit":{"committedDate":"2025-04-15T19:44:11Z","message":"[APM][OTel]
EDOT error summary fix (#217885)\n\n## Summary\n\nThis PR fixes the
issue with the error summary missing items using edot.\nIt includes e2e
tests with synthtrace for both edot and otel services.\n\nTODO \n\n- [x]
Test with serverless (waiting for the PR to be deployed)\nTested on
serverless works as expected: \n\n<img width=\"2560\"
alt=\"image\"\nsrc=\"https://github.com/user-attachments/assets/8dd7962e-7d66-482d-97fb-0b08882bd04f\"\n/>","sha":"7c9a3ee1f2a7f4599cd294ef2890e7c1b9cefd27","branchLabelMapping":{"^v9.1.0$":"main","^v8.19.0$":"8.x","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["release_note:fix","v9.0.0","ci:cloud-redeploy","ci:build-serverless-image","ci:project-deploy-observability","Team:obs-ux-infra_services","backport:version","v9.1.0","v8.19.0"],"title":"[APM][OTel]
EDOT error summary
fix","number":217885,"url":"https://github.com/elastic/kibana/pull/217885","mergeCommit":{"message":"[APM][OTel]
EDOT error summary fix (#217885)\n\n## Summary\n\nThis PR fixes the
issue with the error summary missing items using edot.\nIt includes e2e
tests with synthtrace for both edot and otel services.\n\nTODO \n\n- [x]
Test with serverless (waiting for the PR to be deployed)\nTested on
serverless works as expected: \n\n<img width=\"2560\"
alt=\"image\"\nsrc=\"https://github.com/user-attachments/assets/8dd7962e-7d66-482d-97fb-0b08882bd04f\"\n/>","sha":"7c9a3ee1f2a7f4599cd294ef2890e7c1b9cefd27"}},"sourceBranch":"main","suggestedTargetBranches":["9.0","8.x"],"targetPullRequestStates":[{"branch":"9.0","label":"v9.0.0","branchLabelMappingKey":"^v(\\d+).(\\d+).\\d+$","isSourceBranch":false,"state":"NOT_CREATED"},{"branch":"main","label":"v9.1.0","branchLabelMappingKey":"^v9.1.0$","isSourceBranch":true,"state":"MERGED","url":"https://github.com/elastic/kibana/pull/217885","number":217885,"mergeCommit":{"message":"[APM][OTel]
EDOT error summary fix (#217885)\n\n## Summary\n\nThis PR fixes the
issue with the error summary missing items using edot.\nIt includes e2e
tests with synthtrace for both edot and otel services.\n\nTODO \n\n- [x]
Test with serverless (waiting for the PR to be deployed)\nTested on
serverless works as expected: \n\n<img width=\"2560\"
alt=\"image\"\nsrc=\"https://github.com/user-attachments/assets/8dd7962e-7d66-482d-97fb-0b08882bd04f\"\n/>","sha":"7c9a3ee1f2a7f4599cd294ef2890e7c1b9cefd27"}},{"branch":"8.x","label":"v8.19.0","branchLabelMappingKey":"^v8.19.0$","isSourceBranch":false,"state":"NOT_CREATED"}]}]
BACKPORT-->
2025-04-16 17:07:57 +02:00
Kibana Machine
c2b2fffb2a
[8.x] [Security Solution] Allow disabling experimental features via config (#217363) (#218428)
# Backport

This will backport the following commits from `main` to `8.x`:
- [[Security Solution] Allow disabling experimental features via config
(#217363)](https://github.com/elastic/kibana/pull/217363)

<!--- Backport version: 9.6.6 -->

### Questions ?
Please refer to the [Backport tool
documentation](https://github.com/sorenlouv/backport)

<!--BACKPORT [{"author":{"name":"Sergi
Massaneda","email":"sergi.massaneda@elastic.co"},"sourceCommit":{"committedDate":"2025-04-16T12:09:28Z","message":"[Security
Solution] Allow disabling experimental features via config
(#217363)\n\n## Summary\n\nThis PR adds support for disabling
experimental features using the\nexisting
`xpack.securitySolution.enableExperimental` configuration.\n\nThis
solves the problem of not being able to disable a feature by
config\nonce the feature has been enabled by default.\n\n### The
Challenge \n\nWhen we start developing a feature under an experimental
flag we always\nfollow the same steps:\n\n1 - Create the experimental
flag disabled by default + enable it via\nconfig for testing\n2 -
Implement the feature\n3 - Enable the experimental flag by default when
we want to release the\nfeature.\n4 - Deployments can disable the
feature via config (as a safety\nmeasure).\n5 - Remove the experimental
flag after some time.\n\nWe start by creating the flag disabled by
default while we implement it.\nIn
`experimental_features.ts`:\n```ts\nexport const
allowedExperimentalValues = Object.freeze({\n myFeatureEnabled: false,\n
[...]\n```\nAnd enable it via config
with:\n```yml\nxpack.securitySolution.enableExperimental:\n -
myFeatureEnabled\n```\n\nOnce the implementation is done and the
experimental flag can be enabled\nby default, we have to do a
trick:\nSince the `xpack.securitySolution.enableExperimental` config can
only\nturn flags to _true_, instead of setting `myFeatureEnabled: true`,
what\nwe have to do is rename the flag to `myFeatureDisabled` and keep
the\nvalue as _false_:\n\n```ts\nexport const allowedExperimentalValues
= Object.freeze({\n myFeatureDisabled: false,\n [...]\n```\nThen we also
need to do a code refactor to update all the places in the\ncode where
the flag was checked: `if (myFeatureEnabled)` ->
`if\n(!myFeatureDisabled)`\n\nThis way, we have the option of disabling
the feature via config (in\ncase something goes
wrong):\n```yml\nxpack.securitySolution.enableExperimental:\n -
myFeatureDisabled\n```\n\n### A solution\n\nThis PR introduces the
possibility to turn a flag to _false_ using the\nsame
`xpack.securitySolution.enableExperimental` config. This was\npreferable
to introducing a new config since this one is already\nwhitelisted in
Cloud UI, can be easily overritten in deployments, and\nalso because
people are used to it.\n\nWith these changes, the first two steps would
be the same, with the\ndifference that we won't need to have the
_Enabled_ or _Disabled_ word\nat the end of the flag name. It could be
just the feature name, in\n`experimental_features.ts`:\n```ts\nexport
const allowedExperimentalValues = Object.freeze({\n myFeature: false,\n
[...]\n```\n\nAnd when we need to enable the feature by default, we can
just turn it\nto `true`:\n```ts\nexport const allowedExperimentalValues
= Object.freeze({\n myFeature: true,\n [...]\n```\nNo tedious refactor
or confusing naming would be required. \n\nThen, in case we need to
disable the feature in a production deployment\nfor some reason, we
could just do this via config
:\n```yml\nxpack.securitySolution.enableExperimental:\n -
disable:myFeature\n```\n\n---------\n\nCo-authored-by: Elastic Machine
<elasticmachine@users.noreply.github.com>","sha":"937dbba41ef6d52b1d060f03f0e2d9a99247016e","branchLabelMapping":{"^v9.1.0$":"main","^v8.19.0$":"8.x","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["release_note:skip","v9.0.0","Team:
SecuritySolution","backport:version","v8.18.0","v9.1.0","v8.19.0","v9.0.1"],"title":"[Security
Solution] Allow disabling experimental features via
config","number":217363,"url":"https://github.com/elastic/kibana/pull/217363","mergeCommit":{"message":"[Security
Solution] Allow disabling experimental features via config
(#217363)\n\n## Summary\n\nThis PR adds support for disabling
experimental features using the\nexisting
`xpack.securitySolution.enableExperimental` configuration.\n\nThis
solves the problem of not being able to disable a feature by
config\nonce the feature has been enabled by default.\n\n### The
Challenge \n\nWhen we start developing a feature under an experimental
flag we always\nfollow the same steps:\n\n1 - Create the experimental
flag disabled by default + enable it via\nconfig for testing\n2 -
Implement the feature\n3 - Enable the experimental flag by default when
we want to release the\nfeature.\n4 - Deployments can disable the
feature via config (as a safety\nmeasure).\n5 - Remove the experimental
flag after some time.\n\nWe start by creating the flag disabled by
default while we implement it.\nIn
`experimental_features.ts`:\n```ts\nexport const
allowedExperimentalValues = Object.freeze({\n myFeatureEnabled: false,\n
[...]\n```\nAnd enable it via config
with:\n```yml\nxpack.securitySolution.enableExperimental:\n -
myFeatureEnabled\n```\n\nOnce the implementation is done and the
experimental flag can be enabled\nby default, we have to do a
trick:\nSince the `xpack.securitySolution.enableExperimental` config can
only\nturn flags to _true_, instead of setting `myFeatureEnabled: true`,
what\nwe have to do is rename the flag to `myFeatureDisabled` and keep
the\nvalue as _false_:\n\n```ts\nexport const allowedExperimentalValues
= Object.freeze({\n myFeatureDisabled: false,\n [...]\n```\nThen we also
need to do a code refactor to update all the places in the\ncode where
the flag was checked: `if (myFeatureEnabled)` ->
`if\n(!myFeatureDisabled)`\n\nThis way, we have the option of disabling
the feature via config (in\ncase something goes
wrong):\n```yml\nxpack.securitySolution.enableExperimental:\n -
myFeatureDisabled\n```\n\n### A solution\n\nThis PR introduces the
possibility to turn a flag to _false_ using the\nsame
`xpack.securitySolution.enableExperimental` config. This was\npreferable
to introducing a new config since this one is already\nwhitelisted in
Cloud UI, can be easily overritten in deployments, and\nalso because
people are used to it.\n\nWith these changes, the first two steps would
be the same, with the\ndifference that we won't need to have the
_Enabled_ or _Disabled_ word\nat the end of the flag name. It could be
just the feature name, in\n`experimental_features.ts`:\n```ts\nexport
const allowedExperimentalValues = Object.freeze({\n myFeature: false,\n
[...]\n```\n\nAnd when we need to enable the feature by default, we can
just turn it\nto `true`:\n```ts\nexport const allowedExperimentalValues
= Object.freeze({\n myFeature: true,\n [...]\n```\nNo tedious refactor
or confusing naming would be required. \n\nThen, in case we need to
disable the feature in a production deployment\nfor some reason, we
could just do this via config
:\n```yml\nxpack.securitySolution.enableExperimental:\n -
disable:myFeature\n```\n\n---------\n\nCo-authored-by: Elastic Machine
<elasticmachine@users.noreply.github.com>","sha":"937dbba41ef6d52b1d060f03f0e2d9a99247016e"}},"sourceBranch":"main","suggestedTargetBranches":["9.0","8.18","8.x"],"targetPullRequestStates":[{"branch":"9.0","label":"v9.0.0","branchLabelMappingKey":"^v(\\d+).(\\d+).\\d+$","isSourceBranch":false,"state":"NOT_CREATED"},{"branch":"8.18","label":"v8.18.0","branchLabelMappingKey":"^v(\\d+).(\\d+).\\d+$","isSourceBranch":false,"state":"NOT_CREATED"},{"branch":"main","label":"v9.1.0","branchLabelMappingKey":"^v9.1.0$","isSourceBranch":true,"state":"MERGED","url":"https://github.com/elastic/kibana/pull/217363","number":217363,"mergeCommit":{"message":"[Security
Solution] Allow disabling experimental features via config
(#217363)\n\n## Summary\n\nThis PR adds support for disabling
experimental features using the\nexisting
`xpack.securitySolution.enableExperimental` configuration.\n\nThis
solves the problem of not being able to disable a feature by
config\nonce the feature has been enabled by default.\n\n### The
Challenge \n\nWhen we start developing a feature under an experimental
flag we always\nfollow the same steps:\n\n1 - Create the experimental
flag disabled by default + enable it via\nconfig for testing\n2 -
Implement the feature\n3 - Enable the experimental flag by default when
we want to release the\nfeature.\n4 - Deployments can disable the
feature via config (as a safety\nmeasure).\n5 - Remove the experimental
flag after some time.\n\nWe start by creating the flag disabled by
default while we implement it.\nIn
`experimental_features.ts`:\n```ts\nexport const
allowedExperimentalValues = Object.freeze({\n myFeatureEnabled: false,\n
[...]\n```\nAnd enable it via config
with:\n```yml\nxpack.securitySolution.enableExperimental:\n -
myFeatureEnabled\n```\n\nOnce the implementation is done and the
experimental flag can be enabled\nby default, we have to do a
trick:\nSince the `xpack.securitySolution.enableExperimental` config can
only\nturn flags to _true_, instead of setting `myFeatureEnabled: true`,
what\nwe have to do is rename the flag to `myFeatureDisabled` and keep
the\nvalue as _false_:\n\n```ts\nexport const allowedExperimentalValues
= Object.freeze({\n myFeatureDisabled: false,\n [...]\n```\nThen we also
need to do a code refactor to update all the places in the\ncode where
the flag was checked: `if (myFeatureEnabled)` ->
`if\n(!myFeatureDisabled)`\n\nThis way, we have the option of disabling
the feature via config (in\ncase something goes
wrong):\n```yml\nxpack.securitySolution.enableExperimental:\n -
myFeatureDisabled\n```\n\n### A solution\n\nThis PR introduces the
possibility to turn a flag to _false_ using the\nsame
`xpack.securitySolution.enableExperimental` config. This was\npreferable
to introducing a new config since this one is already\nwhitelisted in
Cloud UI, can be easily overritten in deployments, and\nalso because
people are used to it.\n\nWith these changes, the first two steps would
be the same, with the\ndifference that we won't need to have the
_Enabled_ or _Disabled_ word\nat the end of the flag name. It could be
just the feature name, in\n`experimental_features.ts`:\n```ts\nexport
const allowedExperimentalValues = Object.freeze({\n myFeature: false,\n
[...]\n```\n\nAnd when we need to enable the feature by default, we can
just turn it\nto `true`:\n```ts\nexport const allowedExperimentalValues
= Object.freeze({\n myFeature: true,\n [...]\n```\nNo tedious refactor
or confusing naming would be required. \n\nThen, in case we need to
disable the feature in a production deployment\nfor some reason, we
could just do this via config
:\n```yml\nxpack.securitySolution.enableExperimental:\n -
disable:myFeature\n```\n\n---------\n\nCo-authored-by: Elastic Machine
<elasticmachine@users.noreply.github.com>","sha":"937dbba41ef6d52b1d060f03f0e2d9a99247016e"}},{"branch":"8.x","label":"v8.19.0","branchLabelMappingKey":"^v8.19.0$","isSourceBranch":false,"state":"NOT_CREATED"}]}]
BACKPORT-->

Co-authored-by: Sergi Massaneda <sergi.massaneda@elastic.co>
2025-04-16 16:18:14 +02:00
elastic-vault-github-plugin-prod[bot]
4ef6754d8e
[8.x] Sync bundled packages with Package Storage (#217544)
Automated by
https://buildkite.com/elastic/package-storage-infra-kibana-discover-release-branches/builds/2596

---------

Co-authored-by: elasticmachine <elasticmachine@elastic.co>
Co-authored-by: Julia Bardi <90178898+juliaElastic@users.noreply.github.com>
2025-04-16 11:55:56 +02:00
Francesco Fagnani
e9990028ba
[8.x] [Synthetics] Sync global parameters is called in the endpoints to add, edit or delete global params (#216197) (#218291)
# Backport

This will backport the following commits from `main` to `8.x`:
- [[Synthetics] Sync global parameters is called in the endpoints to
add, edit or delete global params
(#216197)](https://github.com/elastic/kibana/pull/216197)

<!--- Backport version: 9.6.6 -->

### Questions ?
Please refer to the [Backport tool
documentation](https://github.com/sorenlouv/backport)

<!--BACKPORT [{"author":{"name":"Francesco
Fagnani","email":"fagnani.francesco@gmail.com"},"sourceCommit":{"committedDate":"2025-04-15T14:53:14Z","message":"[Synthetics]
Sync global parameters is called in the endpoints to add, edit or delete
global params (#216197)\n\nThis PR closes #215668.\n\nThe global
parameters are synched in the endpoints where they are\ncreated, edited
or deleted.\n\n---------\n\nCo-authored-by: Shahzad
<shahzad31comp@gmail.com>","sha":"f693e7218e0edb145f1d4344b484b5b48e80998d","branchLabelMapping":{"^v9.1.0$":"main","^v8.19.0$":"8.x","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["release_note:fix","Team:obs-ux-management","backport:version","v9.1.0","v8.19.0","v8.18.1","v9.0.1","v8.17.5"],"title":"[Synthetics]
Sync global parameters is called in the endpoints to add, edit or delete
global
params","number":216197,"url":"https://github.com/elastic/kibana/pull/216197","mergeCommit":{"message":"[Synthetics]
Sync global parameters is called in the endpoints to add, edit or delete
global params (#216197)\n\nThis PR closes #215668.\n\nThe global
parameters are synched in the endpoints where they are\ncreated, edited
or deleted.\n\n---------\n\nCo-authored-by: Shahzad
<shahzad31comp@gmail.com>","sha":"f693e7218e0edb145f1d4344b484b5b48e80998d"}},"sourceBranch":"main","suggestedTargetBranches":["8.x","8.18","8.17"],"targetPullRequestStates":[{"branch":"main","label":"v9.1.0","branchLabelMappingKey":"^v9.1.0$","isSourceBranch":true,"state":"MERGED","url":"https://github.com/elastic/kibana/pull/216197","number":216197,"mergeCommit":{"message":"[Synthetics]
Sync global parameters is called in the endpoints to add, edit or delete
global params (#216197)\n\nThis PR closes #215668.\n\nThe global
parameters are synched in the endpoints where they are\ncreated, edited
or deleted.\n\n---------\n\nCo-authored-by: Shahzad
<shahzad31comp@gmail.com>","sha":"f693e7218e0edb145f1d4344b484b5b48e80998d"}},{"branch":"8.x","label":"v8.19.0","branchLabelMappingKey":"^v8.19.0$","isSourceBranch":false,"state":"NOT_CREATED"},{"branch":"8.18","label":"v8.18.1","branchLabelMappingKey":"^v(\\d+).(\\d+).\\d+$","isSourceBranch":false,"state":"NOT_CREATED"},{"branch":"9.0","label":"v9.0.1","branchLabelMappingKey":"^v(\\d+).(\\d+).\\d+$","isSourceBranch":false,"url":"https://github.com/elastic/kibana/pull/218290","number":218290,"state":"OPEN"},{"branch":"8.17","label":"v8.17.5","branchLabelMappingKey":"^v(\\d+).(\\d+).\\d+$","isSourceBranch":false,"state":"NOT_CREATED"}]}]
BACKPORT-->
2025-04-16 10:03:44 +02:00
Drew Tate
13a373b16c
[8.x] [ES|QL] remove worker (#218006) (#218329)
# Backport

This will backport the following commits from `main` to `8.x`:
- [[ES|QL] remove worker
(#218006)](https://github.com/elastic/kibana/pull/218006)

<!--- Backport version: 9.6.6 -->

### Questions ?
Please refer to the [Backport tool
documentation](https://github.com/sorenlouv/backport)

<!--BACKPORT [{"author":{"name":"Drew
Tate","email":"drew.tate@elastic.co"},"sourceCommit":{"committedDate":"2025-04-15T16:18:07Z","message":"[ES|QL]
remove worker (#218006)\n\n## Summary\n\nFix
https://github.com/elastic/kibana/issues/217923\n\nInvestigations in
https://github.com/elastic/kibana/issues/217368 showed\nthat there was
basically no performance impact to passing the AST across\na thread
boundary. But we also didn't detect a pressing reason to remove\nthe
worker.\n\nSince then, however, we noticed another cost associated with
the worker:\nit's a hefty Javascript file, even in production builds. In
addition, we\nare doing parsing on the main thread _and_ the worker, so
the\n`kbn-esql-ast` package is actually being loaded and parsed twice by
the\nbrowser, once for the main thread and once for the worker.\n\nThis
PR removes our worker. Our parsing associated with validation
and\nautocomplete will still be done asynchronously, but on the main
thread.\n\nI do not see any regression in perceived
performance.\n\n---------\n\nCo-authored-by: kibanamachine
<42973632+kibanamachine@users.noreply.github.com>\nCo-authored-by:
Elastic Machine
<elasticmachine@users.noreply.github.com>\nCo-authored-by: Stratoula
Kalafateli
<efstratia.kalafateli@elastic.co>","sha":"9b4403b7dc867de1db520e1f9e8ed07f22f41784","branchLabelMapping":{"^v9.1.0$":"main","^v8.19.0$":"8.x","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["release_note:skip","Feature:ES|QL","Team:ESQL","backport:version","v9.1.0","v8.19.0"],"title":"[ES|QL]
remove
worker","number":218006,"url":"https://github.com/elastic/kibana/pull/218006","mergeCommit":{"message":"[ES|QL]
remove worker (#218006)\n\n## Summary\n\nFix
https://github.com/elastic/kibana/issues/217923\n\nInvestigations in
https://github.com/elastic/kibana/issues/217368 showed\nthat there was
basically no performance impact to passing the AST across\na thread
boundary. But we also didn't detect a pressing reason to remove\nthe
worker.\n\nSince then, however, we noticed another cost associated with
the worker:\nit's a hefty Javascript file, even in production builds. In
addition, we\nare doing parsing on the main thread _and_ the worker, so
the\n`kbn-esql-ast` package is actually being loaded and parsed twice by
the\nbrowser, once for the main thread and once for the worker.\n\nThis
PR removes our worker. Our parsing associated with validation
and\nautocomplete will still be done asynchronously, but on the main
thread.\n\nI do not see any regression in perceived
performance.\n\n---------\n\nCo-authored-by: kibanamachine
<42973632+kibanamachine@users.noreply.github.com>\nCo-authored-by:
Elastic Machine
<elasticmachine@users.noreply.github.com>\nCo-authored-by: Stratoula
Kalafateli
<efstratia.kalafateli@elastic.co>","sha":"9b4403b7dc867de1db520e1f9e8ed07f22f41784"}},"sourceBranch":"main","suggestedTargetBranches":["8.x"],"targetPullRequestStates":[{"branch":"main","label":"v9.1.0","branchLabelMappingKey":"^v9.1.0$","isSourceBranch":true,"state":"MERGED","url":"https://github.com/elastic/kibana/pull/218006","number":218006,"mergeCommit":{"message":"[ES|QL]
remove worker (#218006)\n\n## Summary\n\nFix
https://github.com/elastic/kibana/issues/217923\n\nInvestigations in
https://github.com/elastic/kibana/issues/217368 showed\nthat there was
basically no performance impact to passing the AST across\na thread
boundary. But we also didn't detect a pressing reason to remove\nthe
worker.\n\nSince then, however, we noticed another cost associated with
the worker:\nit's a hefty Javascript file, even in production builds. In
addition, we\nare doing parsing on the main thread _and_ the worker, so
the\n`kbn-esql-ast` package is actually being loaded and parsed twice by
the\nbrowser, once for the main thread and once for the worker.\n\nThis
PR removes our worker. Our parsing associated with validation
and\nautocomplete will still be done asynchronously, but on the main
thread.\n\nI do not see any regression in perceived
performance.\n\n---------\n\nCo-authored-by: kibanamachine
<42973632+kibanamachine@users.noreply.github.com>\nCo-authored-by:
Elastic Machine
<elasticmachine@users.noreply.github.com>\nCo-authored-by: Stratoula
Kalafateli
<efstratia.kalafateli@elastic.co>","sha":"9b4403b7dc867de1db520e1f9e8ed07f22f41784"}},{"branch":"8.x","label":"v8.19.0","branchLabelMappingKey":"^v8.19.0$","isSourceBranch":false,"state":"NOT_CREATED"}]}]
BACKPORT-->
2025-04-16 07:54:44 +02:00
Kibana Machine
3e77aaab8f
[8.x] [Security Solution][Alert flyout] Edit highlighted fields in overview tab (#216740) (#218323)
# Backport

This will backport the following commits from `main` to `8.x`:
- [[Security Solution][Alert flyout] Edit highlighted fields in overview
tab (#216740)](https://github.com/elastic/kibana/pull/216740)

<!--- Backport version: 9.6.6 -->

### Questions ?
Please refer to the [Backport tool
documentation](https://github.com/sorenlouv/backport)

<!--BACKPORT
[{"author":{"name":"christineweng","email":"18648970+christineweng@users.noreply.github.com"},"sourceCommit":{"committedDate":"2025-04-15T17:18:35Z","message":"[Security
Solution][Alert flyout] Edit highlighted fields in overview tab
(#216740)\n\n## Summary\n\nThis PR allows user to edit highlighted
fields in alert flyout, under\n`Investigations`. The modal shows default
highlighted fields that are\ndefined by Elastic, and allow user to edit
custom highlighted fields.\n\nCurrently this feature is behind feature
flag\n`editHighlightedFieldsEnabled` (not enabled by
default).\n\n\n\nhttps://github.com/user-attachments/assets/35b3d09e-5e21-42ea-80e9-e8c0753985c9\n\n\n\n####
Disabled when:\n\n<details>\n<summary>User does not have security
privilege</summary>\n\n\n![image](https://github.com/user-attachments/assets/69ba7bc7-2d9b-4a2c-ae8e-e9c14f396a31)\n\n</details>\n\n<details>\n<summary>Prebuilt
rule w/o enterprise license (showing
upsell)</summary>\n\n\n![image](https://github.com/user-attachments/assets/a9c38e20-85b2-4082-af5e-a8707b2098cb)\n\n</details>\n\n####
Do not show the button when:\n<details>\n<summary>Not an alert
</summary>\n\n\n![image](https://github.com/user-attachments/assets/b5e9afde-f0d0-4a88-aaed-7481ba586850)\n\n</details>\n\n<details>\n<summary>rule
preview</summary>\n\n\n![image](https://github.com/user-attachments/assets/283d7a83-50b2-48ab-af2d-11692501c205)\n\n</details>\n\n###
Checklist\n\nCheck the PR satisfies following conditions. \n\nReviewers
should verify this PR satisfies this list as well.\n\n- [x] Any text
added follows [EUI's
writing\nguidelines](https://elastic.github.io/eui/#/guidelines/writing),
uses\nsentence case text and includes
[i18n\nsupport](https://github.com/elastic/kibana/blob/main/src/platform/packages/shared/kbn-i18n/README.md)\n-
[x] [Unit or
functional\ntests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)\nwere
updated or added to match the most common scenarios\n- [x] The PR
description includes the appropriate Release Notes section,\nand the
correct `release_note:*` label is applied per
the\n[guidelines](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process)","sha":"a4a11bb46f63ad78399f152257a883d1a35f4ce9","branchLabelMapping":{"^v9.1.0$":"main","^v8.19.0$":"8.x","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["release_note:feature","Team:Threat
Hunting:Investigations","backport:version","v9.1.0","v8.19.0"],"title":"[Security
Solution][Alert flyout] Edit highlighted fields in overview
tab","number":216740,"url":"https://github.com/elastic/kibana/pull/216740","mergeCommit":{"message":"[Security
Solution][Alert flyout] Edit highlighted fields in overview tab
(#216740)\n\n## Summary\n\nThis PR allows user to edit highlighted
fields in alert flyout, under\n`Investigations`. The modal shows default
highlighted fields that are\ndefined by Elastic, and allow user to edit
custom highlighted fields.\n\nCurrently this feature is behind feature
flag\n`editHighlightedFieldsEnabled` (not enabled by
default).\n\n\n\nhttps://github.com/user-attachments/assets/35b3d09e-5e21-42ea-80e9-e8c0753985c9\n\n\n\n####
Disabled when:\n\n<details>\n<summary>User does not have security
privilege</summary>\n\n\n![image](https://github.com/user-attachments/assets/69ba7bc7-2d9b-4a2c-ae8e-e9c14f396a31)\n\n</details>\n\n<details>\n<summary>Prebuilt
rule w/o enterprise license (showing
upsell)</summary>\n\n\n![image](https://github.com/user-attachments/assets/a9c38e20-85b2-4082-af5e-a8707b2098cb)\n\n</details>\n\n####
Do not show the button when:\n<details>\n<summary>Not an alert
</summary>\n\n\n![image](https://github.com/user-attachments/assets/b5e9afde-f0d0-4a88-aaed-7481ba586850)\n\n</details>\n\n<details>\n<summary>rule
preview</summary>\n\n\n![image](https://github.com/user-attachments/assets/283d7a83-50b2-48ab-af2d-11692501c205)\n\n</details>\n\n###
Checklist\n\nCheck the PR satisfies following conditions. \n\nReviewers
should verify this PR satisfies this list as well.\n\n- [x] Any text
added follows [EUI's
writing\nguidelines](https://elastic.github.io/eui/#/guidelines/writing),
uses\nsentence case text and includes
[i18n\nsupport](https://github.com/elastic/kibana/blob/main/src/platform/packages/shared/kbn-i18n/README.md)\n-
[x] [Unit or
functional\ntests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)\nwere
updated or added to match the most common scenarios\n- [x] The PR
description includes the appropriate Release Notes section,\nand the
correct `release_note:*` label is applied per
the\n[guidelines](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process)","sha":"a4a11bb46f63ad78399f152257a883d1a35f4ce9"}},"sourceBranch":"main","suggestedTargetBranches":["8.x"],"targetPullRequestStates":[{"branch":"main","label":"v9.1.0","branchLabelMappingKey":"^v9.1.0$","isSourceBranch":true,"state":"MERGED","url":"https://github.com/elastic/kibana/pull/216740","number":216740,"mergeCommit":{"message":"[Security
Solution][Alert flyout] Edit highlighted fields in overview tab
(#216740)\n\n## Summary\n\nThis PR allows user to edit highlighted
fields in alert flyout, under\n`Investigations`. The modal shows default
highlighted fields that are\ndefined by Elastic, and allow user to edit
custom highlighted fields.\n\nCurrently this feature is behind feature
flag\n`editHighlightedFieldsEnabled` (not enabled by
default).\n\n\n\nhttps://github.com/user-attachments/assets/35b3d09e-5e21-42ea-80e9-e8c0753985c9\n\n\n\n####
Disabled when:\n\n<details>\n<summary>User does not have security
privilege</summary>\n\n\n![image](https://github.com/user-attachments/assets/69ba7bc7-2d9b-4a2c-ae8e-e9c14f396a31)\n\n</details>\n\n<details>\n<summary>Prebuilt
rule w/o enterprise license (showing
upsell)</summary>\n\n\n![image](https://github.com/user-attachments/assets/a9c38e20-85b2-4082-af5e-a8707b2098cb)\n\n</details>\n\n####
Do not show the button when:\n<details>\n<summary>Not an alert
</summary>\n\n\n![image](https://github.com/user-attachments/assets/b5e9afde-f0d0-4a88-aaed-7481ba586850)\n\n</details>\n\n<details>\n<summary>rule
preview</summary>\n\n\n![image](https://github.com/user-attachments/assets/283d7a83-50b2-48ab-af2d-11692501c205)\n\n</details>\n\n###
Checklist\n\nCheck the PR satisfies following conditions. \n\nReviewers
should verify this PR satisfies this list as well.\n\n- [x] Any text
added follows [EUI's
writing\nguidelines](https://elastic.github.io/eui/#/guidelines/writing),
uses\nsentence case text and includes
[i18n\nsupport](https://github.com/elastic/kibana/blob/main/src/platform/packages/shared/kbn-i18n/README.md)\n-
[x] [Unit or
functional\ntests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)\nwere
updated or added to match the most common scenarios\n- [x] The PR
description includes the appropriate Release Notes section,\nand the
correct `release_note:*` label is applied per
the\n[guidelines](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process)","sha":"a4a11bb46f63ad78399f152257a883d1a35f4ce9"}},{"branch":"8.x","label":"v8.19.0","branchLabelMappingKey":"^v8.19.0$","isSourceBranch":false,"state":"NOT_CREATED"}]}]
BACKPORT-->

Co-authored-by: christineweng <18648970+christineweng@users.noreply.github.com>
2025-04-16 00:18:03 +02:00
Kibana Machine
f94c41e8a8
[8.x] [Attack Discovery][Scheduling] Fix the attack discovery alert type (#218025) (#218312)
# Backport

This will backport the following commits from `main` to `8.x`:
- [[Attack Discovery][Scheduling] Fix the attack discovery alert type
(#218025)](https://github.com/elastic/kibana/pull/218025)

<!--- Backport version: 9.6.6 -->

### Questions ?
Please refer to the [Backport tool
documentation](https://github.com/sorenlouv/backport)

<!--BACKPORT [{"author":{"name":"Ievgen
Sorokopud","email":"ievgen.sorokopud@elastic.co"},"sourceCommit":{"committedDate":"2025-04-15T16:18:33Z","message":"[Attack
Discovery][Scheduling] Fix the attack discovery alert type
(#218025)\n\n## Summary\n\nThis is a fix for the incorrectly generated
attack discovery alert\nschema type due to the limitation of the
generation
tool.","sha":"34df5e3328ed1c88c46d0ab0e2f8024b184e87c3","branchLabelMapping":{"^v9.1.0$":"main","^v8.19.0$":"8.x","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["release_note:skip","Team:
SecuritySolution","Team:Security Generative
AI","backport:version","v9.1.0","v8.19.0"],"title":"[Attack
Discovery][Scheduling] Fix the attack discovery alert
type","number":218025,"url":"https://github.com/elastic/kibana/pull/218025","mergeCommit":{"message":"[Attack
Discovery][Scheduling] Fix the attack discovery alert type
(#218025)\n\n## Summary\n\nThis is a fix for the incorrectly generated
attack discovery alert\nschema type due to the limitation of the
generation
tool.","sha":"34df5e3328ed1c88c46d0ab0e2f8024b184e87c3"}},"sourceBranch":"main","suggestedTargetBranches":["8.x"],"targetPullRequestStates":[{"branch":"main","label":"v9.1.0","branchLabelMappingKey":"^v9.1.0$","isSourceBranch":true,"state":"MERGED","url":"https://github.com/elastic/kibana/pull/218025","number":218025,"mergeCommit":{"message":"[Attack
Discovery][Scheduling] Fix the attack discovery alert type
(#218025)\n\n## Summary\n\nThis is a fix for the incorrectly generated
attack discovery alert\nschema type due to the limitation of the
generation
tool.","sha":"34df5e3328ed1c88c46d0ab0e2f8024b184e87c3"}},{"branch":"8.x","label":"v8.19.0","branchLabelMappingKey":"^v8.19.0$","isSourceBranch":false,"state":"NOT_CREATED"}]}]
BACKPORT-->

Co-authored-by: Ievgen Sorokopud <ievgen.sorokopud@elastic.co>
2025-04-15 22:17:02 +02:00
Kibana Machine
8d179fbe61
[8.x] [Custom threshold rule] Allow group for ip type fields !! (#216062) (#218337)
# Backport

This will backport the following commits from `main` to `8.x`:
- [[Custom threshold rule] Allow group for ip type fields !!
(#216062)](https://github.com/elastic/kibana/pull/216062)

<!--- Backport version: 9.6.6 -->

### Questions ?
Please refer to the [Backport tool
documentation](https://github.com/sorenlouv/backport)

<!--BACKPORT
[{"author":{"name":"Shahzad","email":"shahzad31comp@gmail.com"},"sourceCommit":{"committedDate":"2025-04-15T18:15:02Z","message":"[Custom
threshold rule] Allow group for ip type fields !! (#216062)\n\nAllow
group by for ip fields !!\n\n---------\n\nCo-authored-by: Faisal Kanout
<faisal.kanout@elastic.co>\nCo-authored-by: kibanamachine
<42973632+kibanamachine@users.noreply.github.com>","sha":"83f3d614ccb66bca3aa626a6db39c0f41eb1a9f1","branchLabelMapping":{"^v9.1.0$":"main","^v8.19.0$":"8.x","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["release_note:fix","backport:all-open","Team:obs-ux-management","v9.1.0"],"title":"[Custom
threshold rule] Allow group for ip type fields
!!","number":216062,"url":"https://github.com/elastic/kibana/pull/216062","mergeCommit":{"message":"[Custom
threshold rule] Allow group for ip type fields !! (#216062)\n\nAllow
group by for ip fields !!\n\n---------\n\nCo-authored-by: Faisal Kanout
<faisal.kanout@elastic.co>\nCo-authored-by: kibanamachine
<42973632+kibanamachine@users.noreply.github.com>","sha":"83f3d614ccb66bca3aa626a6db39c0f41eb1a9f1"}},"sourceBranch":"main","suggestedTargetBranches":[],"targetPullRequestStates":[{"branch":"main","label":"v9.1.0","branchLabelMappingKey":"^v9.1.0$","isSourceBranch":true,"state":"MERGED","url":"https://github.com/elastic/kibana/pull/216062","number":216062,"mergeCommit":{"message":"[Custom
threshold rule] Allow group for ip type fields !! (#216062)\n\nAllow
group by for ip fields !!\n\n---------\n\nCo-authored-by: Faisal Kanout
<faisal.kanout@elastic.co>\nCo-authored-by: kibanamachine
<42973632+kibanamachine@users.noreply.github.com>","sha":"83f3d614ccb66bca3aa626a6db39c0f41eb1a9f1"}}]}]
BACKPORT-->

Co-authored-by: Shahzad <shahzad31comp@gmail.com>
2025-04-15 22:05:16 +02:00
Kibana Machine
d6d6b66cbe
[8.x] [Security Solution] Suppress prebuilt rule SO duplicates in review install endpoint (#218123) (#218248)
# Backport

This will backport the following commits from `main` to `8.x`:
- [[Security Solution] Suppress prebuilt rule SO duplicates in review
install endpoint
(#218123)](https://github.com/elastic/kibana/pull/218123)

<!--- Backport version: 9.6.6 -->

### Questions ?
Please refer to the [Backport tool
documentation](https://github.com/sorenlouv/backport)

<!--BACKPORT [{"author":{"name":"Maxim
Palenov","email":"maxim.palenov@elastic.co"},"sourceCommit":{"committedDate":"2025-04-15T11:45:08Z","message":"[Security
Solution] Suppress prebuilt rule SO duplicates in review install
endpoint (#218123)\n\n## Summary\n\nThis PR makes sure a buggy
`security_detection_engine` package doesn't affect a preview
installation endpoint. Older security detection rules package versions
contain saved object rule duplicates affecting the endpoint.\n\nHaving
`security_detection_engine` v`8.17.1` package installed
`/internal/detection_engine/prebuilt_rules/status` and
`/internal/detection_engine/prebuilt_rules/installation/_review`
endpoints return a different number of rules available to install.\n\n##
Details\n\nOlder `security_detection_engine` package versions contain
rule saved objects duplicates representing the latest version. For
example, `8.17.1` version has a rule `Microsoft 365 User Restricted from
Sending Email` with `rule_id` = `0136b315-b566-482f-866c-1d8e2477ba16`
and the latest version `206`. Since a package may contain multiple
historical rule versions it sticks to the following format
`<rule_id>_<version>` where `<rule_id>` is the unique rule's UUID and
`<version>` it's version. Some older package versions omit `<version>`
for the latest rule version. `Microsoft 365 User Restricted from Sending
Email` rule mentioned above has two equal assets corresponding to the
latest version with the only difference in the saved object id
`0136b315-b566-482f-866c-1d8e2477ba16` and
`0136b315-b566-482f-866c-1d8e2477ba16_206`.\n\nPrebuilt rules preview
endpoint was designed to handle `<rule_id>_<version>` format only.
Consequently, it improperly handles older prebuilt rules package
version.\n\nThis bug manifested in
https://github.com/elastic/kibana/pull/217544 where
`security_detection_engine` version has been bumped to `8.18.1`. It
resulted in a failed integration test. Further investigation has shown
that the test installs an older package version `8.17.1` to assert
prebuilt rules upgrade workflow works correctly.\n\nThe fix is
implemented in `PrebuiltRuleAssetsClient.fetchAssetsByVersion()` by
using `Map` to deduplicate prebuilt rule
assets.","sha":"87f8274f4160f4d94f25d19f7d71ec4c35f4431e","branchLabelMapping":{"^v9.1.0$":"main","^v8.19.0$":"8.x","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["bug","release_note:skip","impact:high","Team:Detections
and Resp","Team: SecuritySolution","Team:Detection Rule
Management","Feature:Prebuilt Detection
Rules","backport:version","v9.1.0","v8.19.0","v8.18.1","v9.0.1"],"title":"[Security
Solution] Suppress prebuilt rule SO duplicates in review install
endpoint","number":218123,"url":"https://github.com/elastic/kibana/pull/218123","mergeCommit":{"message":"[Security
Solution] Suppress prebuilt rule SO duplicates in review install
endpoint (#218123)\n\n## Summary\n\nThis PR makes sure a buggy
`security_detection_engine` package doesn't affect a preview
installation endpoint. Older security detection rules package versions
contain saved object rule duplicates affecting the endpoint.\n\nHaving
`security_detection_engine` v`8.17.1` package installed
`/internal/detection_engine/prebuilt_rules/status` and
`/internal/detection_engine/prebuilt_rules/installation/_review`
endpoints return a different number of rules available to install.\n\n##
Details\n\nOlder `security_detection_engine` package versions contain
rule saved objects duplicates representing the latest version. For
example, `8.17.1` version has a rule `Microsoft 365 User Restricted from
Sending Email` with `rule_id` = `0136b315-b566-482f-866c-1d8e2477ba16`
and the latest version `206`. Since a package may contain multiple
historical rule versions it sticks to the following format
`<rule_id>_<version>` where `<rule_id>` is the unique rule's UUID and
`<version>` it's version. Some older package versions omit `<version>`
for the latest rule version. `Microsoft 365 User Restricted from Sending
Email` rule mentioned above has two equal assets corresponding to the
latest version with the only difference in the saved object id
`0136b315-b566-482f-866c-1d8e2477ba16` and
`0136b315-b566-482f-866c-1d8e2477ba16_206`.\n\nPrebuilt rules preview
endpoint was designed to handle `<rule_id>_<version>` format only.
Consequently, it improperly handles older prebuilt rules package
version.\n\nThis bug manifested in
https://github.com/elastic/kibana/pull/217544 where
`security_detection_engine` version has been bumped to `8.18.1`. It
resulted in a failed integration test. Further investigation has shown
that the test installs an older package version `8.17.1` to assert
prebuilt rules upgrade workflow works correctly.\n\nThe fix is
implemented in `PrebuiltRuleAssetsClient.fetchAssetsByVersion()` by
using `Map` to deduplicate prebuilt rule
assets.","sha":"87f8274f4160f4d94f25d19f7d71ec4c35f4431e"}},"sourceBranch":"main","suggestedTargetBranches":["8.x","8.18","9.0"],"targetPullRequestStates":[{"branch":"main","label":"v9.1.0","branchLabelMappingKey":"^v9.1.0$","isSourceBranch":true,"state":"MERGED","url":"https://github.com/elastic/kibana/pull/218123","number":218123,"mergeCommit":{"message":"[Security
Solution] Suppress prebuilt rule SO duplicates in review install
endpoint (#218123)\n\n## Summary\n\nThis PR makes sure a buggy
`security_detection_engine` package doesn't affect a preview
installation endpoint. Older security detection rules package versions
contain saved object rule duplicates affecting the endpoint.\n\nHaving
`security_detection_engine` v`8.17.1` package installed
`/internal/detection_engine/prebuilt_rules/status` and
`/internal/detection_engine/prebuilt_rules/installation/_review`
endpoints return a different number of rules available to install.\n\n##
Details\n\nOlder `security_detection_engine` package versions contain
rule saved objects duplicates representing the latest version. For
example, `8.17.1` version has a rule `Microsoft 365 User Restricted from
Sending Email` with `rule_id` = `0136b315-b566-482f-866c-1d8e2477ba16`
and the latest version `206`. Since a package may contain multiple
historical rule versions it sticks to the following format
`<rule_id>_<version>` where `<rule_id>` is the unique rule's UUID and
`<version>` it's version. Some older package versions omit `<version>`
for the latest rule version. `Microsoft 365 User Restricted from Sending
Email` rule mentioned above has two equal assets corresponding to the
latest version with the only difference in the saved object id
`0136b315-b566-482f-866c-1d8e2477ba16` and
`0136b315-b566-482f-866c-1d8e2477ba16_206`.\n\nPrebuilt rules preview
endpoint was designed to handle `<rule_id>_<version>` format only.
Consequently, it improperly handles older prebuilt rules package
version.\n\nThis bug manifested in
https://github.com/elastic/kibana/pull/217544 where
`security_detection_engine` version has been bumped to `8.18.1`. It
resulted in a failed integration test. Further investigation has shown
that the test installs an older package version `8.17.1` to assert
prebuilt rules upgrade workflow works correctly.\n\nThe fix is
implemented in `PrebuiltRuleAssetsClient.fetchAssetsByVersion()` by
using `Map` to deduplicate prebuilt rule
assets.","sha":"87f8274f4160f4d94f25d19f7d71ec4c35f4431e"}},{"branch":"8.x","label":"v8.19.0","branchLabelMappingKey":"^v8.19.0$","isSourceBranch":false,"state":"NOT_CREATED"},{"branch":"8.18","label":"v8.18.1","branchLabelMappingKey":"^v(\\d+).(\\d+).\\d+$","isSourceBranch":false,"state":"NOT_CREATED"},{"branch":"9.0","label":"v9.0.1","branchLabelMappingKey":"^v(\\d+).(\\d+).\\d+$","isSourceBranch":false,"state":"NOT_CREATED"}]}]
BACKPORT-->

Co-authored-by: Maxim Palenov <maxim.palenov@elastic.co>
2025-04-15 21:12:20 +02:00
Marco Vettorello
13af80f2d4
[8.x] [Charts] Use chartTheme hook everywhere (#217370) (#218147)
# Backport

This will backport the following commits from `main` to `8.x`:
- [[Charts] Use chartTheme hook everywhere
(#217370)](https://github.com/elastic/kibana/pull/217370)

<!--- Backport version: 9.6.6 -->

### Questions ?
Please refer to the [Backport tool
documentation](https://github.com/sorenlouv/backport)

<!--BACKPORT [{"author":{"name":"Marco
Vettorello","email":"marco.vettorello@elastic.co"},"sourceCommit":{"committedDate":"2025-04-14T16:09:15Z","message":"[Charts]
Use chartTheme hook everywhere (#217370)\n\n## Summary\n\nThis PR fixes
the existing usage of the chart themes by using the\nprovided
`useElasticChartsTheme` hook that is color mode aware and
theme\nadaptive (borealis/amsterdam)\n\nSome charts where using just the
Light theme version or the legacy (aka\namsterdam theme), and I've
applied the hook to pick up the correct\ntheme.\n\nTO REVIEWERS: Please
pull down the PR and check if the actual changed\ncharts looks correct
with the new theme configuration.\n\n---------\n\nCo-authored-by:
kibanamachine
<42973632+kibanamachine@users.noreply.github.com>\nCo-authored-by: Anton
Dosov
<anton.dosov@elastic.co>","sha":"a9c9354382d0e52d7790fecf653f4c7758e3703b","branchLabelMapping":{"^v9.1.0$":"main","^v8.19.0$":"8.x","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["Feature:ElasticCharts","Team:Visualizations","release_note:skip","Team:obs-ux-infra_services","Team:obs-ux-management","backport:version","v9.1.0","v8.19.0"],"title":"[Charts]
Use chartTheme hook
everywhere","number":217370,"url":"https://github.com/elastic/kibana/pull/217370","mergeCommit":{"message":"[Charts]
Use chartTheme hook everywhere (#217370)\n\n## Summary\n\nThis PR fixes
the existing usage of the chart themes by using the\nprovided
`useElasticChartsTheme` hook that is color mode aware and
theme\nadaptive (borealis/amsterdam)\n\nSome charts where using just the
Light theme version or the legacy (aka\namsterdam theme), and I've
applied the hook to pick up the correct\ntheme.\n\nTO REVIEWERS: Please
pull down the PR and check if the actual changed\ncharts looks correct
with the new theme configuration.\n\n---------\n\nCo-authored-by:
kibanamachine
<42973632+kibanamachine@users.noreply.github.com>\nCo-authored-by: Anton
Dosov
<anton.dosov@elastic.co>","sha":"a9c9354382d0e52d7790fecf653f4c7758e3703b"}},"sourceBranch":"main","suggestedTargetBranches":["8.x"],"targetPullRequestStates":[{"branch":"main","label":"v9.1.0","branchLabelMappingKey":"^v9.1.0$","isSourceBranch":true,"state":"MERGED","url":"https://github.com/elastic/kibana/pull/217370","number":217370,"mergeCommit":{"message":"[Charts]
Use chartTheme hook everywhere (#217370)\n\n## Summary\n\nThis PR fixes
the existing usage of the chart themes by using the\nprovided
`useElasticChartsTheme` hook that is color mode aware and
theme\nadaptive (borealis/amsterdam)\n\nSome charts where using just the
Light theme version or the legacy (aka\namsterdam theme), and I've
applied the hook to pick up the correct\ntheme.\n\nTO REVIEWERS: Please
pull down the PR and check if the actual changed\ncharts looks correct
with the new theme configuration.\n\n---------\n\nCo-authored-by:
kibanamachine
<42973632+kibanamachine@users.noreply.github.com>\nCo-authored-by: Anton
Dosov
<anton.dosov@elastic.co>","sha":"a9c9354382d0e52d7790fecf653f4c7758e3703b"}},{"branch":"8.x","label":"v8.19.0","branchLabelMappingKey":"^v8.19.0$","isSourceBranch":false,"state":"NOT_CREATED"}]}]
BACKPORT-->

---------

Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
2025-04-15 19:40:46 +02:00
Kibana Machine
a657a38eb6
[8.x] [Attack Discovery][Scheduling] UI: "Attack Discovery Scheduling" management (#12007) (#217917) (#218267)
# Backport

This will backport the following commits from `main` to `8.x`:
- [[Attack Discovery][Scheduling] UI: "Attack Discovery Scheduling"
management (#12007)
(#217917)](https://github.com/elastic/kibana/pull/217917)

<!--- Backport version: 9.6.6 -->

### Questions ?
Please refer to the [Backport tool
documentation](https://github.com/sorenlouv/backport)

<!--BACKPORT [{"author":{"name":"Ievgen
Sorokopud","email":"ievgen.sorokopud@elastic.co"},"sourceCommit":{"committedDate":"2025-04-15T13:06:06Z","message":"[Attack
Discovery][Scheduling] UI: \"Attack Discovery Scheduling\" management
(#12007) (#217917)\n\n## Summary\n\nMain ticket
([Internal\nlink](https://github.com/elastic/security-team/issues/12007))\n\nThese
changes add the attack discovery schedules management
table.\n\n\nhttps://github.com/user-attachments/assets/619ad1d6-d919-4a8d-b743-6a73fbfbf318\n\n##
Key changes\n\n* UI side API handlers\n* Create schedule workflow\n*
Schedules table\n* Enable schedule from the table\n* Disable schedule
from the table\n* Delete schedule from the table\n* Pagination and
sorting in find schedules API\n\n## NOTES\n\nThe feature is hidden
behind the feature flag (in
`kibana.dev.yml`):\n\n```\nfeature_flags.overrides:\n
securitySolution.assistantAttackDiscoverySchedulingEnabled:
true\n```","sha":"10943319b29f8efddb4fa641cd150083de994f16","branchLabelMapping":{"^v9.1.0$":"main","^v8.19.0$":"8.x","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["release_note:skip","Team:
SecuritySolution","Team:Security Generative
AI","backport:version","v9.1.0","v8.19.0"],"title":"[Attack
Discovery][Scheduling] UI: \"Attack Discovery Scheduling\" management
(#12007)","number":217917,"url":"https://github.com/elastic/kibana/pull/217917","mergeCommit":{"message":"[Attack
Discovery][Scheduling] UI: \"Attack Discovery Scheduling\" management
(#12007) (#217917)\n\n## Summary\n\nMain ticket
([Internal\nlink](https://github.com/elastic/security-team/issues/12007))\n\nThese
changes add the attack discovery schedules management
table.\n\n\nhttps://github.com/user-attachments/assets/619ad1d6-d919-4a8d-b743-6a73fbfbf318\n\n##
Key changes\n\n* UI side API handlers\n* Create schedule workflow\n*
Schedules table\n* Enable schedule from the table\n* Disable schedule
from the table\n* Delete schedule from the table\n* Pagination and
sorting in find schedules API\n\n## NOTES\n\nThe feature is hidden
behind the feature flag (in
`kibana.dev.yml`):\n\n```\nfeature_flags.overrides:\n
securitySolution.assistantAttackDiscoverySchedulingEnabled:
true\n```","sha":"10943319b29f8efddb4fa641cd150083de994f16"}},"sourceBranch":"main","suggestedTargetBranches":["8.x"],"targetPullRequestStates":[{"branch":"main","label":"v9.1.0","branchLabelMappingKey":"^v9.1.0$","isSourceBranch":true,"state":"MERGED","url":"https://github.com/elastic/kibana/pull/217917","number":217917,"mergeCommit":{"message":"[Attack
Discovery][Scheduling] UI: \"Attack Discovery Scheduling\" management
(#12007) (#217917)\n\n## Summary\n\nMain ticket
([Internal\nlink](https://github.com/elastic/security-team/issues/12007))\n\nThese
changes add the attack discovery schedules management
table.\n\n\nhttps://github.com/user-attachments/assets/619ad1d6-d919-4a8d-b743-6a73fbfbf318\n\n##
Key changes\n\n* UI side API handlers\n* Create schedule workflow\n*
Schedules table\n* Enable schedule from the table\n* Disable schedule
from the table\n* Delete schedule from the table\n* Pagination and
sorting in find schedules API\n\n## NOTES\n\nThe feature is hidden
behind the feature flag (in
`kibana.dev.yml`):\n\n```\nfeature_flags.overrides:\n
securitySolution.assistantAttackDiscoverySchedulingEnabled:
true\n```","sha":"10943319b29f8efddb4fa641cd150083de994f16"}},{"branch":"8.x","label":"v8.19.0","branchLabelMappingKey":"^v8.19.0$","isSourceBranch":false,"state":"NOT_CREATED"}]}]
BACKPORT-->

---------

Co-authored-by: Ievgen Sorokopud <ievgen.sorokopud@elastic.co>
2025-04-15 18:18:09 +02:00
Anton Dosov
214787f501
[8.x] [jest] @emotion/babel-preset-css-prop (#216489) (#218121)
# Backport

This will backport the following commits from `main` to `8.x`:
- [[jest] @emotion/babel-preset-css-prop
(#216489)](https://github.com/elastic/kibana/pull/216489)

<!--- Backport version: 9.6.6 -->

### Questions ?
Please refer to the [Backport tool
documentation](https://github.com/sorenlouv/backport)

<!--BACKPORT [{"author":{"name":"Anton
Dosov","email":"anton.dosov@elastic.co"},"sourceCommit":{"committedDate":"2025-04-14T12:29:47Z","message":"[jest]
@emotion/babel-preset-css-prop (#216489)\n\n## Summary\n\nPartially
address https://github.com/elastic/kibana/issues/216459\n\nThis PR adds
`@emotion/babel-preset-css-prop` to jest config to improve\njest and
emotion integration. There are some tradeoffs: this is a better\nsetup
for emotion + testing library, but there are some seemingly\nregressions
for enzyme. We think these are right tradeoffs to make,\nsince we
optimize for emotion+testing library.\n\n### Main upsides are 😄 \n\n####
🟢 Fixes snapshots with css prop\n\n`You have tried to stringify object
returned from \\`css\\` function. It\nisn't supposed to be used directly
(e.g. as value of the \\`className\\`\nprop), but rather handed to
emotion so it can handle it (e.g. as value\nof \\`css\\` prop).` is
replaced with proper emotion css classname.\n\n![Screenshot 2025-04-04
at 14
57\n52](https://github.com/user-attachments/assets/f4a746d6-2451-4703-ab39-57be7171b10b)\n\n####
🟢 We will be able to use jest style matchers for
emotion\n`toHaveStyleRule`\n\nhttps://emotion.sh/docs/@emotion/jest#tohavestylerule\n\n_they
can be used locally now, but we plan to follow up with
global\nextend_\n\n### Considerations 🫤 \n\n#### 🟡 jsx doesn't work
inside jest.mock function \n\nExample:
\n\n```\njest.mock('./components/alert_header_title', () => ({\n > 27 |
AlertHeaderTitle: jest.fn().mockReturnValue(<div></div>), \n | ^\n 28 |
}));\n```\n\nFails with an error. `can't read jsx of undefined`.
\n\nThis is because babel compiles this into: \n\n```\nimport { jsx as
___EmotionJSX } from
'@emotion/react'\n\njest.mock('./components/alert_header_title', () =>
({\n > 27 | AlertHeaderTitle:
jest.fn().mockReturnValue(___EmotionJSX.jsx(….)), \n | ^\n 28 |
}));\n```\n\nAnd, apparently, due to how jest imports work, __EmotionJSX
is not yet\nin the scope.\n\nThe applied workaround is to rewrite to:
\n\n```\njest.mock('./components/alert_header_title', () => ({\n
AlertHeaderTitle: jest.fn(() => <div></div>), \n }));\n```\n\n\n#### 🟡
euiTheme needs to be available when euiTheme is accessed inside\n`css`
function\n\nExample: \n\n```\nDashboardGrid removes panel when removed
from container\n TypeError: Cannot read properties of undefined (reading
'size')\n 42 | margin: '-2px',\n 43 | position: 'absolute',\n > 44 |
width: euiTheme.size.l,\n```\n\nThe fix was to wrap failing tests with
`<EuiProvider/>` \n\n### Drawbacks 😢 \n\nMostly related to Enzyme
\n\n#### 🔴 Enzyme shallow snapshot no longer include `css` prop
\n\nSince `css` prop is compiled away there are bunch of snapshots
that\nlooks like a regression:\n\nExample:\n\n![Screenshot 2025-04-04 at
15
50\n16](https://github.com/user-attachments/assets/61c1d027-1e8a-48e6-a242-1fa53f8ec9b7)\n\nThis
is unfortunate. We've tried `@emotion/jest/enzyme-serializer` but\nit
didn't work (likely because enzyme ecosystem no longer supported?)\nIf
it is important that the snapshot captures css, we recommend to
use\nmount or rtl\n\n#### 🔴 Asserting against `css` prop with shallow
render also doesn't\nwork\n\nPossible solution is to use \n\n```\nimport
{ matchers } from '@emotion/jest';\nexpect.extend(matchers);\n```\n\n(We
plan to add these matches globally in a follow up)\n\nand \n\n```\n
expect(button).toHaveStyleRule('background-color',
'#FFFFFF');\n```\n\n\n\n#### 🔴 Some shallow Enzyme tests `find()` breaks
because of code\ntransformations of emotion\n\nExample:\n\n```\nconst
component = shallow(\n <MetricVisValue />\n)\n\ncomponent.find('button')
// fails because instead of <button/> there is <EmotionInternalCss/>
element now \n\n```\n\nSolutions:\n- Use full mount or react testing
library \n- Or target by data-test-subj\n\n---------\n\nCo-authored-by:
kibanamachine
<42973632+kibanamachine@users.noreply.github.com>\nCo-authored-by: Karen
Grigoryan
<karen.grigoryan@elastic.co>","sha":"ef0322d8d05be4a2a02b16133a5f8488fe506900","branchLabelMapping":{"^v9.1.0$":"main","^v8.19.0$":"8.x","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["Feature:ExpressionLanguage","release_note:skip","ci:skip-cypress-osquery","Team:obs-ux-infra_services","Team:obs-ux-management","backport:version","v9.1.0","v8.19.0"],"title":"[jest]
@emotion/babel-preset-css-prop","number":216489,"url":"https://github.com/elastic/kibana/pull/216489","mergeCommit":{"message":"[jest]
@emotion/babel-preset-css-prop (#216489)\n\n## Summary\n\nPartially
address https://github.com/elastic/kibana/issues/216459\n\nThis PR adds
`@emotion/babel-preset-css-prop` to jest config to improve\njest and
emotion integration. There are some tradeoffs: this is a better\nsetup
for emotion + testing library, but there are some seemingly\nregressions
for enzyme. We think these are right tradeoffs to make,\nsince we
optimize for emotion+testing library.\n\n### Main upsides are 😄 \n\n####
🟢 Fixes snapshots with css prop\n\n`You have tried to stringify object
returned from \\`css\\` function. It\nisn't supposed to be used directly
(e.g. as value of the \\`className\\`\nprop), but rather handed to
emotion so it can handle it (e.g. as value\nof \\`css\\` prop).` is
replaced with proper emotion css classname.\n\n![Screenshot 2025-04-04
at 14
57\n52](https://github.com/user-attachments/assets/f4a746d6-2451-4703-ab39-57be7171b10b)\n\n####
🟢 We will be able to use jest style matchers for
emotion\n`toHaveStyleRule`\n\nhttps://emotion.sh/docs/@emotion/jest#tohavestylerule\n\n_they
can be used locally now, but we plan to follow up with
global\nextend_\n\n### Considerations 🫤 \n\n#### 🟡 jsx doesn't work
inside jest.mock function \n\nExample:
\n\n```\njest.mock('./components/alert_header_title', () => ({\n > 27 |
AlertHeaderTitle: jest.fn().mockReturnValue(<div></div>), \n | ^\n 28 |
}));\n```\n\nFails with an error. `can't read jsx of undefined`.
\n\nThis is because babel compiles this into: \n\n```\nimport { jsx as
___EmotionJSX } from
'@emotion/react'\n\njest.mock('./components/alert_header_title', () =>
({\n > 27 | AlertHeaderTitle:
jest.fn().mockReturnValue(___EmotionJSX.jsx(….)), \n | ^\n 28 |
}));\n```\n\nAnd, apparently, due to how jest imports work, __EmotionJSX
is not yet\nin the scope.\n\nThe applied workaround is to rewrite to:
\n\n```\njest.mock('./components/alert_header_title', () => ({\n
AlertHeaderTitle: jest.fn(() => <div></div>), \n }));\n```\n\n\n#### 🟡
euiTheme needs to be available when euiTheme is accessed inside\n`css`
function\n\nExample: \n\n```\nDashboardGrid removes panel when removed
from container\n TypeError: Cannot read properties of undefined (reading
'size')\n 42 | margin: '-2px',\n 43 | position: 'absolute',\n > 44 |
width: euiTheme.size.l,\n```\n\nThe fix was to wrap failing tests with
`<EuiProvider/>` \n\n### Drawbacks 😢 \n\nMostly related to Enzyme
\n\n#### 🔴 Enzyme shallow snapshot no longer include `css` prop
\n\nSince `css` prop is compiled away there are bunch of snapshots
that\nlooks like a regression:\n\nExample:\n\n![Screenshot 2025-04-04 at
15
50\n16](https://github.com/user-attachments/assets/61c1d027-1e8a-48e6-a242-1fa53f8ec9b7)\n\nThis
is unfortunate. We've tried `@emotion/jest/enzyme-serializer` but\nit
didn't work (likely because enzyme ecosystem no longer supported?)\nIf
it is important that the snapshot captures css, we recommend to
use\nmount or rtl\n\n#### 🔴 Asserting against `css` prop with shallow
render also doesn't\nwork\n\nPossible solution is to use \n\n```\nimport
{ matchers } from '@emotion/jest';\nexpect.extend(matchers);\n```\n\n(We
plan to add these matches globally in a follow up)\n\nand \n\n```\n
expect(button).toHaveStyleRule('background-color',
'#FFFFFF');\n```\n\n\n\n#### 🔴 Some shallow Enzyme tests `find()` breaks
because of code\ntransformations of emotion\n\nExample:\n\n```\nconst
component = shallow(\n <MetricVisValue />\n)\n\ncomponent.find('button')
// fails because instead of <button/> there is <EmotionInternalCss/>
element now \n\n```\n\nSolutions:\n- Use full mount or react testing
library \n- Or target by data-test-subj\n\n---------\n\nCo-authored-by:
kibanamachine
<42973632+kibanamachine@users.noreply.github.com>\nCo-authored-by: Karen
Grigoryan
<karen.grigoryan@elastic.co>","sha":"ef0322d8d05be4a2a02b16133a5f8488fe506900"}},"sourceBranch":"main","suggestedTargetBranches":["8.x"],"targetPullRequestStates":[{"branch":"main","label":"v9.1.0","branchLabelMappingKey":"^v9.1.0$","isSourceBranch":true,"state":"MERGED","url":"https://github.com/elastic/kibana/pull/216489","number":216489,"mergeCommit":{"message":"[jest]
@emotion/babel-preset-css-prop (#216489)\n\n## Summary\n\nPartially
address https://github.com/elastic/kibana/issues/216459\n\nThis PR adds
`@emotion/babel-preset-css-prop` to jest config to improve\njest and
emotion integration. There are some tradeoffs: this is a better\nsetup
for emotion + testing library, but there are some seemingly\nregressions
for enzyme. We think these are right tradeoffs to make,\nsince we
optimize for emotion+testing library.\n\n### Main upsides are 😄 \n\n####
🟢 Fixes snapshots with css prop\n\n`You have tried to stringify object
returned from \\`css\\` function. It\nisn't supposed to be used directly
(e.g. as value of the \\`className\\`\nprop), but rather handed to
emotion so it can handle it (e.g. as value\nof \\`css\\` prop).` is
replaced with proper emotion css classname.\n\n![Screenshot 2025-04-04
at 14
57\n52](https://github.com/user-attachments/assets/f4a746d6-2451-4703-ab39-57be7171b10b)\n\n####
🟢 We will be able to use jest style matchers for
emotion\n`toHaveStyleRule`\n\nhttps://emotion.sh/docs/@emotion/jest#tohavestylerule\n\n_they
can be used locally now, but we plan to follow up with
global\nextend_\n\n### Considerations 🫤 \n\n#### 🟡 jsx doesn't work
inside jest.mock function \n\nExample:
\n\n```\njest.mock('./components/alert_header_title', () => ({\n > 27 |
AlertHeaderTitle: jest.fn().mockReturnValue(<div></div>), \n | ^\n 28 |
}));\n```\n\nFails with an error. `can't read jsx of undefined`.
\n\nThis is because babel compiles this into: \n\n```\nimport { jsx as
___EmotionJSX } from
'@emotion/react'\n\njest.mock('./components/alert_header_title', () =>
({\n > 27 | AlertHeaderTitle:
jest.fn().mockReturnValue(___EmotionJSX.jsx(….)), \n | ^\n 28 |
}));\n```\n\nAnd, apparently, due to how jest imports work, __EmotionJSX
is not yet\nin the scope.\n\nThe applied workaround is to rewrite to:
\n\n```\njest.mock('./components/alert_header_title', () => ({\n
AlertHeaderTitle: jest.fn(() => <div></div>), \n }));\n```\n\n\n#### 🟡
euiTheme needs to be available when euiTheme is accessed inside\n`css`
function\n\nExample: \n\n```\nDashboardGrid removes panel when removed
from container\n TypeError: Cannot read properties of undefined (reading
'size')\n 42 | margin: '-2px',\n 43 | position: 'absolute',\n > 44 |
width: euiTheme.size.l,\n```\n\nThe fix was to wrap failing tests with
`<EuiProvider/>` \n\n### Drawbacks 😢 \n\nMostly related to Enzyme
\n\n#### 🔴 Enzyme shallow snapshot no longer include `css` prop
\n\nSince `css` prop is compiled away there are bunch of snapshots
that\nlooks like a regression:\n\nExample:\n\n![Screenshot 2025-04-04 at
15
50\n16](https://github.com/user-attachments/assets/61c1d027-1e8a-48e6-a242-1fa53f8ec9b7)\n\nThis
is unfortunate. We've tried `@emotion/jest/enzyme-serializer` but\nit
didn't work (likely because enzyme ecosystem no longer supported?)\nIf
it is important that the snapshot captures css, we recommend to
use\nmount or rtl\n\n#### 🔴 Asserting against `css` prop with shallow
render also doesn't\nwork\n\nPossible solution is to use \n\n```\nimport
{ matchers } from '@emotion/jest';\nexpect.extend(matchers);\n```\n\n(We
plan to add these matches globally in a follow up)\n\nand \n\n```\n
expect(button).toHaveStyleRule('background-color',
'#FFFFFF');\n```\n\n\n\n#### 🔴 Some shallow Enzyme tests `find()` breaks
because of code\ntransformations of emotion\n\nExample:\n\n```\nconst
component = shallow(\n <MetricVisValue />\n)\n\ncomponent.find('button')
// fails because instead of <button/> there is <EmotionInternalCss/>
element now \n\n```\n\nSolutions:\n- Use full mount or react testing
library \n- Or target by data-test-subj\n\n---------\n\nCo-authored-by:
kibanamachine
<42973632+kibanamachine@users.noreply.github.com>\nCo-authored-by: Karen
Grigoryan
<karen.grigoryan@elastic.co>","sha":"ef0322d8d05be4a2a02b16133a5f8488fe506900"}},{"branch":"8.x","label":"v8.19.0","branchLabelMappingKey":"^v8.19.0$","isSourceBranch":false,"state":"NOT_CREATED"}]}]
BACKPORT-->
2025-04-15 17:38:00 +02:00
Dzmitry Lemechko
2e306a27f3
[8.x] [kbn/response-ops-alerts-table] set data-test-subj for EuiDataGrid based on loading status (#217230) (#218243)
# Backport

This will backport the following commits from `main` to `8.x`:
- [[kbn/response-ops-alerts-table] set data-test-subj for EuiDataGrid
based on loading status
(#217230)](https://github.com/elastic/kibana/pull/217230)

<!--- Backport version: 9.6.6 -->

### Questions ?
Please refer to the [Backport tool
documentation](https://github.com/sorenlouv/backport)

<!--BACKPORT [{"author":{"name":"Dzmitry
Lemechko","email":"dzmitry.lemechko@elastic.co"},"sourceCommit":{"committedDate":"2025-04-15T11:05:49Z","message":"[kbn/response-ops-alerts-table]
set data-test-subj for EuiDataGrid based on loading status
(#217230)\n\n## Summary\n\nFollow-up to #217153\n\n### Problem
Description\nIn UI tests, there was no reliable way to determine when
the Alerts\ntable content had fully loaded before interacting with it.
This could\nlead to flaky tests where interactions occurred before the
data was\navailable (rows are not present yet), causing failures or
inconsistent\nresults (checking for row with specific content to
exist)\n\n\n![image](https://github.com/user-attachments/assets/6580f134-0bf2-48b8-8cc9-b6d476f4e932)\n\nQuite
often we see tests waiting for global indicator (spinner in the\ntop
left corner) to be hidden as a condition for page loading is\ncomplete.
This is quite unreliable approach and testing tools have no\nconsistent
built-in solution: FTR, Cypress or even Playwright - network\nidle wait
is officially marked
as\n[discouraged](https://playwright.dev/docs/api/class-page)).\nWe need
to help testing tool to interact with UI components in ready\nstate
only.\n\n\n### Solution\nTo address this issue, I modified a
`data-test-subj` property in the\n`<EuiDataGrid>` component. The
property dynamically switches between\n`alertsTableIsLoading` when data
is still loading and\n`alertsTableIsLoaded `once the content is
available. This allows UI\ntests to wait for precisely
`alertsTableIsLoaded` to be in in the DOM\nbefore interacting with the
table, ensuring more reliable and stable\ntest execution.\n\n\nPassed
10/10\n<img width=\"538\"
alt=\"image\"\nsrc=\"https://github.com/user-attachments/assets/e44bae5f-4094-4ed2-89f3-74a52cb2be53\"\n/>","sha":"edf8d6d975f7ae2bd4df8a469bc391ca602ddc1e","branchLabelMapping":{"^v9.1.0$":"main","^v8.19.0$":"8.x","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["release_note:skip","backport:version","v9.1.0","v8.19.0","v9.0.1"],"title":"[kbn/response-ops-alerts-table]
set data-test-subj for EuiDataGrid based on loading
status","number":217230,"url":"https://github.com/elastic/kibana/pull/217230","mergeCommit":{"message":"[kbn/response-ops-alerts-table]
set data-test-subj for EuiDataGrid based on loading status
(#217230)\n\n## Summary\n\nFollow-up to #217153\n\n### Problem
Description\nIn UI tests, there was no reliable way to determine when
the Alerts\ntable content had fully loaded before interacting with it.
This could\nlead to flaky tests where interactions occurred before the
data was\navailable (rows are not present yet), causing failures or
inconsistent\nresults (checking for row with specific content to
exist)\n\n\n![image](https://github.com/user-attachments/assets/6580f134-0bf2-48b8-8cc9-b6d476f4e932)\n\nQuite
often we see tests waiting for global indicator (spinner in the\ntop
left corner) to be hidden as a condition for page loading is\ncomplete.
This is quite unreliable approach and testing tools have no\nconsistent
built-in solution: FTR, Cypress or even Playwright - network\nidle wait
is officially marked
as\n[discouraged](https://playwright.dev/docs/api/class-page)).\nWe need
to help testing tool to interact with UI components in ready\nstate
only.\n\n\n### Solution\nTo address this issue, I modified a
`data-test-subj` property in the\n`<EuiDataGrid>` component. The
property dynamically switches between\n`alertsTableIsLoading` when data
is still loading and\n`alertsTableIsLoaded `once the content is
available. This allows UI\ntests to wait for precisely
`alertsTableIsLoaded` to be in in the DOM\nbefore interacting with the
table, ensuring more reliable and stable\ntest execution.\n\n\nPassed
10/10\n<img width=\"538\"
alt=\"image\"\nsrc=\"https://github.com/user-attachments/assets/e44bae5f-4094-4ed2-89f3-74a52cb2be53\"\n/>","sha":"edf8d6d975f7ae2bd4df8a469bc391ca602ddc1e"}},"sourceBranch":"main","suggestedTargetBranches":["8.x","9.0"],"targetPullRequestStates":[{"branch":"main","label":"v9.1.0","branchLabelMappingKey":"^v9.1.0$","isSourceBranch":true,"state":"MERGED","url":"https://github.com/elastic/kibana/pull/217230","number":217230,"mergeCommit":{"message":"[kbn/response-ops-alerts-table]
set data-test-subj for EuiDataGrid based on loading status
(#217230)\n\n## Summary\n\nFollow-up to #217153\n\n### Problem
Description\nIn UI tests, there was no reliable way to determine when
the Alerts\ntable content had fully loaded before interacting with it.
This could\nlead to flaky tests where interactions occurred before the
data was\navailable (rows are not present yet), causing failures or
inconsistent\nresults (checking for row with specific content to
exist)\n\n\n![image](https://github.com/user-attachments/assets/6580f134-0bf2-48b8-8cc9-b6d476f4e932)\n\nQuite
often we see tests waiting for global indicator (spinner in the\ntop
left corner) to be hidden as a condition for page loading is\ncomplete.
This is quite unreliable approach and testing tools have no\nconsistent
built-in solution: FTR, Cypress or even Playwright - network\nidle wait
is officially marked
as\n[discouraged](https://playwright.dev/docs/api/class-page)).\nWe need
to help testing tool to interact with UI components in ready\nstate
only.\n\n\n### Solution\nTo address this issue, I modified a
`data-test-subj` property in the\n`<EuiDataGrid>` component. The
property dynamically switches between\n`alertsTableIsLoading` when data
is still loading and\n`alertsTableIsLoaded `once the content is
available. This allows UI\ntests to wait for precisely
`alertsTableIsLoaded` to be in in the DOM\nbefore interacting with the
table, ensuring more reliable and stable\ntest execution.\n\n\nPassed
10/10\n<img width=\"538\"
alt=\"image\"\nsrc=\"https://github.com/user-attachments/assets/e44bae5f-4094-4ed2-89f3-74a52cb2be53\"\n/>","sha":"edf8d6d975f7ae2bd4df8a469bc391ca602ddc1e"}},{"branch":"8.x","label":"v8.19.0","branchLabelMappingKey":"^v8.19.0$","isSourceBranch":false,"state":"NOT_CREATED"},{"branch":"9.0","label":"v9.0.1","branchLabelMappingKey":"^v(\\d+).(\\d+).\\d+$","isSourceBranch":false,"state":"NOT_CREATED"}]}]
BACKPORT-->
2025-04-15 17:18:21 +02:00
Elena Shostak
a6bd5642ba
[8.x] Upgraded octokit to 21.1.1 (#211450) (#218266)
# Backport

This will backport the following commits from `main` to `8.x`:
- [Upgraded octokit to 21.1.1
(#211450)](https://github.com/elastic/kibana/pull/211450)

<!--- Backport version: 9.6.6 -->

### Questions ?
Please refer to the [Backport tool
documentation](https://github.com/sorenlouv/backport)

<!--BACKPORT [{"author":{"name":"Elena
Shostak","email":"165678770+elena-shostak@users.noreply.github.com"},"sourceCommit":{"committedDate":"2025-02-18T09:46:38Z","message":"Upgraded
octokit to 21.1.1 (#211450)\n\n## Summary\r\n\r\nUpgraded octokit to
`21.1.1`","sha":"38439bb7e12313453ff520c3eed2fb334a69640e","branchLabelMapping":{"^v9.1.0$":"main","^v8.19.0$":"8.x","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["Team:Security","release_note:skip","v9.0.0","backport:prev-minor","Team:obs-ux-infra_services","v9.1.0"],"title":"Upgraded
octokit to
21.1.1","number":211450,"url":"https://github.com/elastic/kibana/pull/211450","mergeCommit":{"message":"Upgraded
octokit to 21.1.1 (#211450)\n\n## Summary\r\n\r\nUpgraded octokit to
`21.1.1`","sha":"38439bb7e12313453ff520c3eed2fb334a69640e"}},"sourceBranch":"main","suggestedTargetBranches":[],"targetPullRequestStates":[{"branch":"9.0","label":"v9.0.0","branchLabelMappingKey":"^v(\\d+).(\\d+).\\d+$","isSourceBranch":false,"url":"https://github.com/elastic/kibana/pull/211538","number":211538,"state":"MERGED","mergeCommit":{"sha":"c57a0a25c46f987db2ada76c144753e090972eb6","message":"[9.0]
Upgraded octokit to 21.1.1 (#211450) (#211538)\n\n# Backport\n\nThis
will backport the following commits from `main` to `9.0`:\n- [Upgraded
octokit to
21.1.1\n(#211450)](https://github.com/elastic/kibana/pull/211450)\n\n\n\n###
Questions ?\nPlease refer to the [Backport
tool\ndocumentation](https://github.com/sorenlouv/backport)\n\n\n\nCo-authored-by:
Elena Shostak
<165678770+elena-shostak@users.noreply.github.com>"}},{"branch":"main","label":"v9.1.0","branchLabelMappingKey":"^v9.1.0$","isSourceBranch":true,"state":"MERGED","url":"https://github.com/elastic/kibana/pull/211450","number":211450,"mergeCommit":{"message":"Upgraded
octokit to 21.1.1 (#211450)\n\n## Summary\r\n\r\nUpgraded octokit to
`21.1.1`","sha":"38439bb7e12313453ff520c3eed2fb334a69640e"}}]}]
BACKPORT-->
2025-04-15 16:54:47 +02:00
Kibana Machine
7397472f90
[8.x] [Infra] Check ML permissions before requesting ML data (#218069) (#218229)
# Backport

This will backport the following commits from `main` to `8.x`:
- [[Infra] Check ML permissions before requesting ML data
(#218069)](https://github.com/elastic/kibana/pull/218069)

<!--- Backport version: 9.6.6 -->

### Questions ?
Please refer to the [Backport tool
documentation](https://github.com/sorenlouv/backport)

<!--BACKPORT [{"author":{"name":"Carlos
Crespo","email":"crespocarlos@users.noreply.github.com"},"sourceCommit":{"committedDate":"2025-04-15T10:02:51Z","message":"[Infra]
Check ML permissions before requesting ML data (#218069)\n\nfixes
[#189213](https://github.com/elastic/kibana/issues/189213)\n\n##
Summary\n\nChecks whether the user has permission to ML before
triggering requests\nto fetch ML data\n\n\n### How to test\n\n- Create a
user whose role doesn't have permission to ML, but has\npermission to
O11y apps\n- Run `node scripts/synthtrace infra_hosts_with_apm_hosts
--live\n--clean`\n - Navigate to Inventory Infrastructure / Hosts
View\n\n---------\n\nCo-authored-by: Elastic Machine
<elasticmachine@users.noreply.github.com>","sha":"5423655975924c5e2840f684132fc0447e4bcec3","branchLabelMapping":{"^v9.1.0$":"main","^v8.19.0$":"8.x","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["release_note:skip","backport:prev-minor","backport:prev-major","Team:obs-ux-infra_services","v9.1.0"],"title":"[Infra]
Check ML permissions before requesting ML
data","number":218069,"url":"https://github.com/elastic/kibana/pull/218069","mergeCommit":{"message":"[Infra]
Check ML permissions before requesting ML data (#218069)\n\nfixes
[#189213](https://github.com/elastic/kibana/issues/189213)\n\n##
Summary\n\nChecks whether the user has permission to ML before
triggering requests\nto fetch ML data\n\n\n### How to test\n\n- Create a
user whose role doesn't have permission to ML, but has\npermission to
O11y apps\n- Run `node scripts/synthtrace infra_hosts_with_apm_hosts
--live\n--clean`\n - Navigate to Inventory Infrastructure / Hosts
View\n\n---------\n\nCo-authored-by: Elastic Machine
<elasticmachine@users.noreply.github.com>","sha":"5423655975924c5e2840f684132fc0447e4bcec3"}},"sourceBranch":"main","suggestedTargetBranches":[],"targetPullRequestStates":[{"branch":"main","label":"v9.1.0","branchLabelMappingKey":"^v9.1.0$","isSourceBranch":true,"state":"MERGED","url":"https://github.com/elastic/kibana/pull/218069","number":218069,"mergeCommit":{"message":"[Infra]
Check ML permissions before requesting ML data (#218069)\n\nfixes
[#189213](https://github.com/elastic/kibana/issues/189213)\n\n##
Summary\n\nChecks whether the user has permission to ML before
triggering requests\nto fetch ML data\n\n\n### How to test\n\n- Create a
user whose role doesn't have permission to ML, but has\npermission to
O11y apps\n- Run `node scripts/synthtrace infra_hosts_with_apm_hosts
--live\n--clean`\n - Navigate to Inventory Infrastructure / Hosts
View\n\n---------\n\nCo-authored-by: Elastic Machine
<elasticmachine@users.noreply.github.com>","sha":"5423655975924c5e2840f684132fc0447e4bcec3"}}]}]
BACKPORT-->

Co-authored-by: Carlos Crespo <crespocarlos@users.noreply.github.com>
2025-04-15 14:02:53 +02:00
Tim Sullivan
0cc28d0e71
[8.x] NavigationItemOpenPanel: remove handling of landing page ("four squares" design) (#210893) (#218133)
# Backport

This will backport the following commits from `main` to `8.x`:
- [NavigationItemOpenPanel: remove handling of landing page ("four
squares" design)
(#210893)](https://github.com/elastic/kibana/pull/210893)

<!--- Backport version: 9.6.6 -->

### Questions ?
Please refer to the [Backport tool
documentation](https://github.com/sorenlouv/backport)

<!--BACKPORT [{"author":{"name":"Tim
Sullivan","email":"tsullivan@users.noreply.github.com"},"sourceCommit":{"committedDate":"2025-04-09T14:25:30Z","message":"NavigationItemOpenPanel:
remove handling of landing page (\"four squares\" design)
(#210893)\n\n## Summary\n\nPart of Epic:
https://github.com/elastic/kibana-team/issues/1439\nRequires:
https://github.com/elastic/kibana/issues/212903\n\nChanges:\n1. Moves
the Solution Side Nav away from the \"four squares\" design\npattern:
where clicking the item label opens a landing page and the item\nicon
opens the secondary nav panel. This was a custom component\nimplemented
in the Kibana package, not part of the EUI\n`EuiCollapsibleNavBeta`
component.\n2. Changes some usage of `@emotion/css` to `@emotion/react`
for better\ndeveloper experience\n\n###
Screenshots\n\n<details><summary>Before</summary>\n\n\n![01-security-solution-before](a8ef8476-e36d-479f-9eba-2450b1df71ac)\n\n</details>\n\n###
Checklist\n\nCheck the PR satisfies following conditions. \n\nReviewers
should verify this PR satisfies this list as well.\n\n- [x] [Unit or
functional\ntests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)\nwere
updated or added to match the most common scenarios\n- [x] The PR
description includes the appropriate Release Notes section,\nand the
correct `release_note:*` label is applied per
the\n[guidelines](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process)\n\n###
Identify risks\n\nDoes this PR introduce any risks? For example,
consider risks like hard\nto test bugs, performance regression,
potential of data loss.\n\nDescribe the risk, its severity, and
mitigation for each identified\nrisk. Invite stakeholders and evaluate
how to proceed before merging.\n\n- [ ] This design pattern was only
used in Security Solution. There is a\nsmall risk of regression issues
in Security Solution navigation. This\nwas mitigated by manual testing
during
development.","sha":"77523f7b15aabe612933c352e71d93e441d2eb3e","branchLabelMapping":{"^v9.1.0$":"main","^v8.19.0$":"8.x","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["blocked","release_note:skip","backport
missing","Team:
SecuritySolution","Team:SharedUX","ci:project-deploy-observability","backport:version","v9.1.0","v8.19.0"],"title":"NavigationItemOpenPanel:
remove handling of landing page (\"four squares\"
design)","number":210893,"url":"https://github.com/elastic/kibana/pull/210893","mergeCommit":{"message":"NavigationItemOpenPanel:
remove handling of landing page (\"four squares\" design)
(#210893)\n\n## Summary\n\nPart of Epic:
https://github.com/elastic/kibana-team/issues/1439\nRequires:
https://github.com/elastic/kibana/issues/212903\n\nChanges:\n1. Moves
the Solution Side Nav away from the \"four squares\" design\npattern:
where clicking the item label opens a landing page and the item\nicon
opens the secondary nav panel. This was a custom component\nimplemented
in the Kibana package, not part of the EUI\n`EuiCollapsibleNavBeta`
component.\n2. Changes some usage of `@emotion/css` to `@emotion/react`
for better\ndeveloper experience\n\n###
Screenshots\n\n<details><summary>Before</summary>\n\n\n![01-security-solution-before](a8ef8476-e36d-479f-9eba-2450b1df71ac)\n\n</details>\n\n###
Checklist\n\nCheck the PR satisfies following conditions. \n\nReviewers
should verify this PR satisfies this list as well.\n\n- [x] [Unit or
functional\ntests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)\nwere
updated or added to match the most common scenarios\n- [x] The PR
description includes the appropriate Release Notes section,\nand the
correct `release_note:*` label is applied per
the\n[guidelines](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process)\n\n###
Identify risks\n\nDoes this PR introduce any risks? For example,
consider risks like hard\nto test bugs, performance regression,
potential of data loss.\n\nDescribe the risk, its severity, and
mitigation for each identified\nrisk. Invite stakeholders and evaluate
how to proceed before merging.\n\n- [ ] This design pattern was only
used in Security Solution. There is a\nsmall risk of regression issues
in Security Solution navigation. This\nwas mitigated by manual testing
during
development.","sha":"77523f7b15aabe612933c352e71d93e441d2eb3e"}},"sourceBranch":"main","suggestedTargetBranches":["8.x"],"targetPullRequestStates":[{"branch":"main","label":"v9.1.0","branchLabelMappingKey":"^v9.1.0$","isSourceBranch":true,"state":"MERGED","url":"https://github.com/elastic/kibana/pull/210893","number":210893,"mergeCommit":{"message":"NavigationItemOpenPanel:
remove handling of landing page (\"four squares\" design)
(#210893)\n\n## Summary\n\nPart of Epic:
https://github.com/elastic/kibana-team/issues/1439\nRequires:
https://github.com/elastic/kibana/issues/212903\n\nChanges:\n1. Moves
the Solution Side Nav away from the \"four squares\" design\npattern:
where clicking the item label opens a landing page and the item\nicon
opens the secondary nav panel. This was a custom component\nimplemented
in the Kibana package, not part of the EUI\n`EuiCollapsibleNavBeta`
component.\n2. Changes some usage of `@emotion/css` to `@emotion/react`
for better\ndeveloper experience\n\n###
Screenshots\n\n<details><summary>Before</summary>\n\n\n![01-security-solution-before](a8ef8476-e36d-479f-9eba-2450b1df71ac)\n\n</details>\n\n###
Checklist\n\nCheck the PR satisfies following conditions. \n\nReviewers
should verify this PR satisfies this list as well.\n\n- [x] [Unit or
functional\ntests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)\nwere
updated or added to match the most common scenarios\n- [x] The PR
description includes the appropriate Release Notes section,\nand the
correct `release_note:*` label is applied per
the\n[guidelines](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process)\n\n###
Identify risks\n\nDoes this PR introduce any risks? For example,
consider risks like hard\nto test bugs, performance regression,
potential of data loss.\n\nDescribe the risk, its severity, and
mitigation for each identified\nrisk. Invite stakeholders and evaluate
how to proceed before merging.\n\n- [ ] This design pattern was only
used in Security Solution. There is a\nsmall risk of regression issues
in Security Solution navigation. This\nwas mitigated by manual testing
during
development.","sha":"77523f7b15aabe612933c352e71d93e441d2eb3e"}},{"branch":"8.x","label":"v8.19.0","branchLabelMappingKey":"^v8.19.0$","isSourceBranch":false,"state":"NOT_CREATED"}]}]
BACKPORT-->
2025-04-15 11:16:12 +02:00
Bailey Cash
de6ea00825
[8.x] [SLO]: Add filtering to SLO Management table, improve UX (#216040) (#218171)
# Backport

This will backport the following commits from `main` to `8.x`:
- [[SLO]: Add filtering to SLO Management table, improve UX
(#216040)](https://github.com/elastic/kibana/pull/216040)

<!--- Backport version: 9.6.6 -->

### Questions ?
Please refer to the [Backport tool
documentation](https://github.com/sorenlouv/backport)

<!--BACKPORT [{"author":{"name":"Bailey
Cash","email":"bailey.cash@elastic.co"},"sourceCommit":{"committedDate":"2025-03-27T22:36:16Z","message":"[SLO]:
Add filtering to SLO Management table, improve UX (#216040)\n\n##
Summary\n\nResolves #214258 \n\n- Updates search bar to utilize
UnifiedSearchBar\n- Adds ability to filter SLOs by tags (OR operator)\n-
Makes improvements to version display\n\n![Screenshot 2025-03-26 at 2
55\n01 PM](https://github.com/user-attachments/assets/cf8c19e4-7a9f-4f2e-bd5d-b820b8f9bf23)\n![Screenshot
2025-03-26 at 2
54\n20 PM](https://github.com/user-attachments/assets/46e968ff-352a-4f4e-b762-a96c727c08f4)\n\n---------\n\nCo-authored-by:
kdelemme <kdelemme@users.noreply.github.com>\nCo-authored-by: Elastic
Machine <elasticmachine@users.noreply.github.com>\nCo-authored-by:
kibanamachine
<42973632+kibanamachine@users.noreply.github.com>","sha":"40e95f00f1b2f3b2ba76f958727e9bea24424679","branchLabelMapping":{"^v9.1.0$":"main","^v8.19.0$":"8.x","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["release_note:skip","backport:skip","Team:obs-ux-management","v9.1.0"],"title":"[SLO]:
Add filtering to SLO Management table, improve
UX","number":216040,"url":"https://github.com/elastic/kibana/pull/216040","mergeCommit":{"message":"[SLO]:
Add filtering to SLO Management table, improve UX (#216040)\n\n##
Summary\n\nResolves #214258 \n\n- Updates search bar to utilize
UnifiedSearchBar\n- Adds ability to filter SLOs by tags (OR operator)\n-
Makes improvements to version display\n\n![Screenshot 2025-03-26 at 2
55\n01 PM](https://github.com/user-attachments/assets/cf8c19e4-7a9f-4f2e-bd5d-b820b8f9bf23)\n![Screenshot
2025-03-26 at 2
54\n20 PM](https://github.com/user-attachments/assets/46e968ff-352a-4f4e-b762-a96c727c08f4)\n\n---------\n\nCo-authored-by:
kdelemme <kdelemme@users.noreply.github.com>\nCo-authored-by: Elastic
Machine <elasticmachine@users.noreply.github.com>\nCo-authored-by:
kibanamachine
<42973632+kibanamachine@users.noreply.github.com>","sha":"40e95f00f1b2f3b2ba76f958727e9bea24424679"}},"sourceBranch":"main","suggestedTargetBranches":[],"targetPullRequestStates":[{"branch":"main","label":"v9.1.0","branchLabelMappingKey":"^v9.1.0$","isSourceBranch":true,"state":"MERGED","url":"https://github.com/elastic/kibana/pull/216040","number":216040,"mergeCommit":{"message":"[SLO]:
Add filtering to SLO Management table, improve UX (#216040)\n\n##
Summary\n\nResolves #214258 \n\n- Updates search bar to utilize
UnifiedSearchBar\n- Adds ability to filter SLOs by tags (OR operator)\n-
Makes improvements to version display\n\n![Screenshot 2025-03-26 at 2
55\n01 PM](https://github.com/user-attachments/assets/cf8c19e4-7a9f-4f2e-bd5d-b820b8f9bf23)\n![Screenshot
2025-03-26 at 2
54\n20 PM](https://github.com/user-attachments/assets/46e968ff-352a-4f4e-b762-a96c727c08f4)\n\n---------\n\nCo-authored-by:
kdelemme <kdelemme@users.noreply.github.com>\nCo-authored-by: Elastic
Machine <elasticmachine@users.noreply.github.com>\nCo-authored-by:
kibanamachine
<42973632+kibanamachine@users.noreply.github.com>","sha":"40e95f00f1b2f3b2ba76f958727e9bea24424679"}}]}]
BACKPORT-->

---------

Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
Co-authored-by: Shahzad <shahzad31comp@gmail.com>
2025-04-15 09:10:26 +02:00
Bailey Cash
0da581350d
[8.x] [SLO] update default feature flag value for slo management (#216919) (#218162)
# Backport

This will backport the following commits from `main` to `8.x`:
- [[SLO] update default feature flag value for slo management
(#216919)](https://github.com/elastic/kibana/pull/216919)

<!--- Backport version: 9.6.6 -->

### Questions ?
Please refer to the [Backport tool
documentation](https://github.com/sorenlouv/backport)

<!--BACKPORT [{"author":{"name":"Bailey
Cash","email":"bailey.cash@elastic.co"},"sourceCommit":{"committedDate":"2025-04-07T13:07:35Z","message":"[SLO]
update default feature flag value for slo management (#216919)\n\n##
Summary\n\nupdate default feature flag value for slo management, persist
flag state\nto
callout","sha":"8999324ed563fa1c081d6270a873fdaefbea7732","branchLabelMapping":{"^v9.1.0$":"main","^v8.19.0$":"8.x","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["release_note:skip","backport:skip","Team:obs-ux-management","v9.1.0"],"title":"[SLO]
update default feature flag value for slo
management","number":216919,"url":"https://github.com/elastic/kibana/pull/216919","mergeCommit":{"message":"[SLO]
update default feature flag value for slo management (#216919)\n\n##
Summary\n\nupdate default feature flag value for slo management, persist
flag state\nto
callout","sha":"8999324ed563fa1c081d6270a873fdaefbea7732"}},"sourceBranch":"main","suggestedTargetBranches":[],"targetPullRequestStates":[{"branch":"main","label":"v9.1.0","branchLabelMappingKey":"^v9.1.0$","isSourceBranch":true,"state":"MERGED","url":"https://github.com/elastic/kibana/pull/216919","number":216919,"mergeCommit":{"message":"[SLO]
update default feature flag value for slo management (#216919)\n\n##
Summary\n\nupdate default feature flag value for slo management, persist
flag state\nto
callout","sha":"8999324ed563fa1c081d6270a873fdaefbea7732"}}]}]
BACKPORT-->
2025-04-15 07:19:55 +02:00
Kibana Machine
48554f91e1
[8.x] [Security Solution] Fix prebuilt rules force upgrade on Endpoint policy creation (#217959) (#218154)
# Backport

This will backport the following commits from `main` to `8.x`:
- [[Security Solution] Fix prebuilt rules force upgrade on Endpoint
policy creation
(#217959)](https://github.com/elastic/kibana/pull/217959)

<!--- Backport version: 9.6.6 -->

### Questions ?
Please refer to the [Backport tool
documentation](https://github.com/sorenlouv/backport)

<!--BACKPORT [{"author":{"name":"Dmitrii
Shevchenko","email":"dmitrii.shevchenko@elastic.co"},"sourceCommit":{"committedDate":"2025-04-14T17:22:38Z","message":"[Security
Solution] Fix prebuilt rules force upgrade on Endpoint policy creation
(#217959)\n\n**Resolves:
https://github.com/elastic/security-team/issues/7216**\n\n##
Summary\n\nThis PR updates the Endpoint policy callback to: \n\n-
**Install only the Elastic Defend rule if it's missing**,
without\nupgrading it to the latest version. Previously, the rule was
both\ninstalled and updated whenever an Endpoint policy was created,
which\nconflicted with rule customization. Automatic upgrades could
erase\nexisting user customizations.\n\n- **Avoid triggering the
installation or upgrade of any other prebuilt\nrules** as part of this
flow. The Endpoint package policy
creation\ncallback\n([source](f7d8bc3c25/x-pack/solutions/security/plugins/security_solution/server/fleet_integration/fleet_integration.ts (L181-L187)))\npreviously
installed and upgraded **all** prebuilt detection rules to\ntheir target
versions whenever an Endpoint policy was created.\n\nThis logic relied
on the legacy rule upgrade method, which has a known\nissue that causes
all configured rule actions and exceptions to be lost.\nBy removing the
upgrade logic, this PR eliminates that
incorrect\nbehavior.","sha":"9f5425f061e6fff8579f7db1117af075b1b6ca1b","branchLabelMapping":{"^v9.1.0$":"main","^v8.19.0$":"8.x","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["bug","release_note:fix","impact:high","Feature:Endpoint","Team:Detections
and Resp","Team: SecuritySolution","Team:Detection Rule
Management","Feature:Prebuilt Detection
Rules","backport:version","v9.1.0","v8.19.0","v8.18.1","v9.0.1","v8.17.5"],"title":"[Security
Solution] Fix prebuilt rules force upgrade on Endpoint policy
creation","number":217959,"url":"https://github.com/elastic/kibana/pull/217959","mergeCommit":{"message":"[Security
Solution] Fix prebuilt rules force upgrade on Endpoint policy creation
(#217959)\n\n**Resolves:
https://github.com/elastic/security-team/issues/7216**\n\n##
Summary\n\nThis PR updates the Endpoint policy callback to: \n\n-
**Install only the Elastic Defend rule if it's missing**,
without\nupgrading it to the latest version. Previously, the rule was
both\ninstalled and updated whenever an Endpoint policy was created,
which\nconflicted with rule customization. Automatic upgrades could
erase\nexisting user customizations.\n\n- **Avoid triggering the
installation or upgrade of any other prebuilt\nrules** as part of this
flow. The Endpoint package policy
creation\ncallback\n([source](f7d8bc3c25/x-pack/solutions/security/plugins/security_solution/server/fleet_integration/fleet_integration.ts (L181-L187)))\npreviously
installed and upgraded **all** prebuilt detection rules to\ntheir target
versions whenever an Endpoint policy was created.\n\nThis logic relied
on the legacy rule upgrade method, which has a known\nissue that causes
all configured rule actions and exceptions to be lost.\nBy removing the
upgrade logic, this PR eliminates that
incorrect\nbehavior.","sha":"9f5425f061e6fff8579f7db1117af075b1b6ca1b"}},"sourceBranch":"main","suggestedTargetBranches":["8.x","8.18","9.0","8.17"],"targetPullRequestStates":[{"branch":"main","label":"v9.1.0","branchLabelMappingKey":"^v9.1.0$","isSourceBranch":true,"state":"MERGED","url":"https://github.com/elastic/kibana/pull/217959","number":217959,"mergeCommit":{"message":"[Security
Solution] Fix prebuilt rules force upgrade on Endpoint policy creation
(#217959)\n\n**Resolves:
https://github.com/elastic/security-team/issues/7216**\n\n##
Summary\n\nThis PR updates the Endpoint policy callback to: \n\n-
**Install only the Elastic Defend rule if it's missing**,
without\nupgrading it to the latest version. Previously, the rule was
both\ninstalled and updated whenever an Endpoint policy was created,
which\nconflicted with rule customization. Automatic upgrades could
erase\nexisting user customizations.\n\n- **Avoid triggering the
installation or upgrade of any other prebuilt\nrules** as part of this
flow. The Endpoint package policy
creation\ncallback\n([source](f7d8bc3c25/x-pack/solutions/security/plugins/security_solution/server/fleet_integration/fleet_integration.ts (L181-L187)))\npreviously
installed and upgraded **all** prebuilt detection rules to\ntheir target
versions whenever an Endpoint policy was created.\n\nThis logic relied
on the legacy rule upgrade method, which has a known\nissue that causes
all configured rule actions and exceptions to be lost.\nBy removing the
upgrade logic, this PR eliminates that
incorrect\nbehavior.","sha":"9f5425f061e6fff8579f7db1117af075b1b6ca1b"}},{"branch":"8.x","label":"v8.19.0","branchLabelMappingKey":"^v8.19.0$","isSourceBranch":false,"state":"NOT_CREATED"},{"branch":"8.18","label":"v8.18.1","branchLabelMappingKey":"^v(\\d+).(\\d+).\\d+$","isSourceBranch":false,"state":"NOT_CREATED"},{"branch":"9.0","label":"v9.0.1","branchLabelMappingKey":"^v(\\d+).(\\d+).\\d+$","isSourceBranch":false,"state":"NOT_CREATED"},{"branch":"8.17","label":"v8.17.5","branchLabelMappingKey":"^v(\\d+).(\\d+).\\d+$","isSourceBranch":false,"state":"NOT_CREATED"}]}]
BACKPORT-->

Co-authored-by: Dmitrii Shevchenko <dmitrii.shevchenko@elastic.co>
2025-04-14 21:09:57 +02:00
Justin Kambic
0ab217af55
[8.x] [Synthetics] Only return 404 if screenshot_ref is truly not present (#215241) (#218136)
# Backport

This will backport the following commits from `main` to `8.x`:
- [[Synthetics] Only return 404 if `screenshot_ref` is truly not present
(#215241)](https://github.com/elastic/kibana/pull/215241)

<!--- Backport version: 9.6.6 -->

### Questions ?
Please refer to the [Backport tool
documentation](https://github.com/sorenlouv/backport)

<!--BACKPORT [{"author":{"name":"Justin
Kambic","email":"jk@elastic.co"},"sourceCommit":{"committedDate":"2025-03-24T14:50:18Z","message":"[Synthetics]
Only return 404 if `screenshot_ref` is truly not present (#215241)\n\n##
Summary\n\nRight now we return a 404 anytime that the data we're looking
for on the\n`screenshot_ref` route is not satisfactory. We do an io-ts
check on the\ndata before returning. It's possible that that data will
fail the check,\nand we'd return a 404 anyway. This isn't a very
accurate reflection of\nwhat's happening on the server, and could
indicate a problem with the\nuser's data.\n\nInstead, we first check if
the data returned from Elasticsearch is\n`null`, and if it is we return
a 404. Otherwise, we compute the type\ncheck like normal and return the
result. In the case where the data\nfails the type check, we instead
return a 500 and include the malformed\ndata in the server
response.\n\nCo-authored-by: Faisal Kanout
<faisal.kanout@elastic.co>","sha":"74f87d99bc1981a533982e103f802d0cbf118fa7","branchLabelMapping":{"^v9.1.0$":"main","^v8.19.0$":"8.x","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["release_note:enhancement","v9.0.0","backport:prev-minor","Team:obs-ux-management","v9.1.0"],"title":"[Synthetics]
Only return 404 if `screenshot_ref` is truly not
present","number":215241,"url":"https://github.com/elastic/kibana/pull/215241","mergeCommit":{"message":"[Synthetics]
Only return 404 if `screenshot_ref` is truly not present (#215241)\n\n##
Summary\n\nRight now we return a 404 anytime that the data we're looking
for on the\n`screenshot_ref` route is not satisfactory. We do an io-ts
check on the\ndata before returning. It's possible that that data will
fail the check,\nand we'd return a 404 anyway. This isn't a very
accurate reflection of\nwhat's happening on the server, and could
indicate a problem with the\nuser's data.\n\nInstead, we first check if
the data returned from Elasticsearch is\n`null`, and if it is we return
a 404. Otherwise, we compute the type\ncheck like normal and return the
result. In the case where the data\nfails the type check, we instead
return a 500 and include the malformed\ndata in the server
response.\n\nCo-authored-by: Faisal Kanout
<faisal.kanout@elastic.co>","sha":"74f87d99bc1981a533982e103f802d0cbf118fa7"}},"sourceBranch":"main","suggestedTargetBranches":[],"targetPullRequestStates":[{"branch":"9.0","label":"v9.0.0","branchLabelMappingKey":"^v(\\d+).(\\d+).\\d+$","isSourceBranch":false,"url":"https://github.com/elastic/kibana/pull/215726","number":215726,"state":"MERGED","mergeCommit":{"sha":"349e4472ee62edd72cd062bb2635cb563f61168b","message":"[9.0]
[Synthetics] Only return 404 if `screenshot_ref` is truly not present
(#215241) (#215726)\n\n# Backport\n\nThis will backport the following
commits from `main` to `9.0`:\n- [[Synthetics] Only return 404 if
`screenshot_ref` is truly not
present\n(#215241)](https://github.com/elastic/kibana/pull/215241)\n\n\n\n###
Questions ?\nPlease refer to the [Backport
tool\ndocumentation](https://github.com/sorenlouv/backport)\n\n\n\nCo-authored-by:
Justin Kambic
<jk@elastic.co>"}},{"branch":"main","label":"v9.1.0","branchLabelMappingKey":"^v9.1.0$","isSourceBranch":true,"state":"MERGED","url":"https://github.com/elastic/kibana/pull/215241","number":215241,"mergeCommit":{"message":"[Synthetics]
Only return 404 if `screenshot_ref` is truly not present (#215241)\n\n##
Summary\n\nRight now we return a 404 anytime that the data we're looking
for on the\n`screenshot_ref` route is not satisfactory. We do an io-ts
check on the\ndata before returning. It's possible that that data will
fail the check,\nand we'd return a 404 anyway. This isn't a very
accurate reflection of\nwhat's happening on the server, and could
indicate a problem with the\nuser's data.\n\nInstead, we first check if
the data returned from Elasticsearch is\n`null`, and if it is we return
a 404. Otherwise, we compute the type\ncheck like normal and return the
result. In the case where the data\nfails the type check, we instead
return a 500 and include the malformed\ndata in the server
response.\n\nCo-authored-by: Faisal Kanout
<faisal.kanout@elastic.co>","sha":"74f87d99bc1981a533982e103f802d0cbf118fa7"}}]}]
BACKPORT-->
2025-04-14 19:23:14 +02:00
Kibana Machine
0b60e4c08a
[8.x] [ObsUX][A11y] Fix focus for popover in details flyout (#218095) (#218126)
# Backport

This will backport the following commits from `main` to `8.x`:
- [[ObsUX][A11y] Fix focus for popover in details flyout
(#218095)](https://github.com/elastic/kibana/pull/218095)

<!--- Backport version: 9.6.6 -->

### Questions ?
Please refer to the [Backport tool
documentation](https://github.com/sorenlouv/backport)

<!--BACKPORT
[{"author":{"name":"Miriam","email":"31922082+MiriamAparicio@users.noreply.github.com"},"sourceCommit":{"committedDate":"2025-04-14T14:15:25Z","message":"[ObsUX][A11y]
Fix focus for popover in details flyout (#218095)\n\nCloses
https://github.com/elastic/kibana/issues/212633\n\n## Summary\n\nFixed
navigation by keeping focus on Popover opener element\n\n### How to
test\nObservability -> Infrastructure -> Infrastructure inventory
page.\n1. Navigate to any square below All button.\n2. Press Enter.\n3.
Navigate to infographic for Host IP.\n4. Press Enter.\n5. Press
Esc.\n\nExpected result: Navigation continues to next element when Tab
key is\npressed.\n\nBEFORE
\n\n\nb01e6955-b659-4d9a-abcf-1ece48adc161","sha":"26d9f5f7d0d24eaa8fdefc9a92747de4e3cc5a66","branchLabelMapping":{"^v9.1.0$":"main","^v8.19.0$":"8.x","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["release_note:skip","v9.0.0","Team:obs-ux-infra_services","backport:version","v8.18.0","v9.1.0","v8.19.0"],"title":"[ObsUX][A11y]
Fix focus for popover in details
flyout","number":218095,"url":"https://github.com/elastic/kibana/pull/218095","mergeCommit":{"message":"[ObsUX][A11y]
Fix focus for popover in details flyout (#218095)\n\nCloses
https://github.com/elastic/kibana/issues/212633\n\n## Summary\n\nFixed
navigation by keeping focus on Popover opener element\n\n### How to
test\nObservability -> Infrastructure -> Infrastructure inventory
page.\n1. Navigate to any square below All button.\n2. Press Enter.\n3.
Navigate to infographic for Host IP.\n4. Press Enter.\n5. Press
Esc.\n\nExpected result: Navigation continues to next element when Tab
key is\npressed.\n\nBEFORE
\n\n\nb01e6955-b659-4d9a-abcf-1ece48adc161","sha":"26d9f5f7d0d24eaa8fdefc9a92747de4e3cc5a66"}},"sourceBranch":"main","suggestedTargetBranches":["9.0","8.18","8.x"],"targetPullRequestStates":[{"branch":"9.0","label":"v9.0.0","branchLabelMappingKey":"^v(\\d+).(\\d+).\\d+$","isSourceBranch":false,"state":"NOT_CREATED"},{"branch":"8.18","label":"v8.18.0","branchLabelMappingKey":"^v(\\d+).(\\d+).\\d+$","isSourceBranch":false,"state":"NOT_CREATED"},{"branch":"main","label":"v9.1.0","branchLabelMappingKey":"^v9.1.0$","isSourceBranch":true,"state":"MERGED","url":"https://github.com/elastic/kibana/pull/218095","number":218095,"mergeCommit":{"message":"[ObsUX][A11y]
Fix focus for popover in details flyout (#218095)\n\nCloses
https://github.com/elastic/kibana/issues/212633\n\n## Summary\n\nFixed
navigation by keeping focus on Popover opener element\n\n### How to
test\nObservability -> Infrastructure -> Infrastructure inventory
page.\n1. Navigate to any square below All button.\n2. Press Enter.\n3.
Navigate to infographic for Host IP.\n4. Press Enter.\n5. Press
Esc.\n\nExpected result: Navigation continues to next element when Tab
key is\npressed.\n\nBEFORE
\n\n\nb01e6955-b659-4d9a-abcf-1ece48adc161","sha":"26d9f5f7d0d24eaa8fdefc9a92747de4e3cc5a66"}},{"branch":"8.x","label":"v8.19.0","branchLabelMappingKey":"^v8.19.0$","isSourceBranch":false,"state":"NOT_CREATED"}]}]
BACKPORT-->

Co-authored-by: Miriam <31922082+MiriamAparicio@users.noreply.github.com>
2025-04-14 18:18:23 +02:00
Bailey Cash
a167c9e655
[8.x] Add SLO Definition Page (#215423) (#218120)
# Backport

This will backport the following commits from `main` to `8.x`:
- [Add SLO Definition Page
(#215423)](https://github.com/elastic/kibana/pull/215423)

<!--- Backport version: 9.6.6 -->

### Questions ?
Please refer to the [Backport tool
documentation](https://github.com/sorenlouv/backport)

<!--BACKPORT [{"author":{"name":"Bailey
Cash","email":"bailey.cash@elastic.co"},"sourceCommit":{"committedDate":"2025-03-26T12:23:55Z","message":"Add
SLO Definition Page
(#215423)","sha":"8aa9b82079a3e38548ac5919c623591beb057ac0","branchLabelMapping":{"^v9.1.0$":"main","^v8.19.0$":"8.x","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["release_note:skip","backport:skip","Team:obs-ux-management","v9.1.0"],"title":"Add
SLO Definition
Page","number":215423,"url":"https://github.com/elastic/kibana/pull/215423","mergeCommit":{"message":"Add
SLO Definition Page
(#215423)","sha":"8aa9b82079a3e38548ac5919c623591beb057ac0"}},"sourceBranch":"main","suggestedTargetBranches":[],"targetPullRequestStates":[{"branch":"main","label":"v9.1.0","branchLabelMappingKey":"^v9.1.0$","isSourceBranch":true,"state":"MERGED","url":"https://github.com/elastic/kibana/pull/215423","number":215423,"mergeCommit":{"message":"Add
SLO Definition Page
(#215423)","sha":"8aa9b82079a3e38548ac5919c623591beb057ac0"}}]}]
BACKPORT-->
2025-04-14 17:56:36 +02:00
Kibana Machine
313e10da03
[8.x] [Synthetics] Enable KQL filter for TLS rules (#216973) (#218101)
# Backport

This will backport the following commits from `main` to `8.x`:
- [[Synthetics] Enable KQL filter for TLS rules
(#216973)](https://github.com/elastic/kibana/pull/216973)

<!--- Backport version: 9.6.6 -->

### Questions ?
Please refer to the [Backport tool
documentation](https://github.com/sorenlouv/backport)

<!--BACKPORT [{"author":{"name":"Francesco
Fagnani","email":"fagnani.francesco@gmail.com"},"sourceCommit":{"committedDate":"2025-04-14T12:24:31Z","message":"[Synthetics]
Enable KQL filter for TLS rules (#216973)\n\nThis PR follows #215110 by
enabling the KQL filter for TLS alerting\nrules and closes
#214346.","sha":"89e385ec96591e4384bf70e268bbdc16fffe79b5","branchLabelMapping":{"^v9.1.0$":"main","^v8.19.0$":"8.x","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["release_note:feature","Team:obs-ux-management","backport:version","v9.1.0","v8.19.0"],"title":"[Synthetics]
Enable KQL filter for TLS
rules","number":216973,"url":"https://github.com/elastic/kibana/pull/216973","mergeCommit":{"message":"[Synthetics]
Enable KQL filter for TLS rules (#216973)\n\nThis PR follows #215110 by
enabling the KQL filter for TLS alerting\nrules and closes
#214346.","sha":"89e385ec96591e4384bf70e268bbdc16fffe79b5"}},"sourceBranch":"main","suggestedTargetBranches":["8.x"],"targetPullRequestStates":[{"branch":"main","label":"v9.1.0","branchLabelMappingKey":"^v9.1.0$","isSourceBranch":true,"state":"MERGED","url":"https://github.com/elastic/kibana/pull/216973","number":216973,"mergeCommit":{"message":"[Synthetics]
Enable KQL filter for TLS rules (#216973)\n\nThis PR follows #215110 by
enabling the KQL filter for TLS alerting\nrules and closes
#214346.","sha":"89e385ec96591e4384bf70e268bbdc16fffe79b5"}},{"branch":"8.x","label":"v8.19.0","branchLabelMappingKey":"^v8.19.0$","isSourceBranch":false,"state":"NOT_CREATED"}]}]
BACKPORT-->

Co-authored-by: Francesco Fagnani <fagnani.francesco@gmail.com>
2025-04-14 16:17:51 +02:00
Milosz Marcinkowski
22cb96803f
[8.x] [APM][UI] Sort environment dropdown alphabetically (#217710) (#217878)
# Backport

This will backport the following commits from `main` to `8.x`:
- [[APM][UI] Sort environment dropdown alphabetically
(#217710)](https://github.com/elastic/kibana/pull/217710)

<!--- Backport version: 9.6.6 -->

### Questions ?
Please refer to the [Backport tool
documentation](https://github.com/sorenlouv/backport)

<!--BACKPORT [{"author":{"name":"Milosz
Marcinkowski","email":"38698566+miloszmarcinkowski@users.noreply.github.com"},"sourceCommit":{"committedDate":"2025-04-10T15:38:20Z","message":"[APM][UI]
Sort environment dropdown alphabetically (#217710)\n\nCloses
#217814\n\n### Summary\n\nSort environment list
alphabetically.\n\n|Before|After|\n|-|-|\n|<img width=\"1724\"
alt=\"Screenshot 2025-04-10 at 12 01
15\"\nsrc=\"https://github.com/user-attachments/assets/53f0b66d-146a-45d9-b4e3-25bde350a263\"\n/>|<img
width=\"1722\" alt=\"Screenshot 2025-04-10 at 11 58
27\"\nsrc=\"https://github.com/user-attachments/assets/91315d23-801c-4a16-8688-c43d60c389c8\"\n/>|","sha":"23cbaa6d55de4e331ce180f6857db94ca11c209a","branchLabelMapping":{"^v9.1.0$":"main","^v8.19.0$":"8.x","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["release_note:skip","backport:prev-major","Team:obs-ux-infra_services","v9.1.0"],"title":"[APM][UI]
Sort environment dropdown
alphabetically","number":217710,"url":"https://github.com/elastic/kibana/pull/217710","mergeCommit":{"message":"[APM][UI]
Sort environment dropdown alphabetically (#217710)\n\nCloses
#217814\n\n### Summary\n\nSort environment list
alphabetically.\n\n|Before|After|\n|-|-|\n|<img width=\"1724\"
alt=\"Screenshot 2025-04-10 at 12 01
15\"\nsrc=\"https://github.com/user-attachments/assets/53f0b66d-146a-45d9-b4e3-25bde350a263\"\n/>|<img
width=\"1722\" alt=\"Screenshot 2025-04-10 at 11 58
27\"\nsrc=\"https://github.com/user-attachments/assets/91315d23-801c-4a16-8688-c43d60c389c8\"\n/>|","sha":"23cbaa6d55de4e331ce180f6857db94ca11c209a"}},"sourceBranch":"main","suggestedTargetBranches":[],"targetPullRequestStates":[{"branch":"main","label":"v9.1.0","branchLabelMappingKey":"^v9.1.0$","isSourceBranch":true,"state":"MERGED","url":"https://github.com/elastic/kibana/pull/217710","number":217710,"mergeCommit":{"message":"[APM][UI]
Sort environment dropdown alphabetically (#217710)\n\nCloses
#217814\n\n### Summary\n\nSort environment list
alphabetically.\n\n|Before|After|\n|-|-|\n|<img width=\"1724\"
alt=\"Screenshot 2025-04-10 at 12 01
15\"\nsrc=\"https://github.com/user-attachments/assets/53f0b66d-146a-45d9-b4e3-25bde350a263\"\n/>|<img
width=\"1722\" alt=\"Screenshot 2025-04-10 at 11 58
27\"\nsrc=\"https://github.com/user-attachments/assets/91315d23-801c-4a16-8688-c43d60c389c8\"\n/>|","sha":"23cbaa6d55de4e331ce180f6857db94ca11c209a"}}]}]
BACKPORT-->

---------

Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
2025-04-14 11:20:31 +02:00
Kibana Machine
6a4bc181b7
[8.x] 🌊 Streams: Add experimental badge to nav entry (#217819) (#217844)
# Backport

This will backport the following commits from `main` to `8.x`:
- [🌊 Streams: Add experimental badge to nav entry
(#217819)](https://github.com/elastic/kibana/pull/217819)

<!--- Backport version: 9.6.6 -->

### Questions ?
Please refer to the [Backport tool
documentation](https://github.com/sorenlouv/backport)

<!--BACKPORT [{"author":{"name":"Joe
Reuter","email":"johannes.reuter@elastic.co"},"sourceCommit":{"committedDate":"2025-04-10T13:10:53Z","message":"🌊
Streams: Add experimental badge to nav entry (#217819)\n\nThis PR adds
the experimental badge to the nav entry for streams
(if\nenabled)\n\n<img width=\"343\" alt=\"Screenshot 2025-04-10 at 12 47
22\"\nsrc=\"https://github.com/user-attachments/assets/765e0dd2-6ebd-4516-b024-ec207fcea43f\"\n/>\n\nWe
also render a tech preview badge in the classic observability
sub\nnav:\n<img width=\"224\" alt=\"Screenshot 2025-04-10 at 12 52
04\"\nsrc=\"https://github.com/user-attachments/assets/c51210c0-056e-4ead-97ee-891e3fb6851f\"\n/>\n\nImportant
to note: we don't render a badge in the classic main nav since\nit's not
supported there:\n<img width=\"257\" alt=\"Screenshot 2025-04-10 at 12
52
29\"\nsrc=\"https://github.com/user-attachments/assets/5a1fb3c8-88dd-49c9-bade-82965f367e46\"\n/>","sha":"de059eb5160b282bdc5e322b60250c77f7a8213c","branchLabelMapping":{"^v9.1.0$":"main","^v8.19.0$":"8.x","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["release_note:skip","ci:project-deploy-observability","Team:obs-ux-management","backport:version","Feature:Streams","v9.1.0","v8.19.0"],"title":"🌊
Streams: Add experimental badge to nav
entry","number":217819,"url":"https://github.com/elastic/kibana/pull/217819","mergeCommit":{"message":"🌊
Streams: Add experimental badge to nav entry (#217819)\n\nThis PR adds
the experimental badge to the nav entry for streams
(if\nenabled)\n\n<img width=\"343\" alt=\"Screenshot 2025-04-10 at 12 47
22\"\nsrc=\"https://github.com/user-attachments/assets/765e0dd2-6ebd-4516-b024-ec207fcea43f\"\n/>\n\nWe
also render a tech preview badge in the classic observability
sub\nnav:\n<img width=\"224\" alt=\"Screenshot 2025-04-10 at 12 52
04\"\nsrc=\"https://github.com/user-attachments/assets/c51210c0-056e-4ead-97ee-891e3fb6851f\"\n/>\n\nImportant
to note: we don't render a badge in the classic main nav since\nit's not
supported there:\n<img width=\"257\" alt=\"Screenshot 2025-04-10 at 12
52
29\"\nsrc=\"https://github.com/user-attachments/assets/5a1fb3c8-88dd-49c9-bade-82965f367e46\"\n/>","sha":"de059eb5160b282bdc5e322b60250c77f7a8213c"}},"sourceBranch":"main","suggestedTargetBranches":["8.x"],"targetPullRequestStates":[{"branch":"main","label":"v9.1.0","branchLabelMappingKey":"^v9.1.0$","isSourceBranch":true,"state":"MERGED","url":"https://github.com/elastic/kibana/pull/217819","number":217819,"mergeCommit":{"message":"🌊
Streams: Add experimental badge to nav entry (#217819)\n\nThis PR adds
the experimental badge to the nav entry for streams
(if\nenabled)\n\n<img width=\"343\" alt=\"Screenshot 2025-04-10 at 12 47
22\"\nsrc=\"https://github.com/user-attachments/assets/765e0dd2-6ebd-4516-b024-ec207fcea43f\"\n/>\n\nWe
also render a tech preview badge in the classic observability
sub\nnav:\n<img width=\"224\" alt=\"Screenshot 2025-04-10 at 12 52
04\"\nsrc=\"https://github.com/user-attachments/assets/c51210c0-056e-4ead-97ee-891e3fb6851f\"\n/>\n\nImportant
to note: we don't render a badge in the classic main nav since\nit's not
supported there:\n<img width=\"257\" alt=\"Screenshot 2025-04-10 at 12
52
29\"\nsrc=\"https://github.com/user-attachments/assets/5a1fb3c8-88dd-49c9-bade-82965f367e46\"\n/>","sha":"de059eb5160b282bdc5e322b60250c77f7a8213c"}},{"branch":"8.x","label":"v8.19.0","branchLabelMappingKey":"^v8.19.0$","isSourceBranch":false,"state":"NOT_CREATED"}]}]
BACKPORT-->

Co-authored-by: Joe Reuter <johannes.reuter@elastic.co>
2025-04-14 11:07:27 +02:00
Lisa Cawley
d882e4b0d8
[8.x] [DOCS] Add minimal synthetic APIs (#214518) (#217901)
# Backport

This will backport the following commits from `main` to `8.x`:
- [[DOCS] Add minimal synthetic APIs
(#214518)](https://github.com/elastic/kibana/pull/214518)

<!--- Backport version: 9.6.6 -->

### Questions ?
Please refer to the [Backport tool
documentation](https://github.com/sorenlouv/backport)

<!--BACKPORT [{"author":{"name":"Lisa
Cawley","email":"lcawley@elastic.co"},"sourceCommit":{"committedDate":"2025-04-10T17:26:49Z","message":"[DOCS]
Add minimal synthetic APIs (#214518)\n\nCo-authored-by: Colleen McGinnis
<colleen.j.mcginnis@gmail.com>","sha":"e00f013b62a42a2870be3b7a3e4cadab8ba191c4","branchLabelMapping":{"^v9.1.0$":"main","^v8.19.0$":"8.x","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["release_note:skip","docs","Team:obs-ux-management","backport:version","v9.1.0","v8.19.0","v8.18.1","v9.0.1"],"title":"[DOCS]
Add minimal synthetic
APIs","number":214518,"url":"https://github.com/elastic/kibana/pull/214518","mergeCommit":{"message":"[DOCS]
Add minimal synthetic APIs (#214518)\n\nCo-authored-by: Colleen McGinnis
<colleen.j.mcginnis@gmail.com>","sha":"e00f013b62a42a2870be3b7a3e4cadab8ba191c4"}},"sourceBranch":"main","suggestedTargetBranches":["8.x","8.18","9.0"],"targetPullRequestStates":[{"branch":"main","label":"v9.1.0","branchLabelMappingKey":"^v9.1.0$","isSourceBranch":true,"state":"MERGED","url":"https://github.com/elastic/kibana/pull/214518","number":214518,"mergeCommit":{"message":"[DOCS]
Add minimal synthetic APIs (#214518)\n\nCo-authored-by: Colleen McGinnis
<colleen.j.mcginnis@gmail.com>","sha":"e00f013b62a42a2870be3b7a3e4cadab8ba191c4"}},{"branch":"8.x","label":"v8.19.0","branchLabelMappingKey":"^v8.19.0$","isSourceBranch":false,"state":"NOT_CREATED"},{"branch":"8.18","label":"v8.18.1","branchLabelMappingKey":"^v(\\d+).(\\d+).\\d+$","isSourceBranch":false,"state":"NOT_CREATED"},{"branch":"9.0","label":"v9.0.1","branchLabelMappingKey":"^v(\\d+).(\\d+).\\d+$","isSourceBranch":false,"state":"NOT_CREATED"}]}]
BACKPORT-->

---------

Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
2025-04-11 10:53:09 -04:00
Mykola Harmash
42229a334a
[8.x] [Onboarding] Hide card labels in search results (#213417) (#217961)
# Backport

This will backport the following commits from `main` to `8.x`:
- [[Onboarding] Hide card labels in search results
(#213417)](https://github.com/elastic/kibana/pull/213417)

<!--- Backport version: 9.6.6 -->

### Questions ?
Please refer to the [Backport tool
documentation](https://github.com/sorenlouv/backport)

<!--BACKPORT [{"author":{"name":"Mykola
Harmash","email":"mykola.harmash@gmail.com"},"sourceCommit":{"committedDate":"2025-03-07T14:40:39Z","message":"[Onboarding]
Hide card labels in search results (#213417)\n\nCloses
https://github.com/elastic/kibana/issues/200917\n\nLooking at the code
in Fleet search results screen, cards would also\nhave the `Unverified`
badges.
([this\ncheck](https://github.com/elastic/kibana/blob/main/x-pack/platform/plugins/shared/fleet/public/applications/integrations/sections/epm/screens/home/card_utils.tsx#L101)\nwould
return `true` because this specific page doesn't
provides\n`packageVerificationKeyId` to the `isPackageUnverified()`
function, this\nonly happens on the individual integration details page.
Fleet search\njust [hides
the\nbadges](https://github.com/elastic/kibana/blob/main/x-pack/platform/plugins/shared/fleet/public/applications/integrations/sections/epm/screens/home/available_packages.tsx#L188)\nfor
cards in search results.\n\nThis change aligns Onboarding search results
with Fleet search results\nand hides the card labels which fixes the
issue with `Unverified` badge\nappearing for installed
integrations.\n\n| Before | After |\n| --- | ---
|\n|\n![388110694-bd6abaf4-15ac-4d56-b556-fddb11c85ba7](https://github.com/user-attachments/assets/751a6572-192c-45f6-bfa8-82433b73398d)\n|
![CleanShot 2025-03-07 at 14
35\n53@2x](https://github.com/user-attachments/assets/d1588d7d-eec8-4207-a1e6-9a53272bbddf)\n|","sha":"33f71ae678e833b4c91325e40f47d819e1edb08d","branchLabelMapping":{"^v9.1.0$":"main","^v8.19.0$":"8.x","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["release_note:skip","backport:skip","ci:project-deploy-observability","Feature:
Observability Onboarding","v9.1.0"],"title":"[Onboarding] Hide card
labels in search
results","number":213417,"url":"https://github.com/elastic/kibana/pull/213417","mergeCommit":{"message":"[Onboarding]
Hide card labels in search results (#213417)\n\nCloses
https://github.com/elastic/kibana/issues/200917\n\nLooking at the code
in Fleet search results screen, cards would also\nhave the `Unverified`
badges.
([this\ncheck](https://github.com/elastic/kibana/blob/main/x-pack/platform/plugins/shared/fleet/public/applications/integrations/sections/epm/screens/home/card_utils.tsx#L101)\nwould
return `true` because this specific page doesn't
provides\n`packageVerificationKeyId` to the `isPackageUnverified()`
function, this\nonly happens on the individual integration details page.
Fleet search\njust [hides
the\nbadges](https://github.com/elastic/kibana/blob/main/x-pack/platform/plugins/shared/fleet/public/applications/integrations/sections/epm/screens/home/available_packages.tsx#L188)\nfor
cards in search results.\n\nThis change aligns Onboarding search results
with Fleet search results\nand hides the card labels which fixes the
issue with `Unverified` badge\nappearing for installed
integrations.\n\n| Before | After |\n| --- | ---
|\n|\n![388110694-bd6abaf4-15ac-4d56-b556-fddb11c85ba7](https://github.com/user-attachments/assets/751a6572-192c-45f6-bfa8-82433b73398d)\n|
![CleanShot 2025-03-07 at 14
35\n53@2x](https://github.com/user-attachments/assets/d1588d7d-eec8-4207-a1e6-9a53272bbddf)\n|","sha":"33f71ae678e833b4c91325e40f47d819e1edb08d"}},"sourceBranch":"main","suggestedTargetBranches":[],"targetPullRequestStates":[{"branch":"main","label":"v9.1.0","branchLabelMappingKey":"^v9.1.0$","isSourceBranch":true,"state":"MERGED","url":"https://github.com/elastic/kibana/pull/213417","number":213417,"mergeCommit":{"message":"[Onboarding]
Hide card labels in search results (#213417)\n\nCloses
https://github.com/elastic/kibana/issues/200917\n\nLooking at the code
in Fleet search results screen, cards would also\nhave the `Unverified`
badges.
([this\ncheck](https://github.com/elastic/kibana/blob/main/x-pack/platform/plugins/shared/fleet/public/applications/integrations/sections/epm/screens/home/card_utils.tsx#L101)\nwould
return `true` because this specific page doesn't
provides\n`packageVerificationKeyId` to the `isPackageUnverified()`
function, this\nonly happens on the individual integration details page.
Fleet search\njust [hides
the\nbadges](https://github.com/elastic/kibana/blob/main/x-pack/platform/plugins/shared/fleet/public/applications/integrations/sections/epm/screens/home/available_packages.tsx#L188)\nfor
cards in search results.\n\nThis change aligns Onboarding search results
with Fleet search results\nand hides the card labels which fixes the
issue with `Unverified` badge\nappearing for installed
integrations.\n\n| Before | After |\n| --- | ---
|\n|\n![388110694-bd6abaf4-15ac-4d56-b556-fddb11c85ba7](https://github.com/user-attachments/assets/751a6572-192c-45f6-bfa8-82433b73398d)\n|
![CleanShot 2025-03-07 at 14
35\n53@2x](https://github.com/user-attachments/assets/d1588d7d-eec8-4207-a1e6-9a53272bbddf)\n|","sha":"33f71ae678e833b4c91325e40f47d819e1edb08d"}},{"url":"https://github.com/elastic/kibana/pull/213579","number":213579,"branch":"9.0","state":"MERGED","mergeCommit":{"sha":"ff5042eb811c5eb1eb6bccc797feec06f52e1e32","message":"[9.0]
[Onboarding] Hide card labels in search results (#213417) (#213579)\n\n#
Backport\n\nThis will backport the following commits from `main` to
`9.0`:\n- [[Onboarding] Hide card labels in search
results\n(#213417)](https://github.com/elastic/kibana/pull/213417)\n\n\n\n###
Questions ?\nPlease refer to the [Backport
tool\ndocumentation](https://github.com/sorenlouv/backport)\n\n\n\nCo-authored-by:
Mykola Harmash
<mykola.harmash@gmail.com>"}},{"url":"https://github.com/elastic/kibana/pull/216666","number":216666,"branch":"8.18","state":"MERGED","mergeCommit":{"sha":"ca96f071c305f6b66f15bc8cb0ce17e49cf94b9e","message":"[8.18]
[Onboarding] Hide card labels in search results (#213417) (#216666)\n\n#
Backport\n\nThis will backport the following commits from `main` to
`8.18`:\n- [[Onboarding] Hide card labels in search
results\n(#213417)](https://github.com/elastic/kibana/pull/213417)\n\n\n\n###
Questions ?\nPlease refer to the [Backport
tool\ndocumentation](https://github.com/sorenlouv/backport)\n\n\n\n---------\n\nCo-authored-by:
Mykola Harmash
<mykola.harmash@gmail.com>"}},{"url":"https://github.com/elastic/kibana/pull/216689","number":216689,"branch":"8.17","state":"OPEN"}]}]
BACKPORT-->
2025-04-11 14:36:55 +02:00
Sergi Romeu
53a6091a05
[8.x] [APM][Cypress] Attempt to fix mobile transactions test (#217648) (#217953)
# Backport

This will backport the following commits from `main` to `8.x`:
- [[APM][Cypress] Attempt to fix mobile transactions test
(#217648)](https://github.com/elastic/kibana/pull/217648)

<!--- Backport version: 9.6.6 -->

### Questions ?
Please refer to the [Backport tool
documentation](https://github.com/sorenlouv/backport)

<!--BACKPORT [{"author":{"name":"Sergi
Romeu","email":"sergi.romeu@elastic.co"},"sourceCommit":{"committedDate":"2025-04-11T08:28:49Z","message":"[APM][Cypress]
Attempt to fix mobile transactions test (#217648)\n\n##
Summary\n\nCloses
#207040","sha":"429a9db67d361b25f191a67c16775354a0c2d631","branchLabelMapping":{"^v9.1.0$":"main","^v8.19.0$":"8.x","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["release_note:skip","apm:mobile","backport:all-open","Team:obs-ux-infra_services","v9.1.0"],"title":"[APM][Cypress]
Attempt to fix mobile transactions
test","number":217648,"url":"https://github.com/elastic/kibana/pull/217648","mergeCommit":{"message":"[APM][Cypress]
Attempt to fix mobile transactions test (#217648)\n\n##
Summary\n\nCloses
#207040","sha":"429a9db67d361b25f191a67c16775354a0c2d631"}},"sourceBranch":"main","suggestedTargetBranches":[],"targetPullRequestStates":[{"branch":"main","label":"v9.1.0","branchLabelMappingKey":"^v9.1.0$","isSourceBranch":true,"state":"MERGED","url":"https://github.com/elastic/kibana/pull/217648","number":217648,"mergeCommit":{"message":"[APM][Cypress]
Attempt to fix mobile transactions test (#217648)\n\n##
Summary\n\nCloses
#207040","sha":"429a9db67d361b25f191a67c16775354a0c2d631"}}]}]
BACKPORT-->
2025-04-11 13:03:02 +02:00
Kibana Machine
9a829ab044
[8.x] [Search][Query Rules] Rule sets filtering search (#217477) (#217921)
# Backport

This will backport the following commits from `main` to `8.x`:
- [[Search][Query Rules] Rule sets filtering search
(#217477)](https://github.com/elastic/kibana/pull/217477)

<!--- Backport version: 9.6.6 -->

### Questions ?
Please refer to the [Backport tool
documentation](https://github.com/sorenlouv/backport)

<!--BACKPORT [{"author":{"name":"José Luis
González","email":"joseluisgj@gmail.com"},"sourceCommit":{"committedDate":"2025-04-10T22:09:00Z","message":"[Search][Query
Rules] Rule sets filtering search (#217477)\n\n## Summary\n\nSearch
filtering over the query rulesets table:\n\n![CleanShot 2025-04-09 at 10
25\n00@2x](https://github.com/user-attachments/assets/78be7842-f892-454d-a01e-50dee27bdf18)\n\n[Jira
ticket](https://elasticco.atlassian.net/browse/SEARCH-928)\n\n\n###
Checklist\n\nCheck the PR satisfies following conditions. \n\nReviewers
should verify this PR satisfies this list as well.\n\n- [x] Any text
added follows [EUI's
writing\nguidelines](https://elastic.github.io/eui/#/guidelines/writing),
uses\nsentence case text and includes
[i18n\nsupport](https://github.com/elastic/kibana/blob/main/src/platform/packages/shared/kbn-i18n/README.md)\n-
[
]\n[Documentation](https://www.elastic.co/guide/en/kibana/master/development-documentation.html)\nwas
added for features that require explanation or tutorials\n- [x] [Unit or
functional\ntests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)\nwere
updated or added to match the most common scenarios\n- [ ] If a plugin
configuration key changed, check if it needs to be\nallowlisted in the
cloud and added to the
[docker\nlist](https://github.com/elastic/kibana/blob/main/src/dev/build/tasks/os_packages/docker_generator/resources/base/bin/kibana-docker)\n-
[ ] This was checked for breaking HTTP API changes, and any
breaking\nchanges have been approved by the breaking-change committee.
The\n`release_note:breaking` label should be applied in these
situations.\n- [ ] [Flaky
Test\nRunner](https://ci-stats.kibana.dev/trigger_flaky_test_runner/1)
was\nused on any tests changed\n- [ ] The PR description includes the
appropriate Release Notes section,\nand the correct `release_note:*`
label is applied per
the\n[guidelines](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process)\n\n###
Identify risks\n\nDoes this PR introduce any risks? For example,
consider risks like hard\nto test bugs, performance regression,
potential of data loss.\n\nDescribe the risk, its severity, and
mitigation for each identified\nrisk. Invite stakeholders and evaluate
how to proceed before merging.\n\n- [ ] [See some
risk\nexamples](https://github.com/elastic/kibana/blob/main/RISK_MATRIX.mdx)\n-
[ ] ...\n\n---------\n\nCo-authored-by: Elastic Machine
<elasticmachine@users.noreply.github.com>","sha":"3485e523408b6f804c6595a332bd16cb653459c2","branchLabelMapping":{"^v9.1.0$":"main","^v8.19.0$":"8.x","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["release_note:skip","Team:Search","backport:version","v9.1.0","v8.19.0"],"title":"[Search][Query
Rules] Rule sets filtering
search","number":217477,"url":"https://github.com/elastic/kibana/pull/217477","mergeCommit":{"message":"[Search][Query
Rules] Rule sets filtering search (#217477)\n\n## Summary\n\nSearch
filtering over the query rulesets table:\n\n![CleanShot 2025-04-09 at 10
25\n00@2x](https://github.com/user-attachments/assets/78be7842-f892-454d-a01e-50dee27bdf18)\n\n[Jira
ticket](https://elasticco.atlassian.net/browse/SEARCH-928)\n\n\n###
Checklist\n\nCheck the PR satisfies following conditions. \n\nReviewers
should verify this PR satisfies this list as well.\n\n- [x] Any text
added follows [EUI's
writing\nguidelines](https://elastic.github.io/eui/#/guidelines/writing),
uses\nsentence case text and includes
[i18n\nsupport](https://github.com/elastic/kibana/blob/main/src/platform/packages/shared/kbn-i18n/README.md)\n-
[
]\n[Documentation](https://www.elastic.co/guide/en/kibana/master/development-documentation.html)\nwas
added for features that require explanation or tutorials\n- [x] [Unit or
functional\ntests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)\nwere
updated or added to match the most common scenarios\n- [ ] If a plugin
configuration key changed, check if it needs to be\nallowlisted in the
cloud and added to the
[docker\nlist](https://github.com/elastic/kibana/blob/main/src/dev/build/tasks/os_packages/docker_generator/resources/base/bin/kibana-docker)\n-
[ ] This was checked for breaking HTTP API changes, and any
breaking\nchanges have been approved by the breaking-change committee.
The\n`release_note:breaking` label should be applied in these
situations.\n- [ ] [Flaky
Test\nRunner](https://ci-stats.kibana.dev/trigger_flaky_test_runner/1)
was\nused on any tests changed\n- [ ] The PR description includes the
appropriate Release Notes section,\nand the correct `release_note:*`
label is applied per
the\n[guidelines](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process)\n\n###
Identify risks\n\nDoes this PR introduce any risks? For example,
consider risks like hard\nto test bugs, performance regression,
potential of data loss.\n\nDescribe the risk, its severity, and
mitigation for each identified\nrisk. Invite stakeholders and evaluate
how to proceed before merging.\n\n- [ ] [See some
risk\nexamples](https://github.com/elastic/kibana/blob/main/RISK_MATRIX.mdx)\n-
[ ] ...\n\n---------\n\nCo-authored-by: Elastic Machine
<elasticmachine@users.noreply.github.com>","sha":"3485e523408b6f804c6595a332bd16cb653459c2"}},"sourceBranch":"main","suggestedTargetBranches":["8.x"],"targetPullRequestStates":[{"branch":"main","label":"v9.1.0","branchLabelMappingKey":"^v9.1.0$","isSourceBranch":true,"state":"MERGED","url":"https://github.com/elastic/kibana/pull/217477","number":217477,"mergeCommit":{"message":"[Search][Query
Rules] Rule sets filtering search (#217477)\n\n## Summary\n\nSearch
filtering over the query rulesets table:\n\n![CleanShot 2025-04-09 at 10
25\n00@2x](https://github.com/user-attachments/assets/78be7842-f892-454d-a01e-50dee27bdf18)\n\n[Jira
ticket](https://elasticco.atlassian.net/browse/SEARCH-928)\n\n\n###
Checklist\n\nCheck the PR satisfies following conditions. \n\nReviewers
should verify this PR satisfies this list as well.\n\n- [x] Any text
added follows [EUI's
writing\nguidelines](https://elastic.github.io/eui/#/guidelines/writing),
uses\nsentence case text and includes
[i18n\nsupport](https://github.com/elastic/kibana/blob/main/src/platform/packages/shared/kbn-i18n/README.md)\n-
[
]\n[Documentation](https://www.elastic.co/guide/en/kibana/master/development-documentation.html)\nwas
added for features that require explanation or tutorials\n- [x] [Unit or
functional\ntests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)\nwere
updated or added to match the most common scenarios\n- [ ] If a plugin
configuration key changed, check if it needs to be\nallowlisted in the
cloud and added to the
[docker\nlist](https://github.com/elastic/kibana/blob/main/src/dev/build/tasks/os_packages/docker_generator/resources/base/bin/kibana-docker)\n-
[ ] This was checked for breaking HTTP API changes, and any
breaking\nchanges have been approved by the breaking-change committee.
The\n`release_note:breaking` label should be applied in these
situations.\n- [ ] [Flaky
Test\nRunner](https://ci-stats.kibana.dev/trigger_flaky_test_runner/1)
was\nused on any tests changed\n- [ ] The PR description includes the
appropriate Release Notes section,\nand the correct `release_note:*`
label is applied per
the\n[guidelines](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process)\n\n###
Identify risks\n\nDoes this PR introduce any risks? For example,
consider risks like hard\nto test bugs, performance regression,
potential of data loss.\n\nDescribe the risk, its severity, and
mitigation for each identified\nrisk. Invite stakeholders and evaluate
how to proceed before merging.\n\n- [ ] [See some
risk\nexamples](https://github.com/elastic/kibana/blob/main/RISK_MATRIX.mdx)\n-
[ ] ...\n\n---------\n\nCo-authored-by: Elastic Machine
<elasticmachine@users.noreply.github.com>","sha":"3485e523408b6f804c6595a332bd16cb653459c2"}},{"branch":"8.x","label":"v8.19.0","branchLabelMappingKey":"^v8.19.0$","isSourceBranch":false,"state":"NOT_CREATED"}]}]
BACKPORT-->

Co-authored-by: José Luis González <joseluisgj@gmail.com>
2025-04-11 01:56:25 +02:00
Tiago Costa
0b19aa0272
skip flaky suite (#214977) 2025-04-10 21:34:22 +01:00
Alex Szabo
206ae40e23
skip failing suite (#216474) 2025-04-10 21:13:39 +01:00
Kevin Delemme
4396d3a2ce
[8.x] fix(slo): search bar filters (#217702) (#217868)
# Backport

This will backport the following commits from `main` to `8.x`:
- [fix(slo): search bar filters
(#217702)](https://github.com/elastic/kibana/pull/217702)

<!--- Backport version: 9.6.6 -->

### Questions ?
Please refer to the [Backport tool
documentation](https://github.com/sorenlouv/backport)

<!--BACKPORT [{"author":{"name":"Kevin
Delemme","email":"kevin.delemme@elastic.co"},"sourceCommit":{"committedDate":"2025-04-09T16:49:54Z","message":"fix(slo):
search bar filters
(#217702)","sha":"b6de659199f15998234af851f63589b49f2e4827","branchLabelMapping":{"^v9.1.0$":"main","^v8.19.0$":"8.x","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["release_note:skip","Team:obs-ux-management","backport:version","v9.1.0","v8.19.0","v8.18.1","v9.0.1","v8.17.5"],"title":"fix(slo):
search bar
filters","number":217702,"url":"https://github.com/elastic/kibana/pull/217702","mergeCommit":{"message":"fix(slo):
search bar filters
(#217702)","sha":"b6de659199f15998234af851f63589b49f2e4827"}},"sourceBranch":"main","suggestedTargetBranches":["8.x","8.18","9.0","8.17"],"targetPullRequestStates":[{"branch":"main","label":"v9.1.0","branchLabelMappingKey":"^v9.1.0$","isSourceBranch":true,"state":"MERGED","url":"https://github.com/elastic/kibana/pull/217702","number":217702,"mergeCommit":{"message":"fix(slo):
search bar filters
(#217702)","sha":"b6de659199f15998234af851f63589b49f2e4827"}},{"branch":"8.x","label":"v8.19.0","branchLabelMappingKey":"^v8.19.0$","isSourceBranch":false,"state":"NOT_CREATED"},{"branch":"8.18","label":"v8.18.1","branchLabelMappingKey":"^v(\\d+).(\\d+).\\d+$","isSourceBranch":false,"state":"NOT_CREATED"},{"branch":"9.0","label":"v9.0.1","branchLabelMappingKey":"^v(\\d+).(\\d+).\\d+$","isSourceBranch":false,"state":"NOT_CREATED"},{"branch":"8.17","label":"v8.17.5","branchLabelMappingKey":"^v(\\d+).(\\d+).\\d+$","isSourceBranch":false,"state":"NOT_CREATED"}]}]
BACKPORT-->
2025-04-10 13:29:02 -04:00
Kibana Machine
95b42a29e7
[8.x] [Obs AI Assistant] Fix navigating to the search connectors page (#217749) (#217862)
# Backport

This will backport the following commits from `main` to `8.x`:
- [[Obs AI Assistant] Fix navigating to the search connectors page
(#217749)](https://github.com/elastic/kibana/pull/217749)

<!--- Backport version: 9.6.6 -->

### Questions ?
Please refer to the [Backport tool
documentation](https://github.com/sorenlouv/backport)

<!--BACKPORT [{"author":{"name":"Viduni
Wickramarachchi","email":"viduni.wickramarachchi@elastic.co"},"sourceCommit":{"committedDate":"2025-04-10T14:27:54Z","message":"[Obs
AI Assistant] Fix navigating to the search connectors page
(#217749)\n\nCloses
https://github.com/elastic/kibana/issues/217748\n\n## Summary\n\n###
Problem\n\nClicking on connectors in the Search connectors tab in the AI
Assistant\nsettings navigates the user to a blank
page.\n\n\nhttps://github.com/user-attachments/assets/e369e539-cf75-4ea4-8cd0-343dbfbf9a33\n\nThis
happens because `enterprise_search` URLs are deprecated and
it's\nrenamed to `elasticsearch`.\nRelated to
https://github.com/elastic/kibana/pull/202838\n\nList of changed URLs
-\nhttps://github.com/elastic/search-team/issues/7961#issuecomment-2433029797\n\n###
Solution\n\nReplace the URL path from `enterpriseSearch` to
`elasticsearch`\n\nAfter the
fix:\n\n\nhttps://github.com/user-attachments/assets/5ebad872-9a87-46b0-ad2f-83a8ff6e017e\n\n\n###
Checklist\n\n- [x] The PR description includes the appropriate Release
Notes section,\nand the correct `release_note:*` label is applied per
the\n[guidelines](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process)","sha":"368d4bf5c53e7b4c64ac1e768eec72c82a004ed1","branchLabelMapping":{"^v9.1.0$":"main","^v8.19.0$":"8.x","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["release_note:fix","v9.0.0","Team:Obs
AI
Assistant","backport:version","v8.18.0","v9.1.0","v8.19.0","v8.18.1"],"title":"[Obs
AI Assistant] Fix navigating to the search connectors
page","number":217749,"url":"https://github.com/elastic/kibana/pull/217749","mergeCommit":{"message":"[Obs
AI Assistant] Fix navigating to the search connectors page
(#217749)\n\nCloses
https://github.com/elastic/kibana/issues/217748\n\n## Summary\n\n###
Problem\n\nClicking on connectors in the Search connectors tab in the AI
Assistant\nsettings navigates the user to a blank
page.\n\n\nhttps://github.com/user-attachments/assets/e369e539-cf75-4ea4-8cd0-343dbfbf9a33\n\nThis
happens because `enterprise_search` URLs are deprecated and
it's\nrenamed to `elasticsearch`.\nRelated to
https://github.com/elastic/kibana/pull/202838\n\nList of changed URLs
-\nhttps://github.com/elastic/search-team/issues/7961#issuecomment-2433029797\n\n###
Solution\n\nReplace the URL path from `enterpriseSearch` to
`elasticsearch`\n\nAfter the
fix:\n\n\nhttps://github.com/user-attachments/assets/5ebad872-9a87-46b0-ad2f-83a8ff6e017e\n\n\n###
Checklist\n\n- [x] The PR description includes the appropriate Release
Notes section,\nand the correct `release_note:*` label is applied per
the\n[guidelines](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process)","sha":"368d4bf5c53e7b4c64ac1e768eec72c82a004ed1"}},"sourceBranch":"main","suggestedTargetBranches":["9.0","8.18","8.x"],"targetPullRequestStates":[{"branch":"9.0","label":"v9.0.0","branchLabelMappingKey":"^v(\\d+).(\\d+).\\d+$","isSourceBranch":false,"state":"NOT_CREATED"},{"branch":"8.18","label":"v8.18.0","branchLabelMappingKey":"^v(\\d+).(\\d+).\\d+$","isSourceBranch":false,"state":"NOT_CREATED"},{"branch":"main","label":"v9.1.0","branchLabelMappingKey":"^v9.1.0$","isSourceBranch":true,"state":"MERGED","url":"https://github.com/elastic/kibana/pull/217749","number":217749,"mergeCommit":{"message":"[Obs
AI Assistant] Fix navigating to the search connectors page
(#217749)\n\nCloses
https://github.com/elastic/kibana/issues/217748\n\n## Summary\n\n###
Problem\n\nClicking on connectors in the Search connectors tab in the AI
Assistant\nsettings navigates the user to a blank
page.\n\n\nhttps://github.com/user-attachments/assets/e369e539-cf75-4ea4-8cd0-343dbfbf9a33\n\nThis
happens because `enterprise_search` URLs are deprecated and
it's\nrenamed to `elasticsearch`.\nRelated to
https://github.com/elastic/kibana/pull/202838\n\nList of changed URLs
-\nhttps://github.com/elastic/search-team/issues/7961#issuecomment-2433029797\n\n###
Solution\n\nReplace the URL path from `enterpriseSearch` to
`elasticsearch`\n\nAfter the
fix:\n\n\nhttps://github.com/user-attachments/assets/5ebad872-9a87-46b0-ad2f-83a8ff6e017e\n\n\n###
Checklist\n\n- [x] The PR description includes the appropriate Release
Notes section,\nand the correct `release_note:*` label is applied per
the\n[guidelines](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process)","sha":"368d4bf5c53e7b4c64ac1e768eec72c82a004ed1"}},{"branch":"8.x","label":"v8.19.0","branchLabelMappingKey":"^v8.19.0$","isSourceBranch":false,"state":"NOT_CREATED"}]}]
BACKPORT-->

Co-authored-by: Viduni Wickramarachchi <viduni.wickramarachchi@elastic.co>
2025-04-10 18:23:35 +02:00
Janki Salvi
1575ad3e88
[8.x] [ResponseOps][Alerts] Remove fieldsForAad attribute from rule type registry (#215767) (#217649)
# Backport

This will backport the following commits from `main` to `8.x`:
- [[ResponseOps][Alerts] Remove fieldsForAad attribute from rule type
registry (#215767)](https://github.com/elastic/kibana/pull/215767)

<!--- Backport version: 9.6.6 -->

### Questions ?
Please refer to the [Backport tool
documentation](https://github.com/sorenlouv/backport)

<!--BACKPORT [{"author":{"name":"Janki
Salvi","email":"117571355+js-jankisalvi@users.noreply.github.com"},"sourceCommit":{"committedDate":"2025-04-09T10:05:05Z","message":"[ResponseOps][Alerts]
Remove fieldsForAad attribute from rule type registry (#215767)\n\n##
Summary\n\nImplements
https://github.com/elastic/kibana/issues/215338\n\nThis PR removes
`fieldsForAAD ` and `hasFieldsForAAD ` from the rule\ntype registry and
all corresponding rule types.\nIt uses existing
`getBrowserFieldsByFeatureId ` route to fetch
fields\nfrom\n[field_caps](https://www.elastic.co/guide/en/elasticsearch/reference/8.17/search-field-caps.html)\nAPI.\n\nIt
also updates `getBrowserFieldsByFeatureId` route \n- to use
`include_empty_fields: false` query param to fetch only non\nempty
fields to have limited number of fields\n- to use `index filter` to
fetch fields only from last 90 days for\nbetter performance\n ```\n
const indexFilter = {\n range: {\n '@timestamp': {\n gte: 'now-90d',\n
},\n },\n };\n ``` \n\n\n### Checklist\n\nCheck the PR satisfies
following conditions. \n\nReviewers should verify this PR satisfies this
list as well.\n\n-
[x]\n[Documentation](https://www.elastic.co/guide/en/kibana/master/development-documentation.html)\nwas
added for features that require explanation or tutorials\n- [x] [Unit or
functional\ntests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)\nwere
updated or added to match the most common scenarios\n\n### Flaky Test
runner:
\nhttps://buildkite.com/elastic/kibana-flaky-test-suite-runner/builds/8151\n\n---------\n\nCo-authored-by:
kibanamachine
<42973632+kibanamachine@users.noreply.github.com>","sha":"adbc6d9a380ad2520cde56a9599163b66a62cdba","branchLabelMapping":{"^v9.1.0$":"main","^v8.19.0$":"8.x","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["release_note:skip","Team:ResponseOps","Feature:Alerting/RulesFramework","ci:cloud-deploy","ci:project-deploy-observability","Team:obs-ux-management","backport:version","v9.1.0","v8.19.0"],"title":"[ResponseOps][Alerts]
Remove fieldsForAad attribute from rule type
registry","number":215767,"url":"https://github.com/elastic/kibana/pull/215767","mergeCommit":{"message":"[ResponseOps][Alerts]
Remove fieldsForAad attribute from rule type registry (#215767)\n\n##
Summary\n\nImplements
https://github.com/elastic/kibana/issues/215338\n\nThis PR removes
`fieldsForAAD ` and `hasFieldsForAAD ` from the rule\ntype registry and
all corresponding rule types.\nIt uses existing
`getBrowserFieldsByFeatureId ` route to fetch
fields\nfrom\n[field_caps](https://www.elastic.co/guide/en/elasticsearch/reference/8.17/search-field-caps.html)\nAPI.\n\nIt
also updates `getBrowserFieldsByFeatureId` route \n- to use
`include_empty_fields: false` query param to fetch only non\nempty
fields to have limited number of fields\n- to use `index filter` to
fetch fields only from last 90 days for\nbetter performance\n ```\n
const indexFilter = {\n range: {\n '@timestamp': {\n gte: 'now-90d',\n
},\n },\n };\n ``` \n\n\n### Checklist\n\nCheck the PR satisfies
following conditions. \n\nReviewers should verify this PR satisfies this
list as well.\n\n-
[x]\n[Documentation](https://www.elastic.co/guide/en/kibana/master/development-documentation.html)\nwas
added for features that require explanation or tutorials\n- [x] [Unit or
functional\ntests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)\nwere
updated or added to match the most common scenarios\n\n### Flaky Test
runner:
\nhttps://buildkite.com/elastic/kibana-flaky-test-suite-runner/builds/8151\n\n---------\n\nCo-authored-by:
kibanamachine
<42973632+kibanamachine@users.noreply.github.com>","sha":"adbc6d9a380ad2520cde56a9599163b66a62cdba"}},"sourceBranch":"main","suggestedTargetBranches":["8.x"],"targetPullRequestStates":[{"branch":"main","label":"v9.1.0","branchLabelMappingKey":"^v9.1.0$","isSourceBranch":true,"state":"MERGED","url":"https://github.com/elastic/kibana/pull/215767","number":215767,"mergeCommit":{"message":"[ResponseOps][Alerts]
Remove fieldsForAad attribute from rule type registry (#215767)\n\n##
Summary\n\nImplements
https://github.com/elastic/kibana/issues/215338\n\nThis PR removes
`fieldsForAAD ` and `hasFieldsForAAD ` from the rule\ntype registry and
all corresponding rule types.\nIt uses existing
`getBrowserFieldsByFeatureId ` route to fetch
fields\nfrom\n[field_caps](https://www.elastic.co/guide/en/elasticsearch/reference/8.17/search-field-caps.html)\nAPI.\n\nIt
also updates `getBrowserFieldsByFeatureId` route \n- to use
`include_empty_fields: false` query param to fetch only non\nempty
fields to have limited number of fields\n- to use `index filter` to
fetch fields only from last 90 days for\nbetter performance\n ```\n
const indexFilter = {\n range: {\n '@timestamp': {\n gte: 'now-90d',\n
},\n },\n };\n ``` \n\n\n### Checklist\n\nCheck the PR satisfies
following conditions. \n\nReviewers should verify this PR satisfies this
list as well.\n\n-
[x]\n[Documentation](https://www.elastic.co/guide/en/kibana/master/development-documentation.html)\nwas
added for features that require explanation or tutorials\n- [x] [Unit or
functional\ntests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)\nwere
updated or added to match the most common scenarios\n\n### Flaky Test
runner:
\nhttps://buildkite.com/elastic/kibana-flaky-test-suite-runner/builds/8151\n\n---------\n\nCo-authored-by:
kibanamachine
<42973632+kibanamachine@users.noreply.github.com>","sha":"adbc6d9a380ad2520cde56a9599163b66a62cdba"}},{"branch":"8.x","label":"v8.19.0","branchLabelMappingKey":"^v8.19.0$","isSourceBranch":false,"state":"NOT_CREATED"}]}]
BACKPORT-->
2025-04-10 17:58:48 +02:00
Kevin Delemme
20253bf31e
[8.x] chore(slo): optimize resources management (#217268) (#217823)
# Backport

This will backport the following commits from `main` to `8.x`:
- [chore(slo): optimize resources management
(#217268)](https://github.com/elastic/kibana/pull/217268)

<!--- Backport version: 9.6.6 -->

### Questions ?
Please refer to the [Backport tool
documentation](https://github.com/sorenlouv/backport)

<!--BACKPORT [{"author":{"name":"Kevin
Delemme","email":"kevin.delemme@elastic.co"},"sourceCommit":{"committedDate":"2025-04-07T15:22:54Z","message":"chore(slo):
optimize resources management
(#217268)","sha":"fcae30a80961ea11de52270c56baf7a9f76eb336","branchLabelMapping":{"^v9.1.0$":"main","^v8.19.0$":"8.x","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["release_note:skip","backport:skip","Team:obs-ux-management","v9.1.0","v8.19.0"],"title":"chore(slo):
optimize resources
management","number":217268,"url":"https://github.com/elastic/kibana/pull/217268","mergeCommit":{"message":"chore(slo):
optimize resources management
(#217268)","sha":"fcae30a80961ea11de52270c56baf7a9f76eb336"}},"sourceBranch":"main","suggestedTargetBranches":["8.x"],"targetPullRequestStates":[{"branch":"main","label":"v9.1.0","branchLabelMappingKey":"^v9.1.0$","isSourceBranch":true,"state":"MERGED","url":"https://github.com/elastic/kibana/pull/217268","number":217268,"mergeCommit":{"message":"chore(slo):
optimize resources management
(#217268)","sha":"fcae30a80961ea11de52270c56baf7a9f76eb336"}},{"branch":"8.x","label":"v8.19.0","branchLabelMappingKey":"^v8.19.0$","isSourceBranch":false,"state":"NOT_CREATED"}]}]
BACKPORT-->
2025-04-10 15:59:15 +02:00
Tomasz Kajtoch
58c91323dd
[8.x] Upgrade EUI to 101.3.0-classic.0 (#217395)
> [!Note]
> This PR is a manual backport of the already merged
https://github.com/elastic/kibana/pull/217491

`101.0.1`  `101.3.0-classic.0`

[Questions? Please see our Kibana upgrade
FAQ.](https://github.com/elastic/eui/blob/main/wiki/eui-team-processes/upgrading-kibana.md#faq-for-kibana-teams)

## Package updates

### `@elastic/eui`

#### [`v101.3.0`](https://github.com/elastic/eui/releases/v101.3.0)

- Updated 78 existing and added two new glyphs (`code` and
`checkCircle`) for `EuiIcon`
([#8530](https://github.com/elastic/eui/pull/8530))
- Changed `gutterSize` to `m` between right side items on
`EuiPageHeader` ([#8529](https://github.com/elastic/eui/pull/8529))

**Bug fixes**

- Fixed a visual bug on disabled `EuiButton` in high contrast mode where
wrong text colors were applied
([#8550](https://github.com/elastic/eui/pull/8550))

#### [`v101.2.0`](https://github.com/elastic/eui/releases/v101.2.0)

- Added `showToolTip` prop on `EuiColorPickerSwatch`
([#8512](https://github.com/elastic/eui/pull/8512))

**Bug fixes**

- Fixed a visual issue of overlapping borders for layered `EuiPanel`s
([#8519](https://github.com/elastic/eui/pull/8519))
- Fixes wrong `colorMode` styling for the search in `EuiHeader` with
`theme="dark"` ([#8496](https://github.com/elastic/eui/pull/8496))

**Accessibility**

- Improved the accessibility of `EuiColorPicker` by adding color label
tooltips on hover and focus for color swatches
([#8512](https://github.com/elastic/eui/pull/8512))
- Added `disableScreenReaderOutput` prop on `EuiToolTip` to manually
control if the tooltip content should be read when focusing the trigger.
This prevents duplicate screen reader output when the tooltip content
and `aria-label` on the trigger element have the same text content.
([#8508](https://github.com/elastic/eui/pull/8508))
- Improves text color contrast for `EuiButton` with `color="warning"` in
high contrast mode ([#8496](https://github.com/elastic/eui/pull/8496))
- Improves contrast and visible distinction of the following components
in high contrast mode:
([#8496](https://github.com/elastic/eui/pull/8496))
  - `EuiCode`
  - `EuiBadge`
  - `EuiBetaBadge`
  - `EuiNotificationBadge`

**Dependency updates**

- Updated `prismjs` to v1.30.0
([#8506](https://github.com/elastic/eui/pull/8506))

#### [`v101.1.0`](https://github.com/elastic/eui/releases/v101.1.0)

- Updates `EuiTableRow` styles to check support for `:has(+)` selector
([#8498](https://github.com/elastic/eui/pull/8498))


<!--ONMERGE {"backportTargets":["9.0"]} ONMERGE-->

---------

Co-authored-by: Weronika Olejniczak <weronika.olejniczak@elastic.co>
2025-04-10 14:33:01 +02:00
Kibana Machine
c8ee9ce9e7
[8.x] [A11y][APM] Improve aria-label for correlations (#217512) (#217809)
# Backport

This will backport the following commits from `main` to `8.x`:
- [[A11y][APM] Improve `aria-label` for correlations
(#217512)](https://github.com/elastic/kibana/pull/217512)

<!--- Backport version: 9.6.6 -->

### Questions ?
Please refer to the [Backport tool
documentation](https://github.com/sorenlouv/backport)

<!--BACKPORT [{"author":{"name":"Sergi
Romeu","email":"sergi.romeu@elastic.co"},"sourceCommit":{"committedDate":"2025-04-10T09:52:11Z","message":"[A11y][APM]
Improve `aria-label` for correlations (#217512)\n\n## Summary\n\nCloses
https://github.com/elastic/kibana/issues/194975\n\nThis PR improves the
`aria-label` attributes in the latency correlations\npage to add more
context about the selected
field.","sha":"6190ca8c140a4faba7a75b70a33e79736dd937fe","branchLabelMapping":{"^v9.1.0$":"main","^v8.19.0$":"8.x","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["release_note:fix","apm","Team:obs-ux-infra_services","backport:version","a11y","v8.18.0","v9.1.0","v8.19.0","v9.0.1"],"title":"[A11y][APM]
Improve `aria-label` for
correlations","number":217512,"url":"https://github.com/elastic/kibana/pull/217512","mergeCommit":{"message":"[A11y][APM]
Improve `aria-label` for correlations (#217512)\n\n## Summary\n\nCloses
https://github.com/elastic/kibana/issues/194975\n\nThis PR improves the
`aria-label` attributes in the latency correlations\npage to add more
context about the selected
field.","sha":"6190ca8c140a4faba7a75b70a33e79736dd937fe"}},"sourceBranch":"main","suggestedTargetBranches":["8.18","8.x","9.0"],"targetPullRequestStates":[{"branch":"8.18","label":"v8.18.0","branchLabelMappingKey":"^v(\\d+).(\\d+).\\d+$","isSourceBranch":false,"state":"NOT_CREATED"},{"branch":"main","label":"v9.1.0","branchLabelMappingKey":"^v9.1.0$","isSourceBranch":true,"state":"MERGED","url":"https://github.com/elastic/kibana/pull/217512","number":217512,"mergeCommit":{"message":"[A11y][APM]
Improve `aria-label` for correlations (#217512)\n\n## Summary\n\nCloses
https://github.com/elastic/kibana/issues/194975\n\nThis PR improves the
`aria-label` attributes in the latency correlations\npage to add more
context about the selected
field.","sha":"6190ca8c140a4faba7a75b70a33e79736dd937fe"}},{"branch":"8.x","label":"v8.19.0","branchLabelMappingKey":"^v8.19.0$","isSourceBranch":false,"state":"NOT_CREATED"},{"branch":"9.0","label":"v9.0.1","branchLabelMappingKey":"^v(\\d+).(\\d+).\\d+$","isSourceBranch":false,"state":"NOT_CREATED"}]}]
BACKPORT-->

Co-authored-by: Sergi Romeu <sergi.romeu@elastic.co>
2025-04-10 14:11:11 +02:00
Ievgen Sorokopud
98e6b37444
[8.x] [Attack Discovery][Scheduling] Attack Discovery scheduling rule management (#12003) (#216656) (#217794)
# Backport

This will backport the following commits from `main` to `8.x`:
- [[Attack Discovery][Scheduling] Attack Discovery scheduling rule
management (#12003)
(#216656)](https://github.com/elastic/kibana/pull/216656)

<!--- Backport version: 9.6.6 -->

### Questions ?
Please refer to the [Backport tool
documentation](https://github.com/sorenlouv/backport)

<!--BACKPORT [{"author":{"name":"Ievgen
Sorokopud","email":"ievgen.sorokopud@elastic.co"},"sourceCommit":{"committedDate":"2025-04-10T09:03:04Z","message":"[Attack
Discovery][Scheduling] Attack Discovery scheduling rule management
(#12003) (#216656)\n\n## Summary\n\nMain ticket
([Internal\nlink](https://github.com/elastic/security-team/issues/12003))\n\nTo
allow users to schedule Attack Discovery generations, we will
use\neither
[Alerting\nFramework](https://www.elastic.co/guide/en/kibana/current/alerting-getting-started.html).\nThese
changes add functionality to manage new alerts type - Attack\nDiscovery
Schedule.\n\n### Introduced endpoints\n\n- **Create** AD scheduling rule
route: `POST\n/internal/elastic_assistant/attack_discovery/schedules`\n-
**Read/Get** AD scheduling rule by id route:
`GET\n/internal/elastic_assistant/attack_discovery/schedules/{id}`\n-
**Update** AD scheduling rule by id route:
`PUT\n/internal/elastic_assistant/attack_discovery/schedules/{id}`\n-
**Delete** AD scheduling rule by id route:
`DELETE\n/internal/elastic_assistant/attack_discovery/schedules/{id}`\n-
**Enable** AD scheduling rule by id route:
`POST\n/internal/elastic_assistant/attack_discovery/schedules/{id}/_enable`\n-
**Disable** AD scheduling rule by id route:
`POST\n/internal/elastic_assistant/attack_discovery/schedules/{id}/_disable`\n-
**Find** all existing AD scheduling rules route:
`GET\n/internal/elastic_assistant/attack_discovery/schedules/_find`\n\n##
NOTES\n\nThe feature is hidden behind the feature flag:\n\n>
xpack.securitySolution.enableExperimental:\n['assistantAttackDiscoverySchedulingEnabled']\n\n##
cURL examples\n\n<details>\n <summary>Create AD scheduling rule
route</summary>\n\n```curl\ncurl --location
'http://localhost:5601/internal/elastic_assistant/attack_discovery/schedules'
\\\n--header 'kbn-xsrf: true' \\\n--header 'elastic-api-version: 1'
\\\n--header 'x-elastic-internal-origin: security-solution' \\\n--header
'Content-Type: application/json' \\\n--data '{\n \"name\": \"Test
Schedule\",\n \"schedule\": {\n \"interval\": \"10m\"\n },\n \"params\":
{\n \"alertsIndexPattern\": \".alerts-security.alerts-default\",\n
\"apiConfig\": {\n \"connectorId\": \"gpt-4o\",\n \"actionTypeId\":
\".gen-ai\"\n },\n \"end\": \"now\",\n \"size\": 100,\n \"start\":
\"now-24h\"\n }\n}'\n```\n\n</details>\n\n<details>\n <summary>Read/Get
AD scheduling rule by id route</summary>\n\n```curl\ncurl --location
'http://localhost:5601/internal/elastic_assistant/attack_discovery/schedules/{id}'
\\\n--header 'kbn-xsrf: true' \\\n--header 'elastic-api-version: 1'
\\\n--header 'x-elastic-internal-origin:
security-solution'\n```\n\n</details>\n\n<details>\n <summary>Update AD
scheduling rule by id route</summary>\n\n```curl\ncurl --location
--request PUT
'http://localhost:5601/internal/elastic_assistant/attack_discovery/schedules/{id}'
\\\n--header 'kbn-xsrf: true' \\\n--header 'elastic-api-version: 1'
\\\n--header 'x-elastic-internal-origin: security-solution' \\\n--header
'Content-Type: application/json' \\\n--data '{\n \"name\": \"Test
Schedule - Updated\",\n \"schedule\": {\n \"interval\": \"123m\"\n },\n
\"params\": {\n \"alertsIndexPattern\":
\".alerts-security.alerts-default\",\n \"apiConfig\": {\n
\"connectorId\": \"gpt-4o\",\n \"actionTypeId\": \".gen-ai\"\n },\n
\"end\": \"now\",\n \"size\": 35,\n \"start\": \"now-24h\"\n },\n
\"actions\": []\n}'\n```\n\n</details>\n\n<details>\n <summary>Delete AD
scheduling rule by id route</summary>\n\n```curl\ncurl --location
--request DELETE
'http://localhost:5601/internal/elastic_assistant/attack_discovery/schedules/{id}'
\\\n--header 'kbn-xsrf: true' \\\n--header 'elastic-api-version: 1'
\\\n--header 'x-elastic-internal-origin:
security-solution'\n```\n\n</details>\n\n<details>\n <summary>Enable AD
scheduling rule by id route</summary>\n\n```curl\ncurl --location
--request POST
'http://localhost:5601/internal/elastic_assistant/attack_discovery/schedules/{id}/_enable'
\\\n--header 'kbn-xsrf: true' \\\n--header 'elastic-api-version: 1'
\\\n--header 'x-elastic-internal-origin:
security-solution'\n```\n\n</details>\n\n<details>\n <summary>Disable AD
scheduling rule by id route</summary>\n\n```curl\ncurl --location
--request POST
'http://localhost:5601/internal/elastic_assistant/attack_discovery/schedules/{id}/_disable'
\\\n--header 'kbn-xsrf: true' \\\n--header 'elastic-api-version: 1'
\\\n--header 'x-elastic-internal-origin:
security-solution'\n```\n\n</details>\n\n<details>\n <summary>Find all
existing AD scheduling rules route</summary>\n\n```curl\ncurl --location
'http://localhost:5601/internal/elastic_assistant/attack_discovery/schedules/_find'
\\\n--header 'kbn-xsrf: true' \\\n--header 'elastic-api-version: 1'
\\\n--header 'x-elastic-internal-origin:
security-solution'\n```\n\n</details>\n\n---------\n\nCo-authored-by:
kibanamachine
<42973632+kibanamachine@users.noreply.github.com>","sha":"fc11ca94f58c62a9accfa47019b539826c9afa1b","branchLabelMapping":{"^v9.1.0$":"main","^v8.19.0$":"8.x","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["release_note:skip","Team:
SecuritySolution","Team:Security Generative
AI","backport:version","v9.1.0","v8.19.0"],"title":"[Attack
Discovery][Scheduling] Attack Discovery scheduling rule management
(#12003)","number":216656,"url":"https://github.com/elastic/kibana/pull/216656","mergeCommit":{"message":"[Attack
Discovery][Scheduling] Attack Discovery scheduling rule management
(#12003) (#216656)\n\n## Summary\n\nMain ticket
([Internal\nlink](https://github.com/elastic/security-team/issues/12003))\n\nTo
allow users to schedule Attack Discovery generations, we will
use\neither
[Alerting\nFramework](https://www.elastic.co/guide/en/kibana/current/alerting-getting-started.html).\nThese
changes add functionality to manage new alerts type - Attack\nDiscovery
Schedule.\n\n### Introduced endpoints\n\n- **Create** AD scheduling rule
route: `POST\n/internal/elastic_assistant/attack_discovery/schedules`\n-
**Read/Get** AD scheduling rule by id route:
`GET\n/internal/elastic_assistant/attack_discovery/schedules/{id}`\n-
**Update** AD scheduling rule by id route:
`PUT\n/internal/elastic_assistant/attack_discovery/schedules/{id}`\n-
**Delete** AD scheduling rule by id route:
`DELETE\n/internal/elastic_assistant/attack_discovery/schedules/{id}`\n-
**Enable** AD scheduling rule by id route:
`POST\n/internal/elastic_assistant/attack_discovery/schedules/{id}/_enable`\n-
**Disable** AD scheduling rule by id route:
`POST\n/internal/elastic_assistant/attack_discovery/schedules/{id}/_disable`\n-
**Find** all existing AD scheduling rules route:
`GET\n/internal/elastic_assistant/attack_discovery/schedules/_find`\n\n##
NOTES\n\nThe feature is hidden behind the feature flag:\n\n>
xpack.securitySolution.enableExperimental:\n['assistantAttackDiscoverySchedulingEnabled']\n\n##
cURL examples\n\n<details>\n <summary>Create AD scheduling rule
route</summary>\n\n```curl\ncurl --location
'http://localhost:5601/internal/elastic_assistant/attack_discovery/schedules'
\\\n--header 'kbn-xsrf: true' \\\n--header 'elastic-api-version: 1'
\\\n--header 'x-elastic-internal-origin: security-solution' \\\n--header
'Content-Type: application/json' \\\n--data '{\n \"name\": \"Test
Schedule\",\n \"schedule\": {\n \"interval\": \"10m\"\n },\n \"params\":
{\n \"alertsIndexPattern\": \".alerts-security.alerts-default\",\n
\"apiConfig\": {\n \"connectorId\": \"gpt-4o\",\n \"actionTypeId\":
\".gen-ai\"\n },\n \"end\": \"now\",\n \"size\": 100,\n \"start\":
\"now-24h\"\n }\n}'\n```\n\n</details>\n\n<details>\n <summary>Read/Get
AD scheduling rule by id route</summary>\n\n```curl\ncurl --location
'http://localhost:5601/internal/elastic_assistant/attack_discovery/schedules/{id}'
\\\n--header 'kbn-xsrf: true' \\\n--header 'elastic-api-version: 1'
\\\n--header 'x-elastic-internal-origin:
security-solution'\n```\n\n</details>\n\n<details>\n <summary>Update AD
scheduling rule by id route</summary>\n\n```curl\ncurl --location
--request PUT
'http://localhost:5601/internal/elastic_assistant/attack_discovery/schedules/{id}'
\\\n--header 'kbn-xsrf: true' \\\n--header 'elastic-api-version: 1'
\\\n--header 'x-elastic-internal-origin: security-solution' \\\n--header
'Content-Type: application/json' \\\n--data '{\n \"name\": \"Test
Schedule - Updated\",\n \"schedule\": {\n \"interval\": \"123m\"\n },\n
\"params\": {\n \"alertsIndexPattern\":
\".alerts-security.alerts-default\",\n \"apiConfig\": {\n
\"connectorId\": \"gpt-4o\",\n \"actionTypeId\": \".gen-ai\"\n },\n
\"end\": \"now\",\n \"size\": 35,\n \"start\": \"now-24h\"\n },\n
\"actions\": []\n}'\n```\n\n</details>\n\n<details>\n <summary>Delete AD
scheduling rule by id route</summary>\n\n```curl\ncurl --location
--request DELETE
'http://localhost:5601/internal/elastic_assistant/attack_discovery/schedules/{id}'
\\\n--header 'kbn-xsrf: true' \\\n--header 'elastic-api-version: 1'
\\\n--header 'x-elastic-internal-origin:
security-solution'\n```\n\n</details>\n\n<details>\n <summary>Enable AD
scheduling rule by id route</summary>\n\n```curl\ncurl --location
--request POST
'http://localhost:5601/internal/elastic_assistant/attack_discovery/schedules/{id}/_enable'
\\\n--header 'kbn-xsrf: true' \\\n--header 'elastic-api-version: 1'
\\\n--header 'x-elastic-internal-origin:
security-solution'\n```\n\n</details>\n\n<details>\n <summary>Disable AD
scheduling rule by id route</summary>\n\n```curl\ncurl --location
--request POST
'http://localhost:5601/internal/elastic_assistant/attack_discovery/schedules/{id}/_disable'
\\\n--header 'kbn-xsrf: true' \\\n--header 'elastic-api-version: 1'
\\\n--header 'x-elastic-internal-origin:
security-solution'\n```\n\n</details>\n\n<details>\n <summary>Find all
existing AD scheduling rules route</summary>\n\n```curl\ncurl --location
'http://localhost:5601/internal/elastic_assistant/attack_discovery/schedules/_find'
\\\n--header 'kbn-xsrf: true' \\\n--header 'elastic-api-version: 1'
\\\n--header 'x-elastic-internal-origin:
security-solution'\n```\n\n</details>\n\n---------\n\nCo-authored-by:
kibanamachine
<42973632+kibanamachine@users.noreply.github.com>","sha":"fc11ca94f58c62a9accfa47019b539826c9afa1b"}},"sourceBranch":"main","suggestedTargetBranches":["8.x"],"targetPullRequestStates":[{"branch":"main","label":"v9.1.0","branchLabelMappingKey":"^v9.1.0$","isSourceBranch":true,"state":"MERGED","url":"https://github.com/elastic/kibana/pull/216656","number":216656,"mergeCommit":{"message":"[Attack
Discovery][Scheduling] Attack Discovery scheduling rule management
(#12003) (#216656)\n\n## Summary\n\nMain ticket
([Internal\nlink](https://github.com/elastic/security-team/issues/12003))\n\nTo
allow users to schedule Attack Discovery generations, we will
use\neither
[Alerting\nFramework](https://www.elastic.co/guide/en/kibana/current/alerting-getting-started.html).\nThese
changes add functionality to manage new alerts type - Attack\nDiscovery
Schedule.\n\n### Introduced endpoints\n\n- **Create** AD scheduling rule
route: `POST\n/internal/elastic_assistant/attack_discovery/schedules`\n-
**Read/Get** AD scheduling rule by id route:
`GET\n/internal/elastic_assistant/attack_discovery/schedules/{id}`\n-
**Update** AD scheduling rule by id route:
`PUT\n/internal/elastic_assistant/attack_discovery/schedules/{id}`\n-
**Delete** AD scheduling rule by id route:
`DELETE\n/internal/elastic_assistant/attack_discovery/schedules/{id}`\n-
**Enable** AD scheduling rule by id route:
`POST\n/internal/elastic_assistant/attack_discovery/schedules/{id}/_enable`\n-
**Disable** AD scheduling rule by id route:
`POST\n/internal/elastic_assistant/attack_discovery/schedules/{id}/_disable`\n-
**Find** all existing AD scheduling rules route:
`GET\n/internal/elastic_assistant/attack_discovery/schedules/_find`\n\n##
NOTES\n\nThe feature is hidden behind the feature flag:\n\n>
xpack.securitySolution.enableExperimental:\n['assistantAttackDiscoverySchedulingEnabled']\n\n##
cURL examples\n\n<details>\n <summary>Create AD scheduling rule
route</summary>\n\n```curl\ncurl --location
'http://localhost:5601/internal/elastic_assistant/attack_discovery/schedules'
\\\n--header 'kbn-xsrf: true' \\\n--header 'elastic-api-version: 1'
\\\n--header 'x-elastic-internal-origin: security-solution' \\\n--header
'Content-Type: application/json' \\\n--data '{\n \"name\": \"Test
Schedule\",\n \"schedule\": {\n \"interval\": \"10m\"\n },\n \"params\":
{\n \"alertsIndexPattern\": \".alerts-security.alerts-default\",\n
\"apiConfig\": {\n \"connectorId\": \"gpt-4o\",\n \"actionTypeId\":
\".gen-ai\"\n },\n \"end\": \"now\",\n \"size\": 100,\n \"start\":
\"now-24h\"\n }\n}'\n```\n\n</details>\n\n<details>\n <summary>Read/Get
AD scheduling rule by id route</summary>\n\n```curl\ncurl --location
'http://localhost:5601/internal/elastic_assistant/attack_discovery/schedules/{id}'
\\\n--header 'kbn-xsrf: true' \\\n--header 'elastic-api-version: 1'
\\\n--header 'x-elastic-internal-origin:
security-solution'\n```\n\n</details>\n\n<details>\n <summary>Update AD
scheduling rule by id route</summary>\n\n```curl\ncurl --location
--request PUT
'http://localhost:5601/internal/elastic_assistant/attack_discovery/schedules/{id}'
\\\n--header 'kbn-xsrf: true' \\\n--header 'elastic-api-version: 1'
\\\n--header 'x-elastic-internal-origin: security-solution' \\\n--header
'Content-Type: application/json' \\\n--data '{\n \"name\": \"Test
Schedule - Updated\",\n \"schedule\": {\n \"interval\": \"123m\"\n },\n
\"params\": {\n \"alertsIndexPattern\":
\".alerts-security.alerts-default\",\n \"apiConfig\": {\n
\"connectorId\": \"gpt-4o\",\n \"actionTypeId\": \".gen-ai\"\n },\n
\"end\": \"now\",\n \"size\": 35,\n \"start\": \"now-24h\"\n },\n
\"actions\": []\n}'\n```\n\n</details>\n\n<details>\n <summary>Delete AD
scheduling rule by id route</summary>\n\n```curl\ncurl --location
--request DELETE
'http://localhost:5601/internal/elastic_assistant/attack_discovery/schedules/{id}'
\\\n--header 'kbn-xsrf: true' \\\n--header 'elastic-api-version: 1'
\\\n--header 'x-elastic-internal-origin:
security-solution'\n```\n\n</details>\n\n<details>\n <summary>Enable AD
scheduling rule by id route</summary>\n\n```curl\ncurl --location
--request POST
'http://localhost:5601/internal/elastic_assistant/attack_discovery/schedules/{id}/_enable'
\\\n--header 'kbn-xsrf: true' \\\n--header 'elastic-api-version: 1'
\\\n--header 'x-elastic-internal-origin:
security-solution'\n```\n\n</details>\n\n<details>\n <summary>Disable AD
scheduling rule by id route</summary>\n\n```curl\ncurl --location
--request POST
'http://localhost:5601/internal/elastic_assistant/attack_discovery/schedules/{id}/_disable'
\\\n--header 'kbn-xsrf: true' \\\n--header 'elastic-api-version: 1'
\\\n--header 'x-elastic-internal-origin:
security-solution'\n```\n\n</details>\n\n<details>\n <summary>Find all
existing AD scheduling rules route</summary>\n\n```curl\ncurl --location
'http://localhost:5601/internal/elastic_assistant/attack_discovery/schedules/_find'
\\\n--header 'kbn-xsrf: true' \\\n--header 'elastic-api-version: 1'
\\\n--header 'x-elastic-internal-origin:
security-solution'\n```\n\n</details>\n\n---------\n\nCo-authored-by:
kibanamachine
<42973632+kibanamachine@users.noreply.github.com>","sha":"fc11ca94f58c62a9accfa47019b539826c9afa1b"}},{"branch":"8.x","label":"v8.19.0","branchLabelMappingKey":"^v8.19.0$","isSourceBranch":false,"state":"NOT_CREATED"}]}]
BACKPORT-->
2025-04-10 13:34:16 +02:00
Kevin Delemme
00ac522ba9
[8.x] chore(slo): delete by queries (#217108) (#217735) 2025-04-10 07:30:54 -04:00
Kevin Delemme
30a219a4c6
[8.x] chore(slo): colocate state to avoid react re-rendering (#215558) (#217734) 2025-04-10 07:30:40 -04:00
Sergi Romeu
095c1ae1aa
[8.x] [A11y][APM] Improve aria-label for EuiCodeBlock on onboarding page (#217292) (#217690)
# Backport

This will backport the following commits from `main` to `8.x`:
- [[A11y][APM] Improve `aria-label` for `EuiCodeBlock` on onboarding
page (#217292)](https://github.com/elastic/kibana/pull/217292)

<!--- Backport version: 9.6.6 -->

### Questions ?
Please refer to the [Backport tool
documentation](https://github.com/sorenlouv/backport)

<!--BACKPORT [{"author":{"name":"Sergi
Romeu","email":"sergi.romeu@elastic.co"},"sourceCommit":{"committedDate":"2025-04-09T13:55:12Z","message":"[A11y][APM]
Improve `aria-label` for `EuiCodeBlock` on onboarding page
(#217292)\n\n## Summary\n\nFixes #195030\n\nThis PR adds `aria-label`
with language context for `EuiCodeBlock` in\nthe APM onboarding
page.","sha":"a49dc033306931b83facd68b062b30339ec895ed","branchLabelMapping":{"^v9.1.0$":"main","^v8.19.0$":"8.x","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["release_note:fix","apm","Team:obs-ux-infra_services","backport:version","a11y","v8.18.0","v9.1.0","v8.19.0","v9.0.1"],"title":"[A11y][APM]
Improve `aria-label` for `EuiCodeBlock` on onboarding
page","number":217292,"url":"https://github.com/elastic/kibana/pull/217292","mergeCommit":{"message":"[A11y][APM]
Improve `aria-label` for `EuiCodeBlock` on onboarding page
(#217292)\n\n## Summary\n\nFixes #195030\n\nThis PR adds `aria-label`
with language context for `EuiCodeBlock` in\nthe APM onboarding
page.","sha":"a49dc033306931b83facd68b062b30339ec895ed"}},"sourceBranch":"main","suggestedTargetBranches":["8.18","8.x","9.0"],"targetPullRequestStates":[{"branch":"8.18","label":"v8.18.0","branchLabelMappingKey":"^v(\\d+).(\\d+).\\d+$","isSourceBranch":false,"state":"NOT_CREATED"},{"branch":"main","label":"v9.1.0","branchLabelMappingKey":"^v9.1.0$","isSourceBranch":true,"state":"MERGED","url":"https://github.com/elastic/kibana/pull/217292","number":217292,"mergeCommit":{"message":"[A11y][APM]
Improve `aria-label` for `EuiCodeBlock` on onboarding page
(#217292)\n\n## Summary\n\nFixes #195030\n\nThis PR adds `aria-label`
with language context for `EuiCodeBlock` in\nthe APM onboarding
page.","sha":"a49dc033306931b83facd68b062b30339ec895ed"}},{"branch":"8.x","label":"v8.19.0","branchLabelMappingKey":"^v8.19.0$","isSourceBranch":false,"state":"NOT_CREATED"},{"branch":"9.0","label":"v9.0.1","branchLabelMappingKey":"^v(\\d+).(\\d+).\\d+$","isSourceBranch":false,"state":"NOT_CREATED"}]}]
BACKPORT-->
2025-04-10 11:33:24 +02:00
Kevin Delemme
d9275b9f42
[8.x] chore(slo): replace error log level with debug (#212975) (#217732) 2025-04-09 21:39:00 -04:00
Kevin Delemme
06ce651f7a
[8.x] feat(slo): update preview data API to show groups (#211801) (#217731) 2025-04-09 21:38:47 -04:00
Kevin Delemme
6be02abb72
[8.x] feat(slo): cleanup temp summary documents task (#210264) (#217724) 2025-04-09 18:15:57 -04:00
Kevin Delemme
46ef01bd41
[8.x] chore(slo): factorize error handler (#209671) (#217720)
# Backport

This will backport the following commits from `main` to `8.x`:
- [chore(slo): factorize error handler
(#209671)](https://github.com/elastic/kibana/pull/209671)

<!--- Backport version: 9.6.6 -->

### Questions ?
Please refer to the [Backport tool
documentation](https://github.com/sorenlouv/backport)

<!--BACKPORT [{"author":{"name":"Kevin
Delemme","email":"kevin.delemme@elastic.co"},"sourceCommit":{"committedDate":"2025-02-06T19:04:37Z","message":"chore(slo):
factorize error handler
(#209671)","sha":"375528dcfe03912fb491fa8477b10dcaa3fa7f7c","branchLabelMapping":{"^v9.1.0$":"main","^v8.19.0$":"8.x","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["release_note:skip","backport:skip","v9.0.0","Team:obs-ux-management","v9.1.0"],"title":"chore(slo):
factorize error
handler","number":209671,"url":"https://github.com/elastic/kibana/pull/209671","mergeCommit":{"message":"chore(slo):
factorize error handler
(#209671)","sha":"375528dcfe03912fb491fa8477b10dcaa3fa7f7c"}},"sourceBranch":"main","suggestedTargetBranches":["9.0"],"targetPullRequestStates":[{"branch":"9.0","label":"v9.0.0","branchLabelMappingKey":"^v(\\d+).(\\d+).\\d+$","isSourceBranch":false,"state":"NOT_CREATED"},{"branch":"main","label":"v9.1.0","branchLabelMappingKey":"^v9.1.0$","isSourceBranch":true,"state":"MERGED","url":"https://github.com/elastic/kibana/pull/209671","number":209671,"mergeCommit":{"message":"chore(slo):
factorize error handler
(#209671)","sha":"375528dcfe03912fb491fa8477b10dcaa3fa7f7c"}}]}]
BACKPORT-->
2025-04-09 15:16:12 -04:00