[9.0] [Docs] Kibana 9.0 release notes (#215772) (#217071)

# Backport

This will backport the following commits from `main` to `9.0`:
- [[Docs] Kibana 9.0 release notes
(#215772)](https://github.com/elastic/kibana/pull/215772)

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

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

<!--BACKPORT
[{"author":{"name":"florent-leborgne","email":"florent.leborgne@elastic.co"},"sourceCommit":{"committedDate":"2025-04-03T16:33:15Z","message":"[Docs]
Kibana 9.0 release notes (#215772)\n\nThis PR adds 9.0 GA release notes
for Kibana.\n\n- [x] convert the [9.0.0rc1
release\nnotes](https://github.com/elastic/stack-docs/blob/9.0/docs/en/install-upgrade/release-notes/release-notes-kibana.asciidoc)\ninto
markdown to prepare for the release to the new docs site\n- [x] Add
anchors `$$kibana-PR$# Backport

This will backport the following commits from `main` to `9.0`:
{{{{raw}}}} - [[Docs] Kibana 9.0 release notes
(#215772)](https://github.com/elastic/kibana/pull/215772){{{{/raw}}}}

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

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

<!--BACKPORT to breaking changes for links from\nUpgrade Assistant. cc
@lcawl FYI\n- [x] Run release notes tool for post-rc1 changes\n- [x]
Reviews\n\n## For reviewers\n\nPreview
link:\nhttps://docs-v3-preview.elastic.dev/elastic/kibana/pull/215772/release-notes/\n\nRelease
notes are adopting a new structure from 9.0, identical across\nall
Elastic products. Pages are broken down as follows:\n- A main page
listing all new features, enhancements, and bug fixes.\nEach new release
gets added to the same page. (9.1 will be above 9.0,\netc.)\n- Subpages
for breaking changes, deprecations, and known issues.\n- There is no
longer a \"What's new page\". This is replaced with a link\nto the
blog's release announcement from this page, that will be the\n\"home
page\" for release notes in the new assembled docs
website:\nhttps://staging-website.elastic.co/docs/release-notes/ (not
visible in\nthis PR)\n\n---------\n\nCo-authored-by: wajihaparvez
<wajiha.parvez@elastic.co>","sha":"8db71f1febe4bfdbcf63dfd5a2c574ed014f44c3","branchLabelMapping":{"^v9.1.0$":"main","^v8.19.0$":"8.x","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["Team:Docs","release_note:skip","v9.0.0","docs","backport:version","v9.1.0"],"title":"[Docs]
Kibana 9.0 release
notes","number":215772,"url":"https://github.com/elastic/kibana/pull/215772","mergeCommit":{"message":"[Docs]
Kibana 9.0 release notes (#215772)\n\nThis PR adds 9.0 GA release notes
for Kibana.\n\n- [x] convert the [9.0.0rc1
release\nnotes](https://github.com/elastic/stack-docs/blob/9.0/docs/en/install-upgrade/release-notes/release-notes-kibana.asciidoc)\ninto
markdown to prepare for the release to the new docs site\n- [x] Add
anchors `$$kibana-PR$# Backport

This will backport the following commits from `main` to `9.0`:
{{{{raw}}}} - [[Docs] Kibana 9.0 release notes
(#215772)](https://github.com/elastic/kibana/pull/215772){{{{/raw}}}}

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

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

<!--BACKPORT to breaking changes for links from\nUpgrade Assistant. cc
@lcawl FYI\n- [x] Run release notes tool for post-rc1 changes\n- [x]
Reviews\n\n## For reviewers\n\nPreview
link:\nhttps://docs-v3-preview.elastic.dev/elastic/kibana/pull/215772/release-notes/\n\nRelease
notes are adopting a new structure from 9.0, identical across\nall
Elastic products. Pages are broken down as follows:\n- A main page
listing all new features, enhancements, and bug fixes.\nEach new release
gets added to the same page. (9.1 will be above 9.0,\netc.)\n- Subpages
for breaking changes, deprecations, and known issues.\n- There is no
longer a \"What's new page\". This is replaced with a link\nto the
blog's release announcement from this page, that will be the\n\"home
page\" for release notes in the new assembled docs
website:\nhttps://staging-website.elastic.co/docs/release-notes/ (not
visible in\nthis PR)\n\n---------\n\nCo-authored-by: wajihaparvez
<wajiha.parvez@elastic.co>","sha":"8db71f1febe4bfdbcf63dfd5a2c574ed014f44c3"}},"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/215772","number":215772,"mergeCommit":{"message":"[Docs]
Kibana 9.0 release notes (#215772)\n\nThis PR adds 9.0 GA release notes
for Kibana.\n\n- [x] convert the [9.0.0rc1
release\nnotes](https://github.com/elastic/stack-docs/blob/9.0/docs/en/install-upgrade/release-notes/release-notes-kibana.asciidoc)\ninto
markdown to prepare for the release to the new docs site\n- [x] Add
anchors `$$kibana-PR$# Backport

This will backport the following commits from `main` to `9.0`:
{{{{raw}}}} - [[Docs] Kibana 9.0 release notes
(#215772)](https://github.com/elastic/kibana/pull/215772){{{{/raw}}}}

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

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

<!--BACKPORT to breaking changes for links from\nUpgrade Assistant. cc
@lcawl FYI\n- [x] Run release notes tool for post-rc1 changes\n- [x]
Reviews\n\n## For reviewers\n\nPreview
link:\nhttps://docs-v3-preview.elastic.dev/elastic/kibana/pull/215772/release-notes/\n\nRelease
notes are adopting a new structure from 9.0, identical across\nall
Elastic products. Pages are broken down as follows:\n- A main page
listing all new features, enhancements, and bug fixes.\nEach new release
gets added to the same page. (9.1 will be above 9.0,\netc.)\n- Subpages
for breaking changes, deprecations, and known issues.\n- There is no
longer a \"What's new page\". This is replaced with a link\nto the
blog's release announcement from this page, that will be the\n\"home
page\" for release notes in the new assembled docs
website:\nhttps://staging-website.elastic.co/docs/release-notes/ (not
visible in\nthis PR)\n\n---------\n\nCo-authored-by: wajihaparvez
<wajiha.parvez@elastic.co>","sha":"8db71f1febe4bfdbcf63dfd5a2c574ed014f44c3"}}]}]
BACKPORT-->

Co-authored-by: florent-leborgne <florent.leborgne@elastic.co>
This commit is contained in:
Kibana Machine 2025-04-03 19:04:59 +02:00 committed by GitHub
parent 6fdc566ace
commit c853073bc2
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
5 changed files with 429 additions and 68 deletions

View file

@ -14,6 +14,7 @@ toc:
- toc: extend
subs:
ecloud: "Elastic Cloud"
ech: "Elastic Cloud Hosted"
ess: "Elasticsearch Service"
ece: "Elastic Cloud Enterprise"
serverless-full: "Elastic Cloud Serverless"

View file

@ -38,7 +38,24 @@ If you are migrating from a version prior to version 9.0, you must first upgrade
## 9.0.0 [kibana-900-breaking-changes]
::::{dropdown} Removed legacy alerting endpoints
$$$kibana-193792$$$
:::{dropdown} Access to {{kib}}'s internal APIs is blocked
Access to internal Kibana HTTP APIs is restricted from version 9.0.0. This is to ensure that HTTP API integrations with Kibana avoid unexpected breaking changes.
**Impact**<br> Any HTTP API calls to internal Kibana endpoints will fail with a 400 status code starting from version 9.0.0.
**Action**<br> **Do not integrate with internal HTTP APIs**. They may change or be removed without notice, and lead to unexpected behaviors. If you would like some capability to be exposed over an HTTP API, [create an issue](https://github.com/elastic/kibana/issues/new/choose). We would love to discuss your use case.
View [#193792](https://github.com/elastic/kibana/pull/193792).
::::
**Alerts and cases**
$$$kibana-203148$$$
::::{dropdown} Removed deprecated Alerting endpoints
* `POST /api/alerts/alert/{id?}` has been replaced by `POST /api/alerting/rule/{id?}`
* `GET /api/alerts/alert/{{id}}` has been replaced by `GET /api/alerting/rule/{{id}}`
* `PUT /api/alerts/alert/{{id}}` has been replaced by `PUT /api/alerting/rule/rule/{{id}}`
@ -61,63 +78,274 @@ If you are migrating from a version prior to version 9.0, you must first upgrade
**Action**<br> Remove references to `GET /api/alerts/{{id}}/_instance_summary` endpoint. Remove references to `GET /api/alerts/{{id}}/state` endpoint. Replace references to endpoints listed as deprecated by its replacement. See `Details` section. The updated APIs can be found in [https://www.elastic.co/docs/api/doc/kibana/group/endpoint-alerting](https://www.elastic.co/docs/api/doc/kibana/group/endpoint-alerting).
::::
:::{dropdown} Removed legacy cases endpoints
* `GET /api/cases/status` has been deprecated with no replacement. Deleted in v9.0.0
* `GET /api/cases/{{case_id}}/comments` has been replaced by `GET /api/cases/{{case_id}}/comments/_find` released in v7.13
* `GET /api/cases/<case_id>/user_actions` has been replaced by `GET /api/cases/<case_id>/user_actions/_find` released in v8.7
* `includeComments` parameter in `GET /api/cases/{{case_id}}` has been deprecated. Use `GET /api/cases/{{case_id}}/comments/_find` instead, released in v7.13
$$$kibana-198435$$$
::::{dropdown} Removed deprecated Alerting settings
:name: breaking-198435
**Impact**<br> Deprecated endpoints will fail with a 404 status code starting from version 9.0.0.
**Details**
**Action**<br> Remove references to `GET /api/cases/status` endpoint. Replace references to deprecated endpoints with the replacements listed in the breaking change details.
The following deprecated configuration settings were removed:
- `xpack.actions.customHostSettings.ssl.rejectUnauthorized`
- `xpack.actions.whitelistedHosts`
- `xpack.actions.rejectUnauthorized`
- `xpack.actions.proxyRejectUnauthorizedCertificates`
- `xpack.alerts.healthCheck`
- `xpack.alerts.invalidateApiKeysTask.interval`
- `xpack.alerts.invalidateApiKeysTask.removalDelay`
- `xpack.alerting.defaultRuleTaskTimeout`
View [#198435]({{kib-pull}}198435).
::::
:::{dropdown} Removed all security v1 endpoints
All `v1` Kibana security HTTP endpoints have been removed.
$$$kibana-208208$$$
`GET /api/security/v1/logout` has been replaced by `GET /api/security/logout` `GET /api/security/v1/oidc/implicit` has been replaced by `GET /api/security/oidc/implicit` `GET /api/security/v1/oidc` has been replaced by GET `/api/security/oidc/callback` `POST /api/security/v1/oidc` has been replaced by POST `/api/security/oidc/initiate_login` `POST /api/security/v1/saml` has been replaced by POST `/api/security/saml/callback` `GET /api/security/v1/me` has been removed with no replacement.
$$$kibana-208086$$$
**Impact**<br> Any HTTP API calls to the `v1` Kibana security endpoints will fail with a 404 status code starting from version 9.0.0. Third party OIDC and SAML identity providers configured with `v1` endpoints will no longer work.
$$$kibana-207926$$$
::::{dropdown} Removed deprecated Cases endpoints
:name: deprecation-208208
**Action**<br> Update any OIDC and SAML identity providers to reference the corresponding replacement endpoint listed above. Remove references to the `/api/security/v1/me` endpoint from any automations, applications, tooling, and scripts.
**Details**
View [#199656](https://github.com/elastic/kibana/pull/199656).
The following Cases APIs were removed:
- Get case status
- Get user actions
- Get all comments
* `GET /api/cases/status` is deleted with no replacement
* `GET /api/cases/{{case_id}}/comments` is replaced by `GET /api/cases/{{case_id}}/comments/_find`, released in v7.13
* `GET /api/cases/<case_id>/user_actions` is replaced by `GET /api/cases/<case_id>/user_actions/_find`, released in v8.7
* `includeComments` parameter in `GET /api/cases/{{case_id}}` is deprecated. Use `GET /api/cases/{{case_id}}/comments/_find` instead, released in v7.13
**Impact**<br> Using these endpoints will fail with a 404 status code starting from version 9.0.0.
**Action**<br> Remove references to the `GET /api/cases/status` endpoint. Replace references to other endpoints with the replacements listed in the breaking change details.
View [#208208]({{kib-pull}}208208), [#208086]({{kib-pull}}208086), and [#207926]({{kib-pull}}207926).
::::
:::{dropdown} Access to all internal APIs is blocked
Access to internal Kibana HTTP APIs is restricted from version 9.0.0. This is to ensure that HTTP API integrations with Kibana avoid unexpected breaking changes.
$$$kibana-197421$$$
**Impact**<br> Any HTTP API calls to internal Kibana endpoints will fail with a 400 status code starting from version 9.0.0.
$$$kibana-201313$$$
::::{dropdown} Removed ephemeral tasks from task manager, action, and alerting plugins.
:name: breaking-201313
**Action**<br> **Do not integrate with internal HTTP APIs**. They may change or be removed without notice, and lead to unexpected behaviors. If you would like some capability to be exposed over an HTTP API, [create an issue](https://github.com/elastic/kibana/issues/new/choose). We would love to discuss your use case.
**Details**
View [#193792](https://github.com/elastic/kibana/pull/193792).
Ephemeral tasks are now removed. The following settings will no longer have any effect and are now deprecated:
- `xpack.task_manager.ephemeral_tasks.enabled`
- `xpack.task_manager.ephemeral_tasks.request_capacity`
- `xpack.alerting.maxEphemeralActionsPerAlert`
No action is required on the user's end.
View [#201313]({{kib-pull}}201313) and [#197421]({{kib-pull}}197421).
::::
:::{dropdown} Remove original user and host risk scoring and all associated UIs
The original host and risk score modules have been superseded since v8.10.0 by the Risk Engine.
**Discover and dashboards**
In 9.0.0 these modules are no longer supported, the scores no longer display in the UI and all UI controls associated with managing or upgrading the legacy modules have been removed.
$$$kibana-203927$$$
::::{dropdown} Search sessions disabled by default
:name: breaking-203927
**Impact**<br> As well as the legacy risk scores not being shown in the UI, alerts no longer have the legacy risk score added to them in the `<host|user>.risk.calculated_level` and `<host|user>.risk.calculated_score_norm` fields.
**Details**<br> Starting from version 9.0.0, search sessions are disabled by default. To view, manage, and restore search sessions, the feature needs to be explicitly re-enabled.
The legacy risk scores are stored in the `ml_host_risk_score_<space_id>` and `ml_user_risk_score_<space_id>` indices, these indices will not be deleted if the user chooses not to upgrade.
**Impact**<br> Search sessions will be disabled unless they are explicitly enabled in config.yml.
Legacy risk scores are generated by the following transforms:
**Action**<br> If you would like to continue using, managing, and restoring search sessions in 9.0, youll need to re-enable the feature in your kibana.yml configuration file. If not, no action is necessary.
* `ml_hostriskscore_pivot_transform_<space_id>`
* `ml_hostriskscore_latest_transform_<space_id>`
* `ml_userriskscore_pivot_transform_<space_id>`
* `ml_userriskscore_latest_transform_<space_id>`
To re-enable search sessions, add the following in your config.yml:
If a user does not upgrade to use the Risk Engine, these transforms will continue to run in 9.0.0, but it will be up to the user to manage them.
```
data.search.sessions.enabled: true
```
**Action**<br> Upgrade to use the Risk Engine in all spaces which use the legacy risk scoring modules:
* In the main menu, go to **Security > Manage > Entity Risk Score**.
* If the original user and host risk score modules are enabled, youll see a button to "Start update". Click the button, and follow the instructions.
View [#203927](https://github.com/elastic/kibana/pull/203927).
::::
$$$kibana-202863$$$
::::{dropdown} Saved query privileges have been reworked
:name: breaking-202863
**Details**
Saved query privileges have been reworked to rely solely on a single global `savedQueryManagement` privilege, and eliminate app-specific overrides (e.g. implicit access with `all` privilege for Discover, Dashboard, Maps, and Visualize apps). This change simplifies the security model and ensures consistency in the saved query management UI across Kibana, but results in different handling of saved query privileges for new user roles, and minor breaking changes to the existing management UX.
**Impact**
The `savedQueryManagement` feature privilege now globally controls access to saved query management for all new user roles. Regardless of privileges for Discover, Dashboard, Maps, or Visualize, new user roles follow this behaviour:
- If `savedQueryManagement` is `none`, the user cannot see or access the saved query management UI or APIs.
- If `savedQueryManagement` is `read`, the user can load queries from the UI and access read APIs, but cannot save queries from the UI or make changes to queries through APIs.
- If `savedQueryManagement` is `all`, the user can both load and save queries from the UI and through APIs.
**Action**
Existing user roles that were previously implicitly granted access to saved queries through the dashboard, discover, visualize, or maps feature privileges will retain that access to prevent breaking changes. While no action is required for existing roles, its still advisable to audit relevant roles and re-save them to migrate to the latest privileges model. For new roles, ensure that the savedQueryManagement privilege is set as needed.
View [#202863](https://github.com/elastic/kibana/pull/202863).
::::
$$$kibana-202679$$$
::::{dropdown} Removed `discover:searchFieldsFromSource` setting
:name: breaking-202679
The `discover:searchFieldsFromSource` advanced setting has been removed.
**Details**
Users can no longer configure Discover to load fields from `_source`. This is an internal optimization and should have little impact on users. View [#202679](https://github.com/elastic/kibana/pull/202679).
::::
$$$kibana-201254$$$
::::{dropdown} Removed the legacy table in Discover
:name: breaking-201254
**Details**
It's no longer possible to use the legacy documents table in Discover. To that effect, the `doc_table:legacy` and `truncate:maxHeight` deprecated advanced settings have been removed. View [#201254]({{kib-pull}}201254).
**Impact**
This is primarily a UX change and should have little impact on Discover users.
::::
$$$kibana-202250$$$
::::{dropdown} Scripted field creation has been disabled in the Data Views management page
:name: breaking-202250
**Details**
The ability to create new scripted fields has been removed from the *Data Views* management page in 9.0. Existing scripted fields can still be edited or deleted, and the creation UI can be accessed by navigating directly to `/app/management/kibana/dataViews/dataView/{dataViewId}/create-field`, but we recommend migrating to runtime fields or ES|QL queries instead to prepare for removal.
**Impact**
It will no longer be possible to create new scripted fields directly from the *Data Views* management page.
**Action**
Migrate to runtime fields or ES|QL instead of creating new scripted fields. Existing scripted fields can still be edited or deleted.
::::
$$$kibana-162389$$$
::::{dropdown} Removed `visualization:colorMapping` advanced setting
:name: kibana-deprecation-197802
**Details**
The `visualization:colorMapping` advanced setting for TSVB and Visualize charts has been removed. You can switch to Lens charts, which offer a more advanced, per-chart color mapping feature with enhanced configuration options. View [#162389](https://github.com/elastic/kibana/pull/162389).
::::
**Elastic Observability solution**
$$$kibana-202278$$$
::::{dropdown} Profiling now defaults to 19Hz sampling frequency
:name: breaking-202278
**Details**
View [#202278]({{kib-pull}}202278).
::::
$$$kibana-203996$$$
::::{dropdown} Disabled log stream and settings pages
:name: deprecation-203996
**Details**
Logs Stream and the logs settings page in Observability are removed. Use the Discover application, which now offers a contextual experience for logs, to explore your logs. The logs stream panel in dashboards is removed, use Discover sessions instead.
View [#203996]({{kib-pull}}203996).
::::
$$$kibana-203685$$$
::::{dropdown} Removed Logs Explorer
:name: deprecation-203685
**Details**
Logs Explorer has been removed. Instead, you can use Discover, that was improved to provide an optimal logs exploration experience. View [#203685]({{kib-pull}}203685).
::::
**Elastic Security solution**
For the Elastic Security 9.0.0 release information, refer to [Elastic Security Solution Release Notes](docs-content://release-notes/elastic-security/index.md).
**Data ingestion and Fleet**
$$$kibana-198799$$$
::::{dropdown} Removed deprecated settings API endpoints in Fleet
:name: breaking-198799
**Details**
- `GET/DELETE/POST enrollment-api-keys`: removed in favor of `GET/DELETE/POST enrollment_api_keys`
- Removed `list` property from `GET enrollment_api_keys` response in favor of `items`
- `GET/POST /settings`: `fleet_server_hosts` was removed from the response and body
View [#198799]({{kib-pull}}198799).
::::
$$$kibana-198313$$$
::::{dropdown} Removed deprecated Fleet APIs for agents endpoints
:name: breaking-198313
**Details**
Removed API endpoints:
- `POST /service-tokens` in favor of `POST /service_tokens`
- `GET /agent-status` in favor `GET /agent_status`
- `PUT /agents/:agentid/reassign` in favor of `POST /agents/:agentid/reassign`
Removed deprecated parameters or responses:
- Removed `total` from `GET /agent_status` response
- Removed `list` from `GET /agents` response
View [#198313]({{kib-pull}}198313).
::::
$$$kibana-198434$$$
::::{dropdown} Removed deprecated `epm` Fleet APIs
:name: breaking-198434
**Details**
- Removed `GET/POST/DELETE /epm/packages/:pkgkey` APIs in favor of `GET/POST/DELETE /epm/packages/:pkgName/:pkgVersion`
- Removed `experimental` query parameter in `GET /epm/packages` and `GET /epm/categories`
- Removed `response` in response in `* /epm/packages*` and `GET /epm/categories`
- Removed `savedObject` in `/epm/packages` response in favor of `installationInfo`
View [#198434]({{kib-pull}}198434).
::::
$$$kibana-199226$$$
::::{dropdown} Removed deprecated `topics` property for kafka output in favor of the `topic` property
:name: breaking-199226
**Details**
Removed deprecated property `topics` from output APIs in response and requests (`(GET|POST|PUT) /api/fleet/outputs`) in favor of the `topic` property. View [#199226]({{kib-pull}}199226).
::::
$$$kibana-196887$$$
::::{dropdown} Limit pagination size to 100 when retrieving full policy or `withAgentCount` in Fleet
:name: breaking-196887
**Details**
In addition to the new pagination limit size of 100, retrieving agent policies without agent count is now the new default behavior, and a new query parameter `withAgentCount` was added to retrieve the agent count.
View [#196887]({{kib-pull}}196887).
::::
**Reporting**
$$$kibana-200834$$$
:::{dropdown} Reporting uses Kibana feature privileges only to control access to reporting features
In 8.x, the default access control model was based on a built-in role called `reporting_user`, which granted access to reporting features. Since 7.13, the preferred model for controlling access to reporting features has been Kibana feature privileges, enabled by setting `xpack.reporting.roles.enabled: false` in `kibana.yml`.
@ -133,12 +361,56 @@ In 9.0.0, the `xpack.reporting.roles.*` settings will be ignored.
View [#200834](https://github.com/elastic/kibana/pull/200834).
::::
:::{dropdown} Saved query privileges have been reworked
Saved query privileges have been reworked to rely solely on a single global `savedQueryManagement` privilege, and eliminate app-specific overrides (e.g. implicit access with `all` privilege for Discover, Dashboard, Maps, and Visualize apps). This change simplifies the security model and ensures consistency in the saved query management UI across Kibana, but results in different handling of saved query privileges for new user roles, and minor breaking changes to the existing management UX.
$$$kibana-199033$$$
::::{dropdown} Removed the "Download CSV" export type functionality
:name: breaking-199033
**Impact**<br> The `savedQueryManagement` feature privilege now globally controls access to saved query management for all new user roles. Regardless of privileges for Discover, Dashboard, Maps, or Visualize, new user roles follow this behaviour: . If `savedQueryManagement` is `none`, the user cannot see or access the saved query management UI or APIs. . If `savedQueryManagement` is `read`, the user can load queries from the UI and access read APIs, but cannot save queries from the UI or make changes to queries through APIs. . If `savedQueryManagement` is `all`, the user can both load and save queries from the UI and through APIs.
**Details**
**Action**<br> Existing user roles that were previously implicitly granted access to saved queries through the dashboard, discover, visualize, or maps feature privileges will retain that access to prevent breaking changes. While no action is required for existing roles, its still advisable to audit relevant roles and re-save them to migrate to the latest privileges model. For new roles, ensure that the savedQueryManagement privilege is set as needed.
The functionality that allowed to download a CSV export from a dashboard's saved search panel without creating a report has been removed. To export CSV data from a dashboard panel, you may use the action menu of a saved search panel in a dashboard to generate a CSV report, and download the report from a toast popup when the report has finished generating.
View [#202863](https://github.com/elastic/kibana/pull/202863).
::::
View [#199033]({{kib-pull}}199033).
::::
**Kibana management**
$$$kibana-214051$$$
:::{dropdown} Upgrade Assistant's reindexing and batch reindexing APIs are now internal
Upgrade Assistant public APIs for reindexing and batch reindexing have been made internal. You should instead use Elasticsearchs native reindexing APIs for programmatic reindexing.
View [#214051]({{kib-pull}}214051).
:::
**Kibana security**
$$$kibana-199656$$$
:::{dropdown} Removed v1 Security endpoints
All `v1` Kibana security HTTP endpoints have been removed.
`GET /api/security/v1/logout` has been replaced by `GET /api/security/logout` `GET /api/security/v1/oidc/implicit` has been replaced by `GET /api/security/oidc/implicit` `GET /api/security/v1/oidc` has been replaced by GET `/api/security/oidc/callback` `POST /api/security/v1/oidc` has been replaced by POST `/api/security/oidc/initiate_login` `POST /api/security/v1/saml` has been replaced by POST `/api/security/saml/callback` `GET /api/security/v1/me` has been removed with no replacement.
**Impact**<br> Any HTTP API calls to the `v1` Kibana security endpoints will fail with a 404 status code starting from version 9.0.0. Third party OIDC and SAML identity providers configured with `v1` endpoints will no longer work.
**Action**<br> Update any OIDC and SAML identity providers to reference the corresponding replacement endpoint listed above. Remove references to the `/api/security/v1/me` endpoint from any automations, applications, tooling, and scripts.
View [#199656](https://github.com/elastic/kibana/pull/199656).
::::
$$$kibana-213123$$$
::::{dropdown} Removed default `--openssl-legacy-provider`
:name: breaking-213123
**Details**
Legacy OpenSSL algorithms have been disabled by default. Further information on which algorithms can be found at https://docs.openssl.org/3.0/man7/OSSL_PROVIDER-legacy. These can be re-enabled by adding `--openssl-legacy-provider` to $KBN_PATH_CONF/node.options. View [#213123]({{kib-pull}}213123).
::::
$$$kibana-203856$$$
::::{dropdown} Removed `TLSv1.1` from the default set of supported protocols
:name: deprecation-203856
**Details**
View [#203856]({{kib-pull}}203856).
::::

View file

@ -36,6 +36,20 @@ Review the deprecated functionality for Kibana. While deprecations have no immed
## 9.0.0 [kibana-900-deprecations]
::::{dropdown} HTTP/2 becomes the default protocol when TLS is enabled
:name: known-issue-204384
**Details**<br> Starting from version 9.0.0, HTTP/2 is the default protocol when TLS is enabled. This ensures improved performance and security. However, if HTTP/2 is not enabled or TLS is not configured, a deprecation warning will be added.
**Impact**<br> Systems that have TLS enabled but dont specify a protocol will start using HTTP/2 in 9.0.0. Systems that use HTTP/1 or dont have TLS configured will get a deprecation warning.
**Action**<br> Verify that TLS is properly configured by enabling it and providing valid certificates in the settings. Test your system to ensure that connections are established securely over HTTP/2.
If your Kibana server is hosted behind a load balancer or reverse proxy we recommend testing your deployment configuration before upgrading to 9.0.
View [#204384](https://github.com/elastic/kibana/pull/204384).
::::
::::{dropdown} Scripted field creation has been disabled in the Data Views management page
The ability to create new scripted fields has been removed from the **Data Views** management page in 9.0. Existing scripted fields can still be edited or deleted, and the creation UI can be accessed by navigating directly to `/app/management/kibana/dataViews/dataView/{{dataViewId}}/create-field`, but we recommend migrating to runtime fields or ES|QL queries instead to prepare for removal.

View file

@ -27,4 +27,67 @@ To check for security updates, go to [Security announcements for the Elastic sta
### Features and enhancements [kibana-900-features-enhancements]
### Fixes [kibana-900-fixes]
**Theme**:
{{kib}} 9.0 introduces a more modern and refined look and feel. This new theme brings a vibrant color palette, improved dark mode support (including honoring your system preferences), and more that will bring your data in Kibana to life.
**Data ingestion and Fleet**:
* New setting allowing automatic deletion of unenrolled agents in Fleet settings [#195544]({{kib-pull}}195544).
* Improves filtering and visibility of `Uninstalled` and `Orphaned` agents in Fleet, by differentiating them from `Offline` agents [#205815]({{kib-pull}}205815).
* Introduces air-gapped configuration for bundled packages [#202435]({{kib-pull}}202435).
* Updates removed parameters of the Fleet -> Logstash output configurations [#210115]({{kib-pull}}210115).
* Updates max supported package version [#196675]({{kib-pull}}196675).
**Elastic Observability solution**:
* Alerting rules:
* Adds the reason message to the rules recovery context [#211411]({{kib-pull}}211411).
* SLOs:
* Split Up SLO Details from Overview. Static data that describes the SLO definition has been moved to a separate tab, making charts and valuable information about SLIs faster to access. [#212826]({{kib-pull}}212826).
* SpaceId can now be referenced in document-based access filters for roles to restrict a user's access to SLI data for spaces where they do not have access [#214278]({{kib-pull}}214278).
* Adds a link to the location badge on synthetics SLOs that sends to the Monitors page with a filter applied that matches the location of the origin SLO [#210695]({{kib-pull}}210695).
* Synthetics:
* Ensures 404 is returned only if `screenshot_ref` is truly not present [#215241]({{kib-pull}}215241).
**Elastic Security solution**:
* For the Elastic Security 9.0.0 release information, refer to [Elastic Security Solution Release Notes](docs-content://release-notes/elastic-security/index.md).
**Kibana security**:
* Updates `js-yaml` to `4.1.0` [#190678]({{kib-pull}}190678).
**Machine Learning**:
* Removes use of `ignore_throttled` [#199107]({{kib-pull}}199107).
**Platform**:
* Adds warning header to deprecated API endpoints [#205926]({{kib-pull}}205926).
* Sets HTTP2 as default if SSL is enabled and adds deprecation log if SSL is not enabled or protocol is set to HTTP1 [#204384]({{kib-pull}}204384).
### Fixes [kibana-900-fixes]
**Dashboards & Visualizations**:
* Fixes an issue in Lens where colors behind text were not correctly assigned, such as in `Pie`, `Treemap` and `Mosaic` charts [#209632]({{kib-pull}}209632).
* Fixes an issue where changing the *Ignore timeout results* control setting wasn't taken into account [#208611]({{kib-pull}}208611).
* Force returns 0 on empty buckets on count if `null` flag is disabled [#207308]({{kib-pull}}207308).
* Fixes infinite loading time for some charts due to search context reload [#203150]({{kib-pull}}203150).
**Data ingestion and Fleet**:
* Fixes overlay for Integrations on mobile [#215312]({{kib-pull}}215312).
* Update minimum package spec version to 2.3 [#214600]({{kib-pull}}214600).
* Fixes a validation error happening on multi-text input fields [#205768]({{kib-pull}}205768).
**Elastic Observability solution**:
* Alerting rules:
* Fixes chat on the Alerts page [#197126]({{kib-pull}}197126).
* Infrastructure Inventory:
* Fixes an error that could prevent the Observability Infrastructure Inventory view from loading after an upgrade due to missing versioning on inventory_view_saved_object [#207007]({{kib-pull}}207007).
* SLOs:
* Fixes an issue where clicking on the name badge for a synthetics monitor on an SLO details page would lead to a page that failed to load monitor details [#210695]({{kib-pull}}210695).
* Allows use of wildcard filters in SLO queries when DSL filters are also used [#213119]({{kib-pull}}213119).
* Ensures that when an SLO is created, its ID is correctly verified to be unique across all spaces [#214496]({{kib-pull}}214496).
**Elastic Security solution**:
* For the Elastic Security 9.0.0 release information, refer to [Elastic Security Solution Release Notes](docs-content://release-notes/elastic-security/index.md).
**Platform**:
* Fixes several interface inconsistencies on the Space creation and settings pages [#197303]({{kib-pull}}197303).

View file

@ -4,36 +4,47 @@ navigation_title: "Known issues"
# Kibana known issues
% What needs to be done: Write from scratch
## 9.0.0
::::{dropdown} Now HTTP/2 is the default protocol when TLS is enabled and a deprecation warning appears if HTTP/2 is not enabled or TLS is not configured (9.0.0)
:name: known-issue-204384
::::{dropdown} Issue with follower indices during upgrade
:name: ua-follower-indices
**Details**<br> Starting from version 9.0.0, HTTP/2 is the default protocol when TLS is enabled. This ensures improved performance and security. However, if HTTP/2 is not enabled or TLS is not configured, a deprecation warning will be added.
**Details**
**Impact**<br> Systems that have TLS enabled but dont specify a protocol will start using HTTP/2 in 9.0.0. Systems that use HTTP/1 or dont have TLS configured will get a deprecation warning.
In Upgrade Assistant, follower indices may be identified to be reindexed. However, this is not a valid migration path and will result in an error. Instead, the recommendation is to mark as read-only and unfollow the leader index. Cross-cluster replication on that index will not be possible.
**Action**<br> Verify that TLS is properly configured by enabling it and providing valid certificates in the settings. Test your system to ensure that connections are established securely over HTTP/2.
If your Kibana server is hosted behind a load balancer or reverse proxy we recommend testing your deployment configuration before upgrading to 9.0.
View [#204384](https://github.com/elastic/kibana/pull/204384).
::::
::::{dropdown} Search sessions disabled by default (9.0.0)
:name: known-issue-206998
**Details**<br> Starting from version 9.0.0, search sessions are disabled by default. To view, manage, and restore search sessions, the feature needs to be explicitly re-enabled.
**Impact**<br> Search sessions will be disabled unless they are explicitly enabled in config.yml.
**Action**<br> If you would like to continue using, managing, and restoring search sessions in 9.0, youll need to re-enable the feature in your kibana.yml configuration file. If not, no action is necessary.
To re-enable search sessions, add the following in your config.yml:
```
data.search.sessions.enabled: true
```
Find additional information in the [upgrade documentation](docs-content://deploy-manage/upgrade/prepare-to-upgrade.md#upgrade-ccr-data-streams).
::::
::::{dropdown} Unexpected deprecation warnings for APM indices during upgrade
:name: known-issue-apm-upgrade-on-ech
**Details**
When upgrading an {{ech}} deployment to {{stack}} 9.0.0, you may see deprecation warnings for APM indices, even if you are not using APM.
If your deployment ever ran on {{stack}} 7.x, these APM indices have been created automatically at that time, even if you didn't use APM. In this case, these indices exist and are empty.
**Action**
To proceed with the upgrade to 9.0.0, you must resolve all deprecation notices for indices beginning with the name `apm-7` by selecting **Mark as read-only** for each of them.
::::
::::{dropdown} Upgrade Assistant - Rollup jobs need to be stopped before rollup indices are reindexed
:name: known-issue-211850
**Details**
Rollup indices, like all indices, created in 7.x or earlier need to be reindexed in preparation for migration to 9.0. However, in addition to the normal reindex process the rollup job also needs to be accounted for.
**Action**
Stop the rollup job before reindexing begins otherwise there may be a gap in rollup data. You can restart the job can after reindexing is complete.
This needs to be performed manually until addressed in the upgrade assistant code.
View [#211850](https://github.com/elastic/kibana/issues/211850).
::::