# Backport
This will backport the following commits from `main` to `8.14`:
- [[DOCS] Add a bug fix for 8.13.3 release notes
(#182373)](https://github.com/elastic/kibana/pull/182373)
<!--- Backport version: 8.9.8 -->
### Questions ?
Please refer to the [Backport tool
documentation](https://github.com/sqren/backport)
<!--BACKPORT [{"author":{"name":"Elena
Stoeva","email":"59341489+ElenaStoeva@users.noreply.github.com"},"sourceCommit":{"committedDate":"2024-05-02T19:25:05Z","message":"[DOCS]
Add a bug fix for 8.13.3 release notes (#182373)\n\n##
Summary\r\n\r\nThis PR adds a bug fix in the 8.13.3 release notes for
the fix
from\r\nhttps://github.com/elastic/kibana/pull/178321.","sha":"6423fae856784ea60665e5b00b04dde42a95a565","branchLabelMapping":{"^v8.15.0$":"main","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["Team:Docs","Team:Kibana
Management","release_note:skip","docs","v8.14.0","v8.13.3","v8.15.0"],"number":182373,"url":"https://github.com/elastic/kibana/pull/182373","mergeCommit":{"message":"[DOCS]
Add a bug fix for 8.13.3 release notes (#182373)\n\n##
Summary\r\n\r\nThis PR adds a bug fix in the 8.13.3 release notes for
the fix
from\r\nhttps://github.com/elastic/kibana/pull/178321.","sha":"6423fae856784ea60665e5b00b04dde42a95a565"}},"sourceBranch":"main","suggestedTargetBranches":["8.14","8.13"],"targetPullRequestStates":[{"branch":"8.14","label":"v8.14.0","labelRegex":"^v(\\d+).(\\d+).\\d+$","isSourceBranch":false,"state":"NOT_CREATED"},{"branch":"8.13","label":"v8.13.3","labelRegex":"^v(\\d+).(\\d+).\\d+$","isSourceBranch":false,"state":"NOT_CREATED"},{"branch":"main","label":"v8.15.0","labelRegex":"^v8.15.0$","isSourceBranch":true,"state":"MERGED","url":"https://github.com/elastic/kibana/pull/182373","number":182373,"mergeCommit":{"message":"[DOCS]
Add a bug fix for 8.13.3 release notes (#182373)\n\n##
Summary\r\n\r\nThis PR adds a bug fix in the 8.13.3 release notes for
the fix
from\r\nhttps://github.com/elastic/kibana/pull/178321.","sha":"6423fae856784ea60665e5b00b04dde42a95a565"}}]}]
BACKPORT-->
# Backport
This will backport the following commits from `main` to `8.14`:
- [[DOCS] Fix docs and screenshots for rule creation changes
(#181925)](https://github.com/elastic/kibana/pull/181925)
<!--- Backport version: 9.4.3 -->
### Questions ?
Please refer to the [Backport tool
documentation](https://github.com/sqren/backport)
<!--BACKPORT [{"author":{"name":"Lisa
Cawley","email":"lcawley@elastic.co"},"sourceCommit":{"committedDate":"2024-05-01T16:18:17Z","message":"[DOCS]
Fix docs and screenshots for rule creation changes
(#181925)","sha":"06e147e021c2888a82d92705ef180441f1a55ce8","branchLabelMapping":{"^v8.15.0$":"main","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["release_note:skip","Team:ResponseOps","docs","Feature:Alerting/RulesManagement","v8.14.0","v8.15.0"],"title":"[DOCS]
Fix docs and screenshots for rule creation
changes","number":181925,"url":"https://github.com/elastic/kibana/pull/181925","mergeCommit":{"message":"[DOCS]
Fix docs and screenshots for rule creation changes
(#181925)","sha":"06e147e021c2888a82d92705ef180441f1a55ce8"}},"sourceBranch":"main","suggestedTargetBranches":["8.14"],"targetPullRequestStates":[{"branch":"8.14","label":"v8.14.0","branchLabelMappingKey":"^v(\\d+).(\\d+).\\d+$","isSourceBranch":false,"state":"NOT_CREATED"},{"branch":"main","label":"v8.15.0","branchLabelMappingKey":"^v8.15.0$","isSourceBranch":true,"state":"MERGED","url":"https://github.com/elastic/kibana/pull/181925","number":181925,"mergeCommit":{"message":"[DOCS]
Fix docs and screenshots for rule creation changes
(#181925)","sha":"06e147e021c2888a82d92705ef180441f1a55ce8"}}]}]
BACKPORT-->
Co-authored-by: Lisa Cawley <lcawley@elastic.co>
# Backport
This will backport the following commits from `main` to `8.14`:
- [[ES|QL] Rename the setting to a more generic one and move to the
general section
(#182074)](https://github.com/elastic/kibana/pull/182074)
<!--- Backport version: 8.9.8 -->
### Questions ?
Please refer to the [Backport tool
documentation](https://github.com/sqren/backport)
<!--BACKPORT [{"author":{"name":"Stratoula
Kalafateli","email":"efstratia.kalafateli@elastic.co"},"sourceCommit":{"committedDate":"2024-05-01T14:13:53Z","message":"[ES|QL]
Rename the setting to a more generic one and move to the general section
(#182074)\n\n## Summary\r\n\r\nRenames the setting from
discover:enableESQL to enableESQL and moves it\r\nto the General
Section\r\n\r\n<img width=\"985\"
alt=\"image\"\r\nsrc=\"ebafe7cd-4695-413c-a0e3-90e3574139e5\">\r\n\r\nWe
checked the telemetry and a very small percentage of users
have\r\nswitched off this setting. It was also on tech preview so we
decided in\r\nfavor of this change as more and more applications are
using this\r\nsetting to hide ESQL from their applications.\r\n\r\n<img
width=\"850\"
alt=\"image\"\r\nsrc=\"404f2494-8a17-4a9d-943a-d9d72b324bc0\">\r\n\r\n###
Release note\r\nWe renamed the advanced setting which hides the ES|QL
from the UI from\r\n`discover:enableESQL` to `enableESQL`. You have to
switch it off again\r\nif you want to disable ES|QL features from your
kibana applications.\r\n\r\n---------\r\n\r\nCo-authored-by:
kibanamachine
<42973632+kibanamachine@users.noreply.github.com>","sha":"f3d18faab29dcf0f75813561ff69e4c4bc976860","branchLabelMapping":{"^v8.15.0$":"main","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["release_note:breaking","backport:prev-minor","Team:Obs
AI
Assistant","Feature:ES|QL","ci:project-deploy-observability","v8.14.0","Team:ESQL","v8.15.0"],"number":182074,"url":"https://github.com/elastic/kibana/pull/182074","mergeCommit":{"message":"[ES|QL]
Rename the setting to a more generic one and move to the general section
(#182074)\n\n## Summary\r\n\r\nRenames the setting from
discover:enableESQL to enableESQL and moves it\r\nto the General
Section\r\n\r\n<img width=\"985\"
alt=\"image\"\r\nsrc=\"ebafe7cd-4695-413c-a0e3-90e3574139e5\">\r\n\r\nWe
checked the telemetry and a very small percentage of users
have\r\nswitched off this setting. It was also on tech preview so we
decided in\r\nfavor of this change as more and more applications are
using this\r\nsetting to hide ESQL from their applications.\r\n\r\n<img
width=\"850\"
alt=\"image\"\r\nsrc=\"404f2494-8a17-4a9d-943a-d9d72b324bc0\">\r\n\r\n###
Release note\r\nWe renamed the advanced setting which hides the ES|QL
from the UI from\r\n`discover:enableESQL` to `enableESQL`. You have to
switch it off again\r\nif you want to disable ES|QL features from your
kibana applications.\r\n\r\n---------\r\n\r\nCo-authored-by:
kibanamachine
<42973632+kibanamachine@users.noreply.github.com>","sha":"f3d18faab29dcf0f75813561ff69e4c4bc976860"}},"sourceBranch":"main","suggestedTargetBranches":["8.14"],"targetPullRequestStates":[{"branch":"8.14","label":"v8.14.0","labelRegex":"^v(\\d+).(\\d+).\\d+$","isSourceBranch":false,"state":"NOT_CREATED"},{"branch":"main","label":"v8.15.0","labelRegex":"^v8.15.0$","isSourceBranch":true,"state":"MERGED","url":"https://github.com/elastic/kibana/pull/182074","number":182074,"mergeCommit":{"message":"[ES|QL]
Rename the setting to a more generic one and move to the general section
(#182074)\n\n## Summary\r\n\r\nRenames the setting from
discover:enableESQL to enableESQL and moves it\r\nto the General
Section\r\n\r\n<img width=\"985\"
alt=\"image\"\r\nsrc=\"ebafe7cd-4695-413c-a0e3-90e3574139e5\">\r\n\r\nWe
checked the telemetry and a very small percentage of users
have\r\nswitched off this setting. It was also on tech preview so we
decided in\r\nfavor of this change as more and more applications are
using this\r\nsetting to hide ESQL from their applications.\r\n\r\n<img
width=\"850\"
alt=\"image\"\r\nsrc=\"404f2494-8a17-4a9d-943a-d9d72b324bc0\">\r\n\r\n###
Release note\r\nWe renamed the advanced setting which hides the ES|QL
from the UI from\r\n`discover:enableESQL` to `enableESQL`. You have to
switch it off again\r\nif you want to disable ES|QL features from your
kibana applications.\r\n\r\n---------\r\n\r\nCo-authored-by:
kibanamachine
<42973632+kibanamachine@users.noreply.github.com>","sha":"f3d18faab29dcf0f75813561ff69e4c4bc976860"}}]}]
BACKPORT-->
---------
Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
closes https://github.com/elastic/kibana/issues/178719
A new ES API has been created to support linking APM from the Profiling
UI. It's called `topN/functions`. The new API allows grouping fields. So
we first fetch functions grouping by `service.name` and when the user
opens the APM Transactions we make another request grouping by
`transaction.name`.
A new Advanced setting was created to toggle the old API on (fetch
functions from Stacktraces API): It's turned off by default.
<img width="1235" alt="Screenshot 2024-04-12 at 10 39 36"
src="ee6e7731-2f44-43ca-9793-23ba87e22e6e">
When there are services on the selected function:
*If we cannot find the transaction, we show `N/A`.
<img width="933" alt="Screenshot 2024-04-12 at 10 16 34"
src="2c5dbf60-3a47-4f4c-a46d-8a0984e0e482">
When there are **no** services on the selected function:
*hide the APM transactions section
<img width="921" alt="Screenshot 2024-04-12 at 10 59 14"
src="3fc4c5b1-da62-47c8-97a8-8bcbd1ae1b75">
--
Performance boost:
The new API is faster than the Stacktraces API, especially because
there's no logic on the Kibana side.
Stacktraces API:
<img width="1210" alt="Screenshot 2024-04-12 at 10 50 26"
src="158d73d1-ed91-4652-97c1-c7c3328d5e3d">
TopN/Functions API:
<img width="1195" alt="Screenshot 2024-04-12 at 10 51 20"
src="2de4ef46-eb8a-4557-b7b8-a1c2fed6fd8a">
---------
Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
Adding #180070 and #180053 to the 8.13.2 release notes as I missed them
off the original PR.

---------
Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com>
## Summary
Part of https://github.com/elastic/kibana/issues/169547
View docs at [Changed
pages](https://kibana_169928.docs-preview.app.elstc.co/diff)
Add monitor api public api
### Testing
Make sure you have some monitors populated before testing this PR and
before switching to the branch
- [ ] Try editing already added monitors via API
- [ ] Test adding monitors via API, and then edit those via and
subsqeuently try editing via API the same monitor
- [ ] Test editing monitors via API
- [ ] Test deleting monitors via API
- [ ] Test getting monitors via API
- [ ] Testing private as well public locations
Basic workflow that i am interesting in testing is to make sure, you can
add/edit via both API and UI without any issues
Test each of HTTP/TCP/ICMP browser examples
<img width="1728" alt="image"
src="3575d93a-5f04-4c80-ac62-038643f466f8">
---------
Co-authored-by: Justin Kambic <jk@elastic.co>
Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
Co-authored-by: Dominique Clarke <dominique.clarke@elastic.co>
## Summary
1. Added `Content-Security-Policy-Report-Only` header.
2. Set `form-action` to `self` in reporting mode.
3. Created [visualization for report only CSP
violation](f6bb1300-0bb7-11ee-adde-d5df298171dd?_g=(filters:!(),refreshInterval:(pause:!t,value:60000),time:(from:'2024-04-03T22:00:00.000Z',to:'2024-04-05T21:30:00.000Z'))).
Generated a couple of reports for testing, here is [telemetry
data](https://stack-telemetry.elastic.dev/s/kibana-platform-security/app/discover#/?_g=(filters:!(),time:(from:now-24h%2Fh,to:now))&_a=(columns:!(timestamp),filters:!(('$state':(store:appState),meta:(alias:'Expected%20CSP%20violation',disabled:!f,index:'14413084-88e4-4fd4-82ba-a69c8b72ec95',negate:!t,params:!((meta:(alias:!n,disabled:!f,field:effectiveDirective,index:'14413084-88e4-4fd4-82ba-a69c8b72ec95',key:effectiveDirective,negate:!f,params:(query:script-src-elem),type:phrase),query:(match_phrase:(effectiveDirective:script-src-elem))),(meta:(alias:!n,disabled:!f,field:blockedURL,index:'14413084-88e4-4fd4-82ba-a69c8b72ec95',key:blockedURL,negate:!f,params:(query:inline),type:phrase),query:(match_phrase:(blockedURL:inline))),('$state':(store:appState),meta:(alias:!n,disabled:!f,field:lineNumber,index:'14413084-88e4-4fd4-82ba-a69c8b72ec95',key:lineNumber,negate:!f,params:(query:'286'),type:phrase),query:(match_phrase:(lineNumber:'286')))),relation:AND,type:combined),query:())),index:'14413084-88e4-4fd4-82ba-a69c8b72ec95',interval:auto,query:(language:kuery,query:'disposition%20:%20%22report%22%20'),sort:!(!(timestamp,desc)))).
4. Added `csp.report_only.form_action` field for additional csp policy
configuration.
### Checklist
Delete any items that are not applicable to this PR.
- [x] Any text added follows [EUI's writing
guidelines](https://elastic.github.io/eui/#/guidelines/writing), uses
sentence case text and includes [i18n
support](https://github.com/elastic/kibana/blob/main/packages/kbn-i18n/README.md)
- [x]
[Documentation](https://www.elastic.co/guide/en/kibana/master/development-documentation.html)
was added for features that require explanation or tutorials
- [x] [Unit or functional
tests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)
were updated or added to match the most common scenarios
- [x] If a plugin configuration key changed, check if it needs to be
allowlisted in the cloud and added to the [docker
list](https://github.com/elastic/kibana/blob/main/src/dev/build/tasks/os_packages/docker_generator/resources/base/bin/kibana-docker)
### For maintainers
- [x] This was checked for breaking API changes and was [labeled
appropriately](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process)
__Fixes: https://github.com/elastic/kibana/issues/179220__
## Release note
Added `Content-Security-Policy-Report-Only` header support.
## Summary
Introduced the search_notebooks plugin which has a set of default python
notebooks that can be served to the frontend via API endpoints.
---------
Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
## Summary
Part of documentation updates required for
https://github.com/elastic/kibana-team/issues/720
* Removes outdated info about Angular directives
* Remove outdated info about the original CSV export type
* Add explanation of what an Export Type is
* More detail about the job parameters for each export type
* Add tips to debug using POST URLs
Adding a known issue to the 8.13 release notes. Canvas workpad is
displaying a toast notification stating image rendering failed.

Relates to: #179457
---------
Co-authored-by: Nick Peihl <nickpeihl@gmail.com>
This PR moves the AI Assistant Management plugin into x-pack to
co-locate it with the other assistant plugins and to make it possible to
statically import from the other assistant plugins. This is not
currently possible because the Management plugin is in OSS and the other
plugins are in xpack.
Closes https://github.com/elastic/kibana/issues/164104
## Summary
**Replace "Download CSV" with "Generate CSV report" to export a CSV file
from saved search panel, deprecate "Download CSV", use a config flag for
providing the deprecated feature.**
This PR uses the `xpack.reporting.csv.enablePanelActionDownload`
kibana.yml setting, which was previously unused, for choosing behavior
of CSV export in a Dashboard saved search panel, and sets the default
value to `false`. The options allow the user to download a CSV file
without creating a report (deprecated, support will be removed in the
future) or to generate a CSV report (default).
1. Use the config as a flag to switch between implementations:
- downloading a CSV file without a generated report
- generating a CSV report
2. Updated documentation
3. Refactored / cleaned up tests
4. Increased API test coverage in Serverless
5. Better error handling in
`packages/kbn-reporting/public/reporting_api_client.ts`
### Checklist
Delete any items that are not applicable to this PR.
- [x] Any text added follows [EUI's writing
guidelines](https://elastic.github.io/eui/#/guidelines/writing), uses
sentence case text and includes [i18n
support](https://github.com/elastic/kibana/blob/main/packages/kbn-i18n/README.md)
- [x]
[Documentation](https://www.elastic.co/guide/en/kibana/master/development-documentation.html)
was added for features that require explanation or tutorials
- [x] [Unit or functional
tests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)
were updated or added to match the most common scenarios
- [x] If a plugin configuration key changed, check if it needs to be
allowlisted in the cloud and added to the [docker
list](https://github.com/elastic/kibana/blob/main/src/dev/build/tasks/os_packages/docker_generator/resources/base/bin/kibana-docker)
## Release Note
Kibana CSV Reporting offered a feature allowing users to download a CSV
file from a saved search panel in a dashboard, without having a report
generated. This feature is now deprecated. Now, when users need to
access saved search data from a dashboard panel as CSV, a normal report
will be generated. To access the deprecated functionality, you can add
`xpack.reporting.csv.enablePanelActionDownload: true` to kibana.yml, but
this ability will be removed in a future version of Kibana.
---------
Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
Fixes https://github.com/elastic/kibana/issues/176420
## 🍒 Summary
This PR copies the SLO code that was inside the Observability app into
its own app under `observability-solution/slo` folder.
4f6b8dfb-9612-4d30-ad50-4ee5c55a9c32
## ✔️ Acceptance criteria
- URL of new app: `app/slos`
- Design and functionality are not changed.
- Git history has been retained for all files in
`x-pack/plugins/observability_solution/slo`.
- SLO should appear on server less
- SLO code inside `observability_solution/observability` code has been
removed. A new clean up round might be needed though for possible
leftovers.
- Burn rate rule is registered within the new slo app
- SLO embeddables are moved inside the new slo app
- overview
- alerts embeddable
- error budget burn down
- Alerts table configuration registration for slo details page and
alerts table embeddable is still done in the observability app. Response
Ops team is working on removing the need to register the alert table
anyway
- Slo app is wrapped into `ApplicationUsageTrackingProvider` which will
send slo `Application usage` information tracked by the `slo` appId
- Redirect old `app/observability/slos` route to `app/slos`
- Rename old `xpack.observability.slo` keys to `xpack.slo` in the
translation files
## 🌮 How to test
Design and functionality didn't change, so simply navigate to existing
slo pages and try to break it
- Slo list page
- group by
- unified search
- toggle buttons
- actions
- Slo creation
- try group by as well
- Slo detail page
- Actions on top
- navigate to overview and alerts tabs
- Create SLO flyout in Logs Explorer
- Create burn rate rules and verify they appear on rules page
- Verify SLO alerts appear on Alerts page and slo details page
- Embeddables
- Through the dashboard app
- Using the attach to dashboard action on the slo card item on slo list
page and the error budget burn down chart on the slo detail page
- SLOs only for platinum users
- Permissions
- Spaces
## TODO
- [x] Move slo stuff from observability folder to new slo plugin
- [x] Remove old slo stuff from observability folder
- [x] Update references
- [x] Fix typescript and eslint errors
- [x] Paths
- [x] Locators
- [x] Burn rate rule registration
- [x] Embeddable Alerts table configuration registration
- [x] Embeddables
- [x] Translations
- [x] Verify plugin.ts files contain all registration logic
- [x] public
- [x] server
- [x] Final cleanup for observability folder
- [x] Run tests
- [x] Application Usage (Telemetry)
- [x] Permissions
---------
Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com>
Co-authored-by: shahzad31 <shahzad31comp@gmail.com>
Co-authored-by: Coen Warmer <coen.warmer@gmail.com>
## Summary
Replaces the categorized table of links with a single link to the
observability alerting docs because this table is likely to get stale
over time (in fact, it already is stale).
The change looks like this when rendered in HTML:

Notes/open issues:
- [x] The [main alerting
page](https://www.elastic.co/guide/en/kibana/master/alerting-getting-started.html)
for Kibana now has links to related alerting documentation, but is it
clear that those links point to docs that describe how to manage alerts
from those apps? The link text seems maybe not descriptive enough and
might be causing confusion. _NO CHANGE REQUIRED: I'm going to leave this
as-is because I think the feedback we received initially about the lack
of links was before the links were added._
- [x] In the intro, I feel a thought might be missing from this
statement: "For information on creating security rules, refer to Create
a detection rule." Should this instead say something like: "Security
rules must be defined in the Security app. For more information, refer
to the security docs about creating a detection rule." _RESOLVED_
- [x] I think the descriptions about each app's alerting capabilities
should be more consistent, but I don't want to rewrite other folk's
sections. So I have aligned my description with the security section,
for better or worse. It's hard to make this info consistent when each
solution/app is doing its own thing with alerting. _DEFERRED: We will
fix inconsistencies later._
- [x] Is it correct to say "create alerts" rather than something like
"trigger alerts" or "generate alerts"? _RESOLVED: Will keep as "create"
for now since the UI is not using "trigger."_
### Checklist
n/a
cc @lcawl Can you help me sort through my list of open issues?
Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com>
Splits up the Observability AI Assistant plugin so it can be used
outside of the context of the Observability apps. Additionally, the
following changes were made:
- Add the AI Assistant button to the top nav, instead of the header
menu. This prevents unmounts and remounts (and makes it much easier to
use everywhere).
- Contextual messages now use a function request/response to inject the
data of the insight. This allows us to remove `startedFrom`.
- ML is now an runtime dependency only (via `core.plugins.onStart`).
With a static dependency, we'll run into circular dependency issues.
---------
Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>