mirror of
https://github.com/elastic/kibana.git
synced 2025-04-23 09:19:04 -04:00
1003 commits
Author | SHA1 | Message | Date | |
---|---|---|---|---|
|
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> |
||
|
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]( |
||
|
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--> |
||
|
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--> |
||
|
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 (#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--> |
||
|
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> |
||
|
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> |
||
|
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--> |
||
|
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--> |
||
|
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\n\n</details>\n\n<details>\n<summary>Prebuilt rule w/o enterprise license (showing upsell)</summary>\n\n\n\n\n</details>\n\n#### Do not show the button when:\n<details>\n<summary>Not an alert </summary>\n\n\n\n\n</details>\n\n<details>\n<summary>rule preview</summary>\n\n\n\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\n\n</details>\n\n<details>\n<summary>Prebuilt rule w/o enterprise license (showing upsell)</summary>\n\n\n\n\n</details>\n\n#### Do not show the button when:\n<details>\n<summary>Not an alert </summary>\n\n\n\n\n</details>\n\n<details>\n<summary>rule preview</summary>\n\n\n\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\n\n</details>\n\n<details>\n<summary>Prebuilt rule w/o enterprise license (showing upsell)</summary>\n\n\n\n\n</details>\n\n#### Do not show the button when:\n<details>\n<summary>Not an alert </summary>\n\n\n\n\n</details>\n\n<details>\n<summary>rule preview</summary>\n\n\n\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> |
||
|
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> |
||
|
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> |
||
|
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> |
||
|
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> |
||
|
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> |
||
|
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\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\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\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\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\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\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--> |
||
|
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\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\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\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--> |
||
|
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--> |
||
|
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> |
||
|
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 (#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\n\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\n\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\n\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> |
||
|
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--> |
||
|
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]( |
||
|
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--> |
||
|
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\n |
||
|
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--> |
||
|
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> |
||
|
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> |
||
|
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> |
||
|
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> |
||
|
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\n| \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\n| \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\n| \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--> |
||
|
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--> |
||
|
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\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\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\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> |
||
|
0b19aa0272
|
skip flaky suite (#214977) | ||
|
206ae40e23
|
skip failing suite (#216474) | ||
|
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--> |
||
|
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> |
||
|
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--> |
||
|
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--> |
||
|
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> |
||
|
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> |
||
|
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--> |
||
|
00ac522ba9
|
[8.x] chore(slo): delete by queries (#217108) (#217735) | ||
|
30a219a4c6
|
[8.x] chore(slo): colocate state to avoid react re-rendering (#215558) (#217734) | ||
|
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--> |
||
|
d9275b9f42
|
[8.x] chore(slo): replace error log level with debug (#212975) (#217732) | ||
|
06ce651f7a
|
[8.x] feat(slo): update preview data API to show groups (#211801) (#217731) | ||
|
6be02abb72
|
[8.x] feat(slo): cleanup temp summary documents task (#210264) (#217724) | ||
|
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--> |