[[release-notes]]
= Release notes

[partintro]
--
// Use these for links to issue and pulls. Note issues and pulls redirect one to
// each other on Github, so don't worry too much on using the right prefix.
:issue: https://github.com/elastic/kibana/issues/
:pull: https://github.com/elastic/kibana/pull/

Review important information about the {kib} 7.x releases.

* <<release-notes-7.13.2>>
* <<release-notes-7.13.1>>
* <<release-notes-7.13.0>>
* <<release-notes-7.12.1>>
* <<release-notes-7.12.0>>
* <<release-notes-7.11.2>>
* <<release-notes-7.11.1>>
* <<release-notes-7.11.0>>
* <<release-notes-7.10.2>>
* <<release-notes-7.10.1>>
* <<release-notes-7.10.0>>
* <<release-notes-7.9.3>>
* <<release-notes-7.9.2>>
* <<release-notes-7.9.1>>
* <<release-notes-7.9.0>>
* <<release-notes-7.8.1>>
* <<release-notes-7.8.0>>
* <<release-notes-7.7.1>>
* <<release-notes-7.7.0>>
* <<release-notes-7.6.2>>
* <<release-notes-7.6.1>>
* <<release-notes-7.6.0>>
* <<release-notes-7.5.2>>
* <<release-notes-7.5.1>>
* <<release-notes-7.5.0>>
* <<release-notes-7.4.2>>
* <<release-notes-7.4.1>>
* <<release-notes-7.4.0>>
* <<release-notes-7.3.2>>
* <<release-notes-7.3.1>>
* <<release-notes-7.3.0>>
* <<release-notes-7.2.1>>
* <<release-notes-7.2.0>>
* <<release-notes-7.1.1>>
* <<release-notes-7.1.0>>
* <<release-notes-7.0.1>>
* <<release-notes-7.0.0>>
* <<release-notes-7.0.0-rc2>>
* <<release-notes-7.0.0-rc1>>
* <<release-notes-7.0.0-beta1>>
* <<release-notes-7.0.0-alpha2>>
* <<release-notes-7.0.0-alpha1>>

--

[[release-notes-7.13.2]]
== {kib} 7.13.2

coming::[7.13.2]

The 7.13.2 release includes the following bug fixes.

[float]
[[fixes-v7.13.2]]
=== Bug Fixes
Fleet::
* Fixes the double install button on the Integrations page {kibana-pull}101511[#101511]
* Fixes packages being upgraded accidentally after adding to policy {kibana-pull}101542[#101542]
Lens & Visualizations::
* Fixes an issue where upgrading from 7.12.1 to 7.13.0 breaks *TSVB* vizualizations that don't have a defined timefield {kibana-pull}100864[#100864]
Logs::
* Fixes the filter button in the log entry details flyout {kibana-pull}101011[#101011]
Machine Learning::
* Updates datafeed_high_count_network_denies.json {kibana-pull}101681[#101681]
* Fixes management app race condition {kibana-pull}100785[#100785]
* Fixes missing selected-interval styling for Explorer anomaly charts and 
mismatched scheduled markers styling {kibana-pull}100272[#100272]
Maps::
* Fixes an issue where EMS Boundaries with joins were unable to render {kibana-pull}101604[#101604]
Sharing::
* Fixes the embeddables migrate function {kibana-pull}101470[#101470]

[discrete]
[[known-issue-7.13.12]]
=== Known issue

*TSVB visualizations with annotations* can't be created as the index pattern dropdown on the *Annotations* tab is missing. 
The existing *TSVB* visualizations with annotations work fine. 
If you want to create *TSVB* visualizations with annotations, we recommend that you wait for the {kib} 7.13.3 release, then upgrade. 
For more information, refer to {kibana-issue}102180[#102180].

[[release-notes-7.13.1]]
== {kib} 7.13.1

[discrete]
[[known-issue-7.13.1]]
=== Known issue

Kibana instances with dashboard panels that are `by value` and have drilldowns may fail to start after upgrade.  
We recommend that users who have been using drilldowns in Kibana wait for 7.13.2 to upgrade.
For more information, refer to {kibana-issue}101430[#101430].

[float]
[[fixes-v7.13.1]]
=== Bug Fixes
Alerting::
* Adds ignore_above to alerts params mappings to handle immense params {kibana-pull}100726[#100726]
Dashboard::
* Moves the by value migrations for 7.13 {kibana-pull}100622[#100622]
* Fixes JSON editor height in Inspector on Safari {kibana-pull}99032[#99032]
Fleet::
* Adds missing install button for integrations that aren't installed yet {kibana-pull}100370[#100370]
Machine Learning::
* Fixes field used in remote desktop protocol (RDP) anomaly detection job to event.type {kibana-pull}100000[#100000]
Management::
* Fixes large integer formatting with decimal part using numeral-js {kibana-pull}99609[#99609]
Querying & Filtering::
* Using a range query in KQL against a scripted number field now works properly {kibana-pull}99554[#99554]
Sharing::
* Adds appropriate table caption for table listing generated reports {kibana-pull}100118[#100118]
Security::
* Gracefully handle malformed index patterns on role management pages {kibana-pull}99918[#99918]

[[release-notes-7.13.0]]
== {kib} 7.13.0

For information about the {kib} 7.13.0 release, review the following information.

[float]
[[security-update-7.13.0]]
=== Security updates

Review the security updates that were found in previous versions of {kib}.

[float]
[[url-redirection-flaw]]
==== URL redirection flaw

*Details* +
In {kib} 7.12.1 and earlier, when a logged in user visits a maliciously created URL, {kib} could redirect users to an arbitrary website. https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-22141[CVE-2021-22141]

*Solution* +
Upgrade to {kib} 7.13.0.

[float]
[[reporting-vulnerability]]
==== Reporting vulnerability

*Details* +
In {kib} 7.0.0 to 7.12.1, To generate downloadable reports, {kib} uses an embedded version of the Chromium browser. When a user with permissions to generate reports is able to render arbitrary HTML with the browser, they may be able to leverage known Chromium vulnerabilities to conduct further attacks. {kib} contains a number of protections to prevent the browser from rendering arbitrary content. https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-22142[CVE-2021-22142]

*Solution* +
Upgrade to {kib} 7.13.0.

[float]
[[known-issue-7.13.0]]
=== Known issues

.*Dev Tools* displays a 403 error with the `Access to Fleet API require the superuser role` message
[%collapsible]
====
*Details* +
When pages load, {kib} calls the Fleet packages API. For more information, refer to {kibana-issue}100285[#100285].

*Impact* +
In some cases, *Dev Tools* displays a 403 error with the `Access to Fleet API require the superuser role` message, but you can continue to access *Fleet*.
====

.{agent}s unenrolling from a self-managed {fleet-server} hang at "Updating" and API keys are not invalidated
[%collapsible]
====
*Details*  +
In {kib}, when you unenroll an {agent} from a self-managed {fleet-server},
the status may hang at "Updating". This problem only occurs with {agent}s
connecting to a {fleet-server} started with a service token.

*Impact* +
You must do a force unenroll to remove the {agent} and invalidate the API keys,
or unenrollment hangs indefinitely. https://github.com/elastic/fleet-server/issues/380[#380]
====

.*TSVB* references to the index pattern are not embedded
[%collapsible]
====
*Details*  +
*TSVB* references to the index pattern are not embedded when exporting a saved object. This issue was reported at https://github.com/elastic/kibana/issues/103059[#103059] and was originally related to moving a *TSVB* visualization 
from one space to another. It should be noted that there may be different variants of this problem due to the fact 
that the used index pattern is not exported correctly.

*Workaround* +
You should export the used index patterns separately.
====

[float]
[[breaking-changes-7.13.0]]
=== Breaking changes

Breaking changes can prevent your application from optimal operation and performance.
Before you upgrade to 7.13.0, review the breaking changes, then mitigate the impact to your application.

// tag::notable-breaking-changes[]

[discrete]
[[breaking-97206]]
.Remove Elastic Agent routes and related services
[%collapsible]
====
*Details* +
Elastic Agents now use the Fleet Server to enroll agents, get agent policies, collect status information, and more. For more information, refer to {kibana-pull}97206[#97206].

*Impact* +
To run and manage Elastic Agents, use the Fleet Server instead of {kib}. For more information, refer to {fleet-guide}/fleet-server.html[Fleet Server].
====
      
[discrete]
[[breaking-95789]]
.Invalidate API keys for existing agents
[%collapsible]
====
*Details* +
The existing agents in {kib} are not migrated as part of the migration to Fleet. For more information, refer to {kibana-pull}95789[#95789].

*Impact* +
The existing agent API keys are invalidated and display as `Inactive` on the *Agents* page.
====

[discrete]
[[breaking-98039]]
.Disable Explore underlying data context menu
[%collapsible]
====
*Details* +
The *Explore underlying data* context menu on dashboards is now disabled by default. For more information, refer to {kibana-pull}98039[#98039].

*Impact* +
To enable the *Explore underlying data* context menu, set `xpack.discoverEnhanced.actions.exploreDataInContextMenu.enabled` to `true` in kibana.yml. 
====

// end::notable-breaking-changes[]


[float]
[[deprecations-7.13.0]]
=== Deprecations

The following functionality is deprecated in 7.13.0, and will be removed in 8.0.0.
Deprecated functionality does not have an immediate impact on your application, but we strongly recommend
you make the necessary updates after you upgrade to 7.13.0.

[discrete]
[[deprecation-97574]]
.Deprecates scripted fields
[%collapsible]
====
*Details* +
Scripted fields are deprecated. For more information, refer to {kibana-pull}97574[#97574].

*Impact* +
For greater flexibility and Painless scripting language support, use runtime fields.
====

[discrete]
[[deprecation-96517]]
.Deprecates the location map from Uptime
[%collapsible]
====
*Details* +
The location map is removed from the *Uptime* monitor page. For more information, refer to {kibana-pull}96517[#96517].

*Impact* +
For monitoring details, refer to the *Availability* and *Last check* columns.
====

[discrete]
[[deprecation-96398]]
.Deprecates migrations.enableV2 setting
[%collapsible]
====
*Details* +
Deprecates the `migrations.enableV2` setting. For more information, refer to {kibana-pull}96398[#96398].
====

[discrete]
[[deprecation-95510]]
.Deprecates the /src/legacy directory
[%collapsible]
====
*Details* +
The legacy `/src/legacy` directory is deprecated. For more information, refer to {kibana-pull}95510[#95510].

*Impact* +
Use the `/src/legacy` directory in the Bazel build system.
====

[discrete]
[[deprecation-94238]]
.Deprecates legacy logging dest, json, verbosity, and rotate configurations
[%collapsible]
====
*Details* +
Deprecates legacy logging configuration in favor of the new {kib} Platform logging system. For example, deprecates `logging.json` and `logging.rotate.*`. For more information, refer to {kibana-pull}94238[#94238].

*Impact* +
When `logging.root.appenders` is configured and won't show a deprecation warning, `--verbose` replaces the legacy-format logs with the {kib} platform log format.
When {kib} platform logging is not configured, `--verbose` sets `logging.verbose: true` and provides a warning for the deprecated configuration.
====

[discrete]
[[deprecation-93977]]
.Deprecates old alerts APIs
[%collapsible]
====
*Details* +
The `/api/alerts/*` APIs are deprecated and will be removed in 8.0. For more information, refer to {kibana-pull}93977[#93977].

*Impact* +
Use the new `/api/alerting/*` APIs.
====

[discrete]
[[deprecation-92451]]
.Deprecates old actions APIs
[%collapsible]
====
*Details* +
The old `/api/actions/*` APIs are deprecated and will be removed in 8.0. For more information, refer to {kibana-pull}92451[#92451].

*Impact* +
Use the new `/api/actions/*` APIs.
====

[float]
[[features-7.13.0]]
=== Features
{kib} 7.13.0 adds the following new and notable features.

Discover::
* Adds runtime field editor to Discover {kibana-pull}96762[#96762]
* Integration of Runtime Fields editor - edit operation {kibana-pull}95498[#95498]
Elastic Security::
For the Elastic Security 7.13.0 release information, refer to {security-guide}/release-notes.html[_Elastic Security Solution Release Notes_].
Kibana Home & Add Data::
* Update Cloud plugin to handle new config in kibana.yml {kibana-pull}95569[#95569]
Lens & Visualizations::
* Visualize runtime fields in *TSVB* {kibana-pull}95772[#95772]
* Enables url drilldowns for range selection in *TSVB* {kibana-pull}95296[#95296]
* Enable `dual mode`, support index patterns and strings in *TSVB* {kibana-pull}92812[#92812]
Machine Learning::
* Anomaly detection rule lookback interval improvements {kibana-pull}97370[#97370]
* Adds network ML module with four ML jobs for ECS network data {kibana-pull}96480[#96480]
* Adds runtime support for anomaly charts & add composite validations {kibana-pull}96348[#96348]
* Data frame analytics: Adds support for runtime fields {kibana-pull}95734[#95734]
* Adds Anomaly Explorer charts embeddable {kibana-pull}94396[#94396]
* Data frame analytics creation wizard: Add validation step {kibana-pull}93478[#93478]
* Adding support for saved object based ML modules {kibana-pull}92855[#92855]
* Adds search time runtime support for index based Data Visualizer {kibana-pull}95252[#95252]
Metrics::
* Enhanced metrics widget on Observability overview page {kibana-pull}90879[#90879]
Platform::
* Enable osquery plugin {kibana-pull}97422[#97422]
* Client side search cache {kibana-pull}92439[#92439]
Security::
* Added ability to create API keys {kibana-pull}92610[#92610]

For more information about the features introduced in 7.13.0, refer to <<whats-new,What's new in 7.13>>.

[[enhancements-and-bug-fixes-v7.13.0]]
=== Enhancements and bug fixes

For detailed information about the 7.13.0 release, review the enhancements and bug fixes.

[float]
[[enhancement-v7.13.0]]
=== Enhancements
Alerting::
* Adds proxyBypassHosts and proxyOnlyHosts Kibana config keys {kibana-pull}95365[#95365]
* Make alerts list sortable by name and status {kibana-pull}93426[#93426]
* Adds Connectors APIs and deprecates old Actions APIs as per the new Alerting terminology {kibana-pull}92451[#92451]
* Adds a Reason indicator to the onClose handler in AddAlert and EditAlert {kibana-pull}92149[#92149]
* Ability to filter alerts by string parameters {kibana-pull}92036[#92036]
APM::
* Adds agent central configuration for PHP agent {kibana-pull}97462[#97462]
* Displays a column for service name in the logs tab in trace overview {kibana-pull}97451[#97451]
* Moves the transaction type selector to the search bar {kibana-pull}96685[#96685]
* Service overview: Instances table metadata foldout {kibana-pull}96467[#96467]
* Instances latency distribution chart tooltips and axis fixes {kibana-pull}95577[#95577]
* Color by span type when there's only one service {kibana-pull}90424[#90424]
* Break down error table api removing the sparklines {kibana-pull}89138[#89138]
Canvas::
* Fixes bug with plot sorting {kibana-pull}98084[#98084]
* Creates a Labs service for Presentation Solutions {kibana-pull}95435[#95435]
Dashboard::
* Only Apply Explicit Input On Copy To {kibana-pull}98083[#98083]
* Makes *Lens* the default editor for creating new panels {kibana-pull}96181[#96181]
* Adds shared toolbar component {kibana-pull}94139[#94139]
* Adds ability to clone drilldowns {kibana-pull}91959[#91959]
Discover::
* Do not set fieldsFromSource when not using fields API {kibana-pull}98575[#98575]
* Fixes wrong sort order with empty sort URL parameter {kibana-pull}97434[#97434]
* Adds an Options menu for switching between the two table modes {kibana-pull}97120[#97120]
* Discover: Limit document table rendering {kibana-pull}96765[#96765]
* Adds runtime field editor to Discover {kibana-pull}96762[#96762]
* Integration of Runtime Fields editor - edit operation {kibana-pull}95498[#95498]
* Improve sidebar rendering for large field lists {kibana-pull}95038[#95038]
Elastic Security::
For the Elastic Security 7.13.0 release information, refer to {security-guide}/release-notes.html[_Elastic Security Solution Release Notes_].
Fleet::
* Hide Fleet Server policies in standalone agent instructions {kibana-pull}98787[#98787]
* Adds troubleshooting link to setup instructions {kibana-pull}98531[#98531]
* Adds ability to specify which integration variables should be configurable {kibana-pull}97163[#97163]
* Configure Fleet packages and integrations through endpoint {kibana-pull}94509[#94509]
* Adds submitOnBlur functionality to QueryStringInput {kibana-pull}93819[#93819]
Kibana Home & Add Data::
* Update Cloud plugin to handle new config in kibana.yml {kibana-pull}95569[#95569]
Lens & Visualizations::
* Advanced JSON input in visualize editor is always light scheme {kibana-pull}97232[#97232]
* Better defaults for top values odering in *Lens* {kibana-pull}97099[#97099]
* Visualize runtime fields in *TSVB* {kibana-pull}95772[#95772]
* Enables url drilldowns for range selection in *TSVB* {kibana-pull}95296[#95296]
* Allow import/export of timelion-sheet saved object in *Timelion* {kibana-pull}95048[#95048]
* Allow modifying curve type for line/area series charts in *Lens* {kibana-pull}94675[#94675]
* Carry previous configured formatter in Last value in *Lens* {kibana-pull}93784[#93784]
* Integrates the color service in *TSVB* {kibana-pull}93749[#93749]
* Change the default mode from last value to entire timerange in *TSVB* {kibana-pull}93608[#93608]
* Enable `dual mode`, support index patterns and strings in *TSVB* {kibana-pull}92812[#92812]
* Implement filtered metric in *Lens* {kibana-pull}92589[#92589]
* Show an indicator when using Last Value mode in *TSVB* {kibana-pull}91977[#91977]
* Adds the runtime field editor to *Lens* {kibana-pull}91882[#91882]
* Introduces new chart switcher in *Lens* {kibana-pull}91844[#91844]
* Control round and decimal places in Gauge Visualization when using aggregate functions like average {kibana-pull}91293[#91293]
* Integrates legend color picker with the eui palette {kibana-pull}90589[#90589]
* Transpose columns in *Lens* {kibana-pull}89748[#89748]
* Support for number, date and IP range data types {kibana-pull}76971[#76971]
Logs::
* Support runtime fields in the log threshold alert {kibana-pull}97603[#97603]
* Display and query runtime fields from KIPs in the log stream and entry flyout {kibana-pull}97467[#97467]
* Adds error.stack_trace to the default log formatter {kibana-pull}94906[#94906]
* Support Kibana index patterns in the Logs app settings {kibana-pull}94849[#94849]
Machine Learning::
* Fixes pagination and sorting on trained models list page {kibana-pull}99061[#99061]
* Data Frame Analytics results: ensure model evaluation stats are shown {kibana-pull}97486[#97486]
* UI enhancements for anomaly detection rule type {kibana-pull}97626[#97626]
* Persist apply time range switch setting in anomaly detection job selector flyout {kibana-pull}97407[#97407]
* Anomaly detection rule lookback interval improvements {kibana-pull}97370[#97370]
* Adds annotation markers to the anomaly swim lane axis {kibana-pull}97202[#97202]
* Data frame analytics: Ensure creation and results views display nested fields correctly {kibana-pull}96905[#96905]
* Adds commonly used ranges to date picker {kibana-pull}96501[#96501]
* Adds network ML module with four ML jobs for ECS network data {kibana-pull}96480[#96480]
* Adds runtime support for anomaly charts & add composite validations {kibana-pull}96348[#96348]
* Data frame analytics: Add accuracy and recall stats to results view {kibana-pull}96270[#96270]
* Data frame analytics: Adds support for runtime fields {kibana-pull}95734[#95734]
* Adds anomaly charts embeddables to Dashboard from Anomaly Explorer page {kibana-pull}95623[#95623]
* Adds search time runtime support for index based Data Visualizer {kibana-pull}95252[#95252]
* Adding ML module asset type {kibana-pull}94950[#94950]
* Data frame analytics: Fix ROC curve chart for binary classification {kibana-pull}94791[#94791]
* Adds Anomaly Explorer charts embeddable {kibana-pull}94396[#94396]
* Data frame analytics creation wizard: Add validation step {kibana-pull}93478[#93478]
* Adding support for saved object based ML modules {kibana-pull}92855[#92855]
* Rename advanced setting ml:fileDataVisualizerMaxFileSize to fileUpload:maxFileSize and increase max geojson upload size to 1GB {kibana-pull}92620[#92620]
* Use indices options in anomaly detection job wizards {kibana-pull}91830[#91830]
Management::
* Fixes search sessions docs link {kibana-pull}98918[#98918]
* Fixes display of expired session state in management {kibana-pull}98915[#98915]
* Transforms/Data Frame Analytics: Fix freezing wizard for indices with massive amounts of fields {kibana-pull}98259[#98259]
* Fixes handling of switching modes & handling of non JSON data {kibana-pull}97983[#97983]
* Fixes copy as cURL {kibana-pull}97968[#97968]
* Fixes field filtering {kibana-pull}97189[#97189]
* Fixes runtime mapping texts to runtime fields, add transform switch modal {kibana-pull}97008[#97008]
* Support max primary shard size rollover field {kibana-pull}96545[#96545]
* Move other bucket into Search Source {kibana-pull}96384[#96384]
* Added readonly toggle in cold phase {kibana-pull}96036[#96036]
* Adds "Include aliases" toggle to the Restore Snapshot Wizard {kibana-pull}95882[#95882]
* Display time labels in search session popover {kibana-pull}95082[#95082]
* Make session name editable {kibana-pull}94610[#94610]
* Cloud deployment form when adding new cluster {kibana-pull}94450[#94450]
* Adds multitable support to Inspector {kibana-pull}94077[#94077]
* Adds support for frozen phase {kibana-pull}93068[#93068]
* Index pattern field editor {kibana-pull}88995[#88995]
Maps::
* Show layer name in tooltip {kibana-pull}97175[#97175]
* Adds visibility toggle and fit to bounds buttons to layer quick actions menu {kibana-pull}97013[#97013]
* Enable filtering with spatial relationships on geo_point fields {kibana-pull}96849[#96849]
* Enable distance filtering on geo_shape {kibana-pull}96832[#96832]
* Adds cache control to mvt endpoints {kibana-pull}94861[#94861]
* Do not track total hits for elasticsearch search requests {kibana-pull}91754[#91754]
Metrics::
* Increase the groupBy pagination size on metric threshold alerts {kibana-pull}99683[#99683]
* Adds anomalies tab to enhanced host details overlay {kibana-pull}96967[#96967]
* Improved UI error messaging for handling ES query errors in a snapshot endpoint {kibana-pull}96871[#96871]
* Adds log rate tab to enhanced host details overlay {kibana-pull}96596[#96596]
* Change composite.size of snapshot ES query to improve speed {kibana-pull}95994[#95994]
* Change top_hits aggregation to top_metrics for snapshot api {kibana-pull}95644[#95644]
* Adds preview charts to Inventory alerts {kibana-pull}91658[#91658]
* Enhanced metrics widget on Observability overview page {kibana-pull}90879[#90879]
* Adds anomalies table to Metrics app {kibana-pull}90305[#90305]
Monitoring::
* Fetch detection adoption metrics {kibana-pull}97789[#97789]
* Added ability to possibly distinguish between Agent type metrics in APM {kibana-pull}95129[#95129]
* Added cgroup option for APM cpu usage {kibana-pull}90873[#90873]
Operations::
* HTTP-Server: Graceful shutdown {kibana-pull}97223[#97223]
* Adds docker images for ARM64 based operating systems {kibana-pull}84831[#84831]
Platform::
* Enable osquery plugin {kibana-pull}97422[#97422]
* Adds search deep links for APM, Metrics, Logs, and Dev Tools {kibana-pull}96135[#96135]
* Adds per space configuration to custom header banner {kibana-pull}94449[#94449]
* Don't trigger auto-refresh until previous refresh completes {kibana-pull}93410[#93410]
* Adds helper for using `find` with `pit` and `search_after` {kibana-pull}92981[#92981]
* Client side search cache {kibana-pull}92439[#92439]
* Adds id and copyMetaFrom arg to mapColumn fn + add configurable onError argument to math fn {kibana-pull}90481[#90481]
Reporting::
* Re-write CSV Export using SearchSource {kibana-pull}88303[#88303]
Security::
* Forbid setting the Location and Refresh custom response headers {kibana-pull}98129[#98129]
* Adds config properties for HTTP security headers {kibana-pull}97158[#97158]
* Added ability to create API keys {kibana-pull}92610[#92610]
* Expose session invalidation API {kibana-pull}92376[#92376]
Sharing::
* Allows editing broken visualizations caused by runtime fields changes {kibana-pull}94798[#94798]
Uptime::
* Synthetics - add transfer size, resource size, and status to waterfall flyout {kibana-pull}97042[#97042]
* Preconfigured alert history index connector {kibana-pull}94909[#94909]
* Adds Custom Fleet Integration UI {kibana-pull}91584[#91584]
* Support agent data streams {kibana-pull}91469[#91469]
* Synthetic check steps list view {kibana-pull}90978[#90978]
* Service overview: Introduce time-series comparison {kibana-pull}88665[#88665]
* Search made easy {kibana-pull}88581[#88581]

[float]
[[fixes-v7.13.0]]
=== Bug Fixes
Alerting::
* Fixing Elasticsearch query rule to allow matching on 0 documents {kibana-pull}97735[#97735]
* Create task to cleanup action execution failures {kibana-pull}96971[#96971]
* Skip rendering empty add action variables button as disabled {kibana-pull}96342[#96342]
* Ensures ES Query uses the correct sort value to avoid duplicate detections {kibana-pull}94349[#94349]
* Deprecates reloadAlerts and replaces with onSave in Alert creation and editing {kibana-pull}91997[#91997]
APM::
* Persist transaction type when navigating from service inventory {kibana-pull}99407[#99407]
* Fetch data from the service overview with correct transaction type {kibana-pull}98657[#98657]
* Transaction duration histogram buckets without samples are clickable {kibana-pull}98540[#98540]
* Fix responsive breakpoints in header controls {kibana-pull}98179[#98179]
* Fix incorrect APM throughput (tpm) on home page {kibana-pull}95991[#95991]
* Fix spaces issue for static index patterns {kibana-pull}95799[#95799]
* Prevent infinite redirects on Observability getting started page {kibana-pull}95083[#95083]
Canvas::
* Fixes browser timezone in screenshots {kibana-pull}93583[#93583]
Dashboard::
* Disable context menu "Explore underlying data" by default {kibana-pull}98039[#98039]
* Fixes Lens and TSVB chart tooltip positioning relative to global headers {kibana-pull}94247[#94247]
* Improves lost indexpattern scenario in saved visualization {kibana-pull}91377[#91377]
Design::
* A11y improvements, focus glitches fixes, unskip tests {kibana-pull}94148[#94148]
Discover::
* Exclude metafields from fields request {kibana-pull}99443[#99443]
* Request docvalue fields from fields {kibana-pull}98874[#98874]
* Fixes redirect from Dashboard {kibana-pull}97098[#97098]
* Sort option: Introduce format parameter {kibana-pull}96774[#96774]
* Remove redundant execution of onRequestStart when fetching data {kibana-pull}94093[#94093]
* The `discover:aggs:terms:size` advanced setting got removed since it was no longer used {kibana-pull}93437[#93437]
* Close inspector when switching app {kibana-pull}92994[#92994]
Elastic Security::
For the Elastic Security 7.13.0 release information, refer to {security-guide}/release-notes.html[_Elastic Security Solution Release Notes_].
Fleet::
* Correctly parse falsy YAML fields in agent policy integrations {kibana-pull}95966[#95966]
* Match telemetry key names to UI agent states {kibana-pull}95567[#95567]
* Ignore inactive agents when removing a policy {kibana-pull}94311[#94311]
* Correctly track install status of an integration {kibana-pull}93464[#93464]
* Fix default integration name when adding 10+ names {kibana-pull}93278[#93278]
* Prevent duplicate enrollment token names {kibana-pull}92735[#92735]
* Set all keyword and text fields for `index.query.default_field` index template setting {kibana-pull}91791[#91791]
Lens & Visualizations::
* Fixes problem with controls not being displayed on a map in *Vega* {kibana-pull}97373[#97373]
* Directly submit query in *Lens* {kibana-pull}97254[#97254]
* Improve handling of mixed axes in *Lens* {kibana-pull}97236[#97236]
* Improve custom label handling in *Lens* {kibana-pull}97219[#97219]
* Visualize data table: Summary row is detached and jumps in Firefox {kibana-pull}97083[#97083]
* Fixes mobile view in *Lens* {kibana-pull}96957[#96957]
* Enable partial pasting in drilldowns {kibana-pull}96830[#96830]
* Fixes problem with series being displayed twice {kibana-pull}96773[#96773]
* Fixes bug with escape colons in field names in the metric/split parameter in *Timelion* {kibana-pull}96770[#96770]
* Fixes fields clearing within the Editor {kibana-pull}96767[#96767]
* Fixes annotation line doesn't work if no index pattern is applied in *TSVB* {kibana-pull}96646[#96646]
* Fixes transferable logic to handle newer operations on datasource change in *Lens* {kibana-pull}96617[#96617]
* Fixes not populating fields list if "Auto apply" is off in *TSVB* {kibana-pull}96298[#96298]
* Wrong custom values formatting for the empty buckets in *TSVB* {kibana-pull}96293[#96293]
* Fixes wrong field list on overriding index pattern for series in *TSVB* {kibana-pull}96204[#96204]
* Stacked line charts incorrectly shows one term as 100% {kibana-pull}96203[#96203]
* Do not re-render embeddable so often in *Lens* {kibana-pull}95653[#95653]
* Fixes area percentage gaps with zero fitting function in *Lens* {kibana-pull}94086[#94086]
* Fixes wrong suggestions from Datatable to other visualizations in *Lens* {kibana-pull}93920[#93920]
* Remove warning about ordinal x-domain in *Lens* {kibana-pull}93049[#93049]
* Set pie chart slices sorted clockwise in *Lens* {kibana-pull}92617[#92617]
* Allow image loading without CORS policy by changing the default to crossOrigin=null in *Vega* {kibana-pull}91991[#91991]
* Markdown variables not working for empty labels in *TSVB* {kibana-pull}91838[#91838]
Logs::
* Handle undefined case for runtime_mappings in ML job configs {kibana-pull}98728[#98728]
* Don't break log stream on syntactically invalid KQL {kibana-pull}98191[#98191]
* Use create over update for log source configuration updates {kibana-pull}97818[#97818]
* Allow for missing properties on ES shard failure responses {kibana-pull}96768[#96768]
* Hide Create Alert option when user lacks privileges {kibana-pull}92000[#92000]
Machine Learning::
* Fixes alerting rule preview {kibana-pull}98907[#98907]
* Data frame analytics: Fix special character escaping for Vega scatterplot matrix {kibana-pull}98763[#98763]
* Disable Single Metric Viewer and Anomaly Explorer charts for nested terms aggregations {kibana-pull}98510[#98510]
* Fixes Single Metric Viewer and Anomaly Explorer charts still loading even after failure {kibana-pull}98490[#98490]
* Improve check for runtime fields in datafeed query {kibana-pull}98289[#98289]
* Fixes anomaly swim lane embeddable data fetch on minor resize {kibana-pull}98258[#98258]
* Fixes Single Metric Viewer annotation tooltip hard to trigger {kibana-pull}98233[#98233]
* Fixes Single Metric Viewer forecast bounds being cut off in time slider in context chart {kibana-pull}98027[#98027]
* Data frame analytics map: Deselect node after node action or flyout close {kibana-pull}97922[#97922]
* Data frame analytics wizard: Ensure progress is updated correctly {kibana-pull}97889[#97889]
* Fixing categorization job wizard with CCS {kibana-pull}97855[#97855]
* Fixes Anomaly Detection job model memory limit input editable when datafeed is open {kibana-pull}97723[#97723]
* Fixes Data Visualizer event rate chart empty for some indices when using long time range {kibana-pull}97655[#97655]
* Fixes vertical overflow of the anomaly swim lane embeddable {kibana-pull}97127[#97127]
* Ensure ROC chart gets loaded correctly {kibana-pull}96890[#96890]
* Fixes check for too many selected buckets in Anomaly Explorer charts {kibana-pull}96771[#96771]
* Excludes metadata fields from jobs caps fields service response {kibana-pull}96548[#96548]
* Fixes switches positioning on the transform and data frame analytics wizards {kibana-pull}96535[#96535]
* Data frame analytics exploration: Ensure training filters work as expected {kibana-pull}96500[#96500]
* Fixes anomaly detection wizard full time range chart blank with saved search containing runtime fields {kibana-pull}95700[#95700]
* Adds pagination control to Data Visualizer failures to rendering all errors at a single time {kibana-pull}93839[#93839]
* Fixes styling of Single Metric Viewer chart for dark theme {kibana-pull}93581[#93581]
Management::
* Transforms: Fix handling of fields with keyword mapping available {kibana-pull}98882[#98882]
* Fixes snapshot name wrapping issue {kibana-pull}97527[#97527]
* Prevent # char in repository name {kibana-pull}97495[#97495]
* Remove panel desaturation {kibana-pull}97473[#97473]
* Fixes runtime mappings not copy-able in Transform wizard {kibana-pull}95996[#95996]
* Extract License service from CCR and Watcher into license_api_guard plugin in x-pack {kibana-pull}95973[#95973]
* Integer validator for timing and rollover fields {kibana-pull}95438[#95438]
* Fixes Transform runtime mappings retain original definition when cloning {kibana-pull}95436[#95436]
* Fixes Transform runtime mapping editor so mappings can be removed {kibana-pull}95108[#95108]
* Remove cloud validation for slm policy {kibana-pull}93609[#93609]
* Fix: do not send non-serializable fields over HTTP {kibana-pull}93207[#93207]
* Correctly format numeric histograms outside Discover {kibana-pull}91576[#91576]
* Prevent rewrite of date_histogram interval {kibana-pull}91408[#91408]
Maps::
* Fixes cannot read propery 'getImage' of undefined {kibana-pull}97829[#97829]
* Hide label UX for 3rd party mvt lines and polygons {kibana-pull}97731[#97731]
* Fixes layer in preview mode shows different results after uploading geojson file when feature-count exceeds ES-search limit {kibana-pull}97157[#97157]
* Only allow sorting on numeric fields for tracks {kibana-pull}96877[#96877]
* Fixes fit to data doesn't work in TMS {kibana-pull}95980[#95980]
* Remove invisible layers from querybar {kibana-pull}94943[#94943]
* Safe-erase text-field {kibana-pull}94873[#94873]
* Chunk geojson upload to keep import requests under 1MB {kibana-pull}93678[#93678]
* Compare SearchFilters to determine whether mvt layers can skip update {kibana-pull}93531[#93531]
* Support GeometryCollections in GeoJson upload {kibana-pull}93507[#93507]
* Abort ES-search when tile request is cancelled {kibana-pull}92069[#92069]
* Track tile loading status {kibana-pull}91585[#91585]
Metrics::
* Prevent rerendering of Waffle Map when user opens View List or Manage Views modal {kibana-pull}99411[#99411]
* Don't mount NodeContextMenu when is not visible {kibana-pull}99207[#99207]
* Use the normalized field for CPU usage for Observability Overview {kibana-pull}98995[#98995]
* Don't render node if group width is 0 or NaN {kibana-pull}98980[#98980]
* Fixing race condition in Metric Threshold alerts {kibana-pull}98563[#98563]
* Fixes chart count total in Metrics Explorer {kibana-pull}94792[#94792]
* Fixes preview charts for inventory alerts when using a filter {kibana-pull}94561[#94561]
* Use memory limit for K8S when available {kibana-pull}93686[#93686]
* Hide Create Alert options for a read-only user {kibana-pull}91951[#91951]
Monitoring::
* 7.13: Fix size with detection rule telemetry {kibana-pull}99900[#99900]
* Limit alert creation to allowed spaces {kibana-pull}99128[#99128]
Platform::
* Avoid adding the health monitoring data into the service status {kibana-pull}98265[#98265]
* Remove ms label from CPU load on status page {kibana-pull}92836[#92836]
Querying & Filtering::
* Remove resize-observer from FilterBar {kibana-pull}99603[#99603]
* Skip slow wildcard checks when query is only * {kibana-pull}96902[#96902]
* Fixes focus state of the changing all filters button after closing popover {kibana-pull}94919[#94919]
* Fixes spaces are converted to non-breaking spaces in Safari. Support escaping unicode characters in KQL. Make non-breaking space part of a KQL grammar {kibana-pull}94688[#94688]
Reporting::
* Adds a link to the reporting management dashboard in the started job toast {kibana-pull}93961[#93961]
Uptime::
* Fixes Monitor status toggle alert receovery state {kibana-pull}89273[#89273]

[[release-notes-7.12.1]]
== {kib} 7.12.1

For information about the {kib} 7.12.1 release, review the following information.

[float]
[[security-update-7.12.1]]
=== Security update

A denial of service vulnerability was found in the {kib} webhook actions due to a lack of timeout or a limit on the request size. 
An attacker with permissions to create webhook actions could drain the {kib} host connection pool, making {kib} unavailable for all other users.

Thank you Dominic Couture for finding this issue.

*Affected versions* +
Affected versions include {kib} 7.12.0 and earlier.

*Solution* +
If you are using {kib} webhook actions, upgrade to 7.12.1.

[float]
[[breaking-changes-7.12.1]]
=== Breaking changes

Breaking changes can prevent your application from optimal operation and performance.
Before you upgrade, review the <<breaking-changes-7.12.0,7.12.0 breaking changes>>, then mitigate the impact to your application.

[float]
[[enhancement-v7.12.1]]
=== Enhancement
Design::
* Customize Panel Submit {kibana-pull}95704[#95704]
Management::
* Adds generated copy for all processors {kibana-pull}95507[#95507]

[float]
[[fixes-v7.12.1]]
=== Bug Fixes
Dashboard::
* Fixes iFrame Filtering Issues {kibana-pull}95997[#95997]
* Allows By Value Flow Without Visualize Save Permissions {kibana-pull}95951[#95951]
* Fixes adding columns from doc viewer table tab {kibana-pull}95748[#95748]
* Adds Discrete Library Option to Save Modal {kibana-pull}94589[#94589]
Elastic Security::
For the Elastic Security 7.12.1 release information, refer to {security-guide}/release-notes.html[_Elastic Security Solution Release Notes_].
Machine Learning::
* Data Frame Analytics creation: ensure job config validity persists when switching from/to form/editor {kibana-pull}94654[#94654]
* Data Frame Analytics results: Ensure outlier detection results view displays feature influence correctly {kibana-pull}94493[#94493]
* Fixes Index data visualizer not removing query string with loaded saved search {kibana-pull}94245[#94245]
* Data Frame Analytics: Fix scatterplot matrix boilerplate visibility with no fields selected {kibana-pull}96590[#96590]
* Data Frame Analytics: Don't allow user to pick an index pattern or saved search based on CCS {kibana-pull}96555[#96555]
Management::
* Transforms: Wizard displays warning callout for source preview when used with CCS against clusters below 7.10 {kibana-pull}96297[#96297]
* Fixes updating deleting sessions from non-default space {kibana-pull}96123[#96123]
* Disables navigation when a step is invalid {kibana-pull}95939[#95939]
* Fixes 7.12 migration fail if the "timepicker:quickRanges" is null {kibana-pull}95767[#95767]
* Fixes serialization and deserialization of user input for "patterns" fields {kibana-pull}94689[#94689]
* Transforms: Fixes missing number of transform nodes and error reporting in stats bar {kibana-pull}93956[#93956]
* Transforms: Improves error handling for transform wizard when Kibana index pattern or saved search fails to load {kibana-pull}93915[#93915]
* Improves error message when localStorage quota is reached {kibana-pull}93779[#93779]
Maps::
* Fixes Kibana does not recognize a valid geo_shape index when attempting to create a Tracking Containment alert {kibana-pull}96633[#96633]
* Shows empty list when all saved maps in list deleted {kibana-pull}95126[#95126]
* Fixes tooltips with timestamp appear as epoch {kibana-pull}95106[#95106]
Monitoring::
* Fixes issue with loading logstash node page under standalone cluster {kibana-pull}93617[#93617]
* Fetches status once and change fetchStatus to support an array of clusters {kibana-pull}91749[#91749]
Operations::
* Improves performance of data stream API {kibana-pull}97058[#97058]
* Migrations v2 ignore fleet agent events {kibana-pull}96690[#96690]
* Resolves regression where Elastic Endgame rules would warn about unmapped timestamp override field {kibana-pull}96394[#96394]
* Updates query for ping histogram {kibana-pull}95495[#95495]
* Migrations v2: Retry tasks that timeout {kibana-pull}95305[#95305]
* Fixes issues preventing the SysV service from starting Kibana {kibana-pull}95018[#95018]
* Tolerate log entries for which fields retrieval fails {kibana-pull}94972[#94972]
* Fixes positioning of space name and avatar in selector dropdown {kibana-pull}94169[#94169]
* Updates Node.js from version 14.16.0 to 14.16.1 {kibana-pull}96382[#96382]
Security::
* Improves role management error handling for partially authorized users {kibana-pull}96468[#96468]


[[release-notes-7.12.0]]
== {kib} 7.12.0

For information about the {kib} 7.12.0 release, review the following information.

[float]
[[breaking-changes-7.12.0]]
=== Breaking changes

Breaking changes can prevent your application from optimal operation and performance.
Before you upgrade to 7.12.0, review the breaking changes, then mitigate the impact to your application.

// tag::notable-breaking-changes[]

[discrete]
[[breaking-89632]]
.Removes geo threshold alert type
[%collapsible]
====
*Details* +
Geo containment alerts and the Geo threshold alert type have similar functionality, so the Geo threshold alert type has been removed. For more information, refer to {kibana-pull}89632[#89632].

*Impact* +
Use Geo containment alerts.
====

[discrete]
[[breaking-so-upgrade-migrations]]
.New saved object upgrade migrations algorithm
[%collapsible]
====
*Details* +
When you upgrade to 7.12.0, {kib} uses a new algorithm to migrate saved objects to reduce the downtime caused by temporary issues, such as network errors or temporarily overloaded {es} clusters.
With the new algorithm, {kib} now retries the failed migrations without user intervention, which allows the migration to continue after the issues are resolved.
For more information, refer to <<upgrade-migrations, saved object upgrade migrations>>.

*Impact* +
Before you upgrade to 7.12.0, review the documentation for <<upgrade-migrations-rolling-back, rolling back to a previous version of {kib}>>.
====

[discrete]
[[breaking-kibana-support-for-ccs]]
.{kib} support for CCS
[%collapsible]
====
*Details* +
In 7.12.0, {kib} introduces a major incompatibility with cross-cluster search. When one or more remote {es} clusters use a version prior to 7.12.0, *Discover*, *Maps*, *Canvas*, and *Logs* are
unable to display the cluster data. For information about the cross-cluster search limitations in {kib}, refer to {kibana-issue}94965[#94965].

*Impact* +
To display the cluster data in *Discover*, load documents directly from `_source`.

. Open the main menu, then click *Stack Management > Advanced Settings*.

. Go to `discover:searchFieldsFromSource`, then select *On*.
====

// end::notable-breaking-changes[]

[float]
[[known-issues-v7.12.0]]
=== Known issues

*Saved object migrations*

When upgrading to 7.12.0, {kib} retries failed saved object migrations without user intervention.

Impacts include:

* In 7.12.0, upgrade migrations fail because of a large number of documents in the `.kibana` index when you use **Fleet**.
* Corrupt saved objects caused by manual editing or integrations.
* User-defined index templates that cause new `.kibana*` indices to have incompatible settings or mappings.
* An unhealthy {es} cluster.
* Different versions of {kib} connected to the same {es} index.
* Incompatible `xpack.tasks.index` configuration setting.

If your upgrade migration fails repeatedly, refer to {kibana-ref}/upgrade-migrations.html#preventing-migration-failures[preventing migration failures].

*Cluster performance degradation*

Details:

{kib} fails to update and delete {kibana-ref}/search-sessions.html[search sessions objects] created in non-default spaces.

Impact:
Cluster performance degrades due to a flooding of async search API usage.
For information on the workaround for 7.12.0, refer to {kibana-issue}96124[#96124].

For information on the fix in 7.12.1, refer to {kibana-pull}96123[#96123]. 


// end::known-issues[]

[float]
[[deprecations-7.12.0]]
=== Deprecations

The following functionality is deprecated in 7.12.0, and will be removed in 8.0.0.
Deprecated functionality does not have an immediate impact on your application, but we strongly recommend
you make the necessary updates after you upgrade to 7.12.0.

[discrete]
[[deprecation-86474]]
.Deprecates `services.callCluster` in alerts and actions executors
[%collapsible]
====
*Details* +
Deprecates `services.callCluster` in the alert and action type executors. For more information, refer to {kibana-pull}86474[#86474].

*Impact* +
Use `services.scopedClusterClient`.
====

[discrete]
[[deprecation-87114]]
.Deprecates configuring [kib] with a `server.host` value of `0`
[%collapsible]
====
*Details* +
In the new version of joi, `0` is an invalid hostname. When upgraded, the extra validate function can be removed. For more information, refer to {kibana-pull}87114[#87114].

*Impact* +
To bind to all interfaces, use `0.0.0.0`.
====

[discrete]
[[deprecation-89296]]
.Deprecates the use of `elasticsearch.logQueries`
[%collapsible]
====
*Details* +
When `logging.verbose: true` or `logging.root.level: 'debug'`, {es} query logs are now always shown.
In 7.11.0 and earlier, {es} query logs were not included in verbose logging unless `elasticsearch.logQueries` was configured.
For more information, refer to {kibana-pull}89296[#89296].

*Impact* +
To use verbose logging without {es} query logs, configure the query logs to `off` in kibana.yml:
[source,js]
----
logging:
  loggers:
    - name: elasticsearch.query
      level: off
----
To log the elasticsearch query only:
[source,js]
----
logging:
  loggers:
    - name: elasticsearch.query
      level: all
      appenders: [console]
----
====

[float]
[[features-7.12.0]]
=== Features
{kib} 7.12.0 adds the following new and notable features.

Alerting::
* Search alert {kibana-pull}88528[#88528]
APM::
* Correlations Beta {kibana-pull}89952[#89952]
Canvas::
* Support IP data type {kibana-pull}85087[#85087]
Dashboard::
* Rename Visualize to Visualize Library {kibana-pull}91015[#91015]
* Copy Panel to Dashboard {kibana-pull}90856[#90856]
* Adds switch for color syncing between charts on dashboards {kibana-pull}86180[#86180]
Discover::
* Support mapping defined runtime fields in Discover {kibana-pull}83891[#83891]
Elastic Security::
For the Elastic Security 7.12.0 release information, refer to {security-guide}/release-notes.html[_Elastic Security Solution Release Notes_].
Lens & Visualizations::
* Support histogram mapping type for all numeric functions in *Lens* {kibana-pull}90357[#90357]
* Adds percentile to *Lens* {kibana-pull}86490[#86490]
* Adds counter rate, cumulative sum, differences and moving average to *Lens* {kibana-pull}84384[#84384]
Logs::
* Show anomalies across both the log rate and categorization ML jobs in a swimlane visualization {kibana-pull}89589[#89589]
Machine Learning::
* Adds embedded map to geo_point fields for Data Visualizer {kibana-pull}88880[#88880]
* Anomaly Detection: add anomalies map to explorer for jobs with 'lat_long' function {kibana-pull}88416[#88416]
* Data Frame Analytics: Adds scatterplot matrix to regression/classification results pages {kibana-pull}88353[#88353]
* Redesign file-based Data Visualizer {kibana-pull}87598[#87598]
Management::
* Enable Search Sessions {kibana-pull}91097[#91097]
* Policy phases redesign {kibana-pull}88671[#88671]
* Replace search session constants with kibana.yml configs {kibana-pull}88023[#88023]
* Adds support for URI parts processor {kibana-pull}86163[#86163]
* Management UI {kibana-pull}81707[#81707]
Maps::
* GA Geo containment alerts. Remove Geo containment alert experimental config settings and refs {kibana-pull}90301[#90301]
Platform::
* Implement custom global header banner {kibana-pull}87438[#87438]

For more information about the features introduced in 7.12.0, refer to <<whats-new,What's new in 7.12>>.

[[enhancements-and-bug-fixes-v7.12.0]]
=== Enhancements and bug fixes

For detailed information about the 7.12.0 release, review the enhancements and bug fixes.

[float]
[[enhancement-v7.12.0]]
=== Enhancements
Alerting::
* Adds support for custom alert ids {kibana-pull}89814[#89814]
* Allow user to select existing connector of same type when fixing broken connector {kibana-pull}89062[#89062]
* Search alert {kibana-pull}88528[#88528]
* Adds a "Refresh" button to the alerts list and alert details views {kibana-pull}87016[#87016]
* Alert and Connector flyouts Save and Save&Test buttons should be active by default {kibana-pull}86708[#86708]
APM::
* Correlations Beta {kibana-pull}89952[#89952]
* Round start and end values {kibana-pull}89030[#89030]
* Instances latency distribution chart {kibana-pull}88546[#88546]
* Showing confirmation modal on Alert Add/Edit when flyout closed without saving and changes made {kibana-pull}86370[#86370]
Canvas::
* Support IP data type {kibana-pull}85087[#85087]
Dashboard::
* Dashboard Save As New by Default {kibana-pull}91761[#91761]
* Stay in Edit Mode After Dashboard Quicksave {kibana-pull}91729[#91729]
* Combine Discard & Cancel {kibana-pull}91267[#91267]
* Unsaved Changes Badge {kibana-pull}91073[#91073]
* Rename Visualize to Visualize Library {kibana-pull}91015[#91015]
* Copy Panel to Dashboard {kibana-pull}90856[#90856]
* Improves error messages when in Dashboard {kibana-pull}90668[#90668]
* Adds Save as button to top menu {kibana-pull}90320[#90320]
* Enable right click on visualizations and dashboards listings {kibana-pull}88936[#88936]
* Url template editor {kibana-pull}88577[#88577]
* Enable "by value embeddables" (dashboard.allowByValueEmbeddables) by default {kibana-pull}88390[#88390]
* Align Lens & Visualize Breadcrumbs {kibana-pull}86941[#86941]
* Remove Panels from URL {kibana-pull}86939[#86939]
* Align Lens & Visualize Top nav Buttons & Behaviour {kibana-pull}86922[#86922]
* URL encoding for URL drilldown {kibana-pull}86902[#86902]
* Adds switch for color syncing between charts on dashboards {kibana-pull}86180[#86180]
Discover::
* Replace EuiCodeBlock with Monaco editor in Discover {kibana-pull}90781[#90781]
* Adds support for unmapped fields using the fields API {kibana-pull}89074[#89074]
* Adds "Hide chart" / "Show chart" persistence {kibana-pull}88603[#88603]
* Grouping multifields in a doc table {kibana-pull}88560[#88560]
* Deangularize navbar in context app {kibana-pull}86353[#86353]
* Change default sort handling {kibana-pull}85561[#85561]
* Support mapping defined runtime fields in Discover {kibana-pull}83891[#83891]
Elastic Security::
For the Elastic Security 7.12.0 release information, refer to {security-guide}/release-notes.html[_Elastic Security Solution Release Notes_].
Fleet::
* Install Lens assets from packages if present {kibana-pull}88189[#88189]
Kibana Home & Add Data::
* Fixes values of `products.min_price` field in Kibana sample ecommerce data set {kibana-pull}90428[#90428]
Lens & Visualizations::
* Support min and max with histogram data types in *TSVB* {kibana-pull}91581[#91581]
* Adds a new "Series Agg" to count the number of series in *TSVB* {kibana-pull}91225[#91225]
* Communicate the index pattern to the dashboard in *Timelion* {kibana-pull}90623[#90623]
* Support histogram mapping type for all numeric functions in *Lens* {kibana-pull}90357[#90357]
* Table column text alignment in *Lens* {kibana-pull}89300[#89300]
* Hide column in table in *Lens* {kibana-pull}88680[#88680]
* Use mapbox instead of leaflet in *Vega* {kibana-pull}88605[#88605]
* Use first decimal when required for data summaries in *Lens* {kibana-pull}88463[#88463]
* User should be able to set a specific tilemap service using the mapStyle property in *Vega* {kibana-pull}88440[#88440]
* Use datagrid with resizable columns for datatable in *Lens* {kibana-pull}88069[#88069]
* Adds specific IP and Range/Interval sorting to datatable in *Lens* {kibana-pull}87006[#87006]
* Adds more in-editor Advanced documentation in *Lens* {kibana-pull}86821[#86821]
* Adds percentile to *Lens* {kibana-pull}86490[#86490]
* Allow custom label for fields via index pattern field management in *TSVB* {kibana-pull}84612[#84612]
* Adds counter rate, cumulative sum, differences and moving average to *Lens* {kibana-pull}84384[#84384]
Logs::
* Show anomalies across both the log rate and categorization ML jobs in a swimlane visualization {kibana-pull}89589[#89589]
* Display category in anomalies table {kibana-pull}88677[#88677]
* Adds sorting capabilities to categories page {kibana-pull}88051[#88051]
Machine Learning::
* Anomaly Detection: when no anomalies present for time range show no results message {kibana-pull}91151[#91151]
* Adds Create Data Frame Analytics card to Data Visualizer {kibana-pull}91011[#91011]
* Data Frame Analytics creation wizard: adds support for extended hyper-parameters {kibana-pull}90843[#90843]
* Data Frame Analytics: Support early stopping data frame analytics job parameter {kibana-pull}90695[#90695]
* Data Frame Analytics: ROC Curve Chart {kibana-pull}89991[#89991]
* Data Frame Analytics creation: improve existing job check {kibana-pull}89627[#89627]
* Adds Lens and Discover integration to index based Data Visualizer {kibana-pull}89471[#89471]
* Anomaly Detection alert type {kibana-pull}89286[#89286]
* Adds ML deep links to navigational search {kibana-pull}88958[#88958]
* Adds embedded map to geo_point fields for Data Visualizer {kibana-pull}88880[#88880]
* Improving model snapshot revert UI experience {kibana-pull}88588[#88588]
* Anomaly Detection: add anomalies map to explorer for jobs with 'lat_long' function {kibana-pull}88416[#88416]
* Data Frame Analytics: Adds scatterplot matrix to regression/classification results pages {kibana-pull}88353[#88353]
* Redesign file-based Data Visualizer {kibana-pull}87598[#87598]
* Adds documentation links in the help menu for machine learning {kibana-pull}85366[#85366]
Management::
* Transforms: Adds missing bucket checkbox to group by popover form {kibana-pull}91650[#91650]
* Transforms: Adds retention policy options to transform UI {kibana-pull}91162[#91162]
* Enable Search Sessions {kibana-pull}91097[#91097]
* Adds better UI support for runtime fields Transforms {kibana-pull}90363[#90363]
* Adds folding in kbn-monaco and update some viewers {kibana-pull}90152[#90152]
* Fix retrieval of unmapped fields; Add field filters {kibana-pull}89837[#89837]
* Policy phases redesign {kibana-pull}88671[#88671]
* Adds runtime fields to index patterns and searchsource {kibana-pull}88542[#88542]
* Timeline component {kibana-pull}88024[#88024]
* Replace search session constants with kibana.yml configs {kibana-pull}88023[#88023]
* Managed data streams renamed to Fleet-managed and table layout improvement {kibana-pull}86285[#86285]
* Adds support for URI parts processor {kibana-pull}86163[#86163]
* Management UI {kibana-pull}81707[#81707]
Maps::
* GA Geo containment alerts. Remove Geo containment alert experimental config settings and refs {kibana-pull}90301[#90301]
* Allow saving maps to dashboards {kibana-pull}88759[#88759]
* Use chart pallete registry to support sync colors in dashboard {kibana-pull}88099[#88099]
* Scale control {kibana-pull}88031[#88031]
* Support geometry-collection {kibana-pull}87867[#87867]
* Set containment alert recovery action group to 'No longer contained' {kibana-pull}87182[#87182]
* Show map saved objects in visualize listing page {kibana-pull}87165[#87165]
* Term join limit {kibana-pull}86491[#86491]
* Labels for polygons and lines {kibana-pull}86191[#86191]
* Always show solution layers {kibana-pull}86053[#86053]
Metrics::
* Adds ability for user to set anomaly threshold {kibana-pull}90313[#90313]
* Adds warning severity to Metric Alerts {kibana-pull}90070[#90070]
* Adds helper text to of expressions when creating Threshold Alerts {kibana-pull}89750[#89750]
* Adds ability to filter anomaly detection datafeed {kibana-pull}89721[#89721]
* Adds custom metrics to node tooltip {kibana-pull}88545[#88545]
Monitoring::
* Enable edit/create for Stack Monitoring alerts in Alerts Management {kibana-pull}91726[#91726]
* Large shard alert {kibana-pull}89410[#89410]
* Remove deprecated watcher-based cluster alerts {kibana-pull}85047[#85047]
Operations::
* Rules table page size increase {kibana-pull}93993[#93993]
* Surface package version used in a package policy in UI {kibana-pull}93712[#93712]
* Filtering runtime mappings in anomaly detection wizards {kibana-pull}91534[#91534]
* Prevent duplicate notifications about the same anomaly result {kibana-pull}91485[#91485]
* Anomaly Detection alert initialisation from the ML app {kibana-pull}91283[#91283]
* Adds index pattern runtime fields to anomaly detection wizards {kibana-pull}91168[#91168]
* Format `PingList` duration time as seconds when appropriate {kibana-pull}90703[#90703]
* Adds nav search keywords for uptime and user experience app {kibana-pull}90616[#90616]
* Support `pit` and `search_after` in server `savedObjects.find` {kibana-pull}89915[#89915]
* Feature/80166 add waterfall flyout {kibana-pull}89449[#89449]
* Waterfall filters {kibana-pull}89185[#89185]
* Enables support for ES clusters using `action.destructive_requires_name=true` {kibana-pull}88986[#88986]
* Break down transaction table api removing the sparklines {kibana-pull}88946[#88946]
* Adds Label option for Dropdown Control {kibana-pull}88505[#88505]
Platform::
* Adds support for limited concurrency tasks {kibana-pull}90365[#90365]
* Implement custom global header banner {kibana-pull}87438[#87438]
* Implement new palette service {kibana-pull}86876[#86876]
* Allows apps to register searchable keywords for Global Search {kibana-pull}85686[#85686]
* Use elastic chart library for bar/area/line charts in Visualize {kibana-pull}78154[#78154]
Security::
* Allow custom index privileges for role management {kibana-pull}88076[#88076]
* Redesign user management page, and allow disabling users {kibana-pull}87133[#87133]
* Adds audit events for spaces {kibana-pull}86343[#86343]
Sharing::
* Expose anonymous access through a switch in sharing menu {kibana-pull}86965[#86965]
Uptime::
* Remove UI filters from UI {kibana-pull}89793[#89793]
* Expand synthetic journey step thumbnail on hover {kibana-pull}89179[#89179]
* Service overview: Introduce time-series comparison {kibana-pull}88665[#88665]
Other::
* Updated favicons {kibana-pull}87271[#87271]

[float]
[[fixes-v7.12.0]]
=== Bug Fixes
Alerting::
* Skips Alert Instances that were instantiated but have no scheduled actions {kibana-pull}91179[#91179]
* Fixes a bad UX for `xpack.actions.enabled` is set as false. UI should show the proper message instead of the endless spinner {kibana-pull}89043[#89043]
* Ensures we always select the correct index in UI tests {kibana-pull}88876[#88876]
* Adds missing configuration options for the alerting related plugins to the kibana-docker {kibana-pull}88297[#88297]
* Gracefully handling unknown action type {kibana-pull}86910[#86910]
* Edit alert should show and update all actions with deleted connectors {kibana-pull}86838[#86838]
APM::
* Fixes hidden search bar in error pages while loading {kibana-pull}93139[#93139]
* Fixes duplicate ML job creation for existing environments {kibana-pull}93098[#93098]
Dashboard::
* Fixes importing dashboards created before ~6.1.0 {kibana-pull}94332[#94332]
* Rename Cancel to Switch to View Mode {kibana-pull}94147[#94147]
* Enable Save Button When Filters Change {kibana-pull}93328[#93328]
* Remove "beta" label from URL Drilldown as it is now GA {kibana-pull}92859[#92859]
* Refactor Initial View Mode {kibana-pull}92747[#92747]
* Make Dashboard Unsaved Changes Space Specific {kibana-pull}92680[#92680]
* Remove Multiple History Entries & Stay in Edit Mode on Save As {kibana-pull}92105[#92105]
* Fixes Visualize Link Redirecting to Dashboard Linked Visualization {kibana-pull}90243[#90243]
* Fixes Dashboard OnAppLeave {kibana-pull}86193[#86193]
Design::
* Modal a11y {kibana-pull}93332[#93332]
* Adding better aria-labels for global search and field search in Lens {kibana-pull}89215[#89215]
* Adds autofocus to cron editor {kibana-pull}86324[#86324]
Discover::
* Fixes filter creation for numeric scripted fields in Discover {kibana-pull}93224[#93224]
* Fixes link from dashboard saved search to Discover {kibana-pull}92937[#92937]
* Fixes navigating from discover single document view back to discover {kibana-pull}92463[#92463]
* Could not expand cell content in DiscoverGrid {kibana-pull}91289[#91289]
* Fixes icon for conflicting fields {kibana-pull}90641[#90641]
* Add icon for nested fields in sidebar {kibana-pull}85147[#85147]
* Fixes context view for date_nanos format with custom timestamps {kibana-pull}54089[#54089]
Elastic Security::
For the Elastic Security 7.12.0 release information, refer to {security-guide}/release-notes.html[_Elastic Security Solution Release Notes_].
Fleet::
* Return empty agents list when submitting a kuery with no keys {kibana-pull}93844[#93844]
* V1 migrations: drop fleet-agent-events during a migration {kibana-pull}92188[#92188]
Lens & Visualizations::
* Fixes cannot brush on bars of vertical bar chart to zoom into data {kibana-pull}94290[#94290]
* Prevent double load in editor in *Lens* {kibana-pull}93930[#93930]
* Fixes median aggregation when used with a scripted field {kibana-pull}93731[#93731]
* Remove portal for screenreader component in *Lens* {kibana-pull}93274[#93274]
* Fixes sorting undefined, null and NaN values in *Lens* {kibana-pull}92575[#92575]
* Fixes bug in Safari and Firefox form rendering in *Lens* {kibana-pull}92542[#92542]
* Fixes unformatted timeseries functions in *Lens* {kibana-pull}92498[#92498]
* Pass used histogram interval to chart in *Lens* {kibana-pull}91370[#91370]
* Fixes empty display name issue in XY chart in *Lens* {kibana-pull}91132[#91132]
* Fixes telemetry read only error in *Lens* {kibana-pull}91104[#91104]
* Stop inserting zeroes for null series in *TSVB* {kibana-pull}90861[#90861]
* Restores signal values on refresh in *Vega* {kibana-pull}90774[#90774]
* Fixes the timeseries legend, renders the metric, gauge charts for series with empty strings in *TSVB* {kibana-pull}90760[#90760]
* Make Lens intervals default value adapt to histogram:maxBars Advanced Setting changes in *Lens* {kibana-pull}89305[#89305]
* Vega Maps Referencing from kibana.yml {kibana-pull}88316[#88316]
* Close popover on repeated button click in *Lens* {kibana-pull}87834[#87834]
* Make sure filter object is persistable in *Lens* {kibana-pull}87828[#87828]
* Upgrading vis with pipeline agg from 6.8 doesn't render {kibana-pull}93427[#93427]
Logs::
* Check for privileges with user management links {kibana-pull}91134[#91134]
* Use useMlHref hook for ML links {kibana-pull}90935[#90935]
Machine Learning::
* DataFrame Analytics models: ensure 'View training data' link activates quick filter in exploration page {kibana-pull}93071[#93071]
* Fixes positions of calendar arrow buttons in start datafeed modal {kibana-pull}92625[#92625]
* Anomaly Explorer: ensure filtering works as expected when influencer value has trailing backslash {kibana-pull}92471[#92471]
* Data Frame Analytics wizard: ensure required config options are loaded before enabling `Continue` {kibana-pull}92254[#92254]
* Fixes event rate chart annotation position {kibana-pull}91899[#91899]
* Data Frame Analytics exploration page: filters improvements {kibana-pull}91748[#91748]
* Data Frame Analytics cloning: ensure classification hyperparameters retained when cloning job {kibana-pull}91507[#91507]
* Stops new line on enter key press for KQL query bars {kibana-pull}90960[#90960]
* Allow filtering by mlcategory in Anomaly Explorer Influencers list {kibana-pull}90282[#90282]
* Fixes rare page crash when deleting anomaly detection job {kibana-pull}88622[#88622]
Management::
* Fixes parent pipeline aggregations with custom metric and custom sort order {kibana-pull}93276[#93276]
* Adding schema for all current query_string settings {kibana-pull}93175[#93175]
* Preserve unknown fields in processors {kibana-pull}91146[#91146]
* Can't create single character index without wildcard {kibana-pull}90919[#90919]
* Use core doc links service {kibana-pull}89363[#89363]
* Fixes saved object view path {kibana-pull}89057[#89057]
* Use "untitled" filename for panels with no title in dashboard {kibana-pull}86333[#86333]
Maps::
* Fixes selecting EMS basemap does not populate input {kibana-pull}92711[#92711]
* Increase index pattern select limit to 1000 {kibana-pull}92093[#92093]
* Fixes issue preventing WebGL warning message from appearing {kibana-pull}91069[#91069]
* Fixes geo shape agg telemetry not collecting due to missing index pattern IDs {kibana-pull}90886[#90886]
* Fixes reporting jobs fail when Elastic Maps Service (EMS) is unavailable {kibana-pull}90834[#90834]
* Fixes users without access to Maps should not have the option to create them {kibana-pull}88830[#88830]
* Geo containment latency and concurrent containment fix {kibana-pull}86980[#86980]
Metrics::
* Use global kibana time for metrics explorer in Default View {kibana-pull}92520[#92520]
* Fixes alerts repeatedly firing "recovered" actions {kibana-pull}91038[#91038]
* Fixes node details overlay title with long host name {kibana-pull}90825[#90825]
* Fixes saving/loading saved views from URL {kibana-pull}90216[#90216]
* Fixes alert preview accuracy with new Notify settings {kibana-pull}89939[#89939]
* Fixes history drawer when navigation is docked {kibana-pull}89630[#89630]
* Completely remove GraphQL and Apollo {kibana-pull}89036[#89036]
Monitoring::
* Security telemetry allowlist fix {kibana-pull}92850[#92850]
* Adds missing fields for security telemetry {kibana-pull}91920[#91920]
* Fetch status once and change fetchStatus to support an array of clusters {kibana-pull}91749[#91749]
Operations::
* Increases pre-packaged socket timeout and chunks the requests {kibana-pull}94531[#94531]
* Fixes first load in Inventory view {kibana-pull}94306[#94306]
* Enables Microsoft Teams for Detection Actions {kibana-pull}94239[#94239]
* Use EuiFieldPassword for password variables in policy editor {kibana-pull}94166[#94166]
* Fixes package policies created with null var values (empty defaults) {kibana-pull}94040[#94040]
* Adds missing mappings to the signals for the indicator rules {kibana-pull}92928[#92928]
* Fixes ECS audit logging config settings for docker environments {kibana-pull}92497[#92497]
* Fixes handling of built-in models {kibana-pull}92154[#92154]
* Adds more granular validation for nested fields {kibana-pull}92041[#92041]
* Data Frame Analytics: Improved error handling for scatterplot matrix {kibana-pull}91993[#91993]
* Fixes loading indicators in the rules management table {kibana-pull}91925[#91925]
* Kql Search Bar suggests values outside the selected time range {kibana-pull}91918[#91918]
* Improves query performance of first and last events {kibana-pull}91790[#91790]
* Latency percentile labels and instances table support {kibana-pull}91758[#91758]
* Update error banner when refreshing rule status on rule details page {kibana-pull}91051[#91051]
Platform::
* Cancel nested executions when main execution is canceled {kibana-pull}91486[#91486]
* Updating SO _find filter parser to take into consideration multi-fields {kibana-pull}90988[#90988]
* Increment task `attempts` when they fail during markTaskAsRunning {kibana-pull}88669[#88669]
* Reject invalid Timeout values in Task Type Definitions {kibana-pull}88602[#88602]
* Cancel expired tasks as part of the available workers check {kibana-pull}88483[#88483]
* Resilient saved object migration algorithm {kibana-pull}78413[#78413]
Querying & Filtering::
* Remove number parsing {kibana-pull}93658[#93658]
* Do not generate nested AST/Elasticsearch queries for same-level AND/OR clauses {kibana-pull}93506[#93506]
* Fixes accessibility in the global query bar {kibana-pull}93411[#93411]
Reporting::
* Deserialize query string options for serverside ES Query {kibana-pull}90050[#90050]
Security::
* Do not generate an ephemeral encryption key in production {kibana-pull}81511[#81511]

[[release-notes-7.11.2]]
== {kib} 7.11.2

The 7.11.2 release includes the following security update, known issue, and bug fixes. For information on the breaking changes, refer to <<breaking-changes-7.11,Breaking changes in 7.11>>.

[float]
[[security-update-v7.11.2]]
=== Security update

When you use the following background API calls, {kib} extends your session and fails to log you out:

* POST /api/ui_metric/report

* POST /api/index_management/indices/reload

* POST /api/index_lifecycle_management/policies?withIndices=true

* GET /api/remote_clusters

* GET /api/saved_objects_tagging/tags

To avoid extending the session, use the `kbn-system-request` header, which indicates that the API call is not a user request.

[float]
[[known-issues-v7.11.2]]
=== Known issue

When upgrading from 7.11.0 or 7.11.1 to 7.11.2, certain connectors, including those that connect to Jira,
ServiceNow, and IBM Resilient, are not properly migrated during the upgrade process, causing them to be
deleted.

Impacts include:

* Kibana *Alerts and Actions* that have been configured to use the affected connectors will no
longer create these actions.
* Security detection rules that have been configured to use the affected connectors as part of their
rule actions will no longer create these actions.
* Security Case workflow users will need to recreate external connectors before cases can be pushed
or updated via the affected connectors.
* Open cases that were previously connected to third-party systems via the affected connectors will
need to be re-connected after the connector(s) are recreated.

If you use these affected connectors, it is recommended to consider delaying the upgrade to 7.11.2,
and instead upgrade to 7.12.0 once it is released.

[float]
[[bug-v7.11.2]]
=== Bug fixes
Alerting::
* For simplistic email servers, set `rejectUnauthorized` to `false` {kibana-pull}91760[#91760]
APM::
* Fixes an issue preventing metric-document only services from displaying in the Services overview list  {kibana-pull}92378[#92378]
Canvas::
* Removes custom plot plugins when *Canvas* is unmounted {kibana-pull}90722[#90722]
Elastic Security::
For the Elastic Security 7.11.2 bug fixes, refer to {security-guide}/release-notes.html[_Elastic Security Solution Release Notes_].
Lens and visualizations::
* Fixes *TSVB* chart scroll when legend has many items {kibana-pull}91394[#91394]
* Use timestamp on brush event instead of iso dates {kibana-pull}91483[#91483]
Machine Learning::
* Fixes geo_shape content causing *Data Visualizer* to not load correctly {kibana-pull}92052[#92052]
* Fixes applying missing_bucket configuration to transform request payload {kibana-pull}91635[#91635]
Management::
* Fixes use of undefined value in JS import {kibana-pull}92791[#92791]
* Fixes an issue where users were unable to configure replicas in the cold phase when searchable snapshots are enabled {kibana-pull}92782[#92782]
Metrics::
* Fixes `ignoreLookback` behavior for Snapshot API {kibana-pull}91169[#91169]
Security::
* Fixes an issue where `elasticsearch.sniffInterval`, `elasticsearch.sniffOnConnectionFault`, or `elasticsearch.sniffOnStart` causes an authentication issue when performing requests against the sniffed nodes {kibana-pull}91276[#91276]
* Fixes session idle timeout {kibana-pull}91070[#91070]

[[release-notes-7.11.1]]
== {kib} 7.11.1

The 7.11.1 release includes the following enhancements and bug fixes. For information on the breaking changes, refer to <<breaking-changes-7.11,Breaking changes in 7.11>>.

[float]
[[enhancement-v7.11.1]]
=== Enhancements
Machine Learning::
* Improves the lazy ML node UI {kibana-pull}90455[#90455]
Security::
* Prevent autocompleting the username field {kibana-pull}88682[#88682]

[float]
[[bug-v7.11.1]]
=== Bug fixes
Dashboard::
* Fixes a 7.11.0 regression where pending dashboard searches aren't canceled when navigating to another app {kibana-pull}90306[#90306]
* Sync tooltip legend values {kibana-pull}90036[#90036]
Discover::
* Fixes 'auto' collapsing of documents {kibana-pull}89712[#89712]
Elastic Security Solution::
For the Elastic Security Solution 7.11.1 bug fixes, refer to {security-guide}/release-notes.html[_Elastic Security Solution Release Notes_].
Lens and visualizations::
* *Lens* visualizations now load faster on dashboards {kibana-pull}88953[#88953]
* Advanced input now works for aggregation-based visualizations {kibana-pull}88154[#88154]
Maps::
* Always check license at plugin startup {kibana-pull}87873[#87873]
Monitoring::
* Fully control the in memory table pagination and sorting properties {kibana-pull}85862[#85862]
* Tweak timeout for failing cloud test {kibana-pull}86671[#86671]
* Stop using constructor.name for logstash pipelines {kibana-pull}87386[#87386]
* Make sure we use the right duration for messaging on this alert {kibana-pull}87579[#87579]
* Avoid spamming toast messages {kibana-pull}89930[#89930]


[[release-notes-7.11.0]]
== {kib} 7.11.0

For detailed information about the 7.11.0 release, review the following information.

[float]
[[breaking-changes-7.11]]
=== Breaking changes

Breaking changes can prevent your application from optimal operation and performance. Before you upgrade to 7.11.0, review the breaking changes, then mitigate the impact to your application.

// The following section is re-used in the Installation and Upgrade Guide

// tag::notable-breaking-changes[]


[discrete]
[[ingestManager_renamed_fleet]]
==== Ingest Manager plugin renamed Fleet

*Details:* The `ingestManager` plugin has been renamed `fleet`.

*Impact*:

* The app url change from /app/ingestManager to /app/fleet.
* The privilege `feature_ingestManager.*` is not valid anymore and should be replaced by `feature_fleet.*`.

*via https://github.com/elastic/kibana/pull/83200[#83200]*

[discrete]
[[reporting_plugin]]
==== Reporting plugin added new validation for protocol

*Details:* The Reporting plugin added new validation for protocol strings in Network Policy configurations.

*Impact*: See <<reporting-network-policy, Restrict requests with a Reporting network policy>>.
If the kibana.yml has a Reporting network policy before upgrade,
the protocol strings must end with a colon. Otherwise, config validation
will fail and Kibana will not start.

*via https://github.com/elastic/kibana/pull/80766[#80766]*

[discrete]
[[glibc_212_unsupported]]
==== Dropped support for glibc 2.12

*Details:* {kib} 7.11.0 upgrades the Node.js runtime to version `14.16.0`. This updated runtime requires glibc `2.16`,
which drops support for glibc `2.12`-based operating systems.

*Impact*: Supported versions of {kib} are not impacted. You can no longer run {kib} on older operating systems that require glibc `2.12` (for example, CentOS 6). Refer to our https://www.elastic.co/support/matrix[support matrix] for a list of currently supported operating systems.

*via https://github.com/elastic/kibana/pull/83425[#83425]*

// end::notable-breaking-changes[]

[float]
[[deprecation-v7.11.0]]
=== Deprecations
Lens and visualizations::
* Deprecates `visualization:colorMapping` advanced setting {kibana-pull}83372[#83372]
Management::
* Deprecates `kibana.index` setting {kibana-pull}83988[#83988]
* Deprecates `reporting.index` setting {kibana-pull}84005[#84005]
* Deprecates `xpack.task_manager.index` setting {kibana-pull}84155[#84155]
Security::
* Deprecates disabling the spaces plugin {kibana-pull}83984[#83984]
* Deprecates disabling the security plugin {kibana-pull}85159[#85159]

[float]
[[enhancement-v7.11.0]]
=== Enhancements
Alerting::
* Updates alert type selection layout to rows instead of grid {kibana-pull}73665[#73665]
* Back Button on Add Connector Flyout {kibana-pull}80160[#80160]
* Disables "Save" button for Alerts with broken Connectors {kibana-pull}80579[#80579]
* Adds UI notifier to indicate secret fields and to remember / reenter values {kibana-pull}80657[#80657]
* Adds `defaultActionMessage` to index threshold alert UI type definition {kibana-pull}80936[#80936]
* Don't wait for health check before showing Create Alert flyout {kibana-pull}80996[#80996]
* Adds `hasAuth` to Webhook Configuration to avoid confusing UX {kibana-pull}81390[#81390]
* Grouped list of alert types using producers in Types filter of Alerts tab {kibana-pull}81876[#81876]
* Adds Alerts & Actions to the app directory {kibana-pull}81902[#81902]
* Adds a link to documentation in the alerts and actions management UI {kibana-pull}81909[#81909]
* Adds an Run When field in the alert flyout to assign the action to an Action Group {kibana-pull}82472[#82472]
* Displays Action Group in Alert Details {kibana-pull}82645[#82645]
* Removes placeholders and updates validation messages on connector forms {kibana-pull}82734[#82734]
* Notify only on action group change {kibana-pull}82969[#82969]
* Adds ability to assign alert actions to resolved action group in UI {kibana-pull}83139[#83139]
* Microsoft Teams connector {kibana-pull}83169[#83169]
* Adds action group and date to mustache template variables for actions {kibana-pull}83195[#83195]
* Updates widths on columns in Alert Detail view {kibana-pull}83823[#83823]
* Escaping is now off for most action parameters, except those that need per-action escaping, including the Slack, Email, and Webhook action parameters {kibana-pull}83919[#83919]
* Adds ECS audit events for alerts and actions plugins {kibana-pull}84113[#84113]
* Adds footer to all emails sent by Kibana email connector with a link to open Kibana or to the alert details page {kibana-pull}84371[#84371]
* Adds default dedupKey value as an {{alertInstanceId}} to provide grouping functionality for PagerDuty incidents {kibana-pull}84598[#84598]
APM::
* Transition to Elastic charts for all relevant APM charts {kibana-pull}80298[#80298]
* APM Experiments settings {kibana-pull}81554[#81554]
* APM index settings import/export in saved-object management {kibana-pull}82784[#82784]
* Service overview: Dependencies table {kibana-pull}83416[#83416]
* Service overview: Transactions table {kibana-pull}83429[#83429]
* Latency chart for overview {kibana-pull}84634[#84634]
* Add APM agent config options {kibana-pull}84678[#84678]
* Updates header icons {kibana-pull}84760[#84760]
* Adds log_level/sanitize_field_names config options to Python Agent {kibana-pull}84810[#84810]
* Adds `ignore_unavailable` to avoid querying closed indices {kibana-pull}84813[#84813]
* Adds sanitize_field_names and transaction_ignore_urls config options to Ruby agent {kibana-pull}85646[#85646]
* Adds transaction_ignore_urls as central config  {kibana-pull}85734[#85734]
* Service overview: Instances table {kibana-pull}85770[#85770]
* APM Alerts Preview charts {kibana-pull}85868[#85868]
Canvas::
* Layout option for generating full-page Canvas reports {kibana-pull}84959[#84959]
Dashboard::
* Library Notification Popover {kibana-pull}79581[#79581]
* Url Drilldown basic template helpers {kibana-pull}80500[#80500]
* Edit Panel Title On Click {kibana-pull}81076[#81076]
* Dashboards connected via drilldowns are now exported or copied to a different space together {kibana-pull}82602[#82602]
* Panel toolbar {kibana-pull}83342[#83342]
* Export CSV action for Lens embeddables in dashboard {kibana-pull}83654[#83654]
* ExternalUrl service was integrated with URL Drilldown {kibana-pull}85779[#85779]
Discover::
* Adds new responsive layout {kibana-pull}83633[#83633]
Elastic Security Solution::
For the Elastic Security Solution 7.11.0 release information, refer to {security-guide}/release-notes.html[_Elastic Security Solution Release Notes_].
Fleet::
* Agent logs UI {kibana-pull}83356[#83356]
Lens and visualizations::
* Adds categorical color palettes in Lens {kibana-pull}75309[#75309]
* Adds color for dimension trigger in Lens {kibana-pull}76871[#76871]
* Adds median operation in Lens {kibana-pull}79453[#79453]
* Improves the range formatter {kibana-pull}80132[#80132]
* Adds drag support within dimension group to reorder in Lens {kibana-pull}80547[#80547]
* Renames X/Y axis to horizontal/vertical in Lens {kibana-pull}80991[#80991]
* Adds value labels in Lens bar charts {kibana-pull}81776[#81776]
* Enables "Other" bucket for top values operation in Lens {kibana-pull}82704[#82704]
* Adds CSV Export for Lens {kibana-pull}83430[#83430]
* Adds "Last value" operation to Lens {kibana-pull}83437[#83437]
* Adds sorting to Lens data tables {kibana-pull}84435[#84435]
* Adds in-product help to Lens fields list {kibana-pull}85544[#85544]
* Adds toggle to height data table export button {kibana-pull}70801[#70801]
* Adds support for HDR percentiles in TSVB visualizations {kibana-pull}78306[#78306]
* Displays epoch on a more human readable format for TSVB {kibana-pull}79110[#79110]
* Adds *Ignore global filters* to series options in TSVB {kibana-pull}79337[#79337]
* Updates *New visualization* window {kibana-pull}79627[#79627]
* Adds `textTruncate` option for tooltips {kibana-pull}80524[#80524]
* Renames 'positive rate' to 'counter rate' {kibana-pull}80939[#80939]
* Use "histogram:maxBars" and "histogram:barTarget" advanced settings in TSVB {kibana-pull}83628[#83628]
* Fixes Graph saved object references {kibana-pull}85295[#85295]
* Allow sorting by median {kibana-pull}79839[#79839]
Logs::
* Syncs logs timerange with wider Kibana {kibana-pull}79444[#79444]
* Displays progress for asynchronous loading of the log entry fly-out content and cancels pending requests when closing the fly-out {kibana-pull}83906[#83906]
Machine Learning::
* Data frame analytics: Scatterplot matrix for outlier detection {kibana-pull}73419[#73419]
* Adds space aware jobs {kibana-pull}77916[#77916]
* Adds probability values in decision path visualization for classification data frame analytics {kibana-pull}80229[#80229]
* DFAnalytics Creation: update form to handle `num_top_classes` setting for all classes {kibana-pull}80751[#80751]
* DF Analytics wizard: ensure user can set mml manually or select to use given estimate {kibana-pull}81078[#81078]
* Adds annotation markers to time series brush area to indicate annotations exist outside of selected range {kibana-pull}81490[#81490]
* Configure sorting for partition values on Single Metric Viewer {kibana-pull}81510[#81510]
* Adds option for anomaly charts for metric detector should plot min, mean or max as appropriate {kibana-pull}81662[#81662]
* Data frame analytics: Adds map view {kibana-pull}81666[#81666]
* Improves support for script and aggregation fields in anomaly detection jobs {kibana-pull}81923[#81923]
* Adds space aware jobs (#77916) {kibana-pull}82446[#82446]
* Job saved objects initialization {kibana-pull}82639[#82639]
* Adds non-space aware checks for existing jobs {kibana-pull}82814[#82814]
* Additional job spaces initialization {kibana-pull}83127[#83127]
* Persisted URL state for the "Anomaly detection jobs" page {kibana-pull}83149[#83149]
* Performance improvements to annotations editing in Single Metric Viewer & buttons placement {kibana-pull}83216[#83216]
* Space management UI {kibana-pull}83320[#83320]
* Persisted URL state for the Data frame analytics jobs and models pages {kibana-pull}83439[#83439]
* Improves browser history navigation  {kibana-pull}83792[#83792]
* Persisted URL state for Anomalies table {kibana-pull}84314[#84314]
* Persisted URL state for Data Frame Analytics Exploration page {kibana-pull}84499[#84499]
* Improves messaging and support for datafeed using aggregated and scripted fields {kibana-pull}84594[#84594]
* Adds security_linux and security_windows Modules {kibana-pull}85065[#85065]
* Data Frame Analytics: check space permissions before deleting jobs {kibana-pull}85495[#85495]
* Redesign index-based Data Visualizer {kibana-pull}85726[#85726]
* Adds runtime_mappings to job wizards {kibana-pull}85817[#85817]
Management::
* Allows custom name for fields via index pattern field management {kibana-pull}70039[#70039]
* In index pattern management - Refresh button removed as index pattern field lists are refreshed when index patterns are loaded, such as on page load or when moving between kibana apps {kibana-pull}82223[#82223]
* Painless Lab in DevTools now supports autocompletion for keywords, and class and class members for the Painless language based on a given context {kibana-pull}80577[#80577]
* Transforms: Remove index field limitation for custom query {kibana-pull}81467[#81467]
* In the Index Management app, you can now click a data stream index lifecycle policy and view it in the Index Lifecycle Policies app {kibana-pull}82165[#82165]
* Use monacco editor in the inspector request panel {kibana-pull}82272[#82272]
* In the Index Management app, you can now click a data stream index template and view it on the Index Templates tab {kibana-pull}82592[#82592]
* In the Index Management app, data streams managed by Fleet can now be identified by a 'Managed' label {kibana-pull}83049[#83049]
* In the Index Management app, buttons to delete a data stream are now controlled by user privileges {kibana-pull}83573[#83573]
* Index Patterns service now has public HTTP API, which third parties can use to manage index patterns, index pattern field metadata, and scripted fields {kibana-pull}83576[#83576]
* The ILM policy UI now supports configuring searchable snapshot in the cold and hot phases {kibana-pull}83783[#83783]
* Adds shrink field to hot phase {kibana-pull}84087[#84087]
* Index and component templates can now be configured with runtime fields in their mappings {kibana-pull}84184[#84184]
* The Ingest Node Pipelines UI now supports autocompletion for the Painless language when defining a condition for a processor, ane when defining a source for a script processor {kibana-pull}84554[#84554]
* In the Index Management app, hidden data streams are now displayed and indicated by a label {kibana-pull}85028[#85028]
* Aligns form fields in ILM with ESUI standards {kibana-pull}85143[#85143]
* Moves error and loading notices for data allocation {kibana-pull}85154[#85154]
* Index Lifecycle Management app now includes readonly action {kibana-pull}85419[#85419]
* Adds support for latest function {kibana-pull}85784[#85784]
* Updates logstash pipeline management to use system index APIs {kibana-pull}80405[#80405]
* Reintroduce "Add support for runtime field types to mappings editor" {kibana-pull}79940[#79940]
* Form UI {kibana-pull}81766[#81766]
Maps::
* Geo line source {kibana-pull}76572[#76572]
* Supports envelope {kibana-pull}80614[#80614]
* Adds query bar inputs to geo threshold alerts tracked points & boundaries {kibana-pull}80871[#80871]
* Support by value saved objects {kibana-pull}82486[#82486]
* Show icon when layer is filtered by time and allow layers to ignore global time range {kibana-pull}83006[#83006]
* Saved object tagging {kibana-pull}83197[#83197]
* Updates style when metrics change {kibana-pull}83586[#83586]
* Support URL drilldowns {kibana-pull}83732[#83732]
* Background color map setting {kibana-pull}83822[#83822]
* Adds geo containment tracking alert type {kibana-pull}84151[#84151]
* Style by percentiles {kibana-pull}84291[#84291]
* Use index-pattern field display name in UX {kibana-pull}84945[#84945]
* Adds percentile {kibana-pull}85367[#85367]
* Adds on-prem EMS config {kibana-pull}82525[#82525]
Metrics::
* Adds endpoint for Metrics API {kibana-pull}81693[#81693]
* Adds full custom metric UI to inventory alerts {kibana-pull}81929[#81929]
* Adds basic interaction and shell for node details overlay {kibana-pull}82013[#82013]
* Adds metrics to node details {kibana-pull}83357[#83357]
* Don't show loading screen during auto-reload {kibana-pull}83376[#83376]
* Adds logs to node details {kibana-pull}83433[#83433]
* Adds Process tab to Enhanced Node Details {kibana-pull}83477[#83477]
* Implements Resolved action group in Metrics alerts {kibana-pull}83687[#83687]
* Adds metadata tab to node details flyout {kibana-pull}84454[#84454]
* Fixes double loading of inventory page when there's a default view {kibana-pull}84843[#84843]
* Synch time for metrics ui Kibana time {kibana-pull}85502[#85502]
Monitoring::
* Thread pool rejections alert {kibana-pull}79433[#79433]
* Improves Collector `fetch` API {kibana-pull}79595[#79595]
* Usage collection add saved objects client to collector fetch context {kibana-pull}80554[#80554]
* Some progress on making alerts better in the UI {kibana-pull}81569[#81569]
* CCR read exceptions alert {kibana-pull}85908[#85908]
Operations::
* Starting in 8.0, deb and rpm packages will restart on upgrade by default {kibana-pull}82049[#82049]
* Adds a new CLI for generating encryption keys used by Kibana {kibana-pull}82838[#82838]
* Adds deb and rpm packages for ARM64 {kibana-pull}84364[#84364]
* Upgrades the major Node.js version used by and shipped with Kibana from v12 to v14 {kibana-pull}83425[#83425]
* Adds experimental support for configuring CORS policy {kibana-pull}84316[#84316]
Platform::
* Apply back pressure in Task Manager whenever Elasticsearch responds with a 429 {kibana-pull}75666[#75666]
* Adds basic observability into Task Manager's runtime operations {kibana-pull}77868[#77868]
* Custom labels for ranges {kibana-pull}79628[#79628]
* Adds cumulative sum expression function {kibana-pull}80129[#80129]
* Adds a row click trigger to Lens embeddable for datatable expression renderer {kibana-pull}83167[#83167]
* Adds search request batching using bfetch {kibana-pull}83418[#83418] and {kibana-pull}84043[#84043]
* Normalize values by time unit {kibana-pull}83904[#83904]
* Navigation search now includes deep links into various applications, allowing you to quickly navigate directly to the screens you need most {kibana-pull}83380[#83380]
* Adds tags UI to search results {kibana-pull}85084[#85084]
Querying & Filtering::
* Use new Search API for rollup search {kibana-pull}83275[#83275]
Security::
* Adds audit logging events and event filtering{kibana-pull}74640[#74640]
* Allow the default space to be accessed via `/s/default` {kibana-pull}77109[#77109]
* Omit runtime fields from FLS suggestions {kibana-pull}78330[#78330]
* Adds the ability to log in to Kibana anonymously without using any 3rd-party reverse proxy workarounds {kibana-pull}79985[#79985]
* Adds the ability to specify session timeout settings for every provider separately {kibana-pull}82583[#82583]
* Adds cloud links to user menu {kibana-pull}82803[#82803]
* Users are now redirected back to the original URL after they log in again {kibana-pull}84229[#84229]
Uptime::
* Upgrades the major Node.js version used by and shipped with Kibana from v10 to v12 {kibana-pull}61587[#61587]
* Persist date range between uptime and other apps {kibana-pull}79418[#79418]
* Prompt for confirmation when saving alert with no action {kibana-pull}79892[#79892]
* Applies the active timefilter onto the autocomplete requests to fix performance issues {kibana-pull}81515[#81515]
* Adds description and documentation link in alert flyout {kibana-pull}81526[#81526]
* Put APM links into header action menu {kibana-pull}82292[#82292]
* Displays response headers for a ping {kibana-pull}82332[#82332]
* APM header changes {kibana-pull}82870[#82870]
* Uptime overview overhaul {kibana-pull}83406[#83406]
* Waterfall view {kibana-pull}84821[#84821]
* Display tags in monitor list and details page {kibana-pull}85168[#85168]

[float]
[[bug-v7.11.0]]
=== Bug fixes
Alerting::
* Don't change previousStartedAt when alert execution fails {kibana-pull}81388[#81388]
* Enables the EventLog Client to query across ILM versions of the `.event-log` index {kibana-pull}81920[#81920]
* Used SO for saving the API key IDs that should be deleted {kibana-pull}82211[#82211]
* Fixes pagination in connectors list {kibana-pull}83638[#83638]
* Prevents errors in Action and Alert Type UIs from cascading through Alerts Management {kibana-pull}83925[#83925]
* Fixes buggy default message behaviour {kibana-pull}84202[#84202]
* Revert the Revert of "[Alerting] renames Resolved action group to Recovered (#84123)"  {kibana-pull}84662[#84662]
* Fixes bug where severity is auto selected but not applied to the action in PagerDuty {kibana-pull}84891[#84891]
* Fixes bug when switching between threshold comparators  {kibana-pull}85844[#85844]
* Set refresh: false when partially updating the alert's execution status {kibana-pull}86316[#86316]
* Sort action type filters in alerts list and hide case action type {kibana-pull}86360[#86360]
* Fixes webhook errror messages to be more specific {kibana-pull}87044[#87044]
* Shift polling interval by random amount when Task Manager experiences consistent claim version conflicts {kibana-pull}88020[#88020]
APM::
* Fixes link to upgrade assistant {kibana-pull}82138[#82138]
* Filtering by "Type" on error overview sometimes causes an error {kibana-pull}82750[#82750]
* Fixes broken link to ML when time range is not set {kibana-pull}85976[#85976]
* Set default for agent icons {kibana-pull}86023[#86023]
* Adds range query to service map trace walk {kibana-pull}86631[#86631]
* Filter out service nodes if there are no metrics {kibana-pull}86639[#86639]
* Truncate long service names in Trace overview {kibana-pull}86759[#86759]
* "View job" link from latency charts leads to a malfunctioning page {kibana-pull}86788[#86788]
* `transactionType` should be required on service-specific endpoints {kibana-pull}86893[#86893]
* Custom links can still be created with a read only user. {kibana-pull}87089[#87089]
* Toggle action and service icon menus {kibana-pull}87220[#87220]
* Blank page when selecting a future time range {kibana-pull}87298[#87298]
* Fixes alert creation items being available for readonly users {kibana-pull}87343[#87343]
* Fixes missing datepicker when service maps has no data {kibana-pull}87393[#87393]
* Explicitly set environment for cross-service links {kibana-pull}87481[#87481]
* Optimize anomaly data loading strategy {kibana-pull}87522[#87522]
* Fixes a bug that would sometimes cause the Kibana process to crash with Error: Failed to run task "apm-telemetry-task" as it is currently running {kibana-pull}87645[#87645]
* Fixes stale custom links list after creating new link {kibana-pull}87932[#87932]
* Fixes alerting expression popovers positions on scroll {kibana-pull}88085[#88085]
* Hide “Create configuration” for users without write access {kibana-pull}88149[#88149]
* Hide `recording` setting from from RUM agents {kibana-pull}88152[#88152]
* Reset time range if either value changes {kibana-pull}88186[#88186]
Dashboard::
* Fixes cloning panels reactive issue {kibana-pull}74253[#74253]
* Fixes dashboard "snapshot share" is not sharing panel state in view mode {kibana-pull}79837[#79837]
* Deangularize Dashboard {kibana-pull}82909[#82909]
* Fixes Unlink Action via Rollback of ReplacePanel {kibana-pull}83873[#83873]
* Transition Embeddable State Transfer to Session Storage {kibana-pull}85688[#85688]
* Fixes Add From Library Flyout Staying Open {kibana-pull}86698[#86698]
Discover::
* Fixes double fetching of saved search embeddable  {kibana-pull}84060[#84060]
* Fixes navigating back when changing index pattern {kibana-pull}84061[#84061]
Elastic Security Solution::
For the Elastic Security Solution 7.11.0 release information, refer to {security-guide}/release-notes.html[_Elastic Security Solution Release Notes_].
Fleet::
* Fixes duplicate ingest pipeline refs {kibana-pull}82078[#82078]
Lens and visualizations::
* Do not reset formatting when switching between custom ranges and auto histogram {kibana-pull}82694[#82694]
* Makes incomplete switches possible {kibana-pull}83519[#83519]
* Fixes bug causing bar charts to render bars at the wrong width {kibana-pull}83545[#83545]
* Fixes label input debouncing {kibana-pull}84121[#84121]
* Fixes Treemap outer labels with transparent background {kibana-pull}84245[#84245]
* Line Visualization improper scaling can result in gaps {kibana-pull}80135[#80135]
* Handle correctly {{key}} placeholder on series name {kibana-pull}81748[#81748]
* Fixes "other bucket" for fields containing dashes {kibana-pull}81981[#81981]
* Disable using top_hits in pipeline aggregations {kibana-pull}82278[#82278]
* Fixes Moving Avg help link in Vis Editor {kibana-pull}82423[#82423]
* TSVB doesn't communicate it's index-patterns to dashboard {kibana-pull}82964[#82964]
* Offset option doesn't work properly for some values {kibana-pull}83051[#83051]
* Remove extra column in split mode {kibana-pull}83193[#83193]
* Table tab not working with rollup indexes {kibana-pull}83635[#83635]
* Filter bar in Vega is not usable with non default index pattern. {kibana-pull}84090[#84090]
* TSVB field list performance issue on using annotations {kibana-pull}84407[#84407]
* Gauge visualization can no longer be clicked to filter on values since Kibana 7.10.0 {kibana-pull}84768[#84768]
* Wrong x-axis formatting if "dateFormat" configuration property is not specified {kibana-pull}84899[#84899]
* Date histogram timestamps on daily are getting displayed as epoch times {kibana-pull}85565[#85565]
* Fixes request with disabled aggregation {kibana-pull}85696[#85696]
* Visualize charts flicker on each change {kibana-pull}86888[#86888]
Logs::
* Fixes selection of suggested field names in the logs stream query bar {kibana-pull}85973[#85973]
* Fixes initial selection of log threshold alert condition field if missing from mapping {kibana-pull}86488[#86488]
Machine Learning::
* Fixes exclude frequent in advanced wizard (#81121) {kibana-pull}81154[#81154]
* Updating analysis config schema (#82703) {kibana-pull}82714[#82714]
* Data Frame Analytics Classification results view: fix 'Actual' label {kibana-pull}86060[#86060]
* Anomaly Detection: Fix validation error when no data in index. {kibana-pull}86114[#86114]
* DFA results view: ensure results not stuck in loading state when no docs returned from text search {kibana-pull}86178[#86178]
* Fix sort order of data recognizer module cards {kibana-pull}86250[#86250]
* Fixes displaying of setup errors in recognizer wizard {kibana-pull}86430[#86430]
* Fixes alignment of values in data frame analytics results view badges {kibana-pull}86621[#86621]
* Fixes cloning of partition field in per-partition categorization jobs {kibana-pull}86635[#86635]
* Fix Single Metric Viewer y domain extending beyond the visible focus area {kibana-pull}86655[#86655]
* Ensure job group badge fonts are same color {kibana-pull}86674[#86674]
* Anomaly Detection jobs list: fix edit groups popup {kibana-pull}86836[#86836]
Management::
* Fixes issues in Index Management and ILM when resources have special characters in names {kibana-pull}80835[#80835]
* Fixes ilm navigation {kibana-pull}81664[#81664]
* Fixes a bug in the Watcher UI where the search input cleared after 1 minute of inactivity, causing a user to lose the filtered results {kibana-pull}82651[#82651]
* Fixes a bug in the Index Templates UI where editing an index template with a deprecated type defined and no mapped fields could remove the type on save {kibana-pull}82987[#82987]
* Grokdebugger correctly passes Elasticsearch errors to the Kibana UI {kibana-pull}83036[#83036]
* Fixes an issue in the Snapshot and Restore UI, where editing a Snapshot Lifecycle Management policy may fail if it contains a previous snapshot failure with a large payload content {kibana-pull}83928[#83928]
* Reset to default for empty strings {kibana-pull}85137[#85137]
* Fixes esaggs missing default time field scenario in Lens {kibana-pull}85754[#85754]
* Transforms: Support for missing_bucket in transform advanced pivot editor {kibana-pull}85758[#85758]
* Documentation links in the Index Lifecycle Management UI have been updated {kibana-pull}87216[#87216]
* Fixes a bug causing the index pattern override selection to be cleared when switching page while performing a legacy format saved object import {kibana-pull}81621[#81621]
* Fixes a UI error when attempting to copy a saved object when a user only has Read access to the Default space {kibana-pull}81828[#81828]
* Fixes index pattern recreation when removing experimental packages {kibana-pull}81940[#81940]
* Fixes logstash central pipeline management test {kibana-pull}83281[#83281]
Maps::
* Fixes feature tooltip remains open when zoom level change hides layer {kibana-pull}81373[#81373]
* Fixes geojson upload diacritic handling {kibana-pull}83122[#83122]
* Always initialize routes on server-startup {kibana-pull}84806[#84806]
* Fixes multi-select query from Controls visualization not always getting applied to map in dashboard {kibana-pull}87310[#87310]
* Fixes zooming while drawing shape filter logs errors in console {kibana-pull}88413[#88413]
Metrics::
* Refactor Observability Overview for Performance {kibana-pull}84955[#84955]
* Hide drawer on inventory {kibana-pull}85503[#85503]
Monitoring::
* Iterate over saved object & index patterns pages to collect telemetry results {kibana-pull}73077[#73077]
* Fixes bug in logs UI link {kibana-pull}80943[#80943]
* Uses asCurrentUser in getClusterUuid {kibana-pull}82908[#82908]
* Uses fetchClustersRange {kibana-pull}87882[#87882]
* Change cloud messaging on no data page {kibana-pull}88375[#88375]
Operations::
* Fixes the logging destination for systemd installations and and updates the sysv filename to be consistent with other stack products {kibana-pull}74896[#74896]
* Create keystore after installation {kibana-pull}76465[#76465]
* Wrap blocked paths in quotes {kibana-pull}83560[#83560]
Platform::
* Adds loading indicator during debounce time {kibana-pull}80158[#80158]
* Mark task as failed if maxAttempts has been met. {kibana-pull}80681[#80681]
* Reactively disable Task Manager lifecycle when core services become unavailable {kibana-pull}81779[#81779]
* Schedule retry based on schedule on recurring tasks {kibana-pull}83682[#83682]
Querying & Filtering::
* KQL autocomplete suggestions for field values will now have backslashes properly escaped {kibana-pull}85457[#85457]
Security::
* Prevent Kerberos and PKI providers from initiating a new session for unauthenticated XHR/API requests {kibana-pull}82817[#82817]
* Fixes incomplete client cert chain when using PKI authentication with the login selector {kibana-pull}88229[#88229]
Uptime::
* Monitor status alert use url as instance {kibana-pull}81736[#81736]
* Removes Connector flyouts after usage {kibana-pull}82126[#82126]
* User experience display low values {kibana-pull}86026[#86026]
* Simple monitor status alert fix for page duty and other connectors {kibana-pull}87460[#87460]
* Fixes kuery bar dark theme {kibana-pull}87827[#87827]
* Clear ping state when PingList component in unmounted {kibana-pull}88321[#88321]
* UX use replace history instead of push on first load {kibana-pull}88586[#88586]
* Fixes impacted page load errors {kibana-pull}88597[#88597]

[[release-notes-7.10.2]]
== {kib} 7.10.2

For detailed information about the 7.10.2 release, review the following bug fixes. For the breaking changes, refer to the <<breaking-changes-7.10,breaking changes in 7.10>>.

[float]
[[security-update-v7.10.2]]
=== Security update
*Vega* visualizations are susceptible to stored and reflected XSS via a vulnerable version of the Vega library. When you create *Vega* visualizations or create a vulnerable URL that describes the visualization, an arbitrary JavaScript can execute in your browser.

[float]
[[affected-versions-v7.10.2]]
==== Affected versions
Affected versions include 7.10.1 and earlier.

[float]
[[solution-v7.10.2]]
==== Solution
Verify if you use *Vega* visualizations, then complete the following:

* If you use *Vega* visualizations, upgrade to 7.10.2.
* If you do not use *Vega* visualizations, open your kibana.yml file, then change `vega.enabled: true` to `vega.enabled: false`.

[float]
[[bug-v7.10.2]]
=== Bug fixes
Alerting::
* Don't reset server log level if level is defined {kibana-pull}83651[#83651]
Dashboard::
* Fixes Duplicated Create New Modal {kibana-pull}86489[#86489]
Logs::
* Fixes value completion in the logs stream query bar {kibana-pull}85772[#85772]
Machine Learning::
* Fixes watcher URL to the Anomaly Explorer page {kibana-pull}85123[#85123]
* Fixes Anomaly Explorer data refresh with relative time bounds  {kibana-pull}86142[#86142]
* Fixes zoom missing in Anomaly detection URLs {kibana-pull}86182[#86182] and {kibana-pull}86400[#86400]
* Fixes charts grid on the Anomaly Explorer page {kibana-pull}86904[#86904]
Management::
* When number of replicas is set to zero, it is now correctly displayed in Index Lifecycle Management policies {kibana-pull}85251[#85251]
* The list of data streams in Index Management now sorts numerically by the raw bytes value, which renders them in the correct order {kibana-pull}86204[#86204]
* Fixes a bug where the enterprise level subscription displayed as platinum {kibana-pull}85849[#85849]
* From table actions in the Cross-Cluster Replication app, you can now pause/resume index replication, unfollow leader index, or delete an auto-follow pattern {kibana-pull}84433[#84433]
* Accessibility fix in Rollup Jobs app: when selecting a row in the jobs table, a screen reader pronounces the job's name {kibana-pull}84567[#84567]
Monitoring::
* Makes alert status fetching more resilient {kibana-pull}84676[#84676]
* Adds unmapped_type to additional queries {kibana-pull}85837[#85837]
Security::
* Fixes 500 error when using PKI authentication with an incomplete certificate chain {kibana-pull}86700[#86700]

[[release-notes-7.10.1]]
== {kib} 7.10.1

For detailed information about the 7.10.1 release, review the following enhancements and bug fixes.

For the breaking changes, refer to the <<breaking-changes-7.10,breaking changes in 7.10>>.

[float]
[[enhancement-v7.10.1]]
=== Enhancements
Machine Learning::
* Adds unsigned_long support to data frame analytics and anomaly detection {kibana-pull}82636[#82636]
Platform::
* Fixes a bug causing searching for saved objects using special characters such as * or - to not return any results {kibana-pull}82693[#82693]

[float]
[[bug-v7.10.1]]
=== Bug fixes
APM::
* Fixes missing `service.node.name` {kibana-pull}84269[#84269]
* Page load chart breakdown tooltip formatting {kibana-pull}83627[#83627]
Canvas::
* Fixes elements not being updated properly when filter is changed on workpad {kibana-pull}81863[#81863]
Dashboard::
* Fixes an issue when exporting a Saved Search visualization, inside of a dashboard,ß to CSV was returning blank rows {kibana-pull}81524[#81524]
Discover::
* Fixes double fetching of saved search embeddable  {kibana-pull}84060[#84060]
Ingest Management::
* Fixes error with creating agent policy during add integration {kibana-pull}83993[#83993]
* Disallows dashes in namespace strings {kibana-pull}83996[#83996]
* Adds config options to accepted docker env vars {kibana-pull}84338[#84338]
Lens and visualizations::
* Reloads on change via history object {kibana-pull}81753[#81753]
* Fixes underlying data drilldown for Lens {kibana-pull}82737[#82737]
* Fixes bug in terms formatting {kibana-pull}82776[#82776]
* Do not reset filter state on incoming app navigation {kibana-pull}83786[#83786]
* Vis listing page breaks on unknown vis type {kibana-pull}82018[#82018]
* Fixes area rendering with negative values {kibana-pull}83313[#83313]
* Vertical cursor is not displayed across visualizations of a dashboard {kibana-pull}83435[#83435]
* Y-axis has number formatting not considering all series formatters in the group {kibana-pull}83438[#83438]
* Fixes tagcloud explicitly pass params {kibana-pull}84107[#84107]
* Fixes timelion not working with single quotes {kibana-pull}84196[#84196]
Machine Learning::
* Fixes setting of anomaly chart time range depending on bucket spans {kibana-pull}81291[#81291]
* Fixes formatting of fields in index data visualizer {kibana-pull}82593[#82593]
* Fixes anomaly detection validation when using advanced properties in the analysis config {kibana-pull}82703[#82703]
* Fixes Anomaly Explorer population charts when multiple causes in anomaly {kibana-pull}84254[#84254]
* Fixes swim lane for top influencers {kibana-pull}84258[#84258]
* Fixes unnecessary trigger of wildcard field type search for {ml} plugin routes {kibana-pull}84605[#84605]
Management::
* Fixes a bug causing Kibana to crash when importing a file with an invalid format from the saved object management section {kibana-pull}82406[#82406]
Maps::
* Fixes threshold alert issue resolving nested fields {kibana-pull}83577[#83577]
Metrics::
* Adds timerange and sorting to node detail metadata request {kibana-pull}81033[#81033]
* Converts legend key to optional {kibana-pull}83495[#83495]
* Optimizations for Snapshot and Inventory Metadata {kibana-pull}83596[#83596]
Monitoring::
* Adds catch clause to handle exceptions on loading page {kibana-pull}82179[#82179]
* Fixes the plugins passed into legacy routes {kibana-pull}82192[#82192]
* Fixes small issue with detecting missing monitoring data from APM {kibana-pull}83646[#83646]
* Only looks at ES for the missing data alert for now {kibana-pull}83839[#83839]
* Fixes rison error {kibana-pull}83987[#83987]
* Fixes issues with show_license_expiration {kibana-pull}84361[#84361]
Security::
* Adjusts encoding for security management pages {kibana-pull}83629[#83629]
* Fixes "Severity override" dropdowns in "Create new rule" -> "About rule" {kibana-pull}82271[#82271]
Sharing::
* Embeddable Error Handling Without ReplacePanel {kibana-pull}82201[#82201]
Uptime::
* Page load chart breakdown tooltip formatting {kibana-pull}83627[#83627]


[[release-notes-7.10.0]]
== {kib} 7.10.0

For detailed information about the 7.10.0 release, review the following sections.

[float]
[[breaking-changes-7.10]]
=== Breaking changes

Breaking changes can prevent your application from optimal operation and performance. Before you upgrade to 7.10.0, review the breaking changes, then mitigate the impact to your application.

* <<user-facing-changes-7-10, Breaking changes for users>>
* <<general-plugin-API-changes-7-10, Breaking changes for plugin developers>>

[discrete]
[[user-facing-changes-7-10]]
==== Breaking changes for users

// The following section is re-used in the Installation and Upgrade Guide

// tag::notable-breaking-changes[]


[discrete]
[[breaking_kibana_legacy_plugins]]
===== Legacy plugins support removed

The legacy plugin system and the legacy plugin API have been removed.
Legacy plugin owners should migrate their plugins to the {kib} Platform plugin API.

*via https://github.com/elastic/kibana/pull/77599[#77599]*

[discrete]
[[breaking_kibana_plugins]]
===== Support added for Kibana Platform plugins

The `bin/kibana-plugin` CLI has been updated to work with the new {kib}
Platform plugin format instead of the legacy plugin format.

*via https://github.com/elastic/kibana/pull/74604[#74604]*

[discrete]
[[breaking_vega_visualizations]]
===== Vega visualizations without $schema property no longer supported

Previously, if you did not provide the $schema property,
the default value was set and hardcoded in the Vega code.
The visualization was then rendered with a warning message.
This introduced difficulties when updating the version of the Vega library.

Now all Vega specs must contain the $schema param. In no $schema
param exists, an error message is returned.
Refer to the https://vega.github.io/vega/docs/specification/[Vega docs] for
more information about this property.

*via https://github.com/elastic/kibana/pull/73805[#73805]*

// end::notable-breaking-changes[]

[discrete]
[[general-plugin-API-changes-7-10]]
==== Breaking changes for plugin developers

[[breaking_plugin_v7.10.0_79406]]
.Config moved from `xpack.ingestManager` to `xpack.fleet`
[%collapsible]
====

To rename the Ingest Manger plugin to Fleet:

* The {kib} config for Ingest Manager moved from `xpack.ingestManager.*` to `xpack.fleet.*`.
* The config options specific to agents moved to `xpack.ingestManager.fleet.*` and `xpack.fleet.agents.*`.

*via https://github.com/elastic/kibana/pull/79406[#79406]*

====

[[breaking_plugin_v7.10.0_79379]]
.Plugins server code no longer transpiled with Babel
[%collapsible]
====

Kibana plugins can no longer rely on their server code being automatically transpiled with Babel.
The https://github.com/elastic/kibana/tree/master/packages/kbn-plugin-helpers[`@kbn/plugin-helpers`]
provide a build task that will transform a plugin's server code to plain JS via Babel,
but plugin authors can use a tool of their choosing to accomplish the same result.

*via https://github.com/elastic/kibana/pull/79176[#79176]* and https://github.com/elastic/kibana/pull/79379[#79379]*

====

[[breaking_plugin_v7.10.0_79193]]
.Ingest Manager APIs moved to Fleet
[%collapsible]
====

The following Ingest Manager API routes changed:

* All API routes moved from `/api/ingest_manager/*`  to `/api/fleet/*`
* All previous Fleet routes moved from `/api/ingest_manager/fleet/*`  to `/api/fleet/*`. This includes:
** `/api/ingest_manager/fleet/agents` => `/api/fleet/agents`
** `/api/ingest_manager/fleet/enrollment-api-keys` => `/api/fleet/enrollment-api-keys`
* The Fleet setup API moved from `/api/ingest_manager/fleet/setup` to `/api/fleet/agents/setup`

*via https://github.com/elastic/kibana/pull/79193[#79193]*

====

[[breaking_plugin_v7.10.0_78383]]
.`SearchSource` is now exposed on the server
[%collapsible]
====

The high-level search API `SearchSource` is now available on the server:
```js
function async myRouteHandler(context, request, response) {
  const searchSource = await data.search.searchSource.asScoped(request);
  searchSource.createEmpty(); // API after calling `asScoped` matches the client-side service
}
```

*via https://github.com/elastic/kibana/pull/78383[#78383]*

====

[[breaking_plugin_v7.10.0_78006]]
.Response status helpers added
[%collapsible]
====

This release introduces the following `search` helpers:

* `isCompleteResponse`
* `isErrorResponse`
* `isPartialResponse`


*via https://github.com/elastic/kibana/pull/78006[#78006]*

====

[[breaking_plugin_v7.10.0_77791]]
.The index pattern `factory` and `crud` methods refactored
[%collapsible]
====
The refactoring includes the following changes:

* Create new indexPattern instance (unsaved) -
`indexPatternService.make() =>  indexPatternService.create(indexPatternSpec, skipFetchFields)`

* Save new index pattern -
`indexPattern.create() => indexPatternService.createSavedObject(indexPattern)`

* Setting the default index pattern is done as part of `indexPatternService.createSavedObject`,
 but can also be called individually-
`uiSettings.set('defaultIndex', id) => indexPatternService.setDefault(indexPatternId, force)`

* Update index pattern -
`indexPattern.save() => indexPatternService.updateSavedObject(indexPattern)`

* Additional changes:
** `indexPatternService.get();` no longer returns a new IndexPattern instance
** `indexPattern.fieldsFetcher` is replaced by `indexPatternService.getFieldsForWildcard` and `indexPatternService.getFieldsForIndexPattern`
** `indexPattern.originalBody` => `indexPattern.originalSavedObjectBody` updates via `indexPattern.resetOriginalSavedObjectBody`
** `indexPattern.refreshFields => indexPatternService.refreshFields(indexPattern)`
** `indexPatternService.createAndSave(indexPatternSpec)` convenience method added
** `indexPatternService.getFieldsForWildcard` can be called directly. Previously a temp index pattern had to be created.

*via https://github.com/elastic/kibana/pull/77791[#77791]*

====

[[breaking_plugin_v7.10.0_77788]]
.Error notifications now aligned
[%collapsible]
====

The `data.search` service now includes these explicit error types:

- `AbortError` if the request was canceled by the application or by calling `cancelPending`.
- `SearchTimeoutError` if the request has timed out on the client **or** on the server.
- `PainlessError` if there's an painless script error inside the response
- If the error is unidentified, it throws the error as is.

The new `showError` function can be used with these errors to show customized toast messages.
Applications may choose to handle errors differently. However, the `SearchTimeoutError`
error notification is shown regardless.


```.ts
data.search.search(...)
   .catchError((e: Error) => {
       data.search.showError(e);
   }
```

*via https://github.com/elastic/kibana/pull/77788[#77788]*

====

[[breaking_plugin_v7.10.0_76848]]
.`className` prop added to QueryStringInput component
[%collapsible]
====

A `className` prop was added to the main container of the QueryStringInput component.

*via https://github.com/elastic/kibana/pull/76848[#76848]*

====

[[breaking_plugin_v7.10.0_76822]]
.KibanaRequest now has a `uuid` property
[%collapsible]
====

`KibanaRequest` now has a `uuid` property, which is a UUID that uniquely identifies the request.

*via https://github.com/elastic/kibana/pull/76822[#76822]*

====

[[breaking_plugin_v7.10.0_76706]]
.Index pattern save moved to index pattern service
[%collapsible]
====

`IndexPattern.save` has been replaced with `IndexPatternsService.save`.

*via https://github.com/elastic/kibana/pull/76706[#76706]*

====

[[breaking_plugin_v7.10.0_76538]]
.`FetchOptions` replaced with `ISearchOptions`
[%collapsible]
====

The `FetchOptions` type was removed&mdash;use the `ISearchOptions` type instead.
The `ISearchOptions` `signal` option was renamed to `abortSignal`.

*via https://github.com/elastic/kibana/pull/76538[#76538]*

====

[[breaking_plugin_v7.10.0_75943]]
.Legacy {es} client APIs removed
[%collapsible]
====

The `__LEGACY` APIs have been removed from the `data` plugin's client-side search service.
Specifically, `data.search.__LEGACY.esClient` is no longer exposed,
 and the legacy `elasticsearch-browser` package has been removed from the repo.
 If you rely on this client in your plugin, we recommend migrating to
 the new https://github.com/elastic/elasticsearch-js[`elasticsearch-js` client].

*via https://github.com/elastic/kibana/pull/75943[#75943]*

====

[[breaking_plugin_v7.10.0_75819]]
.Plugin status API added
[%collapsible]
====

Kibana Platform plugins can now read the status of their dependencies,
their plugin's default status, and manually override that status as
reported to the end user and on the `/api/status` endpoint.

```ts
class MyPlugin {
  setup(core) {
    // Override default behavior and only elevate severity when elasticsearch is not available
    core.status.set(
      core.status.core$.pipe(core => core.elasticsearch);
    );
  }
}
```

*via https://github.com/elastic/kibana/pull/75819[#75819]*

====

[[breaking_plugin_v7.10.0_75728]]
.New advanced setting `searchTimeout` added
[%collapsible]
====

The behavior of how search requests timeout changed:

 * The {kib} server uses the new {es} client. The client already uses all timeout configurations
 such as `requestTimeout`, `shardTimeout`, and `maxRetries`.
 Because the client can't override those settings, in OSS,
 we removed the code governing the {es} timeout on the client. Instead, this change adds handling for a timeout error response.
  A nice side effect is being able to remove `injectDefaultVars` from the legacy core plugin.
* With Basic+ licenses, users can control the maximum time for a search session
 (for example, a single re-load of a dashboard), per space. Aa new Advanced Setting
 can be set to a positive value, or to 0, allowing queries to run without a timeout, as long as a user stays on screen.


*via https://github.com/elastic/kibana/pull/75728[#75728]*

====

[[breaking_plugin_v7.10.0_75717]]
.`IndexPattern` class no longer uses `getConfig` or `uiSettingsValues`
[%collapsible]
====

The `IndexPattern` class now takes `shortDotsEnable` (boolean) and `metaFields` (string[]) as arguments.
These were formerly provided by `uiSettings`

*via https://github.com/elastic/kibana/pull/75717[#75717]*

====

[[breaking_plugin_v7.10.0_75517]]
.The `expressions` plugin has removed its `__LEGACY` APIs
[%collapsible]
====

The `expressions` plugin has removed its `__LEGACY` APIs,
which were designed for internal use in Canvas.
In the unlikely event that you rely on the `expressions.__LEGACY` namespace,
you will need to copy the relevant code into your plugin before updating.

Also removed is the `createKibanaUtilsCore` helper from the `kibana_utils` plugin,
which was only used in the legacy Expressions APIs.

*via https://github.com/elastic/kibana/pull/75517[#75517]*

====

[[breaking_plugin_v7.10.0_75368]]
.The search service's `getParamsFromSearchRequest` helper changed
[%collapsible]
====

The `getParamsFromSearchRequest` helper changed to
prepare for exposing `SearchSource` on the server. If your plugin relies on this
helper, update the dependencies passed to it as follows:

```diff
       import { getSearchParamsFromRequest } from '../../../src/plugins/data/public';

       const params = getSearchParamsFromRequest(request, {
-          injectedMetadata: core.injectedMetadata,
-          uiSettings: core.uiSettings,
+          esShardTimeout: core.injectedMetadata.getInjectedVar('esShardTimeout') as number,
+          getConfig: core.uiSettings.get.bind(core.uiSettings),
       });
```

*via https://github.com/elastic/kibana/pull/75368[#75368]*

====

[[breaking_plugin_v7.10.0_75185]]
.Dependencies removed from index pattern list and field list
[%collapsible]
====

The index pattern `fields` class has the following changes:

- The class is no longer created using a constructor. This produced odd side effects
when array methods were used. In particular, removing the `IndexPattern` argument revealed that the
`FieldList` constructor was being called when `filter` and similar were called, producing an error.
Now, it's only created once by `IndexPattern`.
- The `IndexPattern` object and `onNotification` are no longer provided to the creation function.

The index pattern `field` class has the following changes:

- The `IndexPattern` object and `onNotification` are no longer provided to the constructor.
- The `format` attribute no longer exists. Use `IndexPattern.getFormatterForField` instead.
- A callback is no longer used when an unknown field type is encountered.
Instead it throws `FieldTypeUnknownError`.
- `toSpec` now takes an optional argument, `{ getFormatterForField }`. This argument takes
the field as an argument and returns a formatter.

*via https://github.com/elastic/kibana/pull/75185[#75185]*

====

[[breaking_plugin_v7.10.0_74914]]
.Agent and package configs renamed to agent and package policies
[%collapsible]
====

The following Fleet (previously Ingest Manager) API routes changed:

- `/api/ingest_manager/agent_configs/*` renamed to `/api/fleet/agent_policies/*`
- `/api/ingest_manager/package_configs/*` renamed to `/api/fleet/package_policies/*`

All Ingest Manager routes with payload fields that were previously in
reference to agent configs or package configs have been renamed to agent policies
and package policies. For example `configId` -> `policyId`, `package_configs` -> `package_policies`.

The following Ingest Manager app routes changed:

- `/app/ingestManager#/configs` renamed to `/app/ingestManager#/policies`

The following Ingest Manager settings changed:

- `xpack.ingestManager.fleet.agentConfigRolloutRateLimitIntervalMs` renamed to `xpack.fleet.agents.agentPolicyRolloutRateLimitIntervalMs`
- `xpack.fleet.agents.agentConfigRolloutRateLimitRequestPerInterval` renamed to `xpack.fleet.agents.agentPolicyRolloutRateLimitRequestPerInterval`

*via https://github.com/elastic/kibana/pull/74914[#74914]*

====

[[breaking_plugin_v7.10.0_74607]]
.SearchSource dependencies moved to the server
[%collapsible]
====

The `getSearchErrorType` and the `SearchError` class have been
removed from the static exports of the `data` plugin's contract.
If you rely on these, copy the code directly into your plugin.
The `SearchError` interface is still exposed.

*via https://github.com/elastic/kibana/pull/74607[#74607]*

====

[[breaking_plugin_v7.10.0_74472]]
.`data.search.aggs` available on the server
[%collapsible]
====

The `search.aggs` service in the `data` plugin is now available on the server.
The usage is the same as on the client, except that a scoped saved objects client
must be provided on the server to retrieve the `start` contract:

```ts
const savedObjectsClient = savedObjects.getScopedClient(kibanaRequest);
// `aggs.asScopedToClient` will return the same contract as is available in the browser
const aggs = await data.search.aggs.asScopedToClient(savedObjectsClient);
const allAggTypes = aggs.types.getAll();
```

The `calculateAutoTimeExpression` method was removed from the `setup` contract,
and now only exists on the `data` plugin's `start` contract. The method was
was not used in `setup` elsewhere in {kib}, so it was removed for simplicity.

In addition, the agg types registry changed and now accepts a provider
function, which is used to inject dependencies. This might be needed in the agg type definition,
specifically a `getConfig` function used to retrieve uiSettings:

```ts
const getMyAgg = ({ getConfig }) =>
  new MetricAggType({
    name: 'myAgg',
    expressionName: 'myAggFunction',
    getSerializedFormat: (agg) => ({ id: 'number' }),
    params: [
      {
        name: 'someParam',
        write: (agg, output, aggs) => ({
          const queryLanguage = getConfig('search:queryLanguage');
          ...etc
        })
      }
    ],
  });

// register the agg type provider
dataSetup.search.aggs.registerMetric('myAgg', getMyAgg);
```

*via https://github.com/elastic/kibana/pull/74472[#74472]*

====

[[breaking_plugin_v7.10.0_73730]]
.Routes can specify the idle socket timeout
[%collapsible]
====

Route definitions can now specify the `idleSocket` timeout in addition to the `payload` timeout.

Resolves https://github.com/elastic/kibana/issues/73557[#73557].

*via https://github.com/elastic/kibana/pull/73730[#73730]*

====

[[breaking_plugin_v7.10.0_73651]]
.New {es} client exposed
[%collapsible]
====

{kib} provides the new {es} client
as a part of the {es} service on the server-side.
The legacy client is deprecated on and subject for removal in `7.x`. Reference
the https://github.com/elastic/kibana/blob/master/src/core/MIGRATION_EXAMPLES.md#elasticsearch-client[migration guide] to refactor your code

*via https://github.com/elastic/kibana/pull/73651[#73651]*

====

[[breaking_plugin_v7.10.0_72093]]
.Query input string manager added
[%collapsible]
====

This PR allows gracefully extracting of the query string state, to be consumed by other services.
You can now use the `data.query.state$` observable and receive all state updates in one place.

```TypeScript
data.query.state$.subscribe((queryState: QueryState) => {...})
```

This PR also adds the `data.query.queryString` service, allowing to you set the
query string https://github.com/elastic/kibana/issues/52522[programmatically].
```TypeScript
data.query.queryString.setQuery({query: 'abc', language: 'kuery'});
```


*via https://github.com/elastic/kibana/pull/72093[#72093]*

====

[[breaking_plugin_v7.10.0_67157]]
.Role-based access control added to the Alerting & Action plugins
[%collapsible]
====

This PR allows you to assign privileges to the Alerting framework when
defining your feature in *Kibana*. When registering your feature, you can add
a list of AlertTypes under your `read` and `all` keys of the `privileges` object, as such:

```ts
features.registerFeature({
      id: 'alertsExample',
      name: 'alertsExample',
      app: [],
      privileges: {
        all: {
          alerting: {
            all: ['example.always-firing', 'example.people-in-space'],
          },
        },
        read: {
          alerting: {
            read: ['example.always-firing', 'example.people-in-space'],
          },
        },
      },
    });
```

This specifies:

* If users AbortError granted the `all` privilege to the `alertsExample` feature,
then they are also granted `all` privileges to the `example.always-firing` and `example.people-in-space` AlertTypes
under the `alertsExample` consumer.
* If users are granted the `read` privilege to the `alertsExample` feature,
then they are also granted `read` privileges to the `example.always-firing` and `example.people-in-space`
AlertTypes under the `alertsExample` consumer.

For example, an `all` user will be able to create an `example.always-firing` alert
with the `alertsExample` as consumer. This will also automatically grant the user the right to
create an `example.always-firing` alert from within Alerts management, where `alerts` is the consumer.
This **does not** grant the user the ability to create an `example.always-firing` alert under any other consumer.
For that, the specific consumer will have to grant the user explicit rights through their privilege system.

For example, if Uptime wanted to allow users to create an `example.people-in-space`
alert inside of the Uptime solution, then they will have to do the following:

```ts
features.registerFeature({
      id: 'uptime',
      name: 'Uptime',
      app: [],
      privileges: {
        all: {
          alerting: {
            all: ['xpack.uptime.alerts.actionGroups.tls', 'example.people-in-space'],
          },
        },
        read: {
          alerting: {
            read: ['xpack.uptime.alerts.actionGroups.tls', 'example.people-in-space'],
          },
        },
      },
    });
```

This, assuming it's added by Uptime, would grant uptime users the privilege
to create both their own `xpack.uptime.alerts.actionGroups.tls` alert and
the `example.people-in-space` alert with `uptime` as the consumer.

This does not allow any Uptime user with `all` privileges to create an `example.people-in-space` alert.
To create an `example.people-in-space` alert, the Uptime user needs both `all` in Uptime **and** in
AlertsExample, as we always check whether the user is privileged to execute
an operation (create/enable/delete etc.) in both the alert's _consumer_ and its _producer_.

The one exception to this is when the _producer_ is `alerts`, which represents a `built-in` AlertType,
in which case we only check for _consumer_ privileges as all users are privileged to create built-in types by definition.


*via https://github.com/elastic/kibana/pull/67157[#67157]*

====

[[breaking_plugin_v7.10.0_73257]]
.The EventLog Setup contract now exposes a `registerSavedObjectProvider`
[%collapsible]
====

The EventLog Setup contract now exposes a registerSavedObjectProvider method
which can be used to register a Saved Object provider.

```ts
export interface IEventLogService {
   isEnabled(): boolean;
   isLoggingEntries(): boolean;
   isIndexingEntries(): boolean;
   registerProviderActions(provider: string, actions: string[]): void;
   isProviderActionRegistered(provider: string, action: string): boolean;
   getProviderActions(): Map<string, Set<string>>;
   registerSavedObjectProvider(type: string, provider: SavedObjectProvider): void;
   getLogger(properties: IEvent): IEventLogger;
 }
```

This API specifies the Saved Object type and a "provider"
callback that is called whenever a new request asks for that type of Saved Object.

This example shows a provider for the alert SavedObject type,
which creates a new AlertsClient for the request and returns a getter
that attempts to get the SavedObject by its id.

*via https://github.com/elastic/kibana/pull/73257[#73257]*

```ts
eventLogService.registerSavedObjectProvider('alert', (request: KibanaRequest) => {
    const client = getAlertsClientWithRequest(request);
    return (type: string, id: string) => client.get({ id });
});
```

The EventLog maintains a registry of each provider,
and creates a getter on demand when the user actually requests an object of a
certain type. An AlertsClient is only instantiated if
the user requests to the events reference an Alert.
Once a getter is created for a specific request,
it is cached for the remainder of the lifecycle of that request.
This means a single provider is used for multiple gets made by the request.

====

[[breaking_plugin_v7.10.0_72289]]
.New {es} client in SO service
[%collapsible]
====

The SO service was refactored to use https://github.com/elastic/elasticsearch-js[elasticsearch-js]
under the hood. This change might affect plugins reading the response status field
from the SO error bubbled to the Solutions code because the {es} error no longer
provides the status field (statusCode is still provided).

Several plugins were adjusted to check SO errors with `SavedObjectsErrorHelpers`.
Plugins must use this because we are going to stop wrapping errors in the Boom object.

*via https://github.com/elastic/kibana/pull/72289[#72289]*

====

[[breaking_plugin_v7.10.0_72029]]
.Alerts Management now controlled via Feature Controls and privileges
[%collapsible]
====

If you want your plugin to grant a user access to Alerts Management,
you must specify it under Management in your feature configuration:

```ts
management: {
    insightsAndAlerting: ['triggersActions'],
},
```
You can specify it in three places:

* Directly on the feature. When security is disabled, this grants access
to every role granted access to the Feature via Feature Controls.
When security is enabled, this specifies that the feature has access to
this management section and is required before you can grant this to a specific role.

* Under the `all` privilege. When security is enabled, this grants access
to every role granted the `all` privilege to the Feature via Feature Controls.

* Under the `read` privilege. When security is enabled, this grants access
to every role granted the `read` privilege to the Feature via Feature Controls.

You're likely to have to specify this in 3 places in your plugin
to cover all 3 scenarios. Although this is more verbose than before,
it aligns with the rest of {kib}.
It also means that the Triggers and Actions plugin no longer needs to
know about each plugin that wants to gain access
(which means {kib} can more easily support future alerting usage).


*via https://github.com/elastic/kibana/pull/72029[#72029]*

====

[discrete]
[[breaking_plugin_v7.10.0_73778]]
.API changed for creating a Jira connector
[%collapsible]
====

`casesConfiguration` was renamed to `incidentConfiguration`. Added optional `attributeisCaseOwned`.

*via https://github.com/elastic/kibana/pull/73778[#73778]*

====

[discrete]
[[breaking_plugin_v7.10.0_74357]]
.API changed for creating an IBM Resilient connector
[%collapsible]
====

`casesConfiguration` was renamed to `incidentConfiguration`. Added optional `attributeisCaseOwned`.

*via https://github.com/elastic/kibana/pull/74357[#74357]*

====

[discrete]
[[breaking_plugin_v7.10.0_77327]]
.Settings per case per connector
[%collapsible]
====

- To create a case (`POST <kibana host>:<port>/api/cases`), you must provide a `connector`.
Requests without a `connector` get a `400 Bad Request`.
- To update the connector of a case (`PATCH <kibana host>:<port>/api/cases`),
you must provide the `connector`. The `connector_id` attribute has been
removed in favor of the `connector` attribute.
- To set the default connector (`POST <kibana host>:<port>/api/cases/configure`),
you must provide a `connector`. The `connector_id` and `connector_name`
attributes have been removed in favor of the `connector` attribute.
- To update the connector’s case closure settings
(`PATCH <kibana host>:<port>/api/cases/configure`), you must provide a `connector`.
The `connector_id` and `connector_name` attributes have been removed in
favor of the `connector` attribute.

*via https://github.com/elastic/kibana/pull/77327[#77327]*

====

[float]
[[deprecation-v7.10.0]]
=== Deprecations
Monitoring::
* "Internal Monitoring" deprecation warning {kibana-pull}72020[#72020]
Platform::
* The /api/status endpoint response format is now deprecated and will change in 8.0 {kibana-pull}76054[#76054]
* These two config keys have been renamed and the old names will no longer work as of 8.0: cpu.cgroup.path.override => ops.cGroupOverrides.cpuPath and cpuacct.cgroup.path.override => ops.cGroupOverrides.cpuAcctPath {kibana-pull}76730[#76730]
Security::
* Deprecates the `xpack.security.authc.providers.saml.<provider-name>.maxRedirectURLSize` setting for SAML authentication {kibana-pull}68117[#68117]
Visualizations::
* In 7.0 and later, *Timelion* app is deprecated. In 8.0 and later, *Timelion* app is removed from {kib} {kibana-pull}74660[#74660]
+
To prepare for the removal of *Timelion* app, you must migrate *Timelion* app worksheets to a dashboard.
+
NOTE: Only *Timelion* app is deprecated. {kib} continues to support *Timelion*
visualizations in *Dashboard*, *Visualize*, and *Canvas*.
+
To migrate a *Timelion* worksheet to a dashboard:

. Open the main menu, click *Dashboard*, then click *Create dashboard*.

. For each *Timelion* app worksheet, complete the following steps.

.. On the dashboard, click *Create New*, then click *Timelion* on the *New Visualization* window.

.. Open a new tab, open the *Timelion* app, select the chart you want to copy, then copy the chart expression.
+
[role="screenshot"]
image::images/timelion-copy-expression.png[Timelion app chart]

.. Go to *Timelion*, paste the chart expression in the *Timelion expression* field, then click *Update*.
+
[role="screenshot"]
image::images/timelion-vis-paste-expression.png[Timelion advanced editor UI]

.. In the toolbar, click *Save*.

.. On the *Save visualization* window, enter the visualization *Title*, then click *Save and return*.
+
The Timelion visualization panel appears on the dashboard.
+
[role="screenshot"]
image::images/timelion-dashboard.png[Final dashboard with saved Timelion app worksheet]

[float]
[[breaking-v7.10.0]]
=== Breaking changes
Lens and visualizations::
* Deprecates schema-less specs in Vega {kibana-pull}73805[#73805]
Operations::
* The bin/kibana-plugin CLI has been updated to work with the new Kibana Platform plugin format instead of the legacy plugin format {kibana-pull}74604[#74604]
Platform::
* The legacy plugin system and the legacy plugin API have been removed. It is no longer possible to use third parties legacy Kibana plugins. Legacy plugin owners should migrate their plugins to the Kibana Platform plugin API {kibana-pull}77599[#77599]

For more information, refer to <<breaking-changes-7.10,breaking changes in 7.10>>.

[float]
[[enhancement-v7.10.0]]
=== Enhancements
Alerting::
* Batches the update operations in Task Manager  {kibana-pull}71470[#71470]
* Actions add proxy support {kibana-pull}74289[#74289]
* Exempt Alerts pre 7.10 from RBAC on their Action execution until updated {kibana-pull}75563[#75563]
* Improves performance of the authorization filter in AlertsClient.find by skipping KQL parsing {kibana-pull}77040[#77040]
* Adds a Test Connector tab in the Connectors list {kibana-pull}77365[#77365]
* Adds a "Test Connector" button on the Connectors List to make discovery of the Test tab easier {kibana-pull}78746[#78746]
* The high-level search API SearchSource is now available on the server {kibana-pull}78383[#78383]
* Adds Role Based Access-Control to the Alerting & Action plugins based on Kibana Feature Controls {kibana-pull}67157[#67157]
APM::
* Metrics-powered UI {kibana-pull}73953[#73953]
* Uses platform history {kibana-pull}74328[#74328]
* Immediately returns terms for unbound queries {kibana-pull}74543[#74543]
* Implements nest level expand/collapse toggle for each span row {kibana-pull}75259[#75259]
* Removes additional "No data" message and re-ordering charts {kibana-pull}75399[#75399]
* Uses the outcome field to calculate the transaction error rate chart {kibana-pull}75528[#75528]
* Improves breakdown data gaps  {kibana-pull}75534[#75534]
* UI filters: Change transaction type selector from dropdown to radio buttons {kibana-pull}75625[#75625]
* Language-specific stacktrace formatting {kibana-pull}75924[#75924]
* Service maps layout enhancements {kibana-pull}76481[#76481]
* Service inventory redesign {kibana-pull}76744[#76744]
* Shows accurate metrics for containerized applications {kibana-pull}76768[#76768]
* Anomaly detection Settings page: Link directly to ML jobs management to filter for the select environment {kibana-pull}77875[#77875]
* Removes `max` validation for transaction_max_spans {kibana-pull}77987[#77987]
* Service maps grouped external resource nodes {kibana-pull}78136[#78136]
* Alerting: Add global option to create all alert types {kibana-pull}78151[#78151]
* Empty prompt and loading spinner for service map {kibana-pull}78382[#78382]
* Adds default message to alerts. {kibana-pull}78930[#78930]
* Persists time range between APM and other apps {kibana-pull}79090[#79090]
* Sets service map cursors {kibana-pull}80920[#80920]
* Persists time range across apps {kibana-pull}79258[#79258]
Dashboard::
* Lens By Value With AttributeService {kibana-pull}77561[#77561]
Discover::
* Uiactions to navigate to visualize or maps {kibana-pull}74121[#74121]
* Supports unsigned_long fields {kibana-pull}81115[#81115]
Ingest Manager::
* Agent bulk actions UI {kibana-pull}77690[#77690]
* Supports multiple kibana urls {kibana-pull}75712[#75712]
* Adds upgrade action {kibana-pull}77412[#77412]
* User experience metrics {kibana-pull}77384[#77384]
* Uses optional `registryProxyUrl` setting when contacting Registry {kibana-pull}78648[#78648]
* Upgrades Agents in Fleet {kibana-pull}78810[#78810]
* Configures Elasticsearch output with YAML in global output settings {kibana-pull}79019[#79019]
Kibana UI::
* Elastic home page redesign {kibana-pull}70571[#70571]
* Stacked headers and navigational search {kibana-pull}72331[#72331]
* Kibana Overview Page {kibana-pull}75827[#75827]
* Adds meta data and highlighting to nav search {kibana-pull}77662[#77662]
* Creates new "Add Data" tutorials for several newly added Filebeat modules {kibana-pull}77237[#77237]
Lens and visualizations::
* Lens is GA {kibana-pull}75574[#75574]
* Lens legend improvements {kibana-pull}70619[#70619]
* Lens added stack as percentage {kibana-pull}70703[#70703]
* Lens adds styling options for x and y axes {kibana-pull}71829[#71829]
* Lens adds filters aggregation  {kibana-pull}75635[#75635]
* Lens supports drag to replace {kibana-pull}75895[#75895]
* Lens adds histogram/range aggregation for numbers {kibana-pull}76121[#76121]
* Lens settings panel redesign and separate settings per y axis {kibana-pull}76373[#76373]
* Lens field stats for IP fields and scripted fields {kibana-pull}76457[#76457]
* Adds Lens to Recently Accessed {kibana-pull}77249[#77249]
* Navigate from discover to lens {kibana-pull}77873[#77873]
* Lens shows runtime fields in field list and improve performance {kibana-pull}79167[#79167]
* Drilldowns for TSVB / Vega / Timelion {kibana-pull}74848[#74848]
* TSVB filter ratio now supports KQL {kibana-pull}75033[#75033]
* Vega is now GA {kibana-pull}75157[#75157]
* Uses prefix search in visualize editor's field and aggregation select {kibana-pull}75290[#75290]
* TSVB Markdown now handles the case when a field has key_as_string value. Common case is the value is a date string (e.x. 2020-08-21T20:36:58.000Z) or a boolean stringified value ("true"/"false").
Such a value will be first converted into a moment object and formatted with dateFormat from  Kibana UI settings. If the key_as_string value is not recognized by a known format in Moments.js,
a formatted value from elasticsearch will be returned {kibana-pull}75555[#75555]
* Agg-based histograms now have `auto` interval option {kibana-pull}76001[#76001]
* The search.aggs service in the data plugin is now available on the server. Usage is the same as on the client, except that a scoped saved objects
client must be provided on the server in order to retrieve the start contract {kibana-pull}74472[#74472]
Logs::
* Log alerts chart previews {kibana-pull}75296[#75296]
* Adds dataset-specific categorization warnings {kibana-pull}75351[#75351]
* Log threshold ratio alerts {kibana-pull}76867[#76867]
* Adds timestamp as a context variable to log threshold alerts {kibana-pull}78932[#78932]
Machine Learning::
* Adds combined job and datafeed JSON editing {kibana-pull}72117[#72117]
* Dat frame analytics creation wizard: default destination index to job id {kibana-pull}72758[#72758]
* Adds decision path charts to exploration results table {kibana-pull}73561[#73561]
* Data frame analytics creation wizard: ensures user can switch back to form from JSON editor {kibana-pull}73752[#73752]
* Adds datafeed query reset button {kibana-pull}73958[#73958]
* Data frame analytics creation wizard: shows link to results {kibana-pull}74025[#74025]
* Adds initial file analysis overrides {kibana-pull}74376[#74376]
* Add ability to pass a group ID filter to job management page {kibana-pull}74533[#74533]
* Adds memory status to data frame analytics job list {kibana-pull}74570[#74570]
* Switching to new {es} client {kibana-pull}74965[#74965]
* Inference models management {kibana-pull}74978[#74978]
* Adds indicator if there are stopped partitions in categorization job wizard {kibana-pull}75709[#75709]
* Adds Metadata and Discovery Analysis Jobs to Security Integration {kibana-pull}76023[#76023]
* Adds option to Advanced Settings to set default time range filter for anomaly detection jobs {kibana-pull}76347[#76347]
* Adds machine learning modules for Metrics UI Integration {kibana-pull}76460[#76460]
* Collapsable sections on data frame analytics job result pages {kibana-pull}76641[#76641]
* Improves client side error handling {kibana-pull}76743[#76743]
* Adds geo point combined field to CSV import {kibana-pull}77117[#77117]
* Adds option to create anomaly detection jobs without starting the datafeed {kibana-pull}77484[#77484]
* Adds feature importance summary charts  {kibana-pull}78238[#78238]
* Default filter of data frame analytics results page by `defaultIsTraining` value in url {kibana-pull}78303[#78303]
* Replaces use of rest_total_hits_as_int with track_total_hits {kibana-pull}78423[#78423]
* Adds runtime fields support {kibana-pull}78700[#78700]
* Adds `ml.is_training` filter to regression/classification views {kibana-pull}78702[#78702]
* Data frame analytics creation wizard: replaces select input with job type cards with icons {kibana-pull}78872[#78872]
* Data frame analytics results view: ensures boolean values in charts shown without formatting {kibana-pull}78888[#78888]
* Only adjust the bounds of Single Metric Viewer if annotations are visible {kibana-pull}79210[#79210]
* Data frame analytics creation wizard: ensures job creation possible when model memory lower than estimate {kibana-pull}79229[#79229]
* Expandable sections for classification and regression {kibana-pull}79414[#79414]

Management::
* Empty index patterns page re-design  {kibana-pull}68819[#68819]
* Adds inspector for VEGA {kibana-pull}70941[#70941]
* Adds links to "wait for snapshot policy" combobox that navigate to the snapshot policy creation wizard, when there no policies created
yet or the value doesn't match any existing policies {kibana-pull}72473[#72473]
* Adds the possibility to preview the final composite of a composable template. The user will be able to see this preview from the creation or
editing wizard flow, or when looking at the details of a composable template {kibana-pull}72598[#72598]
* Refines the debugging user experience when creating or editing an ingest node pipeline in the existing Ingest Node Pipelines UI. Once a sample
document(s) is provided, the pipeline is executed. The UI highlights the status of each processor, and shows the user how their sample documents change shape at each step in the pipeline {kibana-pull}74964[#74964]
* The Data Streams tab in Index Management now allows users to view additional information for data streams {kibana-pull}75107[#75107]
* Data tiers for 7.10 {kibana-pull}76126[#76126]
* The mappings editor in the Index Templates UI now supports configuring the constant_keyword field type {kibana-pull}76564[#76564]
* The mappings editor in the Index Templates UI now supports configuring the wildcard field type {kibana-pull}76574[#76574]
* The mappings editor in the Index Templates UI now supports configuring the histogram field type. Support for the meta parameter was also added
to the boolean, binary, completion, date, flattened, geo_point, numeric, range, search_as_you_type, token_count and text field types {kibana-pull}76671[#76671]
* Time suffix for duration formatter {kibana-pull}76729[#76729]
* The ingest node pipeline editor now has the ability to move processors into an empty tree {kibana-pull}76885[#76885]
* The ILM UI now allows attaching a lifecycle policy to both a composable index template and a legacy index templatee {kibana-pull}77077[#77077]
* Adds forcemerge action to hot phase with a rollover enabled {kibana-pull}77193[#77193]
* Transforms: Extend editing and creation options {kibana-pull}77370[#77370]
* The mappings editor in the Index Templates UI now supports configuring the point field type {kibana-pull}77543[#77543]
* Adds an option to select a higher compression codec for force merge action in ILM {kibana-pull}78175[#78175]
* The mappings editor in the Index Templates UI now supports configuring the version field type {kibana-pull}78206[#78206]
* Updates transform cloning to include description and new fields {kibana-pull}78364[#78364]
* Optimises keyboard navigation of the ingest processors component {kibana-pull}79122[#79122]
Maps::
* Auto-fits to data bounds {kibana-pull}72129[#72129]
* Implements save and return from dashboard {kibana-pull}74303[#74303]
* Adds initial location option that fits to data bounds {kibana-pull}74583[#74583]
* Adds drilldown support map embeddable {kibana-pull}75598[#75598]
* Originating App Breadcrumb {kibana-pull}75692[#75692]
* Adds mvt support for ES doc sources  {kibana-pull}75698[#75698]
* Adds message to empty add tooltip card {kibana-pull}75809[#75809]
* Introduces geo-threshold alerts {kibana-pull}76285[#76285]
* Removes alias icon for Lens and Maps {kibana-pull}76418[#76418]
* Adds deprecated message to tile_map and region_map visualizations. {kibana-pull}77683[#77683]
* Adds super-fine option to grid/cluster layer {kibana-pull}78201[#78201]
* Enables auto fit to bounds by default {kibana-pull}79296[#79296]
Metrics::
* Supports percentage format in threshold alerts {kibana-pull}72701[#72701]
* Uses Notify Every in Alert Preview {kibana-pull}74401[#74401]
* Gets custom metrics working in inventory alerts with limited UI {kibana-pull}75073[#75073]
* Anomaly Detection setup flow for Metrics {kibana-pull}76787[#76787]
* Adds inventory view timeline {kibana-pull}77804[#77804]
* Adds anomalies to timeline {kibana-pull}78602[#78602]
* Adds ability to override datafeeds and job config for partition field {kibana-pull}78875[#78875]
* Overrides anomaly detection partition field {kibana-pull}79214[#79214]
Monitoring::
* Fixes the messaging around needing TLS enabled {kibana-pull}72310[#72310]
* Adds loading page {kibana-pull}75362[#75362]
* Disk usage alerting {kibana-pull}75419[#75419]
* Design/UI improvements {kibana-pull}76946[#76946]
* Alert Telemetry for the Security app {kibana-pull}77200[#77200]
* Adds new elasticsearch client to telemetry plugin {kibana-pull}78046[#78046]
* Missing data alert {kibana-pull}78208[#78208]
* [Telemetry] Display collected security event sample {kibana-pull}78963[#78963]
* JVM memory usage alert {kibana-pull}79039[#79039]
* Navigational search UI metrics {kibana-pull}79238[#79238]
Operations::
* Kibana no longer needs to optimize plugins for use in the browser when a plugin is installed. This means the --optimize flag is now deprecated and does nothing now. It will be removed in 8.0 {kibana-pull}73154[#73154]
* Docker containers now use CentOS 8.2 as the base image, upgrading from 7. {kibana-pull}74656[#74656]
* Docker images now include CJK fonts built in {kibana-pull}74806[#74806]
Platform::
* Adds support for reading request ID from X-Opaque-Id header {kibana-pull}71019[#71019]
* Adds Kea.js support to Enterprise Search plugin {kibana-pull}72160[#72160]
* Adds solution-level side navigation {kibana-pull}74705[#74705]
* Adds Workplace Search side navigation {kibana-pull}74894[#74894]
* Adds support for version on create & bulkCreate when overwriting a document {kibana-pull}75172[#75172]
* Monitors the Task Manager Poller and automatically recovers from failure {kibana-pull}75420[#75420]
* Adds a new Enterprise Search overview plugin, which introduces and guides users to the App Search and Workplace Search plugins {kibana-pull}76734[#76734]
* The deprecated Dashboard Import API (POST /api/kibana/dashboards/import) now accepts filesizes up to the savedObjects.maxImportPayloadBytes configuration
which is 10MB by default {kibana-pull}77409[#77409]
Reporting::
* Reporting configuration settings for time duration values allow "time unit" strings to be specified as well as number of milliseconds.
For byte size values, "byte size" strings are allowed as well as number of bytes. See the Reporting configuration documentation for more details {kibana-pull}74202[#74202]
* Reporting/diagnostics {kibana-pull}74314[#74314]
* Removes the light gray border around the image in PDF reports {kibana-pull}78036[#78036]
* Increases capture.timeouts.openUrl to 1 minute {kibana-pull}75207[#75207]
Security::
* Hides management sections based on cluster/index privileges {kibana-pull}67791[#67791]
* xpack.encryptedSavedObjects.encryptionKey can now be rotated without losing access to existing encrypted Saved Objects (alerts, actions etc.).
Old key(s) can be moved to xpack.encryptedSavedObjects.keyRotation.decryptionOnlyKeys to be used only to decrypt existing objects while new or updated objects will be encrypted using new primary encryption key.
Administrators can also use dedicated API endpoint /api/encrypted_saved_objects/_rotate_key to trigger re-encryption of all existing objects with a new primary key so that old keys can be safely disposed {kibana-pull}72420[#72420]
* Groups features for space management {kibana-pull}74151[#74151]
* Allows passwords to be visible on security screens {kibana-pull}77394[#77394]
* Groups features for role management {kibana-pull}78152[#78152]
* Warns users when security is not configured {kibana-pull}78545[#78545]
* Sharing saved-objects phase 1.5 {kibana-pull}75444[#75444]
* [Detections] Handle conflicts on alert status update {kibana-pull}75492[#75492]
* Improves the experience when Kibana returns a 403 HTTP status code or the user tries to access a page/app they do not have access to. In those instances, a new user-friendly error page is shown.
The user will get the option to go back to the page from where they came, or log in as a different user. Previously the user would just see a simple JSON document containing a short error message
without the ability to do anything {kibana-pull}75538[#75538]
* Adds EQL search strategy {kibana-pull}78645[#78645]
* Fetches related events from the server {kibana-pull}78780[#78780]
* [Resolver] Requests data from new event api {kibana-pull}78782[#78782]
* Updates copy styling {kibana-pull}79313[#79313]
* Excludes cloud alias index from our query {kibana-pull}81551[#81551]
* Implements server-side sessions. {kib} now stores user session information in a dedicated {es} index.
By default, expired and invalid sessions are cleaned from the index every hour.
You can configure the cleanup interval with the `xpack.security.session.cleanupInterval` setting.
After the upgrade, all existing sessions are invalid and users must log back in to {kib}.
It's also no longer possible
to host different {kib} tenants on different ports of the same host.
Although this setup worked in the past, it was discouraged because browsers
share cookies across all applications hosted using the same host name, ignoring ports.
Cookies are now strictly tied to a particular tenant. {kibana-pull}68117[#68117]
Uptime::
* Pings Redirects {kibana-pull}65292[#65292]
* Uses `service.name` to link from Uptime -> APM where available {kibana-pull}73618[#73618]
* One click simple monitor down alert {kibana-pull}73835[#73835]
* Singular alert {kibana-pull}74659[#74659]
* Creates new path for client side monitoring {kibana-pull}74740[#74740]
* Adds rum core web vitals {kibana-pull}75685[#75685]
* Visitors by region map {kibana-pull}77135[#77135]
* Url search {kibana-pull}77516[#77516]
* Js errors {kibana-pull}77919[#77919]
* Synthetics UI {kibana-pull}77960[#77960]
* OpenTelemetry icons and data telemetry {kibana-pull}78499[#78499]
* Adds percentile selector {kibana-pull}78562[#78562]
* Adds core web vitals in obsv homepage {kibana-pull}78976[#78976]
* Makes uptime ping histogram bar clickable to improve filtering {kibana-pull}79054[#79054]
* Adds type row to monitor detail page {kibana-pull}79556[#79556]
* Allow add alert Flyout initial values like name, tags {kibana-pull}76906[#76906]

[float]
[[bug-v7.10.0]]
=== Bug fixes
Alerting::
* Overwrites SOs when updating instead of partially updating {kibana-pull}73688[#73688]
* Reloads the Alerts List when alerts are deleted {kibana-pull}73715[#73715]
* Fixes alerting_api_integration/security_and_spaces tests failing if actions proxy set on for parallel process running using commands 'scripts/functional_tests_server' and 'scripts/functional_test_runner' {kibana-pull}75232[#75232]
* Adds validation to display an error when creating index action in alert with invalid document. {kibana-pull}75929[#75929]
* Avoids setting a default dedupKey on PagerDuty {kibana-pull}77773[#77773]
* Fixes React warnings in Suspense usage during Alert creation {kibana-pull}77777[#77777]
* Fixes alert add and edit flyout to not close when user clicks outside {kibana-pull}78860[#78860]
* Fixes error in UI in the Edit Flyout for PreConfigured Connectors {kibana-pull}78994[#78994]
* Makes savedObjectId field optional {kibana-pull}79186[#79186]
* Renames "Built-In Alerts" feature to "Stack Alerts" and "Actions" feature to "Actions and Connectors" {kibana-pull}79513[#79513]
* Fixes sorting of Alert Instance in Details page {kibana-pull}80103[#80103]
* Fixes migration issue for case specific actions, by extending email action migrator checks {kibana-pull}81673[#81673]
* Fixes docs in trigger alerting UI {kibana-pull}75363[#75363]
* Populates alert instances view with event log data {kibana-pull}68437[#68437]
* Displays a banner to users when some alerts have failures, added alert statuses column and filters {kibana-pull}79038[#79038]
* Formalizes alert status and add status fields to alert saved object {kibana-pull}75553[#75553]
APM::
* Uses core.chrome to set window title {kibana-pull}73232[#73232]
* Chart units don't update when toggling the chart legends {kibana-pull}74931[#74931]
* Fixes overlapping transaction names {kibana-pull}76083[#76083]
* Avoids negative offset for error marker on timeline {kibana-pull}76638[#76638]
* Service Map: `Not Defined` option doesn't work properly {kibana-pull}77483[#77483]
* Uses model_plot as a signal for anomaly scores {kibana-pull}77756[#77756]
* Fixes service maps ML link zoom value {kibana-pull}77841[#77841]
* Fixes APM header wrapping {kibana-pull}78845[#78845]
* Catches health status error from ML {kibana-pull}80131[#80131]
* Hides service if only data is from ML {kibana-pull}80145[#80145]
* Fixes link to trace {kibana-pull}80993[#80993]
* Service map handle timeout with messaging {kibana-pull}82083[#82083]
* Scale transaction rate correctly {kibana-pull}82155[#82155]
Dashboard::
* Sample data link does not work {kibana-pull}75262[#75262]
* Stores Expanded Panel Id in URL {kibana-pull}78684[#78684]
* Fixes embeddable title and description for reporting and dashboard tooltip {kibana-pull}78767[#78767]
* Fixes apps break on unrestorable session state in URL {kibana-pull}74264[#74264]
Discover::
* Converts legacy sort to be compatible with multi sort {kibana-pull}76986[#76986]
* Context - Fix bug when document id contains a slash  {kibana-pull}77435[#77435]
* Makes _source field not clickable {kibana-pull}78698[#78698]
* "View surrounding documents" encodes spaces in filters {kibana-pull}79283[#79283]
* Should not visualize unknown/conflict type fields {kibana-pull}81311[#81311]
Ingest Manager::
* Fixes removing ingest pipelines from elasticsearch {kibana-pull}75092[#75092]
* Installs previous version of package if update fails {kibana-pull}76694[#76694]
* Agent Policy names are unique {kibana-pull}79201[#79201]
* Index pattern installation uses requested package version {kibana-pull}80079[#80079]
* Removes fields from index pattern during package uninstall {kibana-pull}80082[#80082]
* Allows default packages to be deleted from the default agent policy {kibana-pull}81535[#81535]
Kibana UI::
* Removes duplicate string in search dropdown {kibana-pull}77429[#77429]
Lens and visualizations::
* Lens fixes inconsistencies when switching with empty layer {kibana-pull}72809[#72809]
* Lens fixes bug in saving {kibana-pull}74483[#74483]
* Lens fixes table sorting bug {kibana-pull}74902[#74902]
* Lens fixes rollup related bugs {kibana-pull}75314[#75314]
* Lens fixes dimension popover design on mobile {kibana-pull}75866[#75866]
* Shows meta field data in Lens {kibana-pull}77210[#77210]
* Lens fixes unclear UI for bucket aggregation grouping order {kibana-pull}77331[#77331]
* Lens handles missing fields gracefully {kibana-pull}78173[#78173]
* Lens removes Over time suggestions for numeric intervals {kibana-pull}78442[#78442]
* Lens fixes display of multiple un-stacked bar series {kibana-pull}78525[#78525]
* Lens prevents values outside of range for number of top values  {kibana-pull}78734[#78734]
* Lens fixes empty callout for empty/meta fields accordion {kibana-pull}79429[#79429]
* Lens fixes debouncing in visualization settings UI  {kibana-pull}79625[#79625]
* Lens fixes chart switching for XY charts {kibana-pull}80297[#80297]
* Lens fixes URL query loss on redirect {kibana-pull}81475[#81475]
* TSVB fixes inaccurate Group By {kibana-pull}73683[#73683]
* TSVB ffixes bug on TopN weird behavior with zero values {kibana-pull}74942[#74942]
* TSVB fixes panel updates with back button {kibana-pull}75896[#75896]
* TSVB allows string fields on value count aggregation {kibana-pull}79267[#79267]
* Prevents pageload on TSVB drilldown {kibana-pull}78005[#78005]
* Data table fixes download filename when using split table {kibana-pull}74231[#74231]
* Bar chart fixes rendering of non-stacked bar {kibana-pull}74930[#74930]
* Bar chart fixes overlapping percentiles {kibana-pull}75315[#75315]
* Fix crash in input controls if index pattern is not available {kibana-pull}79431[#79431]
* Vega fixes unexpected change in autosizing behavior post upgrade {kibana-pull}77408[#77408]
* Timelion hides app from search results when the setting is disabled {kibana-pull}77763[#77763]
* In some old TSVB visualization saved objects, queries and filters can be stored. This is not possible anymore for a while and there is no way to edit them besides changing the JSON of the saved object,
but they were still applied to the rendered output. In 7.10, these leftover queries and filters will be removed automatically from the saved object. In almost all cases, no change is necessary.
If a visualization contained these local queries and filters deliberately, they should be converted to panel filters in the "Panel options" of the TSVB interface {kibana-pull}75137[#75137]
Logs::
* Returns 403s rather than 500s for ML privilege errors {kibana-pull}74506[#74506]
* Correctly filters for log rate anomaly examples with missing dataset {kibana-pull}76775[#76775]
* Fixes logs permissions for alert management {kibana-pull}81199[#81199]
Machine Learning::
* Updates broken job config callout error {kibana-pull}75481[#75481]
* Replaces all use of date_histogram interval with fixed_interval {kibana-pull}76876[#76876]
* Data frame analytics creation wizard: Fixes field loading race condition {kibana-pull}77326[#77326]
* Improves calendar ics file parsing {kibana-pull}78986[#78986]
* Data frame analytics creation wizard: Resolves clone usability issues {kibana-pull}79048[#79048]
* Fixes jobs so it limit job menu actions for jobs that are closing {kibana-pull}79303[#79303]
* Data frame analytics: Ensures clear error when index pattern missing {kibana-pull}79378[#79378]
* Avoids full page reload for links following CSV import {kibana-pull}79539[#79539]
* Classification results: Ensures confusion matrix doesn't span full width {kibana-pull}79790[#79790]
* Fixes anomaly detection jobs list load if call to load job messages fails {kibana-pull}79792[#79792]
* Sends secondary auth headers to _explain {kibana-pull}79814[#79814]
* Fixes job selection flyout {kibana-pull}79850[#79850]
* Datagrid: Ensures column content with 'boolean' schema is not capitalized {kibana-pull}80041[#80041]
* Fixes Anomaly Explorer charts time range to obey time picker range {kibana-pull}80317[#80317]
* Data frame analytics results: Ensures boolean values in confusion matrix are not capitalized {kibana-pull}80350[#80350]
* Fixes values for decision path not showing correctly for regression due to rounding {kibana-pull}80555[#80555]
* Fixes regression with some links not opening in new tab {kibana-pull}80785[#80785]
* Fixes callout message for total feature importance {kibana-pull}80881[#80881]
* Fixes exclude frequent in advanced wizard {kibana-pull}81121[#81121]

Management::
* Fixes the copy of the success notification that displays after creating or saving a watch {kibana-pull}73982[#73982]
* Data frame analytics / Transforms: Fixes job row actions menu invalid DOM nesting warning {kibana-pull}74499[#74499]
* Transforms: Unset doc title when app unmounts {kibana-pull}75539[#75539]
* Fixes a bug in Snapshot and Restore when creating a Snapshot Lifecycle Management policy, where the form could become locked if the user enter an invalid value and navigated to a previous step {kibana-pull}76540[#76540]
* The mappings editor in Index Management now supports configuring the positive_score_impact parameter for the rank_feature field type {kibana-pull}76824[#76824]
* Transforms: Fixes styling of preview grid pagination in summary step {kibana-pull}77789[#77789]
* Fixes a bug in the index template wizard, which resulted in an incorrect validation error when a user toggles between the dynamic templates and advanced settings tabs without providing any values {kibana-pull}78707[#78707]
* Checks for source indexPattern before opening clone wizard {kibana-pull}79383[#79383]
* Fixes an issue when editing the mappings of an index template and selecting the "Other" type {kibana-pull}79434[#79434]
* Transforms/Data frame analytics: Fixes data grid column sorting. {kibana-pull}80618[#80618]
* Transforms: Fixes tab ids for expanded row. {kibana-pull}80666[#80666]
* Fixes package upgrade breaking after first rollover before new data has arrived {kibana-pull}79887[#79887]
Maps::
* Fixes swap hidden/show icons in layer action panel {kibana-pull}74549[#74549]
* Fixes double fetch when filters are modified {kibana-pull}74893[#74893]
* Fixes read only badge is no longer shown in nav for users with read-only permission {kibana-pull}76091[#76091]
* Fixes Hotlink for EMS-add-data card do not working {kibana-pull}76110[#76110]
* Removes obsolete link {kibana-pull}76419[#76419]
* Exposes map title and description to reporting and embeddable container {kibana-pull}79325[#79325]
* Uses default format when proxying EMS-files {kibana-pull}79760[#79760]
* Fixes refreshing the page causes loss of unsaved change {kibana-pull}81226[#81226]
* Fixes top-level Map page is called 'Kibana' {kibana-pull}81238[#81238]
* Fixes auto-refresh not auto fitting to bounds {kibana-pull}81251[#81251]
* Adds layer type preview icons {kibana-pull}78650[#78650]
* GeoJSON datasets link:https://github.com/elastic/ems-file-service/pull/192[#192]
Metrics::
* Fixes inventory footer misalignment {kibana-pull}74707[#74707]
* Displays No Data context.values as [NO DATA] {kibana-pull}78038[#78038]
* Fixes a Chrome bug with Inventory View flickering at certain sizes {kibana-pull}81514[#81514]
Monitoring::
* Ensures setup mode works on cloud but only for alerts {kibana-pull}73127[#73127]
* Fixes cluster link from cluster listing page {kibana-pull}75016[#75016]
* Only show Opt-In banner when user can change settings {kibana-pull}76883[#76883]
* Fixes dead links {kibana-pull}78696[#78696]
* Fixes cluster listing page in how it handles global state {kibana-pull}78979[#78979]
* Ensures alerting is optional {kibana-pull}79168[#79168]
* Adds in cluster version number for sec telemetry sender {kibana-pull}80545[#80545]
* Fixes sorting of alerts {kibana-pull}80546[#80546]
* Fixes a couple of issues with the cpu usage alert {kibana-pull}80737[#80737]
* Fixes alert defaults {kibana-pull}81207[#81207]
* Ensures some data is returned {kibana-pull}81375[#81375]
Platform::
* Simplifies buffer tests to reduce flakiness {kibana-pull}73024[#73024]
* Handles case where buffer receives multiple entities with the same ID {kibana-pull}74943[#74943]
* Time out work when it overruns in poller {kibana-pull}74980[#74980]
* Fixes a bug that caused some applications to not correctly render when a trailing slash was included at the end of their URLs {kibana-pull}75074[#75074]
* Prevents Task Manager from trying to claim invalid tasks {kibana-pull}76891[#76891]
* Leverages original http request error {kibana-pull}79831[#79831]
* Supports special characters in ES password {kibana-pull}81564[#81564]
Querying & Filtering::
* Fixes warning text doesn't get displayed on filters with custom filter name {kibana-pull}78617[#78617]
Reporting::
* Allows any hostname for chromium proxy bypass {kibana-pull}74693[#74693]
* Fixes an issue with CSV Export where a job could fail if clearing the scroll ID failed in Elasticsearch {kibana-pull}76014[#76014]
* Fixes a bug where the downloading CSV from a saved search in a dashboard panel had no file name if the dashboard panels were hidden {kibana-pull}76031[#76031]
* Fixes the reporting exports to use the correct Space for advanced settings {kibana-pull}76998[#76998]
* Fixes a problem in the list of Reports jobs in Management would not refresh with the correct items immediately after deleting a report from the listing {kibana-pull}78516[#78516]
Security::
* Displays useful error when role creation fails {kibana-pull}77600[#77600]
* Previously when user started SAML or OpenID authentication handshake, but didn't or couldn't finish it they weren't able to access Login Selector easily (e.g. to log in with another
authentication provider) unless they used /login URL directly or manually cleared the session cookies. That was a very confusing user experience.
The reason was that unauthenticated intermediate session that was created to support handshake forced Kibana to automatically restart the same handshake whenever user accessed Kibana.
We fixed that and now in certain cases we ignore unauthenticated intermediate session allowing user to easily access Login Selector whenever they need it {kibana-pull}79300[#79300]
* Kibana can now properly handle values for xpack.security.session.idleTimeout and xpack.security.session.lifespan that are larger than ~24 days {kibana-pull}79858[#79858]
* Properly encodes links to edit user page {kibana-pull}81562[#81562]
* Fixes display of multiple roles in table views {kibana-pull}81603[#81603]
* Node list and node detail tests {kibana-pull}74421[#74421]
* Improves simulator. Add more click-through tests and panel tests. {kibana-pull}74601[#74601]
* [Detections] Refactors signal ancestry to allow multiple parents {kibana-pull}76531[#76531]
* Fixes for the Ticket 78375 {kibana-pull}79004[#79004]
* Resolver Tree Events tests {kibana-pull}79344[#79344]
* Adds the correct class to truncate the names in Endpoint list {kibana-pull}79921[#79921]
* [Detections] Fixes remaining render and validation bug with query preview + tests {kibana-pull}80110[#80110]
* New events resolver {kibana-pull}80850[#80850]
* enable_APM-ci branch fixes {kibana-pull}81658[#81658]
Sharing::
* Uses App Title for Display Instead of App Id {kibana-pull}75457[#75457]
Spaces::
* Fixes infinite loading spinner on the spaces selector screen. In the case an error occurs while trying to load the spaces that the current user has access to, an error message will now be shown instead of the loading spinner {kibana-pull}79471[#79471]
Uptime::
* Ml anomaly alert edit {kibana-pull}76909[#76909]
* Removes custom handling of license enabling {kibana-pull}82019[#82019]

[[release-notes-7.9.3]]
== {kib} 7.9.3

For breaking changes, refer to <<breaking-changes-7.9,breaking changes in 7.9>>.

[float]
[[enhancement-v7.9.3]]
=== Enhancement
Reporting::
* Increases openUrl timeout config default to 1min {kibana-pull}78322[#78322]

[float]
[[bug-v7.9.3]]
=== Bug fixes
Discover::
* Fixes scripted field error handling for non OSS env {kibana-pull}76476[#76476]
Lens and visualizations::
* Shows tooltip on external pointer events {kibana-pull}77306[#77306]
Management::
* Fixes a bug in the index template wizard, which resulted in an error when the user tries to save an existing
template or attempts to view the Elasticsearch request when the template does not have any mappings {kibana-pull}78653[#78653]
* Fixes index pattern creation when using cross cluster search with clusters running <7.9 {kibana-pull}80006[#80006]
Monitoring::
* Fixes UX around an unavailable remote cluster {kibana-pull}79202[#79202]
* Synchronous `setup` and `start` methods {kibana-pull}79457[#79457]
* Removes license refresh from setup {kibana-pull}79518[#79518]
Platform::
* Invalid `searchSourceJSON` causes saved object migration to fail {kibana-pull}78535[#78535]
* Changes legacy import 'version' field to optional {kibana-pull}79706[#79706]
Security::
* Adds `xpack.security.sameSiteCookies` to docker allow list {kibana-pull}78192[#78192]
* Updates user table after user is deleted {kibana-pull}79491[#79491]

[[release-notes-7.9.2]]
== {kib} 7.9.2

See also <<breaking-changes-7.9,breaking changes in 7.9>>.

[float]
[[enhancement-v7.9.2]]
=== Enhancement
Machine Learning::
* Improves performance of job exists check {kibana-pull}77156[#77156]

[float]
[[bug-v7.9.2]]
=== Bug fixes
Alerting::
* Fixes alerts unable to create or update when the name has trailing whitepace {kibana-pull}76079[#76079]
Machine Learning::
* Swim lane pagination for viewing by job ID {kibana-pull}76847[#76847]
* Fixes custom URLs processing for security app {kibana-pull}76957[#76957]
Management::
* Fixes an issue in Snapshot and Restore UI where creating a policy, repository, or snapshot with a special character,
like a colon, in the name would result in a 404 when viewing details or editing any of the aforementioned {kibana-pull}76278[#76278]
* Indices that contain the characters % { [ @ no longer cause a 405 error in Index Management {kibana-pull}76584[#76584]
* Fixes an issue in the snapshot and restore policy creation form that allowed a policy to be created without an index specified {kibana-pull}76855[#76855]
* The snapshot and restore wizard now notifies users when a policy configured with a non-existing repository is being updated and requires that the user
select a new repository {kibana-pull}76861[#76861]
* Fixes an issue in the grok debugger where simulation error messages are not being displayed {kibana-pull}77499[#77499]
Maps::
* Fixes drawing shapes in maps app broken in 7.9.1 {kibana-pull}76329[#76329]
Monitoring::
* Prevents edit/create for Stack Monitoring alerts in Alerts Management {kibana-pull}77097[#77097]
* Fixes improper lodash syntax {kibana-pull}77105[#77105]
* Fixes UI error when alerting is not available {kibana-pull}77179[#77179]
Platform::
* Fixes bug causing multiple overrides to only show the last confirm modal {kibana-pull}76482[#76482]
* Fixes remoteAddress being duplicated in userAgent field {kibana-pull}76751[#76751]
* Fixes an issue that caused savedObject migration errors to not being displayed in the logs {kibana-pull}77018[#77018]
* Fixes an issue where defaultAppId redirect could fire outside home app {kibana-pull}76415[#76415]
* Suppresses error logs when clients connect over HTTP instead of HTTPS {kibana-pull}77397[#77397]
Reporting::
* Adds back in custom images for reporting + tests {kibana-pull}76810[#76810]
Security::
* Adds Lens as a readable saved object for read-only dashboard users {kibana-pull}77067[#77067]
Uptime::
* Fixes alerting false positives {kibana-pull}75577[#75577]

[[release-notes-7.9.1]]
== {kib} 7.9.1

See also <<breaking-changes-7.9,breaking changes in 7.9>>.

[float]
[[bug-v7.9.1]]
=== Bug fixes
APM::
* Pluralizes for occurrences vs occurrence {kibana-pull}74564[#74564]
* User can't navigate back home using browser nav when clicking link {kibana-pull}75755[#75755]
Dashboard::
* Loses OriginatingApp Connection on Save After Create new {kibana-pull}74420[#74420]
* Don't Explore data action in dashboard_only mode {kibana-pull}73010[#73010]
Discover::
* Don't show actions if Discover app is disabled {kibana-pull}73017[#73017]
* Fixes visualize a field through discover app {kibana-pull}73652[#73652]
* Fixes issue with query bar not taking full width in safari when selected {kibana-pull}74987[#74987]
Lens and visualizations::
* Shows 'No data for this field' for empty field in accordion {kibana-pull}73772[#73772]
* Fixes performance degradation after lodash@4 upgrade {kibana-pull}75850[#75850]
Machine Learning::
* Fixes file import button on basic license {kibana-pull}75458[#75458]
* Adds date picker back onto index based data visualizer page {kibana-pull}75658[#75658]
* Adds authorization header to data frame analytics job update request {kibana-pull}75899[#75899]
* Removes encoding for scheduled events labels  {kibana-pull}75973[#75973]
* Anomaly Explorer / Single Metric Viewer: Fix error reporting for annotations {kibana-pull}74953[#74953]
Management::
* The watch API considers an index action without a defined index name to be valid, but the Watcher UI
didn't validate accordingly. This resulted in a bug manifested as the UI rejecting attempts to create
Advanced Watches and Threshold Watches with this configuration, and as displaying watches configured
this way via Console with "Config error" states in the watches table. This change fixes the bug so that
the UI accepts watches that are configured with index actions without a defined index name {kibana-pull}74684[#74684]
* Fixes a bug in the index template wizard, which resulted in the UI crashing when the user tries to save an index template without visiting the "Mappings" step first {kibana-pull}75511[#75511]
* Fixes an issue in the mappings editor when trying to clear the "Field type" select dropdown {kibana-pull}76263[#76263]
Maps::
* Fixes TMS not loaded in legacy maps {kibana-pull}73570[#73570]
* Fixes drawing shapes {kibana-pull}74689[#74689]
* Fixes layer sorting issue with hidden layers at map load {kibana-pull}76007[#76007]
Monitoring::
* Fixes bug where Kibana crashes with collection disabled {kibana-pull}75335[#75335]
* Swallows errors in opt-in remote notification from the server {kibana-pull}75641[#75641]
Operations::
* Adds map configurations to docker list {kibana-pull}75035[#75035]
* Fixes bug in keystore read process where it was trying to read the path.data directory instead of the keystore file {kibana-pull}75659[#75659]
Security::
* Improves login selector UI to display more detailed error messages {kibana-pull}75642[#75642]
Uptime::
* Fixes alerting false positives {kibana-pull}75577[#75577]

[[release-notes-7.9.0]]
== {kib} 7.9.0

For information about the Kibana 7.9.0 release, review the following information.

[float]
[[breaking-changes-7.9]]
=== Breaking changes

Breaking changes can prevent your application from optimal operation and performance. Before you upgrade to 7.9.0, review the breaking changes, then mitigate the impact to your application.

* <<user-facing-changes-79, Breaking changes for users>>
* <<general-plugin-API-changes-79, Breaking changes for plugin developers>>

[float]
[[user-facing-changes-79]]
==== Breaking changes for users

// The following section is re-used in the Installation and Upgrade Guide

// tag::notable-breaking-changes[]

[float]
[[breaking_kibana_keystore]]
===== `kibana.keystore` moved from the data folder to the config folder

`kibana.keystore` has moved from the configured `path.data`
folder to `<root>/config` for archive distributions and `/etc/kibana` for
package distributions. If a pre-existing keystore exists in the data directory,
that path will continue to be used.

*via https://github.com/elastic/kibana/pull/57856[#57856]*

// end::notable-breaking-changes[]

[float]
[[general-plugin-API-changes-79]]
==== Breaking changes for plugin developers

[[breaking_79_actions_api]]
.aborted$ event fixed and completed$ event added to `KibanaRequest`
[%collapsible]
====

The `request.events.aborted$` Observable will now properly wait for the
response to be sent before completing.

A new `request.events.completed$` API is available that will emit once
a request has been completely handled or aborted.

*via https://github.com/elastic/kibana/pull/73898[#73898]*

====

[[breaking_79_management_api]]
.The Management API has a new interface
[%collapsible]
====

A public `setup` contract has been reduced to just `register`. A
new interface, `sections`, which is a map of management sections provided by the plugin,
replaces `getSection`. Public start interfaces have been removed as all
registration should occur in the `setup` lifecycle.

*via https://github.com/elastic/kibana/pull/71144[#71144]*

====

[[breaking_79_fields_with_no_value]]
.Filters from fields with no values are now allowed
[%collapsible]
====

Kibana now allows the creation of filters from fields
with a null or undefined value.

*via https://github.com/elastic/kibana/pull/70936[#70936]*

====

[[breaking_79_http_interceptors]]
.The `onPreAuth` and `onPreRouting` http interceptors are now separate
[%collapsible]
====

The `onPreAuth` interceptor has been renamed to `onPreRouting` to better
reflect its place in the execution order&mdash;it is now called right before the route lookup step.
A new `onPreAuth` interceptor is executed before the `Auth` lifecycle step,
but after the `onPreRouting` step.

*via https://github.com/elastic/kibana/pull/70775[#70775]*

====

[[breaking_79_metric_service]]
.The Metrics API moved to start
[%collapsible]
====

The Metric service API exposed from the `setup` contract has been moved
to the `start` lifecycle.

*via https://github.com/elastic/kibana/pull/69787[#69787]*

====

[[breaking_79_field_formats_removed]]
.`fieldFormats` removed from `AggConfig` and `AggConfigs`
[%collapsible]
====

`AggConfig` has been updated to no longer return a field format
instance for the field it is aggregating on. As a result, the `fieldFormatter` and
`fieldOwnFormatter` methods have been removed. Additionally, the `getFormat` method
has been removed from each individual agg type.

If you need to access a field format instance, use the newly-added
`AggConfig.toSerializedFieldFormat` or `AggType.toSerializedFormat`
to retrieve the serializable representation of the field's format,
and then pass it to the `deserialize` method from the field formats service
to get the actual format instance.

```diff
class MyPlugin {
  async start(core, { data }) {
    const { indexPatterns, fieldFormats, search } = data;
    const indexPattern = await indexPatterns.get('myId');
    const agg = {
      type: 'terms',
      params: { field: 'machine.os.keyword' },
    };
    const aggConfigs = search.aggs.createAggConfigs(indexPattern, [agg]);
    const termsAgg = aggConfigs.aggs[0];
-    const formatter = termsAgg.type.getFormat(termsAgg);
-    // or
-    const formatter = termsAgg.fieldFormatter('text');
+    const formatter = fieldFormats.deserialize(termsAgg.toSerializedFieldFormat());
+    // or
+    const formatter = fieldFormats.deserialize(termsAgg.type.getSerializedFormat(termsAgg));
     const formattedValue = formatter.convert('myValue');
  }
}
```

In addition, the legacy formatting helpers that were exported from
`ui/visualize/loader/pipeline_helpers/utilities` have been removed.
If your plugin imports from this directory, please update your code to use
the `fieldFormats` service directly.

*via https://github.com/elastic/kibana/pull/69762[#69762]*

====

[[breaking_79_encrypted_saved_objects]]
.New API adds support for migrations for an `EncryptedSavedObject`
[%collapsible]
====

A new `createMigration` API on the `EncryptedSavedObjectsPluginSetup`
facilitates defining a migration for an EncryptedSavedObject type.

**Defining migrations**

`EncryptedSavedObjects` rely on standard `SavedObject migrations`,
but due to the additional complexity introduced by the need to decrypt and
reencrypt the migrated document, there are some caveats to how we support this.
Most of this complexity is abstracted away by the plugin, and all you need to do is leverage our API.

The `EncryptedSavedObjects` Plugin _SetupContract_ exposes a `createMigration`
API that facilitates defining a migration for your EncryptedSavedObject type.

The `createMigration` function takes four arguments:

|===
|Argument|Description|Type|

|`isMigrationNeededPredicate`|A predicate that is called for each document,
prior to being decrypted, which confirms whether a document requires migration or not.
This predicate is important as the decryption step is costly, and we would rather not decrypt and re-encrypt a document if we can avoid it.|function|
|`migration`|A migration function which will migrate each decrypted document from the old shape to the new one.|function|
|`inputType`|Optional. An `EncryptedSavedObjectTypeRegistration` which describes the ESOType of the input (the document prior to migration). If this type isn't provided, we'll assume the input doc follows the registered type. |object|
|`migratedType`| Optional. An `EncryptedSavedObjectTypeRegistration` which describes the ESOType of the output (the document after migration). If this type isn't provided, we'll assume the migrated doc follows the registered type.|object|
|===

**Example: Migrating a Value**

```ts
encryptedSavedObjects.registerType({
  type: 'alert',
  attributesToEncrypt: new Set(['apiKey']),
  attributesToExcludeFromAAD: new Set(['mutedInstanceIds', 'updatedBy']),
});

const migration790 = encryptedSavedObjects.createMigration<RawAlert, RawAlert>(
  function shouldBeMigrated(doc): doc is SavedObjectUnsanitizedDoc<RawAlert> {
    return doc.consumer === 'alerting' || doc.consumer === undefined;
  },
  (doc: SavedObjectUnsanitizedDoc<RawAlert>): SavedObjectUnsanitizedDoc<RawAlert> => {
    const {
      attributes: { consumer },
    } = doc;
    return {
      ...doc,
      attributes: {
        ...doc.attributes,
        consumer: consumer === 'alerting' || !consumer ? 'alerts' : consumer,
      },
    };
  }
);
```

In the above example, you can see the following:

* In `shouldBeMigrated`, we limit the migrated alerts to those whose `consumer` field equals `alerting` or is undefined.
* In the migration function, we migrate the value of `consumer` to the value
we want (`alerts` or `unknown`, depending on the current value). In this function,
we can assume that only documents with a `consumer` of `alerting` or `undefined` will be passed in, but it's still safest not to, and so we use the current `consumer` as the default when needed.
* Note that we haven't passed in any type definitions. This is because we can rely on the registered type, as the migration is changing a value and not the shape of the object.

An EncryptedSavedObject migration is a normal SavedObjects migration,
so we can plug it into the underlying SavedObject just like any other kind of migration:

```typescript
savedObjects.registerType({
    name: 'alert',
    hidden: true,
    namespaceType: 'single',
    migrations: {
        // apply this migration in 7.9.0
       '7.9.0': migration790,
    },
    mappings: {
        //...
    },
});
```

**Example: Migating a Type**

If your migration needs to change the type, for example,
by removing an encrypted field, you will have to specify the legacy type for the input.

```ts
encryptedSavedObjects.registerType({
  type: 'alert',
  attributesToEncrypt: new Set(['apiKey']),
  attributesToExcludeFromAAD: new Set(['mutedInstanceIds', 'updatedBy']),
});

const migration790 = encryptedSavedObjects.createMigration<RawAlert, RawAlert>(
  function shouldBeMigrated(doc): doc is SavedObjectUnsanitizedDoc<RawAlert> {
    return doc.consumer === 'alerting' || doc.consumer === undefined;
  },
  (doc: SavedObjectUnsanitizedDoc<RawAlert>): SavedObjectUnsanitizedDoc<RawAlert> => {
    const {
      attributes: { legacyEncryptedField, ...attributes },
    } = doc;
    return {
      ...doc,
      attributes: {
        ...attributes
      },
    };
  },
  {
    type: 'alert',
    attributesToEncrypt: new Set(['apiKey', 'legacyEncryptedField']),
    attributesToExcludeFromAAD: new Set(['mutedInstanceIds', 'updatedBy']),
  }
);
```

This example shows how we provide a legacy type that describes the input that needs to be decrypted.
The migration function will default to using the registered type to encrypt the migrated
document after the migration is applied.

If you need to migrate between two legacy types, you can specify both types at once:

```ts
encryptedSavedObjects.registerType({
  type: 'alert',
  attributesToEncrypt: new Set(['apiKey']),
  attributesToExcludeFromAAD: new Set(['mutedInstanceIds', 'updatedBy']),
});

const migration780 = encryptedSavedObjects.createMigration<RawAlert, RawAlert>(
  function shouldBeMigrated(doc): doc is SavedObjectUnsanitizedDoc<RawAlert> {
    // ...
  },
  (doc: SavedObjectUnsanitizedDoc<RawAlert>): SavedObjectUnsanitizedDoc<RawAlert> => {
    // ...
  },
  // legacy input type
  {
    type: 'alert',
    attributesToEncrypt: new Set(['apiKey', 'legacyEncryptedField']),
    attributesToExcludeFromAAD: new Set(['mutedInstanceIds', 'updatedBy']),
  },
  // legacy migration type
  {
    type: 'alert',
    attributesToEncrypt: new Set(['apiKey', 'legacyEncryptedField']),
    attributesToExcludeFromAAD: new Set(['mutedInstanceIds', 'updatedBy', 'legacyEncryptedField']),
  }
);
```
*via https://github.com/elastic/kibana/pull/69513[#69513]*

====

[[breaking_79_canvas]]
.Canvas templates now stored as saved objects
[%collapsible]
====

Previously, workpad templates were added through the Canvas API client side.
Workpad templates are now stored as saved objects, so an API is no longer required for adding them.
You can add templates through `SavedObject` management.

*via https://github.com/elastic/kibana/pull/69438[#69438]*

====

[[breaking_79_typescript]]
.Search Typescript improved
[%collapsible]
====

The front end search strategy concept is now deprecated and the
following API methods were removed from the `data.search` plugin:

 * `registerSearchStrategy`
 * `getSearchStrategy`

*via https://github.com/elastic/kibana/pull/69333[#69333]*

====

[[breaking_79_doclinks]]
.DocLinks API moved from `setup` to `start`
[%collapsible]
====

The docLinks service API exposed from the `setup` contract has been moved to the `start` lifecycle.

*via https://github.com/elastic/kibana/pull/68745[#68745]*

====

[[breaking_79_plugin_api]]
.Plugin API added for customizing the logging configuration
[%collapsible]
====

Plugins can now customize the logging configuration on the fly.

```ts
import { of } from 'rxjs';
core.logging.configure(of(
  {
    appenders: {
      myCustomAppender: { ... },
    },
    loggers: [
      { context: 'subcontext', appenders: ['myCustomAppender'], level: 'warn' }
    ]
  }
))
```

*via https://github.com/elastic/kibana/pull/68704[#68704]*

====

[[breaking_79_developer_guide]]
.Developer guide restructured
[%collapsible]
====

The <<development,developer guide>> includes the following improvements:

* Migrates CONTRIBUTING.md content into AsciiDoc
* Moves CONTRIBUTING content into the developer guide
* Removes https://github.com/elastic/kibana/issues/67782[outdated content]
* Creates
https://github.com/elastic/kibana/issues/41833#issuecomment-646195319[the structure proposed
in this issue]

*via https://github.com/elastic/kibana/pull/67764[#67764]*

====

[[breaking_79_es_api]]
.{es} API exposed from `setup` contract is deprecated
[%collapsible]
====

The {es} API exposed from the `setup` contract is not available
and will be deleted without notice. Use the core start API instead.

```typescript
// before
setup(core: CoreSetup) {
   core.elasticsearch.dataClient(...)
   core.elasticsearch.adminClient(...)
}
// after
setup(core: CoreSetup) {
   core.elasticsearch.legacy.client(...)
}
```

*via https://github.com/elastic/kibana/pull/67596[#67596]*

====

[[breaking_79_API_docs]]
.API reference docs available for state_containers and state_sync
[%collapsible]
====

The API reference docs for `state_sync` and `state_containers` are now available:

* https://github.com/elastic/kibana/blob/master/docs/development/plugins/kibana_utils/public/state_sync/kibana-plugin-plugins-kibana_utils-public-state_sync.md[state_sync]
* https://github.com/elastic/kibana/blob/master/docs/development/plugins/kibana_utils/common/state_containers/kibana-plugin-plugins-kibana_utils-common-state_containers.md[state_containers]

*via https://github.com/elastic/kibana/pull/67354[#67354]*

====

[[breaking_79_es_request]]
.Elasticsearch client exposed via request context marked as deprecated
[%collapsible]
====

The Elasticsearch service no longer provides separate `data` and `admin` clients.
The Elasticsearch service client is marked as deprecated and is superseded by a new one.

```diff
// in route handler
router.get(
...
async function handler (context) {
---  return await context.elasticsearch.adminClient.callAsInternalUser('endpoint');
+++  return await context.elasticsearch.legacy.client.callAsInternalUser('endpoint');
})
// in plugin
setup(core){
  return {
    async search(id) {
---     return await context.elasticsearch.adminClient.callAsInternalUser('endpoint', id);
+++     return await context.elasticsearch.legacy.client.callAsInternalUser('endpoint', id);
    }
  }
}
```

*via https://github.com/elastic/kibana/pull/67319[#67319]*


====

[[breaking_79_licensing]]
.Licensing now uses {es} from `start` contract
[%collapsible]
====

The licensing plugin API exposed from the `setup` contract
is deprecated in favor of `start` contract counterparts:

```js
// before
setup(core, plugins){
   plugins.licensing.license$.pipe(...)
}

// after
start(core, plugins){
   plugins.licensing.license$.pipe(...)
}
```

*via https://github.com/elastic/kibana/pull/67291[#67291]*

====

[[breaking_79_actions_type]]
.The Actions SavedObject type `action` is now a hidden type
[%collapsible]
====

Interaction with the Actions SavedObject type requires
you to tell your `SavedObjectsClient` to include
the `action` hidden type as follows:

```ts
core.savedObjects.getScopedClient(request, { includedHiddenTypes: ['action'] })
```

Do not circumvent the authorization model by accessing these objects directly.
Use `AlertsClient` instead.

*via https://github.com/elastic/kibana/pull/67109[#67109]*

====

[[breaking_79_saved_objects_client]]
.Saved objects now include support for hidden types
[%collapsible]
====

**Saved objects**

The SavedObjectClient's `getScopedClient`, `createScopedRepository` and
`createInternalRepository` can now take a list of types to include in the underlying repository.

You can use this to create a client that has access to hidden types:

```ts
core.savedObjects.getScopedClient(request, { includedHiddenTypes: ['hiddenType'] })
```

This creates a `SavedObjects` client scoped to a user by the specified
request with access to a hidden type called `hiddenType`.

**Encrypted saved objects**

The `EncryptedSavedObject` plugin no longer exposes a single client as part of its
`start` contract. Instead it exposes a `getClient` API that exposes the client API.
The `getClient` can also specify a list of hidden types to gain access to which are hidden by default.

For example, given a {kib} platform plugin that has specified `encryptedSavedObjects` as a `Setup` dependency:

```ts
const encryptedSavedObjectsClient = plugins.encryptedSavedObjects.getClient(['hiddenType']);
return encryptedSavedObjectsClient.getDecryptedAsInternalUser('hiddenType',  '123',   { namespace: 'some-namespace' });
```

*via https://github.com/elastic/kibana/pull/66879[#66879]*

====

[[breaking_79_alerting_api]]
.The `alerting` plugin was renamed `alerts` to follow the {kib} styleguide
[%collapsible]
====

This includes the following API changes:

* Changed actions `BASE_ALERT_API_PATH` to ` '/api/alerts'` because according to the styleguide, it should keep the structure `/api/plugin_id`
* Changed endpoint `/api/alert/_find` just to `/api/alerts/_find`
* Changed `/types` to `/list_alert_types`
* Changed POST `/api/alert` to POST `/api/alerts/alert`
* Changed GET `/api/alert/{id}` to GET `/api/alerts/alert/{id}`
* Changed PUT  `/api/alert/{id}` to PUT `/api/alerts/alert/{id}`
* Changed DELETE `/api/alert/{id}` to DELETE `/api/alerts/alert/{id}`
* Changed GET  `/api/alert/{id}/state` to GET `/api/alerts/alert/{id}/state`
* Changed POST `/api/alert/{id}/_enable` to POST `/api/alerts/alert/{id}/_enable`
* Changed POST `/api/alert/{id}/_disable` to POST `/api/alerts/alert/{id}/_disable`
* Changed POST `/api/alert/{id}/_mute_all` to POST `/api/alerts/alert/{id}/_mute_all`
* Changed POST `/api/alert/{alertId}/alert_instance/{alertInstanceId}/_mute` to POST `/api/alerts/alert/{alertId}/alert_instance/{alertInstanceId}/_mute`
* Changed POST `/api/alert/{id}/_unmute_all` to POST `/api/alerts/alert/{id}/_unmute_all`
* Changed POST `/api/alert/{id}/_update_api_key` to POST `/api/alerts/alert/{id}/_update_api_key`
* Changed POST `/api/alert/{alertId}/alert_instance/{alertInstanceId}/_unmute` to POST `/api/alerts/alert/{alertId}/alert_instance/{alertInstanceId}/_unmute`

*via https://github.com/elastic/kibana/pull/66838[#66838]*


====

[[breaking_79_new_management_api]]
.The new platform API is now implemented in Management
[%collapsible]
====

This change:

* Refactors out use of `registerLegacyApp` and uses react-router-dom for routing.
* Implements a landing page and sidebar in the Management plugin.
* Removes the legacy API from `src/plugins/management/public/plugin.ts` and related code.

*via https://github.com/elastic/kibana/pull/66781[#66781]*

====

[[breaking_79_alert_hidden]]
.The Alerting SavedObject type `alert` is now a hidden type
[%collapsible]
====

Interaction with the Alerting SavedObject type requires you
to tell your `SavedObjectsClient` to include the `alert` hidden
type as follows:

``` ts
core.savedObjects.getScopedClient(request, { includedHiddenTypes: ['alert'] })
```

Do not circumvent the authorization model by accessing these objects directly.
Use AlertsClient instead.

*via https://github.com/elastic/kibana/pull/66719[#66719]*

====

[[breaking_79_oss_features]]
.Open source features registration moved to Kibana platform
[%collapsible]
====

{kib} now allows the `getFeatures` plugin method to be called within the `start` lifecycle.

*via https://github.com/elastic/kibana/pull/66524[#66524]*

====

[[breaking_79_so_registration]]
.SavedObject registration in the legacy platform is not supported
[%collapsible]
====


To use SavedObjects, you must move your plugin to the {kib} platform.

```js
// before in the legacy plugin
export default function ({ Plugin }) {
  new Plugin({
    id: 'my-plugin',
    uiExports: {
      mappings: {
        'my-plugin-so': {
          properties: {...},
        },
      },
   },
}),
// in the Kibana platform plugin
export class MyPlugin implements Plugin {
  constructor(context: PluginInitializerContext) {}
  setup(core: CoreSetup) {
    core.savedObjects.registerType({
      name: 'my-plugin-so',
      mappings: {...}
    });
  }
}
```

*via https://github.com/elastic/kibana/pull/66203[#66203]*


====

[[breaking_79_cross_links]]
.Cross-links are now handled automatically
[%collapsible]
====

Links from one application to another are now automatically handled by the {kib} platform
to perform the navigation without a full page refresh and the need to
manually add a click handler to call `application.navigateToApp`.

You can disable this behavior by adding the `data-disable-core-navigation`
attribute on the link (`a`) element or any of its parent.

This feature is not enabled for legacy applications.

*via https://github.com/elastic/kibana/pull/65164[#65164]*

====

[[breaking_79_field_formatters]]
.Field format editors API migrated to Kibana Platform
[%collapsible]
====

Field format editors (used by index pattern management) are no longer added
via the field formatters registry, `ui/registry/field_format_editors`. They
are now added via the `indexPatternManagement` plugin.

*via https://github.com/elastic/kibana/pull/65026[#65026]*

====

[[breaking_79_expressions]]
.The `expressions` plugin has a new set of helpers
[%collapsible]
====

The `expressions` plugin introduces a set of helpers that make it easier to
manipulate expression ASTs. Refer to https://github.com/elastic/kibana/pull/64395[this PR]
for more detailed examples.

```ts
// also available on `expressions/public/server`
import {
  buildExpression,
  buildExpressionFunction
} from '../../src/plugins/expressions/public';

// `buildExpression` takes an expression string, AST, or array of `buildExpressionFunction`
const exp = buildExpression([
  // `buildExpressionFunction` takes an expression function name, and object of args
  buildExpressionFunction('myFn', { hello: [true] });
]);

const anotherFn = buildExpressionFunction('anotherFn', { world: [false] });
exp.functions.push(anotherFn);
fn.replaceArgument('world', [true]);

exp.toAst(); // prints the latest AST

// you can get added type-safety by providing a generic type argument:
const exp = buildExpression([
  buildExpressionFunction<MyFnExpressionFunctionDefinition>('myFn', { hello: [true] });
]);
const fns = exp.findFunction<MyFnExpressionFunctionDefinition>('myFn');
```
*via https://github.com/elastic/kibana/pull/64395[#64395]*

====

[[breaking_79_mount]]
.Mount `ui/new_platform` applications in same div structure as Core
[%collapsible]
====

Applications that are mounted via the `core.application.register`
interface from the legacy `ui/new_platform` module are now mounted inside a
new `div` inside of the `<div class="application />` node rather than directly inside that node.
This makes the legacy bridge consistent with how true {kib} platform applications are mounted.

*via https://github.com/elastic/kibana/pull/63930[#63930]*
====

[float]
[[enhancement-7.9.0]]
=== Enhancements
APM::
* Shows `trace.id`, `transaction.id` and/or `error.id` in metadata table {kibana-pull}66376[#66376]
* Adds error rate chart to Transaction overview and detail views {kibana-pull}67327[#67327]
* Adds ThemeProvider to support dark mode {kibana-pull}68242[#68242]
* Triggers Lazy-load alert {kibana-pull}68806[#68806]
* Changes to duration formatting {kibana-pull}69039[#69039]
* Adds callout to inform users of high cardinality in unique transaction names {kibana-pull}69112[#69112]
* Creates API to return data to be used on the Overview page {kibana-pull}69137[#69137]
* Fixes confusing request/minute viz {kibana-pull}69143[#69143]
* Adds decimals only for numbers below 10 {kibana-pull}69334[#69334]
* Adds support for dark mode {kibana-pull}69362[#69362]
* Chart breakdowns {kibana-pull}69420[#69420]
* Quotes trace id to ensure a word is searched (#69500) {kibana-pull}69504[#69504]
* Adds error rates to Service Map popovers {kibana-pull}69520[#69520]
* Resubmits initial version {kibana-pull}69531[#69531]
* Adds 'Anomaly detection' settings page to create ML jobs per environment {kibana-pull}70560[#70560]
* Service maps anomaly detection integration by environment {kibana-pull}70932[#70932]
* Anomaly detection setup link with alert if job doesn't exist {kibana-pull}71229[#71229]
* Respects default time range defined in Kibana Advanced Settings {kibana-pull}71464[#71464]
* Uses HDR for percentiles {kibana-pull}64758[#64758]
Canvas::
* Adds simple variables to workpads {kibana-pull}66139[#66139]
Dashboard::
* Enables drilldowns for Lens visualizations {kibana-pull}65675[#65675]
* Improves positioning of cloned panels {kibana-pull}67461[#67461]
* Lens editor auto refresh {kibana-pull}65868[#65868]
Discover::
* Multi-line kql bar {kibana-pull}70140[#70140]
Enterprise Search::
* Workplace Search in Kibana MVP {kibana-pull}70979[#70979]
Ingest Management::
* Adds support for datastream to each template {kibana-pull}66367[#66367]
* Improves server-side error handling {kibana-pull}67278[#67278]
* Adds ability to copy an agent config {kibana-pull}68737[#68737]
* Adds enroll agent action to config action menu {kibana-pull}68840[#68840]
* Adds ability to sort to agent configs and package configs {kibana-pull}70676[#70676]
Lens and visualizations::
* Warns if leaving with unsaved visualization {kibana-pull}67689[#67689]
* Uses accordion menus in field list for available and empty fields {kibana-pull}68871[#68871]
* Adds "no data" popover {kibana-pull}69147[#69147]
* Last used Index pattern is saved to and retrieved from local storage {kibana-pull}69511[#69511]
* Fitting functions {kibana-pull}69820[#69820]
* Multiple y axes {kibana-pull}69911[#69911]
* Adds ability to set colors for y-axis series {kibana-pull}70311[#70311]
* Allows histogram fields in average and sum aggregations {kibana-pull}66891[#66891]
* Changes the error message on TSVB in order to be more user friendly {kibana-pull}67090[#67090]
* Allows the user to change the tooltip mode {kibana-pull}67775[#67775]
* Updates vega version {kibana-pull}68639[#68639]
* Adds support for histogram type {kibana-pull}68837[#68837]
* Enables "Explore underlying data" actions for Lens visualizations {kibana-pull}70047[#70047]
Logs::
* Validates ML job setup time ranges {kibana-pull}66426[#66426]
* [Alerting] "Group by" functionality {kibana-pull}68250[#68250]
* ML log integration splash screen {kibana-pull}69288[#69288]
* Actions menu in log entry categorization page {kibana-pull}69567[#69567]
* Adds index names for the new indexing strategy {kibana-pull}70245[#70245]
* Adds category anomalies to anomalies page {kibana-pull}70982[#70982]
* Anomalies page dataset filtering {kibana-pull}71110[#71110]
* Shows log analysis ML jobs in a list {kibana-pull}71132[#71132]
Machine Learning::
* Search should have a categorical option for job type {kibana-pull}65770[#65770]
* Adds linking to dataframe from job management tab {kibana-pull}65778[#65778]
* Adds optional ability to delete target index and index pattern when deleting {dfanalytics-job} {kib-pull}66934[#66934]
* {dfanalytics-cap}: Creation wizard part 1 {kib-pull}67564[#67564]
* Extends population preview chart to show actual and typical value {kibana-pull}67569[#67569]
* Adds minor refresh button to {dfanalytics} and {anomaly-detect} Job Messages tabs {kib-pull}67750[#67750]
* Keeps the edit rule flyout open if there are multiple rules {kibana-pull}68174[#68174]
* Model snapshot management {kibana-pull}68182[#68182]
* {dfanalytics-cap}: Creation wizard part 2 {kib-pull}68462[#68462]
* Removes sub navigation menu from the Anomaly Detection pages {kibana-pull}68663[#68663]
* Adds anomaly swim lane embeddable to the dashboard from the Anomaly Explorer page {kib-pull}68784[#68784]
* Allows editing of model_snapshot_retention_days {kibana-pull}69003[#69003]
* Anomaly Explorer swim lane pagination {kibana-pull}70063[#70063]
* Anomaly Detection: Annotations enhancements {kibana-pull}70198[#70198]
* Updates APM Module to Work with Service Maps {kibana-pull}70361[#70361]
* Changes all calls to ML endpoints to use internal user {kibana-pull}70487[#70487]
* {dfanalytics-cap}: add ability to edit job for fields supported by API {kib-pull}70489[#70489]
* {dfanalytics-cap}: adds prompt for destination index pattern creation {kib-pull}70651[#70651]
* Adds switch to enable model plot annotations independently {kibana-pull}70678[#70678]
* Adds peak_model_bytes to model size stats type {kibana-pull}70825[#70825]
* Anomaly swim lane embeddable navigation and filter actions {kibana-pull}71082[#71082]
* Adds siem_cloudtrail Module {kibana-pull}71323[#71323]
Management::
* Management apps are now organized into buckets that support common workflow-oriented use-cases: data ingestion, data management, insights and alerting, security, Kibana management, and Stack management {kibana-pull}65796[#65796]
* The ES UI built a new component to assist with building ingest pipelines. Before, when building ingest pipelines, users would have to type and carefully curate JSON describing an ingest pipeline. With this new component a lot of
that burden is removed and improved access to ES processors is provided. This component is the foundation of an improved pipeline building experience {kibana-pull}66021[#66021]
* Transforms: Filter aggregation support {kibana-pull}67591[#67591]
* Adds a "Data Streams" tab to Index Management to help users manage their data streams {kibana-pull}67806[#67806]
* Transforms: Support sub-aggregations {kibana-pull}68306[#68306]
* Data Grid Histograms {kibana-pull}68359[#68359]
* Adds a snapshot policy name field to Delete phase of index lifecycle policy. This option ensures that the snapshot policy is executed before the managed index is deleted {kibana-pull}68505[#68505]
* Transform: Adds ability to create index pattern time field when creating transform {kibana-pull}68842[#68842]
* Transforms - Updated: Add ability to delete dest index & index pattern when deleting transform job {kibana-pull}68896[#68896]
* Transform: Table enhancements {kibana-pull}69307[#69307]
* Transform: Enable force delete if one of the transforms failed {kibana-pull}69472[#69472]
* A new tab called Component Templates is available in Index Management. It provides a way to manage Elasticsearch's component templates. Users can create, edit, clone, and delete a component template {kibana-pull}69732[#69732]
* The index templates tab allows users to manage both their legacy index templates and composable index templates. Users can create, edit, clone, and delete a composable index template {kibana-pull}70220[#70220]
* We updated the snapshot policy name field in Delete phase of index lifecycle policy. This component now display a list of existing snapshot policies and warns the user if their input doesn't match any existing policies {kibana-pull}70627[#70627]
Maps::
* Displays ranged-data with bands {kibana-pull}60570[#60570]
* Adds styling and tooltip support to mapbox mvt vector tile sources {kibana-pull}64488[#64488]
* Allows adding multiple layers {kibana-pull}67544[#67544]
* Enables gridding/clustering/heatmaps for geo_shape fields {kibana-pull}67886[#67886]
* Security layer wizards {kibana-pull}68290[#68290]
* Surface geo_shape clustering gold feature {kibana-pull}68666[#68666]
* Layer wizard select re-design {kibana-pull}69313[#69313]
* Shows vector tile labels on top {kibana-pull}69444[#69444]
* Choropleth layer wizard {kibana-pull}69699[#69699]
* Increases DEFAULT_MAX_BUCKETS_LIMIT to 65535 {kibana-pull}70313[#70313]
* Shows joins disabled message {kibana-pull}70826[#70826]
* Exposes registerLayerWizard and registerSource in maps plugin start {kibana-pull}71553[#71553]
Metrics::
* Adds support for multiple groupings to Metrics Explorer (and Alerts) {kibana-pull}66503[#66503]
* Adds sorting for name and value to Inventory View {kibana-pull}66644[#66644]
* Changes Metric Threshold Alert charts to use bar charts {kibana-pull}66672[#66672]
* Allows users to configure Inventory View palettes {kibana-pull}66948[#66948]
* Adds timestamp context variable {kibana-pull}67482[#67482]
* Adds back context variables with descriptions {kibana-pull}67487[#67487]
* Adds overrides to Snapshot API to support alert previews {kibana-pull}68125[#68125]
* Enhances Inventory View Tooltips {kibana-pull}69757[#69757]
* UX improvements for saved views {kibana-pull}69910[#69910]
* Register function for Observability homepage {kibana-pull}70529[#70529]
* Adds framework for recovery messaging to metric threshold alerts (non-functional) {kibana-pull}65339[#65339]
* Adds preview feature for metric threshold alerts {kibana-pull}67684[#67684]
* Adds inventory alert preview {kibana-pull}68909[#68909]
* Prefills alerts from the global dropdown {kibana-pull}68967[#68967]
* Adds context.reason and alertOnNoData to Inventory alerts {kibana-pull}70260[#70260]
Monitoring::
* Collects number of visualization saved in the past 7, 30 and 90 days {kibana-pull}67865[#67865]
* Out of the box alerting {kibana-pull}68805[#68805]
Operations::
* Node options from cfg file for production {kibana-pull}62468[#62468]
* Creates Linux aarch64 package {kibana-pull}69165[#69165]
Platform::
* Switches to core application service {kibana-pull}63443[#63443]
* Adds docLinks to CoreSetup {kibana-pull}66631[#66631]
* New Enterprise Search Kibana plugin {kibana-pull}66922[#66922]
Querying & Filtering::
* Resolves range date filter bugs and improve usability {kibana-pull}71298[#71298]
Security::
* Allow saved objects to be searched across multiple spaces {kibana-pull}67644[#67644]
Uptime::
* Uses ML Capabilities API to determine license type {kibana-pull}66921[#66921]
* Landing page for Observability {kibana-pull}67467[#67467]
* Monitor availability reporting {kibana-pull}67790[#67790]
* Creates "Add data" links in all Observability app headers {kibana-pull}69016[#69016]
* Observability overview page {kibana-pull}69141[#69141]
* Availability alert {kibana-pull}70284[#70284]
* Duration Anomaly Alert {kibana-pull}71208[#71208]

[float]
[[bug-v7.9.0]]
=== Bug fixes
Alerting::
* Adds lazy loading of alerting UI components {kibana-pull}65060[#65060]
* Fixes Connectors edit flyout retains state after being closed {kibana-pull}71911[#71911]
* Fixes Webhook connector doesn't retain added HTTP header settings {kibana-pull}71924[#71924]
APM::
* Removes Missing permission page {kibana-pull}72030[#72030]
* Fixes linking errors to ML and Discover {kibana-pull}73758[#73758]
* Observability i18n fixes {kibana-pull}72984[#72984]
Canvas::
* Fixes falsey/null value bug for dropdown choices {kibana-pull}69290[#69290]
Dashboard::
* Shows drilldown context menu over chart tooltip {kibana-pull}67311[#67311]
* Loses OriginatingApp Connection on Save As {kibana-pull}72725[#72725]
* Sometimes when creating filters on a dashboard suggestions from default index patterns were shown by mistake {kibana-pull}72899[#72899]
* Handles listing errors gracefully {kibana-pull}66986[#66986]
* {kib} now sets the keep_alive parameter to 1m in _async_search requests to Elasticsearch to ensure that search requests are cancelled
if a user closes the browser or navigates outside of Kibana before a request completes {kibana-pull}73712[#73712]
Design::
* Multiple chart actions context menu positioning fixes {kibana-pull}70705[#70705]
* Fixes accessibility issue in Uptime app nav links {kibana-pull}72926[#72926]
Discover::
* Prevents whitespace wrapping of doc table header {kibana-pull}52861[#52861]
* Removes column from sorting array when removed from table {kibana-pull}65990[#65990]
* Validates timerange before submitting query to ES {kibana-pull}69363[#69363]
* Adds error and warning statuses to FilterBar filters {kibana-pull}66979[#66979]
* Forbids timezones not working in Elasticsearch {kibana-pull}70780[#70780]
Ingest Management::
* Fixes clear filters on agents table not working {kibana-pull}71978[#71978]
Kibana UI::
* New Kibana app link order {kibana-pull}66320[#66320]
* Fixes special clicks and 3rd party icon sizes in nav {kibana-pull}69767[#69767]
Lens and visualizations::
* Keeps global filters, time range and refresh interval on refresh {kibana-pull}68075[#68075]
* Adds description property and check duplicate title on save {kibana-pull}68219[#68219]
* Keeps custom labels {kibana-pull}68498[#68498]
* Fixes delete button position in dimension panel for long labels {kibana-pull}69495[#69495]
* Fixes cross cluster bug and optimize existence query {kibana-pull}70132[#70132]
* Do not crash data panel on invalid KQL query {kibana-pull}70712[#70712]
* Handles failing existence check {kibana-pull}70718[#70718]
* Fixes overflow in printable report {kibana-pull}70723[#70723]
* Fixes switching with layers {kibana-pull}71982[#71982]
* Pins filters not applied when coming from different app {kibana-pull}73825[#73825]
* Fixes missing percentage column and wrong headers on export formatted csv {kibana-pull}66883[#66883]
* TSVB: handle division by zero in math agg {kibana-pull}67111[#67111]
* Fixes vega specification parsing {kibana-pull}67963[#67963]
* VEGA is missing scroll bars {kibana-pull}68766[#68766]
* Replaces the Custom Color Picker on TSVB with the EuiColorPicker {kibana-pull}68888[#68888]
* Fixes spec color highlighting not working on vega vis {kibana-pull}68995[#68995]
* Fixes Advanced Settings Panel number editing in Graph {kibana-pull}69672[#69672]
* Hide only duplicated consecutive ticks {kibana-pull}70981[#70981]
* Fixes TSVB table trend slope value {kibana-pull}71087[#71087]
* Fixes export table for table export links {kibana-pull}71249[#71249]
* Removes opacity from vislib bars {kibana-pull}71421[#71421]
* Fixes float percentiles line chart {kibana-pull}71902[#71902]
Logs::
* Fixes display of dataset values in anomaly and category example rows {kibana-pull}71693[#71693]
* Handles modifier keys {kibana-pull}74237[#74237]
* Removes UUID from Alert Instances {kibana-pull}71340[#71340]

Machine Learning::
* Data frame analytics results: Do not hide query bar and table on query syntax error {kibana-pull}69196[#69196]
* Fixes anomaly chart and validation for one week bucket span {kibana-pull}69671[#69671]
* Anomaly Detection: Ensure 'Category examples' tab in the expanded table row can be seen {kibana-pull}70241[#70241]
* Fixes error toasts shown when starting or editing jobs {kibana-pull}71618[#71618]
* Fixes new job with must_not saved search {kibana-pull}71831[#71831]
* Fixes management section access denied {kibana-pull}71841[#71841]
* Ensure `monitor` cluster privilege not required to create data frame analytics job {kibana-pull}71934[#71934]
* Fixes job list crashing due to undefined processed records {kibana-pull}71966[#71966]
* Fixes datafeed start time is incorrect when the job has trailing empty buckets {kibana-pull}71976[#71976]
* Fixes HTML named characters encoding {kibana-pull}72060[#72060]
* Fixes annotations pagination & change labels from letters to numbers {kibana-pull}72204[#72204]
* Stops annotation flyout re-rendering on each keystroke {kibana-pull}72299[#72299]
* Fixes display of regression stop stats if one is NaN {kibana-pull}72412[#72412]
* Handling data recognizer saved object errors {kibana-pull}72447[#72447]
* Data frame analytics results: add index-pattern management link to 'click here' error prompt {kibana-pull}72470[#72470]
* Fixes layout of anomaly chart tooltip for long field values {kibana-pull}72689[#72689]
* Fixes link to index management from file data visualizer {kibana-pull}72863[#72863]
* Fixes deleting data frame analytics not showing index pattern check {kibana-pull}72904[#72904]
* Fixes recognizer wizard create job button {kibana-pull}73025[#73025]
* Fixes unnecessary deleting job polling {kibana-pull}73087[#73087]
* Disables machine learning if license feature is disabled {kibana-pull}73187[#73187]
* Data frame analytics results: ensure `View` link is only enabled when job has successfully completed {kibana-pull}73539[#73539]

Management::
* Inspect action shows on dashboard for every chart {kibana-pull}65998[#65998]
* Fixes an issue in Watcher, where a watch status or action status was incorrectly marked as "Error" {kibana-pull}67952[#67952]
* Error handling {kibana-pull}68809[#68809]
* Fixes an issue in Dev Tools Console where the example shown in the "Help" panel was formatted incorrectly {kibana-pull}71188[#71188]
* Fixes the alignment of the Timing field for Warm, Cold and Delete phases on the Index Lifecycle Policy edit page {kibana-pull}71273[#71273]
* Adopts data stream API changes {kibana-pull}71682[#71682]
* Fixes #66185 {kibana-pull}66186[#66186]
Maps::
* Do not check count for blended layers when layer is not visible {kibana-pull}66460[#66460]
* Fixes mapbox glyphs error when EMS access is turned off {kibana-pull}67427[#67427]
* Fixes fit to bounds requests not getting canceled {kibana-pull}67629[#67629]
* Fixes cannot select Solid fill-color when removing fields {kibana-pull}70621[#70621]
* Fixes zoom in/zoom out buttons are not visible in dark mode {kibana-pull}72699[#72699]
* Fixes removing global filter from layer can cause app to start thrashing {kibana-pull}72763[#72763]
* Fixes cloned clustered documents layer returns error {kibana-pull}72975[#72975]
* Fixes data driven style properties not working when cloned layer contains joins {kibana-pull}73124[#73124]
* Fixes tile layer attibution text and attribution link validation errors {kibana-pull}73160[#73160]
* Fixes fit to data for Point to Point layer {kibana-pull}73563[#73563]
* Fixes #fit to bounds for ES document layers with joins {kibana-pull}73985[#73985]
* Removes no longer required div wrapper around ValidatedDualRange {kibana-pull}70188[#70188]
* Adds full precision GeoJSON version for TopoJSON only datastes link:[191]
Metrics::
* Fixes asynchronicity and error handling in Snapshot API {kibana-pull}70503[#70503]
* Fixes evaluating rate-aggregated alerts when there's no normalized value {kibana-pull}73545[#73545]
* Removes UUID from Alert Instance IDs {kibana-pull}71335[#71335]
* Fixes a bug in Metric Threshold query filter construction {kibana-pull}70672[#70672]
* Displays Too Many Buckets error when previewing Inventory Alerts {kibana-pull}70508[#70508]
* Round metric threshold time buckets to nearest unit {kibana-pull}71172[#71172]
Monitoring::
* Adds a case for Alerting if security/ssl is disabled {kibana-pull}71846[#71846]
* Checks for security feature first when entering setup mode {kibana-pull}73821[#73821]
Operations::
* Manages pid folder {kibana-pull}68262[#68262]
Platform::
* Sets wrap to the errorLink so it doesn't go outside of box {kibana-pull}67797[#67797]
* Fixes plugin lifecycle log to only include server plugins {kibana-pull}68686[#68686]
Querying & Filtering::
* When using KQL or the filter bar, if a request is issued to Elasticsearch for suggestions for a value for a specific field, the request
will be cancelled when navigating away as well as when the input is updated (and a new request is issued {kibana-pull}69769[#69769]
Reporting::
* Fixes a bug where the Kibana server could crash if the Reporting server-side headless browser crashes {kibana-pull}71989[#71989]
Sharing::
* Adds panel flyout opens 2 flyouts {kibana-pull}65861[#65861]
Uptime::
* Adds lazy loading to AlertType and Flyout components {kibana-pull}65678[#65678]
* Fixes metric query broken because of missing mapping {kibana-pull}68999[#68999]
* Fixes charts dark theme {kibana-pull}69748[#69748]
* Uses manual intervals for ping histogram {kibana-pull}72928[#72928]

[float]
[[deprecation-v7.9.0]]
=== Deprecations
APM::
* Removes watcher integration {kibana-pull}71655[#71655]
Platform::
* Deprecates kibana.defaultAppId setting {kibana-pull}67635[#67635]

[[release-notes-7.8.1]]
== {kib} 7.8.1

See also <<breaking-changes-7.8,breaking changes in 7.8>>.

[float]
[[security-update-7.8.1]]
=== Security updates
* In {kib} 7.8.1 and earlier, there is a denial of service (DoS) flaw in Timelion. Attackers can construct a URL that when viewed
by a {kib} user, the {kib} process consumes large amounts of CPU and becomes unresponsive,
https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-7016[CVE-2020-7016].
+
You must upgrade to 7.8.1. If you are unable to upgrade, set `timelion.enabled` to `false` in your kibana.yml file to disable Timelion.

* In all {kib} versions, region map visualizations contain a stored XSS flaw. Attackers that can edit or create region map visualizations can obtain sensitive information
or perform destructive actions on behalf of {kib} users who view the region map visualization,
https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-7017[CVE-2020-7017].
+
You must upgrade to 7.8.1. If you are unable to upgrade, set `xpack.maps.enabled`, `region_map.enabled`, and `tile_map.enabled` to `false` in kibana.yml to disable map visualizations.

[float]
[[bug-v7.8.1]]
=== Bug fixes
Alerting::
* Disables multiple select for preconfigured connectors to avoid requesting bulk delete on them {pull}69459[#69459]
* Fixes adding an extra space character on selecting alert variable in action text fields {pull}70028[#70028]
APM::
* Fixes service maps not loading when there are no APM ML jobs {pull}69240[#69240]
* Fixes service maps load failure when user doesn't have ML permissions {pull}70138[#70138]
Discover::
* Sorts filter fields by items that start with typed characters {pull}68585[#68585]
* Adds error and warning statuses to FilterBar filters, according to the following scenarios {pull}66979[#66979]
Lens and visualizations::
* Fixes Date Histogram error when index does not have a time field {pull}69934[#69934]
Logs::
* Avoids CCS-incompatible index name resolution {pull}70179[#70179]
Machine Learning::
* Fixes expanded row bug when job has no datafeed {pull}68074[#68074]
* Fixes forever loading indicators in expanded data frame analytics list {pull}69422[#69422]
Management::
* Updates the "Learn about timing" documentation link when creating a policy in Index Lifecycle Management {pull}68923[#68923]
* Adds AggConfig.toSerializedFieldFormat {pull}69114[#69114]
* Fixes a bug in Cross-Cluster Replication where the "Status" column in the follower indices table did not update after pausing or resuming a follower index {pull}69228[#69228]
* Fixes a bug in Index Lifecycle Management where it was not possible to clear the index priority value when saving a policy {pull}70154[#70154]
* Fixes a bug in Cross-Cluster Replication where the user was prompted with an error message when attempting to use the UI with missing cluster privileges. The user should now be prompted
with a message indicating what privileges are missing {pull}70158[#70158]
* Ignores url.url fields above 2048 characters {pull}69863[#69863]
Maps::
* Fixes mb-style interpolate style rule {pull}68413[#68413]
* Fixes unable to edit heatmap metric {pull}70606[#70606]
Metrics::
* Fixes fatal error when no data is available for Metric Threshold Alerts {pull}68678[#68678]
* Fixes EuiTheme type issue {pull}69735[#69735]
Monitoring::
* Addresses a few longstanding issues with APM Stack Monitoring {pull}69052[#69052]
* Makes sure we fetch all collection status {pull}67172[#67172]
* Adds Cloud as an optional dependency {pull}69050[#69050]
* Fixes links missing a hash {pull}69861[#69861]
Operations::
* Adds spaces settings {pull}69019[#69019]
Platform::
* Don't allow empty string for server.basePath config {pull}69377[#69377]
Reporting::
* Don't set a min-length on encryption key for reporting {pull}69827[#69827]
SIEM::
* Eliminates Superfluous Untitled Timelines {pull}65783[#65783]
* Fixes 7.8 upgrade issue within rules where you can get the error "params invalid: [lists]: definition for this key is missing" {pull}69434[#69434]
* Excludes glob-only (*) Index Pattern from map layers {pull}69736[#69736]

[[release-notes-7.8.0]]
== {kib} 7.8.0

For information about the Kibana 7.8.0 release, review the following information.

[float]
[[breaking-changes-7.8]]
=== Breaking changes

Breaking changes can prevent your application from optimal operation and performance. Before you upgrade to 7.8.0, review the breaking changes, then mitigate the impact to your application.

* <<user-facing-changes-78, Breaking changes for users>>
* <<general-plugin-API-changes-78, Breaking changes for plugin developers>>


// The following section is re-used in the Installation and Upgrade Guide


// tag::notable-breaking-changes[]

[float]
[[user-facing-changes-78]]
==== Breaking changes for users

[float]
[[breaking_78_metrics_alerts]]
===== Metrics alerts action messaging refactored to report on the no data state
*Details* +
Metrics alerts no longer expose `context.valueOf`, `context.metricOf`, or
`context.thresholdOf` to action messages. These variables are replaced
by `context.reason`. This variable explains the reason that the alert
fired and automatically includes the metric, threshold, and current value of
all configured conditions.

*Impact* +
Alerts configured in 7.7 still function as normal,
but their action messages might no longer provide useful information and
must be reconfigured. The new default action message will show an example
of how to use `context.reason`.

*via https://github.com/elastic/kibana/pull/64365[#64365]*


[float]
[[breaking_fixes_back_button]]
===== Panels removed from the URL in dashboard view mode

====
*Details* +
In dashboard in view mode, `.panels` are no longer synced with the URL.

*Impact* +
This fixes the Back button when navigating between dashboards using drilldowns.

*via https://github.com/elastic/kibana/pull/62415[#62415]*
====


// end::notable-breaking-changes[]


[float]
[[general-plugin-API-changes-78]]
==== Breaking changes for plugin developers

[[breaking_78_actions_api]]
.The actions API endpoint changed
[%collapsible]
====

The following action plugin REST APIs changed so that they are consistent with the
{kib} styleguide.

* `GET /api/action/_getAll` -> `GET /api/actions`
* `GET /api/action/types` -> `GET /api/actions/list_action_types`
* `POST /api/action` -> `POST /api/actions/action`
* `GET /api/action/{id}` -> `GET /api/actions/action/{id}`
* `PUT /api/action/{id}` -> `PUT /api/actions/action/{id}`
* `DELETE /api/action/{id}` -> `DELETE /api/actions/action/{id}`
* `POST /api/action/{id}/_execute` -> `POST /api/actions/action/{id}/_execute`

*via https://github.com/elastic/kibana/pull/65936[#65936]*

====


[[breaking_78_canvas]]
.Canvas applications now run on the new {kib} platform
[%collapsible]
====

Any existing user-created plugins that extend
Canvas functionality must also move to the Kibana Platform to continue extending Canvas.

*via https://github.com/elastic/kibana/pull/64831[#64831]*

====

[[breaking-78-filter-expression-function]]
.The `filter` function uses `filterType` instead of `type`
[%collapsible]
====

If you used the `type` argument of the `filter` function, you now
must use `filterType` instead.

Old code:

```ts
filter type={...} | ...
```

New code:

```ts
filter filterType={...} | ...
```

The `type` field is used internally by the expression interpreter to
discriminate between the different values it passes between functions.
The `filter` function was the only function that exposed this field to users.
After this change, all expression values will consistently use `type` to determine a type of expression value.

*via https://github.com/elastic/kibana/pull/64215[#64215]*

====

[[breaking_78_redirect-to-full-path]]
.Calling `navigateToApp` to a legacy app redirects to full path
[%collapsible]
====
Calling `core.application.navigateToApp` to a legacy
application now retains the `path` specified.

*via https://github.com/elastic/kibana/pull/65112[#65112]*

====

[[breaking_78_remove_aggs]]
.The legacy aggs APIs were removed
[%collapsible]
====

The following legacy aggs APIs from the `data` plugin `search` service
have been removed because they are no longer in use:

```ts
data.search.__LEGACY.AggConfig;
data.search.__LEGACY.AggType;
data.search.__LEGACY.aggTypeFieldFilters;
data.search.__LEGACY.FieldParamType;
data.search.__LEGACY.MetricAggType;
data.search.__LEGACY.parentPipelineAggHelper;
data.search.__LEGACY.siblingPipelineAggHelper;
```

Additionally, the following unused static exports have been removed:

```ts
AggTypeFieldFilters,
AggTypeFilters,
IAggGroupNames, // renamed to AggGroupName
DateRangeKey,
IpRangeKey,
OptionedParamEditorProps, // moved to vis_default_editor
search.aggs.AggConfigs;
search.aggs.aggGroupNamesMap, // renamed to AggGroupLabels
search.aggs.aggTypeFilters,
search.aggs.convertDateRangeToString,
search.aggs.convertIPRangeToString,
```

*via https://github.com/elastic/kibana/pull/64719[#64719]*

====

[[breaking_78_update_default_path]]
.Applications are now allowed to define and update a `defaultPath`
[%collapsible]
====

{kib} platform applications can now define and update the `defaultPath`
to use when navigating to them from another application or from the navigation bar.


```ts
core.application.register({
    id: 'my-app',
    // ...
    defaultPath: '/some-path',
})
```

```ts
const appUpdater = new BehaviorSubject<AppUpdater>(() => ({}));
core.application.register({
    id: 'my-app',
    // ...
    updater$: appUpdater,
})

// later
appUpdater.next(() => ({ defaultPath: '/some-updated-path' }));
```

*via https://github.com/elastic/kibana/pull/64498[#64498]*

====

[[breaking_78_cache_busting]]
.Static assets are now served under a release-specific URL
[%collapsible]
====

{kib} static assets are now served under a release-specific URL
with long-term caching headers `Cache-Control: max-age=31536000`.

Before:

http://localhost:5601/bundles/plugin/dashboard/dashboard.plugin.js

After:

http://localhost:5601/bundles/8467/plugin/dashboard/dashboard.plugin.js

*via https://github.com/elastic/kibana/pull/64414[#64414]*

====

[[breaking_78_add_example_plugins]]
.Example plugins are now allowed in X-Pack
[%collapsible]
====

{kib} developers can now create example plugins in
X-Pack&mdash;create your plugin in `/x-pack/examples` folder and start {kib} with:

```ts
yarn start --run-examples
```

*via https://github.com/elastic/kibana/pull/63823[#63823]*

====

[[breaking_78_improves_drilldows]]
.`action.getHref()` has improvements for drilldowns
[%collapsible]
====

`getHref` on `Action` interfaces in the uiActions plugin is now async.
`getHref` is now used only to support right click behavior.
`execute()` takes control on regular click.

*via https://github.com/elastic/kibana/pull/63228[#63228]*

====

[[breaking_78_scopedhistory]]
.State syncing utils now support `ScopedHistory`
[%collapsible]
====

State syncing utils now seamlessly support the platform's `ScopedHistory`.

*via https://github.com/elastic/kibana/pull/62761[#62761]*

====

[[breaking_78_tsvb]]
.Configuration properties were removed from TSVB
[%collapsible]
====

When the TSVB visualization was added to {kib},
two configuration properties were declared: `chartResolution` and `minimumBucketSize`.
No one used these properties, and
an implementation has not been added.
The `chartResolution` and `minimumBucketSize` are now marked as deprecated configuration
properties for TSVB.

*via https://github.com/elastic/kibana/pull/62543[#62543]*

====

[[breaking_add_subservice]]
.The `HttpResources` service is available for responding to requests
[%collapsible]
====

If your server-side plugin needs to respond to an incoming request with the
HTML page bootstrapping {kib} client app, a custom HTML page, or a custom JS script,
you can use the `HttpResources` service.

```js
httpResources.register({ path: 'my_app', validate: false }, (context, req, res) =>
  res.renderCoreApp()
);

httpResources.register({ path: 'my_app/foo', validate: false }, (context, req, res) =>
  res.renderHtml({ body: '<html><p>Hi</p></html>' })
);

httpResources.register({ path: 'my_app/bar', validate: false }, (context, req, res) =>
  res.renderJs({ body: 'alert(...);'})
);
```

*via https://github.com/elastic/kibana/pull/61797[#61797]*

====

[[breaking_delete_embeddable_plugin]]
.The legacy `embeddable_api` plugin has been removed
[%collapsible]
====

The legacy `embeddable_api` plugin in `src/legacy/core_plugins/embeddable_api`
has been removed in favor of the `embeddable` plugin in the new {kib} Platform.
If you used the `embeddable_api` in `7.7`, you already used the new
`embeddable` plugin API, which was re-exported from the legacy platform as a convenience.

As of 7.8, you must update your imports to pull everything from the new location:

```diff
// for types & static imports
- import { ViewMode } from '../../../src/legacy/core_plugins/embeddable_api/public/np_ready/public';
+ import { ViewMode } from '../../../src/plugins/embeddable/public';

// for runtime APIs in legacy platform plugins
- import { start } from '../../../src/legacy/core_plugins/embeddable_api/public/np_ready/public/legacy';
+ import { npStart } from 'ui/new_platform';
+ const { embeddable } = npStart.plugins;

// for runtime APIs in new platform plugins
- import { start } from '../../../src/legacy/core_plugins/embeddable_api/public/np_ready/public/legacy';
+ class MyPlugin {
+  start(core, { embeddable }) {
+    ...
+  }
+ }
```

For plugins using the legacy platform, you also must remove
the `embeddable_api` from your list of required plugins in your plugin's `index.ts`:

```diff
export default function MyPlugin(kibana: any) {
  const config: Legacy.PluginSpecOptions = {
    id: 'my_plugin',
-    require: ['kibana', 'elasticsearch', 'embeddable_api'],
+    require: ['kibana', 'elasticsearch'],
    ...,
  };
  return new kibana.Plugin(config);
}
```

For plugins using the new {kib} platform, make sure to list `embeddable` as
either a required or optional dependency in your `kibana.json`:

```diff
{
  "id": "my_plugin",
  ...,
-  "requiredPlugins": [],
+  "requiredPlugins": ["embeddable"],
  "optionalPlugins": [],
  "server": true,
  "ui": true
}
```

*via https://github.com/elastic/kibana/pull/61767[#61767]*

====

[[breaking_move_to_data_plugin]]
.`src/legacy/server/index_patterns` has moved to data plugin
[%collapsible]
====

The legacy folder `src/legacy/server/index_patterns` has been deleted.
The corresponding code was previously moved to the new platform.

For more information on where to locate new platform `data` services,
refer to the
https://github.com/elastic/kibana/blob/master/src/core/MIGRATION.md#plugins-for-shared-application-services[plugins for shared application services]
in `src/core/MIGRATION.md`.

*via https://github.com/elastic/kibana/pull/61618[#61618]*

====

[[breaking_78_static_assets]]
.Static assets are now served from the new platform
[%collapsible]
====

The {kib} Platform serves plugin static assets from the
`my_plugin/public/assets` folder. No additional configuration is required.

*via https://github.com/elastic/kibana/pull/60490[#60490]*

====

[[breaking_78_refactor_connectors]]
.Connectors have been refactored
[%collapsible]
====

The API changed to support executor actions. The supported actions are `pushToService`,
`handshake`, and `getIncident`. This change implements only the `pushToService` action.

The following response fields have changed:

* `incidentId` changed to `id`.
* `number` changed to `title`.

*Create an incident to ServiceNow*

When the `incidentId` attribute **is not** in `actionParams`,
the executor will **create** the incident.

[%hardbreaks]
Endpoint: `api/action/<action_id>/_execute`
Method: `POST`

Payload

```ts
{
    "params": {
        "action": "pushToService",
        "actionParams": {
	    	"caseId": "d4387ac5-0899-4dc2-bbfa-0dd605c934aa",
	        "title": "A new incident",
	        "description": "A description",
	        "comments": [
	            {
	                "commentId": "b5b4c4d0-574e-11ea-9e2e-21b90f8a9631",
	                "version": "WzU3LDFd",
	                "comment": "A comment"
	            }
	        ]
        }
    }
}
```

Response

```ts
{
    "status": "ok",
    "actionId": "f631be57-0a59-4e28-8833-16fc3b309374",
    "data": {
        "id": "7d7aad9c072fc0100e48fbbf7c1ed0c2",
        "title": "INC0010044",
        "pushedDate": "2020-03-10T13:02:59.000Z",
        "comments": [
            {
                "commentId": "b5b4c4d0-574e-11ea-9e2e-21b90f8a9631",
                "pushedDate": "2020-03-10T13:03:00.000Z"
            }
        ]
    }
}
```


*Update an incident to ServiceNow*

When the `incidentId` attribute **is** in `actionParams`,
the executor will update the incident.

[%hardbreaks]
Endpoint: `api/action/<action_id>/_execute`
Method: `POST`

Payload

```ts
{
    "params": {
        "action": "pushToService",
	    "actionParmas": {
			"caseId": "d4387ac5-0899-4dc2-bbfa-0dd605c934aa",
	        "incidentId": "7d7aad9c072fc0100e48fbbf7c1ed0c2"
	        "title": "A new incident",
	        "description": "A description",
	        "comments": [
	            {
	                "commentId": "b5b4c4d0-574e-11ea-9e2e-21b90f8a9631",
	                "version": "WzU3LDFd",
	                "comment": "A comment"
	            }
	        ]
		}
    }
}
```

Response

```ts
{
    "status": "ok",
    "actionId": "f631be57-0a59-4e28-8833-16fc3b309374",
    "data": {
        "id": "7d7aad9c072fc0100e48fbbf7c1ed0c2",
        "title": "INC0010044",
        "pushedDate": "2020-03-10T13:02:59.000Z",
        "comments": [
            {
                "commentId": "b5b4c4d0-574e-11ea-9e2e-21b90f8a9631",
                "pushedDate": "2020-03-10T13:03:00.000Z"
            }
        ]
    }
}
```

*via https://github.com/elastic/kibana/pull/63450[#63450]*
====

[float]
[[known-issues-7.8.0]]
=== Known issue

SIEM::
* When you duplicate a rule with a deleted action connector, the duplication fails {kib-issue}69142[#69142]

[float]
[[enhancement-7.8.0]]
=== Enhancements
Alerting::
* Adds query support to the Event Log {kib-pull}62015[#62015]
* Removes edit alert button from alerts list {kib-pull}64643[#64643]
* Implements actions server API for supporting preconfigured connectors {kib-pull}62382[#62382]
* Adds UI for pre-configured connectors. {kib-pull}63074[#63074]
APM::
* Adda new Service map external icons {kib-pull}63844[#63844]
* Improves the selected node style {kib-pull}64279[#64279]
* Adds tooltip explaining Group ID {kib-pull}60425[#60425]
* Uses navigateToApp for infra/metrics/uptime links {kib-pull}65712[#65712]
* Observability real user monitoring solution layer {kib-pull}64949[#64949]
* Spans reparenting to support inferred spans {kib-pull}63695[#63695]
* Marks an Agent configuration as applied without etag attribute {kib-pull}63967[#63967]
* Agent remote config validation for Java agent configs {kib-pull}63956[#63956]
* Annotations API {kib-pull}64796[#64796]
* Adds Error Exception Type Column {kib-pull}59596[#59596]
* Service map anomaly indicators {kib-pull}64718[#64718]
Canvas::
* Adds Top Menu {kib-pull}59982[#59982]
* Adds refresh and autoplay options to view menu {kib-pull}64375[#64375]
* Adds edit menu {kib-pull}64738[#64738]
* Reduces report generation time by re-using headless browser page in background {kib-pull}63301[#63301]
Dashboard::
* Adds duplicate panel feature {kib-pull}61367[#61367]
* Return to dashboard after editing embeddable {kib-pull}62865[#62865]
Lens and visualizations::
* Triggers a filter action on click in datatable visualization {kib-pull}63840[#63840]
* Enables include/exclude in Terms agg for numeric fields {kib-pull}59425[#59425]
* Allows user to drag and select a subset of the timeline in the chart (aka brush interaction) {kib-pull}62636[#62636]
* Uses default {kib} palette for split series {kib-pull}62241[#62241]
* Removes duplicate refresh button from vis editor menu {kib-pull}63633[#63633]
* Binds all time fields to the time picker {kib-pull}63874[#63874]
* Uses Top 5 instead of Top 3 for first suggestion {kib-pull}64726[#64726]
* Adds pie and treemap charts {kib-pull}55477[#55477]
Machine Learning::
* Wizards with dynamic model memory estimation {kib-pull}60888[#60888]
* Shows better file structure finder explanations {kib-pull}62316[#62316]
* Adds configurable file size to file data visualizer {kib-pull}62752[#62752], {kib-pull}63502[#63502], {kib-pull}64427[#64427]
* Lists global calendars on the job management page {kib-pull}63124[#63124]
* Improves parsing of large uploaded files {kib-pull}62970[#62970]
* Enables mml estimation in data recognizer module setup {kib-pull}64900[#64900]
* Updates memory estimate after adding exclude fields {kib-pull}62850[#62850]
* Replaces table with data grid {kib-pull}63650[#63650] and {kib-pull}63757[#63757]
* Fixes feature importance {kib-pull}61761[#61761]
* Adds embeddable anomaly swimlane {kib-pull}65180[#65180]
* Improves progress reporting for analytics jobs {kib-pull}65305[#65305]
Management::
* Adds Ingest Node Pipelines UI {kib-pull}62321[#62321]
* Adds Transforms single column wizard {kib-pull}64436[#64436]
* Edits transform flyout {kib-pull}65033[#65033]
* Adds docs_per_second to transform edit form {kib-pull}65365[#65365]
Maps::
* Separates layer wizards for Clusters and heatmap {kib-pull}60870[#60870]
* Allows updating requestType for ESGeoGridSource {kib-pull}62365[#62365]
* Adds date-fields to metrics selection {kib-pull}62629[#62629]
* Shows create filter button for top-term tooltip property {kib-pull}62461[#62461]
* Turns on blended layer for geojson upload {kib-pull}63200[#63200]
* Updates geospatial filters to use geo_shape query for geo_point fields {kib-pull}62966[#62966]
* Min and max zoom map settings {kib-pull}63714[#63714]
* Shows spatial filters on map to provide context when for active filters {kib-pull}63406[#63406]
* Fits geo_shape to bounds {kib-pull}64303[#64303]
* Disables edit layer button when flyout is open for add layer or map settings {kib-pull}64230[#64230]
* Do not display EMS or {kib} layer wizards when not configured {kib-pull}64554[#64554]
* Initial location map settings {kib-pull}64336[#64336]
* Adds categorical palettes with 20 and 30 categories {kib-pull}64701[#64701]
* Adds oil rig icon from @elastic/maki {kib-pull}64364[#64364]
* Highlights selected layer in TOC {kib-pull}61510[#61510]
* Adds global fit to data {kib-pull}64702[#64702]
Metrics::
* View log in context modal {kib-pull}62198[#62198]
* Refreshes the design for Inventory View, Episode 1 {kib-pull}64026[#64026]
* Adds Charts to Alert Conditions {kib-pull}64384[#64384]
* Adds 99th and 95th percentiles to Metric Explorer {kib-pull}64699[#64699]
* Adds category data quality warning based on ML job stats {kib-pull}60551[#60551]
* Adds dataset filter to ML module setup screen {kib-pull}64470[#64470]
* Alerting {kib-pull}62806[#62806]
* Enhances Alerts management page {kib-pull}64654[#64654]
* Adds inventory metric threshold alerts {kib-pull}64292[#64292]
* Adds outside range comparator {kib-pull}63993[#63993]
Platform::
* Uses brotli compression for some KP assets {kib-pull}64367[#64367]
Reporting::
* Adds a new config flag to encode with BOM for our CSVs {kib-pull}63006[#63006]
* Adds config flag to escape formula CSV values {kib-pull}63645[#63645]
Security::
* Every provider can now be configured with the access agreement message (markdown syntax) that will be presented to the
users after login. Users won't be able to use Kibana until they acknowledge this agreement {kib-pull}63563[#63563]
* Login Selector UI was refined and can now offer much more customization options {kib-pull}64142[#64142]
SIEM::
* Enhances threat hunting for Filter for/out value, Show top field, Copy to Clipboard, Draggable chart legends {kib-pull}61207[#61207]
* Adds drag between ANDs in timeline queries / add to timeline {kib-pull}65228[#65228]
* Creates template timeline {kib-pull}63136[#63136]
* Adds lists feature flag and list values to the REST interfaces {kib-pull}60171[#60171]
* Adds an error aggregator by error reason and a way to filter them {kib-pull}63513[#63513]
* Adds large list support using REST endpoints {kib-pull}62552[#62552]
* Server cutover to New Platform {kib-pull}63430[#63430]
* Updates list values in REST interfaces {kib-pull}62320[#62320]
* Updates KQL/Lucene search to include lists exceptions {kib-pull}63264[#63264]
* Updates rule.lists to be rule.exceptions_list {kib-pull}63717[#63717]
* Moves All Rules tabs to match other tabs UI {kib-pull}63920[#63920]
* Minor updates to monitoring table with unit tests {kib-pull}64020[#64020]
* Moves jira to a gold license {kib-pull}67178[#67178]
Uptime::
* Adds cert API request and runtime type checking {kib-pull}63062[#63062]
* Updates TLS settings {kib-pull}64111[#64111]
* TLS alerting {kib-pull}63913[#63913]
* Adds new nav {kib-pull}64018[#64018]
* Certificate expiration threshold settings {kib-pull}63682[#63682]
* Certificates page {kib-pull}64059[#64059]
* Filters in create alert flyout {kib-pull}64753[#64753]
* Moves status filter to monitor list {kib-pull}65049[#65049]

[float]
[[bug-7.8.0]]
=== Bug fixes
Alerting::
* TaskManager tasks scheduled without attempting to run {kib-pull}62078[#62078]
* Only fetching TaskManager's available tasks once per call to fillPool {kib-pull}61991[#61991]
* Restores migrations of old tasks in TM {kib-pull}65978[#65978]
* Fixes pre-configured docs link points to the wrong page and functional tests configs {kib-pull}68606[#68606]
APM::
* Custom links section inside the Actions menu is showing outside of the menu {kib-pull}65428[#65428]
* Removes link from active page in the breadcrumb {kib-pull}65473[#65473]
* Agent configuration: Bug makes it possible to create invalid configurations {kib-pull}65508[#65508]
* Scope APM alert creation to environment {kib-pull}65681[#65681]
* Cannot click through to details of an error on the waterfall page if the error is missing `transaction.id` {kib-pull}66386[#66386]
* Removes service maps badge row and num instances in popover {kib-pull}65492[#65492]
* Handle ML integration when ML is disabled {kib-pull}66158[#66158]
* Fixes 'Enable watcher error reports' 400 error {kib-pull}68465[#68465]
* Updates apm index pattern {kib-pull}65424[#65424]
* Ensures that `/api/apm/security/indices_privileges` doesn't fail when security is disabled {kib-pull}64627[#64627]
* Fixes query bar Japanese translation {kib-pull}68037[#68037]
* Service map fix focused node edges on unselect {kib-pull}63655[#63655]
* Fixes duplicate index patterns {kib-pull}64883[#64883]
Canvas::
* Bug/pagination enabled empty workpad {kib-pull}62050[#62050]
Dashboard::
* Improves dashboard loading error handling {kib-pull}66372[#66372]
Design::
* Adds max-height to recently viewed links {kib-pull}66297[#66297]
Discover::
* match_all query disappears when typed into Lucene query bar {kib-pull}62194[#62194]
* KQL removes leading zero and breaks query {kib-pull}62748[#62748]
* Shows doc viewer action buttons on focus {kib-pull}64912[#64912]
* Fixes renaming of saved search not displayed in breadcrumb {kib-pull}67577[#67577]
* Replaces EuiTooltip by native title for better performance {kib-pull}68280[#68280]
* Clicking cancel in saved query save modal doesn't close it {kib-pull}62774[#62774]
Graph::
* Changes the copy from blacklist to blocklist {kib-pull}65419[#65419]
Kibana UI::
* Updates home link click handler {kib-pull}68132[#68132]
* Updates Canvas location in nav {kib-pull}65519[#65519]
* Fixes Recently Viewed links allowing them to close the nav when clicked {kib-pull}66280[#66280]
Lens and visualizations::
* Fixes redirect after reload {kib-pull}66328[#66328]
* Auto interval on date histogram is getting displayed as timestamp per… {kib-pull}59171[#59171]
* Fixes visualize and lens telemetry {kib-pull}67749[#67749]
* Removes redundant formatting of percentage column {kib-pull}64948[#64948]
* Uses correct text color in metric vis on dark background {kib-pull}67481[#67481]
* Fixes the problem on adding color rules {kib-pull}67763[#67763]
* Fixes bug where suggestions didn't use filters {kib-pull}63293[#63293]
* Only show copy on save for previously saved docs {kib-pull}63535[#63535]
* Fixes escaping of field names {kib-pull}63509[#63509]
* Makes average the default metric when dragging a field directly {kib-pull}63416[#63416]
* Fixes bug in field list when _source contained fields with dots {kib-pull}63752[#63752]
* Allows table to scroll horizontally {kib-pull}63805[#63805]
* Migrates timelion vis {kib-pull}62819[#62819]
* TSVB Validation fix color rule validation {kib-pull}67759[#67759]
Machine Learning::
* Fixes the limit control on the Anomaly explorer page {kib-pull}65459[#65459]
* Hides selector helper in Anomaly Explorer swimlane {kib-pull}65522[#65522]
* Fixes dashboard URLs for auditbeat module {kib-pull}65707[#65707]
* Fixes vertical overflow on Single Metric Viewer page {kib-pull}66413[#66413]
* Catches unknown index pattern errors {kib-pull}61935[#61935]
* Disables data frame anaylics clone button based on permission {kib-pull}64830[#64830]
* Disables calendar all job switch {kib-pull}65635[#65635]
* Shows warning when the model memory limit is higher than the memory available in the ML node {kib-pull}65652[#65652]
* Removes assignment_explanation when cloning job {kib-pull}68226[#68226]
* Ensures at least one field is included in analysis before data frame analytics job is created {kib-pull}65320[#65320]
* Anomaly Explorer: if filter includes wildcard ensure matching swimlanes are not masked {kib-pull}65384[#65384]
* Fixes reordering in view by swimlane when overall cell selected {kib-pull}65290[#65290]
* Fixes anomaly charts for rare detectors when model plot is enabled {kib-pull}66075[#66075]
* Adds job timing stats to anomaly jobs {kib-pull}65696[#65696]
* Fixes anomaly dot plotted in wrong location in Single Metric Viewer {kib-pull}66071[#66071]
Management::
* Fixes error when deleting snapshots behind reverse proxy {kib-pull}66147[#66147]
* Fixes bug when editing retention of slm policy {kib-pull}67137[#67137]
* Fixes fetch policies query {kib-pull}67827[#67827]
* Adds missing time unit labels {kib-pull}68205[#68205]
* Fixes pagination bugs in CCR and Remote Clusters {kib-pull}65931[#65931]
* Cleans up doc title when navigating away from Snapshot Restore {kib-pull}67906[#67906]
* Fixes boolean cell values in analytics table result views and transforms wizard {kib-pull}62618[#62618]
* Index pattern management - field list - localization functions returning empty strings {kib-pull}64055[#64055]
Maps::
* Fixes replaceLayerList to handle case where map is not intialized {kib-pull}62202[#62202]
* Safely handles empty string and invalid strings from EuiColorPicker {kib-pull}62507[#62507]
* Do not show circle border when symbol size is zero {kib-pull}62644[#62644]
* Fixes attribution overflow with exit full screen button {kib-pull}62699[#62699]
* Creates NOT EXISTS filter for tooltip property with no value {kib-pull}62849[#62849]
* Fixes bug where toggling Scaling type does not re-fetch data {kib-pull}63326[#63326]
* Fixes double fetch when filter pill is added {kib-pull}63024[#63024]
* Fixes term join agg key collision {kib-pull}63324[#63324]
* Fixes date labels {kib-pull}63909[#63909]
* Removes SLA percentage metric {kib-pull}65718[#65718]
* Removes dateline check for geo_shape queries, split geo_bounding_box queries that cross dateline into 2 boxes {kib-pull}64598[#64598]
* Handles case where fit to bounds does not match any documents {kib-pull}66307[#66307]
* Returns bounding box for static feature collection without joins {kib-pull}66607[#66607]
* Fixes legend icon color for custom categorial palettes {kib-pull}67141[#67141]
Metrics::
* Disables search bar when live stream is on {kib-pull}65491[#65491]
* Ensures live stream always gets latest entries {kib-pull}67935[#67935]
* Fixes time picker layout issues on Inventory View {kib-pull}66094[#66094]
* Fixes validation for threshold values {kib-pull}66281[#66281]
* Prevents component errors from breaking the whole UI {kib-pull}65456[#65456]
* Fixes mistake in container ip field name {kib-pull}66198[#66198]
* Fixes time state bug {kib-pull}67630[#67630]
* Require filterQuery to be ES JSON {kib-pull}64937[#64937]
* Debounce onChange in alert creation UI {kib-pull}65167[#65167]
* Fixes default metric alert interval for new conditions {kib-pull}66610[#66610]
Platform::
* Fixes inconsistent search behaviour in Advanced Settings {kib-pull}64510[#64510]
* SavedObjects bulkCreate API should return migrationVersion and strip the type &amp; namespace from the id {kib-pull}65150[#65150]
* Fixes task manager cancel warning {kib-pull}63756[#63756]
* New Kibana app link order {kib-pull}67991[#67991]
Security::
* Fix authentication loop when upgrading Kibana from 6.8 to 7.7+ {kib-pull}67687[#67687]
* Previously, users couldn't log in with SAML Identity Provider Initiated flow (e.g. from Okta Dashboard) if they already had
an existing, but expired session. Now it should be possible {kib-pull}59686[#59686]
* Fixes EncryptedSavedObjectsClientWrapper fails on stripEncryptedAttributes for saved object with errors {kib-pull}61385[#61385]
* Adds username/password validation to login form {kib-pull}60681[#60681]
SIEM::
* Fixes import bug with non existent signals index {kib-pull}65595[#65595]
* Restricts ML rule modification to ML Admins {kib-pull}65583[#65583]
* Fixes timeline buildGlobalQuery {kib-pull}68320[#68320]
Uptime::
* Refreshes index and also show more info to user regarding index/data {kib-pull}62606[#62606]
* Updates uptime ml job id to limit to 64 char {kib-pull}64394[#64394]
* Enables deselection of stale filters {kib-pull}65523[#65523]
* Unmounts uptime app properly {kib-pull}66950[#66950]

[float]
[[deprecation-7.8.0]]
=== Deprecations
Platform::
* Deprecates IE11 support {kib-pull}66512[#66512]
Security::
* Deprecates {kib} user in favor of kibana_system user {kib-pull}63186[#63186]

[[release-notes-7.7.1]]
== {kib} 7.7.1

See <<breaking-changes-7.7,breaking changes in 7.7>>.

[float]
[[security-update-7.1.1]]
=== Security update
In {kib} 5.4.0 and later, TSVB visualizations contain a stored XSS flaw. Attackers that can
edit and create TSVB visualizations can obtain sensitive information, or perform
destructive actions, on behalf of the {kib} users who edit the TSVB visualization, CVE-2020-7015.

You must upgrade to 7.7.1. If you are unable to upgrade, set `metrics.enabled:false` in your kibana.yml file to disable TSVB.

[float]
[[bug-7.7.1]]
=== Bug fixes
Alerting::
* Fixes bug with no possibility to edit the index name after adding {kib-pull}64033[#64033]
* Corrects validation and errors handling in PagerDuty action {kib-pull}63954[#63954]
* Fixes saving doc count alerts {kib-pull}63750[#63750]
* Fixes issue when connectors dropdown not showing all avaliable connectors {kib-pull}63636[#63636]
* Fixes inability to clear numeric field in a "Group over top docs" condition {kib-pull}63543[#63543]
* Handles when an Alerting Task fails due to its Alert object being deleted mid flight {kib-pull}63093[#63093]
APM:
* Encodes spaces when creating ML job {kib-pull}63683[#63683]
Canvas::
* Fixes bring to front shortcut label {kib-pull}67374[#67374]
* Fixes add page CSS animation bug {kib-pull}66496[#66496]
Dashboard::
* Shows visualization in Safari in dashboard fullscreen {kib-pull}66894[#66894]
* Fixes saved object share link {kib-pull}66771[#66771]
* Don't lose dashboard/visualize/discover state when navigating to other applications {kib-pull}66766[#66766]
Discover::
* Don't lose dashboard/visualize/discover state when navigating to other applications {kib-pull}66766[#66766]
Lens and visualizations::
* Fixes redirect on reload {kib-pull}66491[#66491]
* Timelion graph is not refreshing content after searching or filtering {kib-pull}67023[#67023]
* Don't lose dashboard/visualize/discover state when navigating to other applications {kib-pull}66766[#66766]
* Fixes redirect on reload {kib-pull}66491[#66491]
* Shows missing values on chart setting {kib-pull}66375[#66375]
* Usage of custom plugins using the @plugin statement and inline JavaScript in less code used in the TSVB Markdown
visualization is not allowed anymore. Using it will simply not apply the styles {kib-pull}65467[#65467]
* Fixes std deviation band mode {kib-pull}64413[#64413]
* Reloads on ui state change and fix ui state for tsvb {kib-pull}63699[#63699]
Machine Learning:
* Fixes watch creation {kib-pull}65956[#65956]
* Fixes new job wizard with multiple indices {kib-pull}64567[#64567]
* Fixes optional plugin dependency types {kib-pull}64450[#64450]
* Ensures both keyword/text types are excluded for selected excluded field {kib-pull}62712[#62712]
Management::
* Fixes an integration issue with the security plugin in Ingest Pipelines and Snapshot and Restore that would incorrectly
report requiring security to be enabled when the plugins should work normally without security.
This affects the default docker distribution {kib-pull}67308[#67308]
* Preserves saved object references when saving the object {kib-pull}66584[#66584]
* Fixes detail panel for indices with % in the name {kib-pull}66435[#66435]
* Setting dev_tools.enabled: false in kibana.yml will no longer crash Kibana {kib-pull}66276[#66276]
* Fixes `mappings` keyword in Index Management plugin (Index detail pane, Mapping tab) {kib-pull}66012#66012]
Maps::
* Handle cross cluster index _settings resp {kib-pull}66797[#66797]
* Fixes edit filter {kib-pull}64586[#64586]
Metrics::
* Migrating Docker network fields {kib-pull}65133[#65133]
* Removes APM Hard Dependency {kib-pull}64952[#64952]
* Fixes for editing alerts in alert management {kib-pull}64597[#64597]
* Fixes alerting when a filter query is present {kib-pull}64575[#64575]
* Allows users to create alerts from the central Alerts UI {kib-pull}63803[#63803]
* Remove remaining field filtering {kib-pull}63398[#63398]
Monitoring::
* Uses custom route to ensure global state is preserved {kib-pull}63891[#63891]
* Ensures time picker is actually disabled {kib-pull}63709[#63709]
* Fixes server response errors {kib-pull}63181[#63181]
Platform::
* Allows any type for customResponseHeaders config {kib-pull}66689[#66689]
Security::
* Allows IdP initiated SAML login with session containing expired token {kib-pull}59686[#59686]
SIEM::
* Updates alert apiKey when the rule is updated {kib-pull}67364[#67364]
* Fixes Network Map empty tooltip {kib-pull}66828[#66828]
* Changes find_statuses route HTTP method from GET to POST {kib-pull}63508[#63508]
Uptime::
* Updates duration chart query filters {kib-pull}63620[#63620]


[[release-notes-7.7.0]]
== {kib} 7.7.0

For information about the Kibana 7.7.0 release, review the following information.

[float]
[[breaking-changes-7.7]]
=== Breaking changes

Breaking changes can prevent your application from optimal operation and performance. Before you upgrade to 7.7.0, review the breaking changes, then mitigate the impact to your application.

// The following section is re-used in the Installation and Upgrade Guide
// tag::notable-breaking-changes[]

// end::notable-breaking-changes[]

[float]
==== Breaking changes for users

There are no user-facing breaking changes in 7.7.

[float]
[[general-plugin-API-changes-77]]
==== Breaking changes for plugin developers

[discrete]
===== Add addInfo toast to core notifications service

This Info toast will be used for the async search notifications.

*via {kib-pull}60574[#60574]*

[discrete]
===== Goodbye, legacy data plugin

The legacy `data` plugin located in `src/legacy/core_plugins/data` has been removed. This change only affects legacy platform plugins which are either:
1. Importing the `public/setup` or `public/legacy` "shim" files from the legacy data plugin to access runtime contracts; or
2. importing static code from inside `src/legacy/core_plugins/data`; or
3. explicitly using `require: ['data']` in the plugin definition.

For scenario 1 above, you should migrate your plugin to access the services you need from the new platform `data` plugin. These are accessible in the legacy world by using `ui/new_platform`:
```diff
- import { start as dataStart } from 'src/legacy/core_plugins/data/public/legacy';
+ import { npStart } from 'ui/new_platform';
+ const dataStart = npStart.plugins.data;
```

For scenario 2, the equivalent static code you've been importing should now be available from `src/plugins/data`, in the `server` or `public` directories:
```diff
- import { someStaticUtilOrType } from 'src/legacy/core_plugins/data/public';
+ import { someStaticUtilOrType } from 'src/plugins/data/public';
```

For scenario 3, you should be able to safely drop the reference to the plugin, and add `data` to your list of dependencies in `kibana.json` whenever your plugin migrates to the new Kibana platform:
```diff
// index.ts
const myPluginInitializer: LegacyPluginInitializer = ({ Plugin }: LegacyPluginApi) =>
  new Plugin({
    id: 'my_plugin',
-    require: ['kibana', 'elasticsearch', 'visualizations', 'data'],
+    require: ['kibana', 'elasticsearch', 'visualizations'],
    ...,
  })
);
```

For more information on where to locate new platform `data` services,
please refer to the table of
https://github.com/elastic/kibana/blob/master/src/core/MIGRATION.md#plugins-for-shared-application-services[plugins for shared application services]
in `src/core/MIGRATION.md`.

*via {kib-pull}60449[#60449]*

[discrete]
===== Delete FilterStateManager and QueryFilter

Delete unused legacy exports `FilterStateManager`, `QueryFilter`, and `SavedQuery`.

*via {kib-pull}59872[#59872]*

[discrete]
===== Add UiSettings validation & Kibana default route redirection

UiSettings definition allows to specify validation functions:
```js
import { schema } from '@kbn/config-schema';

uiSettings.register({
   myUiSetting: {
      name: ...
      value: 'value',
      schema: schema.string()
  }
})
```

*via {kib-pull}59694[#59694]*

[discrete]
===== Allow disabling xsrf protection per an endpoint

Route configuration allows to disable xsrf protection for destructive HTTP methods:

```js
routet.get({ path: ..., validate: ..., options: { xsrfRequired: false } })
```
*via {kib-pull}58717[#58717]*

[discrete]
===== Add core metrics service

A new `metrics` API is available from core, which allows retrieving various
metrics regarding the HTTP server, process, and OS load/usages.

```typescript
core.metrics.getOpsMetrics$().subscribe(metrics => {
  // do something with the metrics
})
```

*via {kib-pull}58623[#58623]*

[discrete]
===== Add an optional authentication mode for HTTP resources

A route config accepts `authRequired: 'optional'`. A user can access a resource if has valid credentials or no credentials at all. Can be useful when we grant access to a resource but want to identify a user if possible.
```js
router.get( { path: '/',  options: { authRequired: 'optional' } }, handler);
```

*via {kib-pull}58589[#58589]*

[discrete]
===== Migrate doc view part of discover

The extension point for registering custom doc views was migrateed and can be used directly within the new platform.

A working example of the new integration can be seen in `test/plugin_functional/plugins/doc_views_plugin/public/plugin.tsx`.

To register doc views, list `discover` as a required dependency of your plugin and use the `docViews.addDocView` method exposed in the setup contract:
```tsx
export class MyPlugin implements Plugin<void, void> {
  public setup(core: CoreSetup, { discover }: { discover: DiscoverSetup }) {
    discover.docViews.addDocView({
      component: props => {
        return /* ... */;
      },
      order: 2,
      title: 'My custom doc view',
    });
  }

  /* ... */
}

```

*via {kib-pull}58094[#58094]*

[discrete]
===== [Telemetry] Server backpressure mechanism

Add a backpressure mechanism for sending telemetry on the server.
Usage data will always be sent from the browser even if we are also sending
it from the server. Server side Telemetry usage data sender will send an `OPTIONS`
request before `POST`ing the data to our cluster to ensure the endpoint is reachable.

[discrete]
*Fallback mechanism*

. Always send usage from browser regardless of the `telemetry.sendUsageFrom` kibana config.


*Server usage backpressure*

. Send usage from server in addition to browser if `telemetry.sendUsageFrom` is set to `server`.

. Initial server usage attempt is after 5 minutes from starting kibana. Attempt to send every 12 hours afterwards.

. Stop attempting to send usage from the server if the attempts fail three times (initial attempt 5 minutes from server start, and two consecutive 12 hours attempts).

. Restart attempt count after each kibana version upgrade (patch/minor/major).

. Restart attempt count if it succeeds in any of the 3 tries.

*Sending usage mechanism from server:*

Send `OPTIONS` request before attempting to send telemetry from server. `OPTIONS` is less intrusive as it does not contain any payload and is used to check if the endpoint is reachable. We can also use it in the future to check for allowed headers to use etc.

* If `OPTIONS` request succeed; send usage via `POST`.

* If `OPTIONS` request fails; dont send usage and follow the retry logic above.

*via {kib-pull}57556[#57556]*

[discrete]
===== Expressions server-side

It is now possible to register expression functions and types on the Kibana server and execute expressions on the server. The API is the same as in the browser-side plugin, e.g:

```ts
plugins.expressions.registerFunction(/* ... */);
const result = await plugins.expressions.run('var_set name="foo" value="bar" | var name="foo"', null);
```

*via {kib-pull}57537[#57537]*

[discrete]
===== Local actions

`actionIds` property has been removed from`Trigger` interface in `ui_actions` plugin. Use `attachAction()` method instead, for example:

```ts
plugins.uiActions.attachAction(triggerId, actionId);
```

Instead of previously:

```ts
const trigger = {
  id: triggerId,
  actionIds: [actionId],
};
```

*via {kib-pull}57451[#57451]*

[discrete]
===== Use log4j pattern syntax

Logging output of the New platform plugins can use adjusted
via https://github.com/elastic/kibana/blob/master/src/core/server/logging/README.md[new config].

*via {kib-pull}57433[#57433]*

[discrete]
===== Allow savedObjects types registration from NP

A new `registerType` API has been added to the core savedObjects `setup` API,
allowing to register savedObject types from new platform plugins

```ts
// src/plugins/my_plugin/server/saved_objects/types.ts
import { SavedObjectsType } from 'src/core/server';
import * as migrations from './migrations';

export const myType: SavedObjectsType = {
  name: 'MyType',
  hidden: false,
  namespaceAgnostic: true,
  mappings: {
    properties: {
      textField: {
        type: 'text',
      },
      boolField: {
        type: 'boolean',
      },
    },
  },
  migrations: {
    '2.0.0': migrations.migrateToV2,
    '2.1.0': migrations.migrateToV2_1
  },
};

// src/plugins/my_plugin/server/plugin.ts
import { SavedObjectsClient, CoreSetup } from 'src/core/server';
import { myType } from './saved_objects';

export class Plugin() {
  setup: (core: CoreSetup) => {
    core.savedObjects.registerType(myType);
  }
}
```

Please check the migration guide for more complete examples and migration procedure.

*via {kib-pull}57430[#57430]*

[discrete]
===== Expose Vis on the contract as it requires visTypes

In most of the places `Vis` used as a type, but in couple places it is used as a class.
At the moment `Vis` as a class is not stateless, as it depends on `visTypes`. As it is not stateless, `Vis` class was removed from public exports and exposed on `visualisations` contract instead:

```ts
new visualizationsStart.Vis(....);
```

`Vis` as interface still can be imported as:

```ts
import { Vis } from '../../../../../core_plugins/visualizations/public';
```

*via {kib-pull}56968[#56968]*

[discrete]
===== Add ScopedHistory to AppMountParams

Kibana Platform applications should use the provided `history` instance to integrate routing rather than setting up their own using `appBasePath` (which is now deprecated).

*Before*

```tsx
core.application.register({
  id: 'myApp',
  mount({ appBasePath, element }) {
    ReactDOM.render(
      <BrowserRouter basename={appBasePath}>
        <App />
      </BrowserRouter>,
      element
    );
    return () => ReactDOM.unmountComponentAtNode(element);
  }
});
```

*After*
```tsx
core.application.register({
  id: 'myApp',
  mount({ element, history }) {
    ReactDOM.render(
      <BrowserRouter history={history}>
        <App />
      </BrowserRouter>,
      element
    );
    return () => ReactDOM.unmountComponentAtNode(element);
  }
});
```

*via {kib-pull}56705[#56705]*

[discrete]
===== Move new_vis_modal to visualizations plugin

*Before*

NewVisModal component and showNewVisModal function were statically exported and received all the dependencies as props/parameters.

*After*

`showNewVisModal()` is part of the plugin contract and plugin dependencies are provided implicitly.

```tsx
npStart.plugins.visualizations.showNewVisModal();
```
*via {kib-pull}56654[#56654]*

[discrete]
===== UiComponent

`UiComponent` interface was added to `kibana_utils` plugin. `UiComponent` represents a user interface building block, like a React component, but `UiComponent` does not have to be implemented in React&mdash;it can be implemented in plain JS or React, or Angular, etc.

In many places in Kibana we want to be agnostic to frontend view library, i.e. instead of exposing React-specific APIs we want to expose APIs that are orthogonal to any rendering library. `UiComponent` interface represents such UI components. UI component receives a DOM element and `props` through `render()` method, the `render()` method can be called many times.

```ts
export type UiComponent<Props extends object = object> = () => {
  render(el: HTMLElement, props: Props): void;
  unmount?(): void;
};
```

Although Kibana aims to be library agnostic, Kibana itself is written in React,
therefore `UiComponent` is designed such that it maps directly to a
functional React component: `UiCompnent` interface corresponds
to `React.ComponentType` type and `UiCompnent` props map to React component props.

To help use `UiComponent` interface in the codebase `uiToReactComponent` and
`reactToUiComponent` helper functions were added to `kibana_react` plugin,
they transform a `UiComponent` into a React component and vice versa, respectively.

```ts
const uiToReactComponent: (comp: UiComponent) => React.ComponentType;
const reactToUiComponent: (comp: React.ComponentType) => UiComponent;
```

*via {kib-pull}56555[#56555]*

[discrete]
===== Start consuming np logging config

Provides experimental support of new logging format for **new platform plugins**.
More about https://github.com/elastic/kibana/blob/master/src/core/server/logging/README.md[the logging format].

*via {kib-pull}56480[#56480]*

[discrete]
===== [State Management] State syncing utils docs

Refer to https://github.com/elastic/kibana/tree/master/src/plugins/kibana_utils/docs/state_sync[these docs]
on state syncing utils.

*via {kib-pull}56479[#56479]*


[discrete]
===== [NP] Move saved object modal into new platform

`SavedObjectSaveModal`, `showSaveModal` and `SaveResult` from _`ui/saved_objects`_,
and `SavedObjectFinderUi`, `SavedObjectMetaData` and `OnSaveProps`
from _`src/plugins/kibana_react/public`_ were moved to a new plugin **`src/plugins/saved_objects`**.

Also now `showSaveModal` requires the second argument  - `I18nContext`:

```ts
import { showSaveModal } from 'src/plugins/saved_objects/public';
...

showSaveModal(saveModal, npStart.core.i18n.Context);

```

*via {kib-pull}56383[#56383]*

[discrete]
===== [State Management] State syncing helpers for query service

Query service of data plugin now has state$ observable which allows to
watch for query service data changes:

```ts
interface QueryState {
  time?: TimeRange;
  refreshInterval?: RefreshInterval;
  filters?: Filter[];
}

interface QueryStateChange {
  time?: boolean; // time range has changed
  refreshInterval?: boolean; // refresh interval has changed
  filters?: boolean; // any filter has changed
  appFilters?: boolean; // specifies if app filters change
  globalFilters?: boolean; // specifies if global filters change
}

state$: Observable<{ changes: QueryStateChange; state: QueryState }>;
```

*via {kib-pull}56128[#56128]*

[discrete]
===== Migrate saved_object_save_as_checkbox directive to Timelion

Use our React component `SavedObjectSaveModal` with `showCopyOnSave={true}`
instead of the react directive. Note that `SavedObjectSaveModal`
soon will be part of a new plugin, so the path will change.

```TypeScript
import { SavedObjectSaveModal } from 'ui/saved_objects/components/saved_object_save_modal';
<SavedObjectSaveModal
  onSave={onSave}
  onClose={() => {}}
  title={'A title'}
  showCopyOnSave={true}
  objectType={'The type of you saved object'}
 />
```

*via {kib-pull}56114[#56114]*

[discrete]
===== `ui/public` cleanup

*Removed / moved modules*

In preparation for Kibana's upcoming https://github.com/elastic/kibana/issues/9675[new platform],
we are in the process of https://github.com/elastic/kibana/issues/26505[migrating away]
from the `ui/public` directory. Over time, the contents of this directory will
be either deprecated or housed inside a parent plugin. If your plugin imports
the listed items from the following `ui/public` modules, you will need to
either update your import statements as indicated below, so that you are
pulling these modules from their new locations, or copy the relevant code directly into your plugin.

*`ui/agg_types`* https://github.com/elastic/kibana/pull/59605[#59605]

The `ui/agg_types` module has been removed in favor of the service provided by
the `data` plugin in the new Kibana platform.

Additionally, `aggTypes` and `AggConfigs` have been removed in favor of a
`types` registry and a `createAggConfigs` function:

```ts
// old
import { AggConfigs, aggTypes } from 'ui/agg_types';
const aggs = new AggConfigs(indexPattern, configStates, schemas);
aggTypes.metrics[0]; // countMetricAgg

// new
class MyPlugin {
  start(core, { data }) {
    data.search.aggs.createAggConfigs(indexPattern, configStates, schemas);
    data.search.aggs.types.get('count'); // countMetricAgg
  }
}

// new - static code
import { search } from 'src/plugins/data/public';
const { isValidInterval } = search.aggs;

// new - types
import { BUCKET_TYPES, METRIC_TYPES } from 'src/plugins/data/public';
```

The above examples are not comprehensive, but represent some of the more
common uses of `agg_types`. For more details, please refer to the interfaces
in https://github.com/elastic/kibana/blob/master/src/plugins/data/public/types.ts#L50[the source code],
as well as the data plugin's https://github.com/elastic/kibana/blob/master/src/plugins/data/public/index.ts#L282[`public/index` file].


*`ui/time_buckets`* https://github.com/elastic/kibana/pull/58805[#58805]

The `ui/time_buckets` module has been removed and is now internal to the `data` plugin's
search & aggregations infrastructure. We are working on an improved set of helper utilities
to eventually replace the need for the `TimeBuckets` class.

In the meantime, if you currently rely on `TimeBuckets`, please copy the relevant pieces into your plugin code.


*`ui/filter_manager`* https://github.com/elastic/kibana/pull/59872[#59872]

The `ui/filter_manager` module has been removed and now services and UI components
are available on the `data` plugin's query infrastructure.

*via {kib-pull}55926[#55926]*

[discrete]
===== Add savedObjects mappings API to core

Added API to register savedObjects mapping from the new platform.

```ts
 // my-plugin/server/mappings.ts
import { SavedObjectsTypeMappingDefinitions } from 'src/core/server';

export const mappings: SavedObjectsTypeMappingDefinitions = {
   'my-type': {
     properties: {
       afield: {
         type: "text"
       }
     }
   }
 }
```

```ts
 // my-plugin/server/plugin.ts
 import { mappings } from './mappings';

 export class MyPlugin implements Plugin {
   setup({ savedObjects }) {
     savedObjects.registerMappings(mappings);
   }
 }
```

*via {kib-pull}55825[#55825]*

[discrete]
===== Remove the VisEditorTypesRegistryProvider

The `VisEditorTypesRegistryProvider` is removed. By default,
visualizations will use the default editor.

To specify a custom editor use editor parameter as a key and
a class with your own controller as a value in a vis type definition:

```ts
{
    name: 'my_new_vis',
    title: 'My New Vis',
    icon: 'my_icon',
    description: 'Cool new chart',
    editor: MyEditorController
  }
```

*via {kib-pull}55370[#55370]*

[discrete]
===== Explicitly test custom appRoutes

Tests for custom `appRoute`s are now more clear and explicitly separate
from those that test other rendering service interactions.

*via {kib-pull}55405[#55405]*

[discrete]
===== [NP] Platform exposes API to get authenticated user data

HttpService exposes:

* `auth.get()` &mdash; returns auth status and associated user data. User data are opaque to the http service. Possible auth status values:
** `authenticated` &mdash; `auth` interceptor successfully authenticated a user.
** `unauthenticated` &mdash; `auth` interceptor failed user authentication.
** `unknown` &mdash; `auth` interceptor has not been registered.

* `auth.isAuthenticated()` - returns true, if `auth` interceptor successfully authenticated a user.

*via {kib-pull}55327[#55327]*

[discrete]
===== Implements `getStartServices` on server-side

Adds a new API to be able to access `start` dependencies when registering handlers in `setup` phase.

```ts
class MyPlugin implements Plugin {
  setup(core: CoreSetup, plugins: PluginDeps) {
    plugins.usageCollection.registerCollector({
      type: 'MY_TYPE',
      fetch: async () => {
        const [coreStart] = await core.getStartServices();
        const internalRepo = coreStart.savedObjects.createInternalRepository();
        // ...
      },
    });
  }
  start() {}
}
```

*via {kib-pull}55156[#55156]*

[discrete]
=====  Expressions refactor

* `context.types` > `inputTypes`
* Objects should be registered instead of function wrappers around those objects.

*via {kib-pull}54342[#54342]*

[discrete]
===== Refactor saved object management registry usage

Registration of the following `SavedObjectLoader` in Angular was removed:

* `savedSearches`
* `savedVisualizations`
* `savedDashboard`

The plugins now provide the functions to create a  `SavedObjectLoader` service, here's an example how the services are created now:

```typescript
import { createSavedSearchesService } from '../discover';
import { TypesService, createSavedVisLoader } from '../../../visualizations/public';
import { createSavedDashboardLoader } from '../dashboard';

const services = {
   savedObjectsClient: npStart.core.savedObjects.client,
   indexPatterns: npStart.plugins.data.indexPatterns,
   chrome: npStart.core.chrome,
   overlays: npStart.core.overlays,
 };

const servicesForVisualizations = {
    ...services,
    ...{ visualizationTypes: new TypesService().start() },
  }

const savedSearches = createSavedSearchesService(services);
const savedVisualizations = createSavedVisLoader(servicesForVisualizations);
const savedDashboards = createSavedDashboardLoader(services);
```

*via {kib-pull}54155[#54155]*

[discrete]
===== Enforce camelCase format for a plugin id

When creating a new platform plugin, you need to make sure that
pluginId declared in camelCase within `kibana.json` manifest file.
It might not match `pluginPath`, which is recommended to be in snake_case format.

```js
// ok
"pluginPath": ["foo"],
"id": "foo"
// ok
"pluginPath": "foo_bar",
"id": "fooBar"
```

*via {kib-pull}53759[#53759]*

[discrete]
===== bfetch (2)

Request batching and response streaming functionality of legacy Interpreter plugin has been moved out into a separate `bfetch` Kibana platform plugin. Now every plugin can create server endpoints and browser wrappers that can batch HTTP requests and stream responses back.

As an example, we will create a batch processing endpoint that receives a number then doubles it
and streams it back. We will also consider the number to be time in milliseconds
and before streaming the number back the server will wait for the specified number of
milliseconds.

To do that, first create server-side batch processing route using `addBatchProcessingRoute`.

```ts
plugins.bfetch.addBatchProcessingRoute<{ num: number }, { num: number }>(
  '/my-plugin/double',
  () => ({
    onBatchItem: async ({ num }) => {
      // Validate inputs.
      if (num < 0) throw new Error('Invalid number');
      // Wait number of specified milliseconds.
      await new Promise(r => setTimeout(r, num));
      // Double the number and send it back.
      return { num: 2 * num };
    },
  })
);
```

Now on client-side create `double` function using `batchedFunction`.
The newly created `double` function can be called many times and it
will package individual calls into batches and send them to the server.

```ts
const double = plugins.bfetch.batchedFunction<{ num: number }, { num: number }>({
  url: '/my-plugin/double',
});
```

Note: the created `double` must accept a single object argument (`{ num: number }` in this case)
and it will return a promise that resolves into an object, too (also `{ num: number }` in this case).

Use the `double` function.

```ts
double({ num: 1 }).then(console.log, console.error); // { num: 2 }
double({ num: 2 }).then(console.log, console.error); // { num: 4 }
double({ num: 3 }).then(console.log, console.error); // { num: 6 }
```

*via {kib-pull}53711[#53711]*

[discrete]
===== Grouped Kibana nav

Plugins should now define a category if they have a navigation item:

* If you want to fit into our default categories, you can use our `DEFAULT_APP_CATEGORIES` defined in `src/core/utils/default_app_categories.ts`.
* If you want to create their own category, you can also provide any object matching the `AppCategory` interface defined in `src/core/types/app_category.ts`.

*via {kib-pull}53545[#53545]*

[discrete]
===== Expose Elasticsearch from start and deprecate from setup

Remove any API that could allow access/query to savedObjects from core setup
contract, and move them to the start contract instead. Deprecate
the `CoreSetup.elasticsearch` API and expose `CoreStart.elasticsearch` instead.


*via {kib-pull}59886[#59886]*

[discrete]
===== Embeddable triggers

Embeddables can now report `ui_actions` triggers that they execute through the
`.supportedTriggers()` method. For example:

```js
class MyEmbeddable extends Embeddable {
  supportedTriggers() {
    return ['VALUE_CLICK_TRIGGER'];
  }
}
```
The returned list of triggers will be used in the drilldowns feature on Dashboard,
where users will be able to add drilldowns to embeddable triggers.

*via {kib-pull}58440[#58440]*

[discrete]
===== Force savedObject API consumers to define SO type explicitly

The new interface enforces API consumers to specify SO type explicitly.
Plugins can use `SavedObjectAttributes` to ensure their type are serializable,
but it shouldn't be used as their domain-specific type.

*via {kib-pull}58022[#58022]*

[discrete]
===== Trigger context

Improved types for trigger contexts, which are consumed by actions.

*via {kib-pull}57870[#57870]*

[discrete]
===== Expressions debug mode

Add ability to execute expression in "debug" mode, which would collect execution
information about each function. This is used in the Expression Explorer
(developed by Canvas) and in Canvas when the expression editor is open.

*via {kib-pull}57841[#57841]*

[discrete]
===== Move ui/agg_types in to shim data plugin

* Moves the contents of `ui/agg_types` into the legacy shim data plugin
* Re-exports contracts `ui/agg_types` for BWC
* Creates dedicated interfaces for classes commonly being used as types: IAggConfig, IAggConfigs, IAggType, IFieldParamType, IMetricAggType
** Right now these are just re-exporting the class as a type;
eventually we should put more detailed typings in place.

*via {kib-pull}56353[#56353]*

[discrete]
===== Stateful search bar default behaviors

The goal of the stateful version of SearchBar / TopNavMenu is to be an easy way
to consume the services offered by `plugins.data.query` where developers
should be able to provide minimal configuration and get a fully working SearchBar.

*via {kib-pull}56160[#56160]*

[discrete]
===== Guide for creating alert / action types in the UI

Documentation to help developers integrate their alert / action type within
our Management UIs

*via {kib-pull}55963[#55963]*

[discrete]
===== Move search service code to NP

Move all of the search service code to Kibana new platform. Also deletes `courier` folder
and moves `getFlattenedObject` to `src/core/utils`.

*via {kib-pull}55430[#55430]*

[discrete]
===== Expose NP FieldFormats service to server side

The fieldFormats service is used on the server side as well.
At the moment, it resides in `src/legacy/ui/field_formats/mixin/field_formats_service.ts`
and only the FE plugin exposes it.

*via {kib-pull}55419[#55419]*

[discrete]
===== Update plugin generator to generate NP plugins

Add more options for Kibana new platform plugin generator.

* Generate FE components
* Generate server side endpoint
* Generate SCSS
* Generate an optional .eslintrc.js file (for 3rd party plugins mostly)
* Init git repo (for 3rd party plugins)

*via {kib-pull}55281[#55281]*

[discrete]
===== Run SO migration after plugins setup phase

* Moves `createScopedRepository` and `createInternalRepository` from `setup`
contract to `start` contract, and removes `getScopedClient` from the `setup` contract.
There is no longer a possibility to be performing any call to SO before core's `start` is done.
* Creates the migrator, the repository accessors and runs the SO migration
at the start of `SavedObjectsService.start()`, meaning that any SO call performed
is assured to be done after the migration.
* Changes the `setClientFactory` API to `setClientFactoryProvider` to provide a
SO repository provider when registering the client factory.
* Adapts the existing plugin calls to the removed APIs from `setup` to be now
using `getStartServices` to access them on the core `start` contract.

*via {kib-pull}55012[#55012]*

[discrete]
===== Build immutable bundles for new platform plugins

Plugins that have been migrated to the "new platform" are built with a new system
into their own `target/public` directory. To build third-party plugin's with
this new system either pass `--plugin-path` to `node scripts/build_new_platform_plugins`
or use the `@kbn/optimizer` package in the Kibana repo to build your plugin as
described in the readme for that package.

*via {kib-pull}53976[#53976]*


[discrete]
===== [Search service] Asynchronous ES search strategy

Adds an async {es} search strategy, which utilizes the async search strategy to
call the `_async_search` APIs in Elasticsearch, returning an observable over the responses.

*via {kib-pull}53538[#53538]*

[discrete]
===== [Vis: Default editor] EUIficate and Reactify the sidebar

If you are using the `default` editor in your `VisType` visualization definition,
remove the `editor: 'default'` param from it. The default editor controller
will be used by default.

The default editor controller receives an `optionsTemplate` or `optionTabs` parameter.
These tabs should be React components:

```ts
{
    name: 'my_new_vis',
    title: 'My New Vis',
    icon: 'my_icon',
    description: 'Cool new chart',
    editorConfig: {
       optionsTemplate: MyReactComponent // or if multiple tabs are required:
       optionTabs: [
           { title: 'tab 3', editor: MyReactComponent }
       ]
    }
  }
```

*via {kib-pull}49864[#49864]*

[discrete]
===== [test] Consolidate top-level yarn scripts

Over time Kibana has added a number of testing frameworks,
but our top-level scripts have remained the same to avoid workflow changes.
The current naming convention with the number of test options can leave room for ambiguity.

You'll see two general changes:
* docs will refer to the yarn script, giving us an abstraction to migrate
frameworks out and avoid workflow interruptions (`grunt/gulp -> node scripts/*`)
* test scripts now refer to the test runner, as opposed to the test
type (`yarn test:server -> yarn test:mocha`)


*via {kib-pull}44679[#44679]*

[float]
[[security-update-7.7.0]]
=== Security updates
* In 7.7.0 to 7.6.2, the Upgrade Assistant contains a prototype pollution flaw. An authenticated attacker with
privileges to write to the {kib} index can insert data that could cause {kib} to execute arbitrary code. This
could lead to an attacker executing code with the permissions of the {kib} process on the host system, CVE-2020-7012.
+
By default, the Upgrade Assistant flaw is mitigated in all {kib} instances accessed through {ess}.
+
For all other installations, you must upgrade to 7.7.0. If you are unable to upgrade, set `xpack.upgrade_assistant_enabled:false` in your kibana.yml file to disable the Upgrade Assistant.

* In 7.7.0 and earlier, TSVB contains a prototype pollution flaw. Authenticated attackers with privileges to create
TSVB visualizations can insert data that could cause {kib} to execute arbitrary code. This
could lead to an attacker executing code with the permissions of the {kib} process on the host system, CVE-2020-7013.
+
By default, the Upgrade Assistant flaw is mitigated in all {kib} instances accessed through {ess}.
+
For all other installations, you must upgrade to 7.7.0. If you are unable to upgrade, set `metrics.enabled:false` in your kibana.yml file to disable TSVB.

[float]
[[deprecations-7.7.0]]
=== Deprecations

The following functionality is deprecated in 7.7.0, and will be removed in 8.0.0.
Deprecated functionality does not have an immediate impact on your application, but we strongly recommend
you make the necessary updates after you upgrade to 7.7.0.

[discrete]
[[deprecation-53010]]
==== Deprecates authentication settings

*Details* +

Deprecates the `xpack.security.authc.saml.realm` and `xpack.security.authc.saml.maxRedirectURLSize` settings used for {kib} SAML authentication.

Deprecates the `xpack.security.authc.oidc.realm` settings used for {kib} OpenID Connect authentication.

For more information, refer to {kibana-pull}53010[#53010].

*Impact* +

* Instead of `xpack.security.authc.saml.realm`, use `xpack.security.authc.providers.saml.<provider-name>.realm`.

* Instead of `xpack.security.authc.saml.maxRedirectURLSize`, use `xpack.security.authc.providers.saml.<provider-name>.maxRedirectURLSize`.

* Instead of `xpack.security.authc.oidc.realm`, use `xpack.security.authc.providers.oidc.<provider-name>.realm`.

[float]
[[known-issues-7.7.0]]
=== Known issues

SIEM::
* When you deactivate an action within a rule, the rule fails {kib-issue}64870[#64870]
* When you add a timestamp to the PagerDuty action, the rule fails {kib-issue}64871[#64871]

Management::
* Editing Saved Objects (eg. Dashboards) via the "Inspect" JSON editor in Management corrupts objects {kib-issue}66542[#66542]

Configuration::
* The `server.customResponseHeaders` option prevents {kib} from starting if headers are set using a type other than string.
To fix this, convert your boolean and number headers to strings.  For example, use `my-header: "true"` instead of `my-header: true`.
{kib-issue}66146[#66146]

[float]
[[enhancement-7.7.0]]
=== Enhancements
Alerting::
* Notifies user when security is enabled but TLS is not {kib-pull}60270[#60270]
* Displays warning when a permanent encryption key is missing and hides alerting UI appropriately {kib-pull}62772[#62772]
* Edits alert flyout {kib-pull}58964[#58964]
* Moves index params fields to connector config {kib-pull}60349[#60349]
* Adds the AlertDetails page {kib-pull}55671[#55671]
* License checks for actions plugin {kib-pull}59070[#59070]
APM::
* Updates monospace font family variable {kib-pull}57555[#57555]
* Shows missing permissions message to the user on the Services overview {kib-pull}56374[#56374]
* Settings list page for managing custom actions {kib-pull}56853[#56853]
* Divides &quot;Actions menu&quot; into sections to improve readability {kib-pull}56623[#56623]
* Creates settings page to manage Custom Links {kib-pull}57788[#57788]
* Creates custom link from Trace summary {kib-pull}59648[#59648]
* Writes tests for the Custom Link API {kib-pull}60899[#60899]
* Threshold alerts  {kib-pull}59566[#59566]
* Adds additional (java) options {kib-pull}59860[#59860]
* Sync badge {kib-pull}55113[#55113]
* Client.ip to metadata for RUM transactions {kib-pull}56546[#56546]
Canvas::
* Adds Lens embeddables {kib-pull}57499[#57499]
* Switches to using EUI SuperDatePicker in time filter element {kib-pull}59249[#59249]
* Adds Visualize embeddable {kib-pull}60859[#60859]
* Adds argument to open all links in new tab within markdown element {kib-pull}57017[#57017]
* Updates esdocs datasource {kib-pull}59512[#59512]
* Improves expression autocomplete {kib-pull}52035[#52035]
Dashboard::
* Use Elasticsearch `_async_search` instead of `_search` when it is available (excluding TSVB, Timelion, and Vega) {kib-pull}59224[#59224}
* When queries run more than 10 seconds, show a pop-up to allow users to run the queries beyond the configured Elasticsearch query timeout or cancel the queries {kib-pull}60706[#60706]
* Dashboard/add panel flow {kib-pull}59918[#59918]
* Moves the "Create New" button in add panel flyout to the top to make it more visible to the user {kib-pull}56428[#56428]
Lens and visualizations::
* Creates Lens filters on click with bar, line, area charts {kib-pull}57261[#57261]
* Allows number formatting within Lens {kib-pull}56253[#56253]
* Shows a warning when you have partially configured a visualization, such as a bar chart with only an X axis {kib-pull}58279[#58279]
* Improves suggestion logic when dragging fields into the chart {kib-pull}60687[#60687]
* Disallows duplicate percentiles {kib-pull}58299[#58299]
* EUICodeEditor for Visualize JSON  {kib-pull}58679[#58679]
* Supports Histogram Data Type {kib-pull}59387[#59387]
* Median aggregation labels now show "Median" instead of "50th percentile of" in Visualize. Custom labels are also used {kib-pull}58521[#58521]
* Adds positive_rate as a new aggregation to TSVB {kib-pull}59843[#59843]
* Makes linked saved search work when user navigates back using browser back button {kib-pull}59690[#59690]
* Visualization editor UI has been updated to the new styles, consistent with the rest of the platform and a more logical left-to-right flow of creating content {kib-pull}49864[#49864]
Logs::
* Uses the Super date picker in the log stream {kib-pull}54280[#54280]
* Adds expandable rows with category examples {kib-pull}54586[#54586]
* Shows navigation bar while loading source configuration {kib-pull}59997[#59997]
Machine Learning::
* Processes delimited files like semi-structured text {kib-pull}56038[#56038]
* Supports multi-line JSON notation  {kib-pull}58870[#58870]
* Validates manual model memory input {kib-pull}59056[#59056]
* Clones analytics job  {kib-pull}59791[#59791]
* Uses a new ML endpoint to estimate a model memory {kib-pull}60376[#60376]
* Module setup with dynamic model memory estimation {kib-pull}60656[#60656]
* Adds text fields to datafeed start modal {kib-pull}55560[#55560]
* Categorization examples privilege check {kib-pull}57375[#57375]
* Adds filebeat config to file dataviz {kib-pull}58152[#58152]
* Global calendars {kib-pull}57890[#57890]
* Adds indices_options to datafeed {kib-pull}59119[#59119]
* Displays multi-class results in evaluate panel {kib-pull}60760[#60760]
* Adds support for date_nanos time field in anomaly job wizard {kib-pull}59017[#59017]
* Uses EuiDataGrid for outlier result page {kib-pull}58235[#58235]
* Supports multi-line JSON notation in advanced editor {kib-pull}58015[#58015]
* Adds support for percentiles aggregation to Transform wizard {kib-pull}60763[#60763]
* Adds clone feature to transforms list {kib-pull}57837[#57837]
* Uses EuiDataGrid for transform wizard {kib-pull}52510[#52510]
* Replaces KqlFilterBar with QueryStringInput {kib-pull}59723[#59723]
Management::
* The Remote Clusters UI added support for enabling "proxy" mode when creating or editing a remote cluster {kib-pull}59221[#59221]
* Adds filter for ILM phase to Index Management {kib-pull}57402[#57402]
* Creates Painless Lab app {kib-pull}57538[#57538]
* Moves out of legacy {kib-pull}55331[#55331]
* Moves out of legacy and migrates server side to New Platform {kib-pull}55690[#55690]
* Updates Console progress bar {kib-pull}56628[#56628]
* Auto follow pause &amp; resume {kib-pull}56615[#56615]
* Supports triple quoted JSON strings and Painless highlighting to Watcher and SearchProfiler {kib-pull}57563[#57563]
* Server-side batch reindexing {kib-pull}58598[#58598]
* Better handling of closed indices {kib-pull}58890[#58890]
* Advanced settings UI change to centralize save state {kib-pull}53693[#53693]
* The autocomplete in the dev console now supports many different types of Elasticsearch pipeline processors {kib-pull}60553[#60553]
Maps::
* Improves Layer Style UI {kib-pull}58406[#58406]
* Shows field type icons in data driven styling field select {kib-pull}55166[#55166]
* Style icons by category {kib-pull}55747[#55747]
* Adds type icons to SingleFieldSelect component {kib-pull}56313[#56313]
* Disables style forms when they are not applied due to other style settings {kib-pull}55858[#55858]
* Autocompletes for custom color palettes and custom icon palettes {kib-pull}56446[#56446]
* Allows simultaneous opening of multiple tooltips {kib-pull}57226[#57226]
* Adds Top term aggregation {kib-pull}57875[#57875]
* Direct Discover &quot;visualize&quot; to open Maps application {kib-pull}58549[#58549]
* Top term percentage field property {kib-pull}59386[#59386]
* Adds UI to disable style meta and get top categories from current features {kib-pull}59707[#59707]
* Adds draw control to create distance filter {kib-pull}58163[#58163]
* Blended layer that switches between documents and clusters {kib-pull}57879[#57879]
* Default ES document layer scaling type to clusters and show scaling UI in the create wizard {kib-pull}60668[#60668]
* Disables add layer button when flyout is open {kib-pull}54932[#54932]
* Supports categorical styling for numbers and dates {kib-pull}57908[#57908]
Metrics::
* Setup commonly used time ranges in timepicker {kib-pull}56701[#56701]
* Custom Metrics for Inventory View {kib-pull}58072[#58072]
* Alerting for metrics explorer and inventory {kib-pull}58779[#58779]
* Creates a new menu for observability links {kib-pull}54847[#54847]
* Creates Metric Threshold Alert Type and Executor {kib-pull}57606[#57606]
Monitoring::
* Supports shipping directly to the monitoring cluster {kib-pull}57022[#57022]
Platform::
* Improves validation in truncate field formatter editor {kib-pull}56521[#56521]
* Variable support for interpreter {kib-pull}54788[#54788]
Reporting::
* Handles page setup errors and capture the page, don't fail the job {kib-pull}58683[#58683]
* Adds the ability to search and delete historical reports in Management > Kibana > Reporting {kib-pull}60077[#60077]
SIEM::
* Recent cases widget {kib-pull}60993[#60993]
* Adds custom reputation link {kib-pull}57814[#57814]
* Exports timeline {kib-pull}58368[#58368]
* Rule activity monitoring {kib-pull}60816[#60816]
* Removes has manage api keys requirement {kib-pull}62446[#62446]
* Adds release notes link and updates one UI section {kib-pull}60825[#60825]
* Adds rule notifications {kib-pull}59004[#59004]
* Version 7.7 rule import {kib-pull}61903[#61903]
* Creates ML Rules {kib-pull}58053[#58053]
* Case workflow api schema {kib-pull}51535[#51535]
* Service Now {kib} Action {kib-pull}53890[#53890]
* API with io-ts validation {kib-pull}59265[#59265]
* Status / Batch update {kib-pull}59856[#59856]
* Imports timeline {kib-pull}60880[#60880]
* Bug/clean up phase I {kib-pull}61354[#61354]
* Cases clean up Phase II {kib-pull}61750[#61750]
* Modifies gap detection util to accept all dateMath formats {kib-pull}56055[#56055]
* Adds note markdown field to backend {kib-pull}59796[#59796]
* Adds rule markdown field to rule create, detail, and edit flows {kib-pull}60108[#60108]
* Adds rule markdown to timeline global notes {kib-pull}61026[#61026]
* ServiceNow executor {kib-pull}58894[#58894]
* ServiceNow action improvements {kib-pull}60052[#60052]
Security::
* Uses links instead of click handlers when switching spaces {kib-pull}57730[#57730]
* Introduce a login selector screen when multiple auth providers are enabled {kib-pull}53010[#53010]
* Warn when using deprecated roles {kib-pull}57209[#57209]
* Support for subfeature privileges {kib-pull}60563[#60563]
Telemetry::
* Application Usage implemented in @kbn/analytics {kib-pull}58401[#58401]
* Server-side Migration to NP {kib-pull}60485[#60485]
* Use EuiTokens for ES field types {kib-pull}57911[#57911]
* Adds 7 day metrics to Application Usage telemetry {kib-pull}59846[#59846]
Uptime::
* Adds Settings Page {kib-pull}53550[#53550]
* Adds Alerting UI {kib-pull}57919[#57919]
* Adds configurable page size to monitor list {kib-pull}60573[#60573]
* Adds Green Icon for all up Monitors {kib-pull}56770[#56770]
* Implements drag and select on charts {kib-pull}57089[#57089]
* Fix/filter group autocomplete {kib-pull}57686[#57686]
* Ml detection of duration anomalies {kib-pull}59785[#59785]

[float]
[[bug-7.7.0]]
=== Bug fixes
Alerting::
* Retains empty AlertsList when filter has removed all items {kib-pull}60501[#60501]
* Fixes alert threshold line disappears {kib-pull}61499[#61499]
* Cleanup action task params objects after successful execution {kib-pull}55227[#55227]
* Disables action plugin functionality when ESO plugin is using an ephemeral encryption key {kib-pull}56906[#56906]
* Makes slack param validation handle empty messages {kib-pull}60468[#60468]
* Makes user and password secrets optional {kib-pull}56823[#56823]
APM::
* Changes &quot;url&quot; to &quot;urls&quot; in APM agent instructions {kib-pull}60790[#60790]
* Uses ES Permission API to check if a user has permissions to read from APM indices {kib-pull}57311[#57311]
* Filters are not prefilled when the custom link flyout is opened from a transaction page {kib-pull}61650[#61650]
* .apm-agent-configuration is not created if {kib} is started while ES is not ready {kib-pull}61610[#61610]
* Don’t include UI filters when fetching a specific transaction {kib-pull}57934[#57934]
* Uses docLinks API for APM doc links {kib-pull}61880[#61880]
* Updates APM index pattern {kib-pull}61265[#61265]
Canvas::
* Toggles footer editable controls when you turn off edit mode #52786 {kib-pull}58044[#58044]
* Fixes map embeddables not showing up on PDF reports {kib-pull}61149[#61149]
* Limits rows in debug element {kib-pull}60804[#60804]
Dashboard::
* Puts embed param into short url instead of behind it {kib-pull}58846[#58846]
* Allows markdown in error embeddable {kib-pull}62427[#62427]
Discover::
* Removes flickering when opening filter bar popover {kib-pull}56222[#56222]
* Retains pinned filters when loading and clearing saved queries {kib-pull}54307[#54307]
Graph::
* Specifies valid licenses for the Graph feature {kib-pull}55911[#55911]
* Improves graph missing workspace error message {kib-pull}58876[#58876]
Lens and visualizations::
* Filters out pinned filters from saved object of Lens {kib-pull}57197[#57197]
* Adds using queries/filters for field existence endpoint {kib-pull}59033[#59033]
* Fixes display single bar in XYChart Bar Vis {kib-pull}61452[#61452]
* Resetting a layer generates new suggestions {kib-pull}60674[#60674]
* Fixes disabled switches in the editor {kib-pull}62911[#62911]
* Fixes broken Handlebar documentation links {kib-pull}55866[#55866]
* Shows timepicker in Timelion and TSVB {kib-pull}58857[#58857]
* Makes Vega remove filter work {kib-pull}58871[#58871]
* Makes d3 place nicely with object values {kib-pull}62004[#62004]
* Fixes position calculation of ticks in non-horizontal axes {kib-pull}62309[#62309]
Logs::
* Correctly update the expanded log rate table rows {kib-pull}60306[#60306]
Machine Learning::
* Handles Empty Partition Field Values in Single Metric Viewer {kib-pull}61649[#61649]
* Fixes job wizard model memory limit warnings {kib-pull}62331[#62331]
* Files data viz fix index pattern warning after index change {kib-pull}57807[#57807]
* Uses real datafeed ID for datafeed preview {kib-pull}60275[#60275]
* Disables start trial option when license management ui is disabled {kib-pull}60987[#60987]
* Fixes jobs list filter in url {kib-pull}61822[#61822]
* Fixes job ID in edit job flyout {kib-pull}61840[#61840]
* Fixes reporting of http request errors {kib-pull}61811[#61811]
* Ensures confusion matrix label column is correct {kib-pull}60308[#60308]
* Ensures column in correct position after reselect  {kib-pull}61342[#61342]
* Ensures query bar syntax errors are shown  {kib-pull}61333[#61333]
* Ensures job state is up to date {kib-pull}61678[#61678]
* Increases number of items that can be paged in calendars and filters lists {kib-pull}61842[#61842]
* Uses index pattern field format if one exists {kib-pull}61709[#61709]
* Ensures filter works as expected {kib-pull}62041[#62041]
* Ensures destination index pattern created {kib-pull}62450[#62450]
* Fixes page heading structure {kib-pull}56741[#56741]
* Fixes handling of index pattern with special characters {kib-pull}59884[#59884]
* Fixes to error handling for analytics jobs and file data viz {kib-pull}60249[#60249]
* Fixes Anomaly Explorer swimlane label and chart tooltips {kib-pull}61327[#61327]
* Prevents training_percent of 0 for analytics job {kib-pull}61789[#61789]
* Removes duplicate page main landmarks {kib-pull}56883[#56883]
* Fixes license check {kib-pull}58343[#58343]
* Clears {kib} index pattern cache on creation or form reset {kib-pull}62184[#62184]
Management::
* Adds support for additional watch action statuses {kib-pull}55092[#55092]
* Fixes the Upgrade Assistant where the reindexing of an index was incorrectly marked as "Done", when it still required to be reindexed. This scenario could occur if a user reindexed an index, deleted it, then restored a snapshot of the index of an older version {kib-pull}60789[#60789]
* Fixes several invalid documentation links in the Snapshot and Restore UI {kib-pull}61331[#61331]
* Fixes for console error handling and loading of autocomplete {kib-pull}58587[#58587]
* Fixes a bug that caused Grokdebugger simulation to break in non-Default Kibana spaces {kib-pull}61423[#61423]
* Fixes an issue where Console would not render the request output if localStorage quota was reached {kib-pull}62424[#62424]
* Fixes a bug with Console's Copy As cURL functionality that would not properly escape single quotes in JSON string values which created issues with copying SQL queries from Console to cURL {kib-pull}63229[#63229]
* System index templates can't be edited {kib-pull}55229[#55229]
* Not possible to edit a watch that was created with the API if the ID contains a dot {kib-pull}59383[#59383]
* Fixes console a11y failures {kib-pull}57520[#57520]
Maps::
* Do not show border color for icon in legend when border width is zero {kib-pull}57501[#57501]
* Uses blended layer when linking discover to maps {kib-pull}61467[#61467]
* Fixes tooltip overflow {kib-pull}61564[#61564]
* Cleans up unsaved state check {kib-pull}61705[#61705]
* Fixes regression in loading left join fields {kib-pull}63325[#63325]
* Fixes cross origin error for icon spritesheets when Kibana secured via OAuth proxy {kib-pull}53896[#53896]
* Correctly open layer settings from add layer wizard {kib-pull}48971[#48971]
Metrics::
* Limits group by selector to only 2 fields {kib-pull}56800[#56800]
* Uses CPU Usage limits for Kubernetes pods when available {kib-pull}58424[#58424]
* Fixes toolbar popover for metrics table row {kib-pull}56796[#56796]
Monitoring::
* Handles setup mode if security is disabled {kib-pull}53306[#53306]
* Protects against no monitoring data near end of time series {kib-pull}61273[#61273]
* Adds new config for logging index name {kib-pull}56920[#56920]
Platform::
* Rollup index pattern error: must match one rollup index {kib-pull}56732[#56732]
* In scripted fields, unable to switch the `Type` {kib-pull}59285[#59285]
* Duplicates query filters in es request {kib-pull}60106[#60106]
* Bugfix dashboard unpins filters {kib-pull}62301[#62301]
* Fixes plugin enabled config options {kib-pull}60998[#60998]
* Fixes tabifyAggResponse {kib-pull}61214[#61214]
* Fixes parse interval {kib-pull}62267[#62267]
* Avoid 'app not found' flickering while awaiting for mount {kib-pull}56483[#56483]
* Creates empty string filters when value not specified {kib-pull}57442[#57442]
* Range aggregations now use the field formatter from the index pattern, instead of no formatter {kib-pull}58651[#58651]
Reporting::
* Fixes error handling for job handler in route {kib-pull}60161[#60161]
Security::
* Handling a 404 when the space's telemetry collector runs {kib-pull}55921[#55921]
SIEM::
* Allows Import timeline for authorised users {kib-pull}61438[#61438]
* Imports timeline schema update {kib-pull}61622[#61622]
* Fixes bug with timeline templates not working {kib-pull}60476[#60476]
* Fixes export of single rule and the icons {kib-pull}62394[#62394]
* Updates process and TLS tables to use ECS 1.5 fields {kib-pull}60854[#60854]
Telemetry::
* Fixes bug introduced in #55859 {kib-pull}57441[#57441]
* UI Metrics use findAll to retrieve all Saved Objects {kib-pull}59891[#59891]
Uptime::
* Updates heartbeat index name for 7.7 {kib-pull}62172[#62172]
* Shows only total in snapshot heading {kib-pull}58376[#58376]
* Fixes PingList pagination {kib-pull}61481[#61481]
* Fixes es query function null reference errors {kib-pull}61465[#61465]
* Fixes issue with Kibana Icon in Uptime App {kib-pull}56837[#56837]
* Adds tests for pages {kib-pull}56736[#56736]

[float]
[[deprecation-7.7.0]]
=== Deprecations
Monitoring::
* Changes all configs to `monitoring.*` {kib-pull}54919[#54919], {kib-pull}56215[#56215]
Platform::
* Migrates Vega and Graph configs to new platform {kib-pull}57011[#57011]

[[release-notes-7.6.2]]
== {kib} 7.6.2

See <<breaking-changes-7.6,breaking changes in 7.6>>.

[float]
[[known-issue-7.6.2]]
=== Known issue

Configuration::
* The `server.customResponseHeaders` option prevents {kib} from starting if headers are set using a type other than string.
To fix this, convert your boolean and number headers to strings.  For example, use`my-header: "true"` instead of `my-header: true`.
{kib-issue}66146[#66146]

[float]
[[bug-7.6.2]]
=== Bug fixes
Discover::
* Fixes infinite loop for view single document on discover {kib-pull}60236[#60236]
Machine Learning::
* Shows view series link in anomalies table for machine_learning_user role {kib-pull}59549[#59549]
* Fixes bucket span estimators loading of max_buckets setting {kib-pull}59639[#59639]
Management::
* Improperly defined Watcher Logging Action text parameters will now be handled elegantly by {kib} instead of causing {kib} to crash {kib-pull}60169[#60169]
* Fixes the namespace for indices autocompletion {kib-pull}59043[#59043]
* We fixed a bug in Console's proxy that would always override the "host" header {kib-pull}59143[#59143]
* Spacing between rendered shards {kib-pull}60238[#60238]
Maps::
* Adds missing license to requests in maps embeddables {kib-pull}59207[#59207]
* Fixes custom color ramp on save {kib-pull}59953[#59953]
Metrics::
* Ensures inventory view buckets never drop below 60 seconds {kib-pull}58503[#58503]
Monitoring::
* Ensures we use the monitoring cluster for retrieving xpack info {kib-pull}59075[#59075]
Operations::
* Fixes the watchers usage in the log rotation {kib-pull}60956[#60956]
Platform::
* Edits to filter's custom label are ignored {kib-pull}59169[#59169]
* Fixes a bug that could cause saved object migrations to fail when an {es} snapshot is currently in progress {kib-pull}58884[#58884]
Security::
* Fixes base path prepending for session storage short url redirects {kib-pull}59871[#59871]
SIEM::
* Default the Timeline events filter to show All events {kib-pull}58953[#58953]
* Fixes dragging entries to the Timeline while data is loading may trigger a partial page reload {kib-pull}59476[#59476]
* Detection Fix typo in Adobe Hijack Persistence rule {kib-pull}58804[#58804]
* Fixes rule delete/duplicate actions {kib-pull}59306[#59306]
* Fixes minor UI bug on all rules table pagination {kib-pull}59094[#59094]
Visualizations::
* Adds validation support for legacy filter values {kib-pull}58436[#58436]
* Fixes text color when using custom background color {kib-pull}60261[#60261]

[[release-notes-7.6.1]]
== {kib} 7.6.1

See <<breaking-changes-7.6,breaking changes in 7.6>>.

[float]
[[known-issue-7.6.1]]
=== Known issue

Configuration::
* The `server.customResponseHeaders` option prevents {kib} from starting if headers are set using a type other than string.
To fix this, convert your boolean and number headers to strings. For example, use `my-header: "true"` instead of `my-header: true`.
{kib-issue}66146[#66146]

[float]
[[security-fix-7.6.1]]
=== Security issues
In {kib} 7.6.0 and earlier, Node.js contains the following security issues:

* The TLS handling code for Node.js includes a Denial of Service (DoS) issue. Successful exploitation of the flaw could result in {kib} crashing. Refer to  https://www.elastic.co/community/security/, CVE-2019-15604.
+
There are no known workarounds for this issue.

* There are issues with how Node.js handles malformed HTTP headers. The malformed headers could result in an HTTP request smuggling attack when {kib} is running behind a proxy that is vulnerable to HTTP request smuggling attacks. Refer to https://www.elastic.co/community/security/, CVE-2019-15605 and CVE-2019-15606.
+
For instructions on how to mitigate HTTP request smuggling attacks, contact your proxy vendor.

Administrators running {kib} in an environment with untrusted users should upgrade to {kib} 7.6.1, which updates Node.js to 10.19.0.

[float]
[[enhancement-7.6.1]]
=== Enhancements
SIEM::
* Imports rules unit tests {kib-pull}57466[#57466]

[float]
[[bug-7.6.1]]
=== Bug fixes
APM::
* Fixes cloud env in APM tutorial {kib-pull}57817[#57817]
* Adds `xpack.apm.enabled` key to config schema {kib-pull}57539[#57539]
* X-axis labels on Error occurrences chart are incorrect based on {kib} timezone {kib-pull}55686[#55686]
Canvas::
*  Sanitizes workpad before sending to API {kib-pull}57704[#57704]
Lens and visualizations::
* Fixes bugs in Lens filters (#56441) {kib-pull}56648[#56648]
* Makes field stats work for index patterns without time fields {kib-pull}56759[#56759]
* Fixes auto refresh in visualizations and Lens {kib-pull}57667[#57667]
Machine Learning::
* Fixes Data Visualizer responsive layout  {kib-pull}56372[#56372]
* Fixes overall stats for saved search on the Data Visualizer page {kib-pull}57312[#57312]
* Fixes jobs list default refresh {kib-pull}57086[#57086]
* Updates schema definition for create route {kib-pull}56979[#56979]
* Fixes brush visibility. {kib-pull}57564[#57564]
* Fixes chart resize after browser refresh {kib-pull}57578[#57578]
* Fixes hiding date picker for settings pages {kib-pull}57544[#57544]
Management::
* Allows support for nested multi-fields {kib-pull}58203[#58203]
* Fixes performance bottleneck for large JSON payloads {kib-pull}57668[#57668]
* Fixes filter deprecations search filter {kib-pull}57541[#57541]
Maps::
* Sets filter.meta.key to geoFieldName so query passes filterMatchesIndex when ignoreFilterIfFieldNotInIndex is true {kib-pull}56692[#56692]
* Fixes document source top hits split by scripted field {kib-pull}57481[#57481]
* Only request field in docvalue_fields when the field supports doc values {kib-pull}57372[#57372]
Monitoring::
* Fixes issue when index pattern has no fields {kib-pull}58242[#58242]
* Fixes inaccuracies in Logstash pipeline listing metrics {kib-pull}55868[#55868]
Platform::
* Limits fetching index patterns {kib-pull}56603[#56603]
* Fixes browser date format {kib-pull}57714[#57714]
* Prepends basePath in getUrlForApp {kib-pull}57316[#57316]
* Uses app id instead of pluginId to generate navlink from legacy apps {kib-pull}57542[#57542]
* Retries ES API calls that fail with 410/Gone to prevent {kib} from crashing at startup {kib-pull}56950[#56950]
* Removes injected reference from home app {kib-pull}57836[#57836]
Security::
* Logout should redirect to the login screen at the server base path {kib-pull}56786[#56786]
* Adds xpack.encryptedSavedObjects.encryptionKey to docker allow-list {kib-pull}58291[#58291]
* Fixes short url in spaces {kib-pull}58313[#58313]
SIEM::
* Backend end-to-end tests {kib-pull}57166[#57166]
* Removes internal tags when copying signals from rules {kib-pull}57744[#57744]
* Fixes return codes where some were rule_id instead of id {kib-pull}57939[#57939]
* Fixes Host Details Events Table to only show events for specified Host {kib-pull}57388[#57388]
Uptime::
* Uses scripted metric for snapshot calculation {kib-pull}58247[#58247]

[[release-notes-7.6.0]]
== {kib} 7.6.0

For information about the Kibana 7.6.0 release, review the following information.

[float]
[[breaking-changes-7.6]]
=== Breaking changes

Breaking changes can prevent your application from optimal operation and performance. Before you upgrade to 7.6.0, review the breaking changes, then mitigate the impact to your application.

* <<user-facing-changes, Breaking changes for users>>
* <<general-plugin-API-changes-76, Breaking changes for plugin developers>>

// The following section is re-used in the Installation and Upgrade Guide
//tag::notable-breaking-changes[]

// end::notable-breaking-changes[]

[float]
[[user-facing-changes]]
==== Breaking changes for users

There are no user-facing breaking changes in 7.6.

[float]
[[general-plugin-API-changes-76]]
==== Breaking changes for plugin developers

[float]
===== {kib} no longer crashes when a plugin version does not match the server
{kib-pull}54404[#54404]

{kib} no longer crashes when a plugin is used against an incompatible {kib} version.
A warning is now displayed in the console instead of throwing and crashing.

[float]
===== Generate legacy vars when rendering all applications
{kib-pull}54768[#54768]

Rendering any type of application, even ones for the new platform,
should still generate legacy vars injected into the page metadata.
This ensures these vars are injected for HTTP route rendering as well.

[float]
===== `uiSettings` image upload field config
{kib-pull}54522[#54522]

In `uiSettings`, the image upload field required specifying `maxSize`
via the `options` field. This was in conflict with the stated use and
type of `options`, which is a `string[]` used to populate select fields.
`uiOptions` has been provided instead, accepting `Record<string, any>` values.

[float]
===== Replaced `map.manifestServiceUrl` setting in kibana.yml with `map.emsTileApiUrl` and `map.emsFileApiUrl`
{kib-pull}54399[#54399]

The undocumented `map.manifestServiceUrl` setting in kibana.yml has been replaced
by `map.emsTileApiUrl` and `map.emsFileApiUrl`. These settings configure the
base URL for the tile basemap manifest and vector file manifests used in
Elastic Maps and the region map and coordinate map.visualizations.

[float]
===== Don't expose {es} client as Observable
{kib-pull}53824[#53824]

{es} clients aren't exposed via the Observable interface anymore.
{es} client provides a static API that handles all {es} config updates under the hood,
transparent to the end-user.

```js

const client = core.elasticsearch.dataClient;

const data = await client.callAsInternalUser('endpoint');

```

[float]
===== Reduce license plugin API
{kib-pull}53489[#53489]

License method `isOneOf` was superseded by `hasAtLeast`, which checks
the current license is not less than passes minimal required license.

```js

//before

license.isOneOf(['platinum', 'enterprise', 'trial'])

// after

license.hasAtLeast('platinum')

```

[float]
===== State containers
{kib-pull}52384[#52384]

State containers have now been rewritten and to create state container you
use `createStateContainer` instead of previous `createStore`.
https://github.com/streamich/kibana/blob/state-containers/src/plugins/kibana_utils/docs/state_containers/README.md[See full documentation].


```ts

import { createStateContainer } from 'src/plugins/kibana_utils';

const container = createStateContainer(0, {

  increment: (cnt: number) => (by: number) => cnt + by,

  double: (cnt: number) => () => cnt * 2,

});

container.transitions.increment(5);

container.transitions.double();

console.log(container.get()); // 10

```



[float]
===== Add pre-response HTTP interceptor
{kib-pull}52366[#52366]

HttpService provides `onPreResponse` interceptor. Interceptor supports extending a response with custom headers.

```js

 this.registerOnPreResponse((request, preResponseInfo, t) => {

   if(preResponseInfo.statusCode < 300){

     return t.next({

       headers: {

         'x-foo-header': 'bar'

       }

   });

  }

  return t.next()

});

```

[float]
===== Add server rendering service to enable standalone route rendering
{kib-pull}52161[#52161]

Render a bootstrapped HTML page from a route handler using the `RenderingService` from your server plugin:

```ts

const router = createRouter();

router.get(

  { path: '/', validate: false },

  (context, request, response) =>

    response.ok({

      headers: {

        'content-security-policy': context.core.http.csp.header,

      },

      body: await context.core.rendering.render(),

    })

);

```

[float]
===== Disabled actions
{kib-pull}51975[#51975]

Embeddable input now has `disabledActions` property. Actions with ID listed
in `disabledActions` will not be rendered by embeddable panel in drop down context menu and badge list.

```ts

const embeddable = await embeddableFactory.createFromState(

  state,

  {

    // ...

    disabledActions: ['CUSTOM_TIME_RANGE', 'CUSTOM_TIME_RANGE_BADGE'],

  },

  // ...

);

```

[float]
===== Allow chromeless applications to render via non-/app routes
{kib-pull}51527[#51527]

Allow applications to routable from paths that do not start with `/app`.
This is first enabled via the `appRoute` flag during UI application registration.

```ts

export class MyPlugin implements Plugin {

  setup({ application }) {

    application.register({

      id: 'my-app',

      // App can be accessed via the /my-app route

      appRoute: '/my-app',

      async mount(context, params) {

        const { renderApp } = await import('./application');

        return renderApp(context, params);

      },

    });

  }

}

```

[float]
===== Add compatibility wrapper for Boom errors thrown from route handler
{kib-pull}51157[#51157]

Added a new `handleLegacyErrors` method to core `HttpService` router. The method wraps a `RequestHandler` to intercept any thrown `Boom` errors and converts them into proper NP error response.

```ts

// plugins/myplugin/server/plugin.ts

import { schema } from '@kbn/config-schema';

import { CoreSetup } from 'src/core/server';

export interface DemoPluginsSetup {};

class Plugin {

  public setup(core: CoreSetup, pluginSetup: DemoPluginSetup) {

    const router = core.http.createRouter();

    router.post(

      {

        path: '/api/myplugin/endpoint',

        validate: false,

      },

      router.wrapErrors((context, req, res) => {

        throw Boom.notFound('not there'); // will be converted into properly interpreted error

      })

    )

  }

}

```

[float]
===== Move SavedQuery to New Platform
{kib-pull}51024[#51024]

**Saved Query Service**

Saved query service is now available on the data plugin's `query` start contract.

```ts

class MyPlugin {

    public start(core: CoreStart, { data }: MyPluginDependencies) {

        const allSavedQueries = data.query.savedQueries.getAllSavedQueries()

    }

}



```

**Saved Query UI Components**

The Saved Query management UI components can be imported from `data` plugin directly.

```ts

   import { SavedQueryManagementComponent, SaveQueryForm } from '../../plugins/data/public';

```

Saved query Management component

[role="screenshot"]
image::images/breaking_changes_save_query_management.png[Saved Query Management Component]

Save query form

[role="screenshot"]
image::images/breaking_changes_save_query.png[Save Query Form]

[float]
===== Kibana app migration: Remove old APIs
{kib-pull}50881[#50881]


The following undocumented APIs for scroll search and index document count have been removed:

* `POST /api/kibana/legacy_scroll_continue`

* `POST /api/kibana/legacy_scroll_start`

* `POST /api/kibana/{id}/_count`

[float]
===== ChromeHelpExtension
{kib-pull}50736[#50736]

The `chrome.helpExtension` has been updated to where it no longer just accepts a function to spit out any content. Now, the extension looks like:

```tsx

export interface ChromeHelpExtension {

  appName: string;

  links?: HeaderHelpMenuUIExtraLink[];

  // You can still pass custom content via the `content` key

  content?: (element: HTMLDivElement) => () => void;

}

```

[float]
===== Allows plugins to define validation schema for "enabled" flag
{kib-pull}50286[#50286]

If you want your plugin to be disabled by default you can specify it via config:

```js

export const config = {

  schema: schema.object({ enabled: schema.boolean({ defaultValue: true }) })

}

```

[float]
===== Add getStartServices API
{kib-pull}50231[#50231]

Context is being deprecated on the front-end and replaced by the `core.getStartServices()` API.

```ts

class Plugin {

  setup(core, plugins) {

    core.application.register({

      id: 'myApp',

      title: 'My App',

      // `mount` functions with just one argument will only receive `params`

      async mount(params) {

        const [coreStart, depsStart] = await core.getStartServices();

        const { renderApp } = await import('./application');

        return renderApp(coreStart, depsStart, params);

      }

    });

  }

}

```

[float]
===== Relocated `@kbn/es-query` package to `data` plugin
{kib-pull}50182[#50182]

The `@kbn/es-query` package has been moved to `src/plugins/data` and is available under the `esQuery` namespace on both the client and the server.

```ts

// old

import {

  buildEsQuery,

  EsQueryConfig,

  buildQueryFromFilters,

  luceneStringToDsl,

  decorateQuery,

  getEsQueryConfig,

} from '@kbn/es-query';

// new

import { esQuery } from 'src/plugins/data/public'; // or `src/plugins/data/server`

esQuery.buildEsQuery(...);

```


[float]
===== Migrate share registry
{kib-pull}50137[#50137]

The `ui/share` registry is removed in favor of the `share` plugin which exposes a `register` method in the setup contract. The interface of share menu providers does not change except for the removal of angular dependency injection. The function to render the menu also moves into a function exposed by the `share` plugin in the start phase instead of a function which has to be called with the menu item providers. The following items have also been renamed:

- `ShowProps` -> `ShowShareMenuOptions`

- `ShareMenuItemProps` -> `ShareContext`

- `showShareContextMenu` -> `toggleShareContextMenu`

[float]
===== Ensure chromeless applications hide left navbar link
{kib-pull}50060[#50060]

Chromeless applications no longer display a navigation link in the left application menu.

[float]
===== Allow registered applications to hide Kibana chrome
{kib-pull}49795[#49795]

When registering an application, you can now use the `chromeless` option to hide the Kibana chrome UI when the application is mounted.

```ts

application.register({

  id: 'my-app',

  chromeless: true,

  async mount(context, params) {

    /* ... */

  },

});

```

[float]
===== Remove react references from core `Notifications` APIs
{kib-pull}49573[#49573]

The core `NotificationService` and `ToastsApi` methods are now framework agnostic
and no longer accept react components as input. Please use `kibana_react`'s`toMountPoint`
utility to convert a react node to a mountPoint.

[float]
===== Shim dev tools
{kib-pull}49349[#49349]

The `ui/registry/dev_tools` is removed in favor of the `DevTools` plugin,
which exposes a `register` method in the setup contract.
Registering app works mostly the same as registering apps in `core.application.register`.
Routing will be handled by the id of the dev tool - your dev tool will be mounted when the URL matches `/app/kibana#/dev_tools/<YOUR ID>`. This API doesn't support angular, for registering angular dev tools, bootstrap a local module on mount into the given HTML element.

[float]
===== Kibana app migration: Shim dashboard
{kib-pull}48913[#48913]

The route flag `requireDefaultIndex` making sure there are index patterns
and the `defaultIndex` advanced setting is set was removed.

The same functionality can be achieved by using the
helper function `ensureDefaultIndexPattern` from `ui/legacy_compat` within the `resolve` object of a route.

[float]
===== Remove react references from core `OverlayService` apis
{kib-pull}48431[#48431]

The core `OverlayService` methods are now framework agnostic and no longer accept react components as input.
Please use `kibana_react`'s`toMountPoint` utility to convert a react component to a mountPoint.

For exemple:

```typescript

core.overlays.openModal(<MyComponent/>)

```

Becomes:

```typescript

core.overlays.openModal(toMountPoint(<MyComponent/>))

```

[float]
===== Supply deprecated req and res properties on IHttpFetchError for legacy compatibility
{kib-pull}48430[#48430]

Expose deprecated `req: Request` and `res: Response` properties on `IHttpFetchError`s
to help plugins migrated faster by removing an additional migration burden.

[float]
===== Timelion server API
{kib-pull}47813[#47813]

The server side AOU of Timelion `/api/timelion/run` used to
accept datemath strings (like `now`) for the `time.from` and `time.to` properties.
This PR removes support for datemath, from now on only ISO8601 encoded strings are supported.

[float]
===== Pass along request object to all HTTP interceptors
{kib-pull}47258[#47258]

Make the `Request` instance available to all HTTP interceptors, which is now in a read-only state.
You may now also under-specify the object returned from HTTP response interceptors
to only overwrite specific properties.

[float]
===== Expose whitelisted config values to client-side plugin
{kib-pull}50641[#50641]

New Platform plugins with both a server and client parts can now expose configuration properties to the client-side plugin.

The properties to expose must be whitelisted in the config declaration.

```typescript

// my_plugin/server/index.ts

const configSchema = schema.object({

  secret: schema.string({ defaultValue: 'Not really a secret :/' }),

  uiProp: schema.string({ defaultValue: 'Accessible from client' }),

});

type ConfigType = TypeOf<typeof configSchema>;

export const config: PluginConfigDescriptor<ConfigType> = {

  exposeToBrowser: {

    uiProp: true,

  },

  schema: configSchema,

};

```

And can then be accessed in the client-side plugin using the `PluginInitializerContext`:

```typescript

// my_plugin/public/index.ts

interface ClientConfigType {

  uiProp: string;

}

export class Plugin implements Plugin<PluginSetup, PluginStart> {

  constructor(private readonly initializerContext: PluginInitializerContext) {}

  public async setup(core: CoreSetup, deps: {}) {

    const config = this.initializerContext.config.get<ClientConfigType>();

    // ...

  }

```

[float]
===== Allow registering per-app navigation items
{kib-pull}53136[#53136]

Allow registering per-app TopNavMenuItems&mdash;have a plugin register menu items into another application.

*New platform plugin*

```tsx

class MyPlugin {

   public setup(core: CoreSetup, { navigation }: MyPluginSetupDependencies) {

      const customDiscoverExtension = {

         id: 'registered-discover-prop',

         label: 'Registered Discover Button',

         description: 'Registered Discover Demo',

         run() {},

         testId: 'demoDiscoverRegisteredNewButton',

         appName: 'discover',

      };

      navigation.registerMenuItem(customDiscoverExtension);

   }

}
```

*Legacy plugin*

```tsx

const customDiscoverExtension = {

  id: 'registered-discover-prop',

  label: 'Registered Discover Button',

  description: 'Registered Discover Demo',

  run() {},

  testId: 'demoDiscoverRegisteredNewButton',

  appName: 'discover',

};

npSetup.plugins.navigation.registerMenuItem(customDiscoverExtension);
```

[float]
===== Management API for Kibana Platform
{kib-pull}52579[#52579]

Management API for Kibana Platform implemented.
Demonstration code available at `test/plugin_functional/plugins/management_test_plugin/public/plugin.tsx`


[float]
===== New platform applications can now prompt user with a message
{kib-pull}54221[#54221]

New platform applications can now prompt a message when users are trying to
leave the app, allowing to notify them if some changes are unsaved.

```typescript

   core.application.register({

      id: 'my-app',

      title: 'MyApp',

      mount: (context, { appBasePath, element, onAppLeave }) => {

        onAppLeave(actions => {

          if(someUnsavedChanges) {

            return actions.confirm(

              'Some changes are unsaved and will be lost. Are you sure you want to leave MyApp?',

              'Leaving application'

            );

          }

          return actions.default();

        });

        const div = document.createElement('div');

        div.innerHTML = '.....';

        element.appendChild(div);

        return () => div.remove();

      },

    });

```

[float]
===== [NP] Add lifecycle timeout
{kib-pull}54129[#54129]

{kib} platform deprecates async lifecycles by `v8` release.
{kib} supports async lifecycles for BWC, but limits their time duration to 30 sec.


[float]
===== Migrate config deprecations and `ShieldUser` functionality to the New Platform
{kib-pull}53768[#53768]

In the Security Plugin, the
Legacy `ShieldUser` angular service has been removed and replaced with
the dedicated method on the {kib} platform plugin `setup` contract:

**Before**:

```typescript

const currentUser = await $injector.get('ShieldUser').getCurrent().$promise;

```

**Now**:

Legacy plugin:

```typescript

import { npSetup } from 'ui/new_platform';

const currentUser = await npSetup.plugins.security.authc.getCurrentUser();

```

Kibana platform plugin:

```json

// manifest.json

....

[optional]requiredPlugins: ["security"],

....

```

```typescript

// my_plugin/public/plugin.ts

public setup(core: CoreSetup, { security }: PluginSetupDependencies) {

    const currentUser = await security.authc.getCurrentUser();

}

```

[float]
===== NP Migration: Move doc views registry and existing doc views into discover plugin
{kib-pull}53465[#53465]

The `ui/registry/doc_views` registry is removed in favor of the same
functionality exposed through the setup contract of the `discover` plugin in `core_plugins/kibana`.

Old way of registering a doc view:

```ts

import { addDocView } from 'ui/registry/doc_views';

addDocView({

  title: '',

  order: 10,

  component: MyComponent,

});

```

New way of registering a doc view:

```ts

import { setup } from '../src/legacy/core_plugins/kibana/public/discover';

setup.addDocView({

  title: '',

  order: 10,

  component: MyComponent,

});

```


[float]
===== bfetch
{kib-pull}52888[#52888]

`ajax_stream` has been ported to the New Platform. Use `fetchStreaming()` method of `bfetch` plugin instead.

```js

import { npStart } from 'ui/new_platform';

const { stream, promise } = npStart.plugins.bfetch.fetchStreaming({ url: 'http://elastic.co' });

```

[float]
===== Move CSP options to New Platform
{kib-pull}52698[#52698]

The default options used for managing Kibana's Content Security Policy have been moved into core for the new platform. Relevant items exposed from `src/core/server` include:

- `CspConfig`: TypeScript class for generating CSP configuration. Will generate default configuration for any properties not specified in initialization.

- `CspConfig.DEFAULT`: Default CSP configuration.

- `ICspConfig`: Interface representing CSP configuration.


[float]
===== Implements config deprecation in New Platform
{kib-pull}52251[#52251]


New platform plugin's configuration now supports deprecation. Use the `deprecations` key of a plugin's config descriptor to register them.

```typescript

 // my_plugin/server/index.ts

 import { schema, TypeOf } from '@kbn/config-schema';

 import { PluginConfigDescriptor } from 'kibana/server';



 const configSchema = schema.object({

   someNewKey: schema.string({ defaultValue: 'a string' }),

 });



 type ConfigType = TypeOf<typeof configSchema>;



 export const config: PluginConfigDescriptor<ConfigType> = {

   schema: configSchema,

   deprecations: ({ rename, unused }) => [

     rename('someOldKey', 'someNewKey'),

     unused('deprecatedProperty'),

   ],

 };

```


[float]
===== [Telemetry] Migrate ui_metric plugin to NP under usageCollection
{kib-pull}51972[#51972]

Migrates `ui_metrics` to NP under `usageCollection`.

[float]
===== NP licensing plugin improvements
{kib-pull}51818[#51818]


Licensing plugin retrieves license data from {es} and
becomes a source of license data for all {kib} plugins on server-side and client-side.

*Server-side API*

The licensing plugin retrieves license data from {es} at regular configurable intervals.

- `license$: Observable<ILicense>` Provides a steam of license data ILicense.
Plugin emits new value whenever it detects changes in license info.
If the plugin cannot retrieve a license from **Elasticsearch**, it will emit `an empty license` object.

- `refresh: () => Promise<ILicense>` allows a plugin to enforce license retrieval.

*Client-side API*

The licensing plugin retrieves license data from licensing Kibana plugin
and does not communicate with Elasticsearch directly.

- `license$: Observable<ILicense>` Provides a steam of license data ILicense.
Plugin emits new value whenever it detects changes in license info. If the plugin cannot retrieve a
license from **Kibana**, it will emit `an empty license` object.

- `refresh: () => Promise<ILicense>` allows a plugin to enforce license retrieval.



[float]
===== [Cloud] move cloud plugin to New Platform
{kib-pull}51789[#51789]

Fully migrates `cloud` plugin over to NP. To use the NP contract exposed by
the cloud plugin (ex `cloudId` or `isCloudEnabled`) follow this quick guide below.
Note that all the plugins are already migrated to use the NP plugin in this very same PR.

```json

// plugin/kibana.json

{

  "id": "...",

  "optionalPlugins": ["cloud"]

}

```

*Server side:* Check for cloud plugin in the `setup` function.

```ts

// server/plugin.ts

import { get } from 'lodash';

class Plugin {

  setup(core, plugins) {

    const { cloud } = plugins;

    // use `lodash.get` as cloud might not be available if set as an optional plugin.

		const isCloudEnabled = get<boolean>(cloud, 'isCloudEnabled', false);

    // ...

  }

}

```

*Client side:* Both `cloudId` and `isCloudEnabled` are exposed for the the plugins to consume
in the plugins. Until fully transitioned to new platform, your plugins can use `npSetup` to access the cloud plugin.

```ts

import { npSetup } from 'ui/new_platform';

import { get } from 'lodash';

// ...

const { cloud } = npSetup.plugins;

const isCloudEnabled = get<boolean>(cloud, 'isCloudEnabled', false);

```

[float]
===== [Telemetry] Migrate Usage Collector Set to the new Kibana Platform
{kib-pull}51618[#51618]

Fully migrate (`server.usage.collectorSet`) to New Platform under (`UsageCollection`) plugin.
To use the `UsageCollector` plugin to collect server side stats with the NP follow the quick guide below (Note that all the plugins are already migrated to use this new plugin in this very same PR):

Make sure `usageCollection` is in your optional Plugins:

```json

// plugin/kibana.json

{

  "id": "...",

  "optionalPlugins": ["usageCollection"]

}

```

Register Usage collector in the `setup` function:

```ts

// server/plugin.ts

class Plugin {

  setup(core, plugins) {

    registerMyPluginUsageCollector(plugins.usageCollection);

  }

}

```

Create and register a Usage Collector. Ideally collectors would be defined in a separate directory `server/collectors/register.ts`.

```ts

// server/collectors/register.ts

import { UsageCollectionSetup } from 'src/plugins/usage_collection/server';

import { CallCluster } from 'src/legacy/core_plugins/elasticsearch';

export function registerMyPluginUsageCollector(usageCollection?: UsageCollectionSetup): void {

  // usageCollection is an optional dependency, so make sure to return if it is not registered.

  if (!usageCollection) {

    return;

  }

  // create usage collector

  const myCollector = usageCollection.makeUsageCollector({

    type: MY_USAGE_TYPE,

    fetch: async (callCluster: CallCluster) => {

    // query ES and get some data

    // summarize the data into a model

    // return the modeled object that includes whatever you want to track

      return {

        my_objects: {

          total: SOME_NUMBER

        }

      };

    },

  });

  // register usage collector

  usageCollection.registerCollector(myCollector);

}

```

[float]
===== Move SearchBar to NP
{kib-pull}51028[#51028]

The SearchBar component is now available by importing from the data plugin.

```tsx

import { SearchBar } from '../../../plugins/data/public';

```

There is also a stateful version available, that requires much fewer dependencies

```tsx

export class MyPublicPlugin {

  public start(

    core: CoreStart,

    { data }: MyPublicPluginDependencies

  ) {

    const { SearchBar } = data.ui;

    ...

    return <SearchBar

       ...

    ></SearchBar>

  }

}

```

[float]
===== Move QueryBarInput to New Platform
{kib-pull}51023[#51023]


* `QueryBarInput` was renamed to `QueryStringInput` and moved to `src/plugins/data/public`

* The `typeahead` UI component can now be used independently of `QueryStringInput`. It can be imported from `src/plugins/data/public`.

```ts

   import { QueryStringInput, SuggestionsComponent } from '../../plugins\data\public'

```

[float]
===== Move ApplyFiltersPopover to New Platform
{kib-pull}51022[#51022]

The `ApplyFiltersPopover` component is no longer exported.

If you wish to open the filter selection popover,
use the Actions API from within an `embeddable`:

```ts

 await uiActions.executeTriggerActions(APPLY_FILTER_TRIGGER, {

    embeddable: this,

    filters,

 });

```

[float]
===== Deprecated the `filter-bar` directive
{kib-pull}51020[#51020]

If you need to render a filter bar from `angular`,
use the `kbn-top-nav` directive with the following configuration:

```ts

<kbn-top-nav

  app-name="'my-app'"

  show-search-bar="true"

  show-filter-bar="true"

  show-save-query="false"

  show-date-picker="false"

  filters="filters"

  on-filters-updated="updateFilters"

  index-patterns="[indexPattern]"

>

</kbn-top-nav>

```

*Move `FilterBar` React component to New Platform*

The `FilterBar` component is now available by importing from the `data` plugin.

```ts

import { FilterBar } from '../../../plugins/data/public';

```
*Move filter related utilities to New Platform*

 * `IDataPluginServices` ⇒ import from `data`

 * `getDisplayValueFromFilter` ⇒ `data.utils`

 * `buildCustomFilter` ⇒ `esFilters.buildCustomFilter`

 * `buildFilter` ⇒ `esFilters.buildFilter`

 * `getFilterParams` ⇒ `esFilters.getFilterParams`

 * `getIndexPatternFromFilter` ⇒ `utils.getIndexPatternFromFilter`

 * `getQueryDslFromFilter` ⇒ replaced with `esFilters.cleanFIlter`

 * `isFilterable` ⇒ import from `data`


[float]
===== NP Kibana plugin home feature catalogue
{kib-pull}50838[#50838]

The `ui/registries/feature_catalogue` module has been deprecated for removal in 8.0.

Plugins wishing to migrate may remove their usage of `ui/registries/feature_catalogue` and rely on either:

```ts

// For legacy plugins

import { npSetup } from 'ui/new_platform';

npSetup.plugins.home.featureCatalogue.register(/* same details here */);

// For new plugins: first add 'home` to the list of `optionalPlugins`

// in your kibana.json file. Then access the plugin directly in `setup`:

class MyPlugin {

  setup(core, plugins) {

    if (plugins.home) {

      plugins.home.featureCatalogue.register(/* same details here. */);

    }

  }

}

```

Note that the old module supported providing a Angular DI function to receive Angular dependencies. This is no longer supported as we migrate away from Angular.


[float]
===== [NP Kibana Migrations ] Kibana plugin home
{kib-pull}50444[#50444]

The API to register new tutorials was moved to the new platform. You are now able to add new tutorials by creating a plugin in the new platform, adding a dependency to `home` in its `kibana.json` and using the `tutorials.registerTutorial` method in the setup lifecycle:

```ts

class MyPlugin {

  setup(core: CoreSetup, plugins: { home: HomeServerPluginSetup }) {

    home.tutorials.registerTutorial(() => ({ /* tutorial definition */ }));

  }

}

```

It is still possible to register tutorials from within the legacy platform by calling the same method exposed on the server object:

```js

server.newPlatform.setup.plugins.home.tutorials.registerTutorial(() => ({ /* tutorial definition */ }));

```

[float]
===== Expressions fully migrated to the New Platform
{kib-pull}50294[#50294]

The Expressions service has been moved to the New Platform. Moving forward, any expressions-related code should be consumed via the new plugin's contracts (`src/plugins/expressions`).

Use it in your New Platform plugin:

```ts

class MyPlugin {

  setup (core, { expressions }) {

    expressions.registerFunction(myFunction);

    // ...

  }

  start (core, { expressions }) {

    expressions.execute(myExpression);

    // ...

  }

}

```

Or, in your legacy platform plugin, consume it through the `ui/new_platform` module:

```ts

import { npSetup, npStart } from 'ui/new_platform';

npSetup.plugins.expressions.registerFunction(myFunction);

npStart.plugins.expressions.execute(myExpression);

// ...

```

[float]
===== Move generateFilters to NP
{kib-pull}50118[#50118]

Filter generator is now available as a utility function in the `data` plugin.

```ts

import { generateFilters } from '../plugins/data/public';

const { filterManager } = plugins.data.query;

const filters = generateFilters(filterManager, field, values, negate, indexString);

```

[float]
===== Move Query type to NP
{kib-pull}49636[#49636]

Moved the data `Query` type, used to represent a query string in a specific querying language  to `src/plugins/data`.

```ts

// previously

import { Query } from `src/legacy/core_plugins/data/public`;

// now

import { Query } from `src/plugins/data/public`;

```

[float]
===== Move Timefilter service to NP
{kib-pull}49491[#49491]

Moved the `timefilter` service to New Platform.

**Usage in Old Platform**:

```ts

import { TimeRange } from 'src/plugins/data/public';

import { npSetup, npStart } from 'ui/new_platform';

const { timefilter } = npStart.data.timefilter;

const timeRange: TimeRange = timefilter.getTime();

const refreshInterval: RefreshInterval = timefilter.getRefreshInterval()

```

**Usage in New Platform**:

```ts

class MyPlugin {

   public setup(core: CoreSetup, { data }: MyPluginSetupDependencies) {

      const timeRange: TimeRange = data.timefilter.timefilter.getTime();

   }

   public start(core: CoreStart, { data }: MyPluginStartDependencies) {

      const newTimeRange = { from: getYesterday(), to: getNow() }

      data.timefilter.timefilter.setTime(newTimeRange);

   }

}

```

[float]
===== Move Storage to New Platform
{kib-pull}49448[#49448]

Move `Storage` to `kibana_utils`.

 - Move `Storage` class to NP, and introduce the interface `IStorageWrapper` for when we only pass storage around.

 - Rename places where `storage` was called `store`

 - Load the Storage directives only where applicable (not in autoload)

[float]
===== Licensing plugin
{kib-pull}49345[#49345]

Add x-pack plugin for new platform public licensing information. This will eventually replace the licensing information consumed via `xpack_main`. Upon setup, this plugin exposes an observable API for inspecting and making checks against the license information.

```ts

license$.subscribe(license => {

   console.log(license.uid);

   console.log(license.isActive);

   console.log(license.type);

   const { state } = license.check('my-plugin', LICENSE_TYPE.gold);

   if (state !== LICENSE_STATUS.Valid) {

     disableSomething();

   }

});

```

[float]
===== Migrate ui/registry/feature_catalogue to New Platform plugin
{kib-pull}48818[#48818]

The `ui/registries/feature_catalogue` module has been deprecated for removal in 8.0.

Plugins wishing to migrate may remove their usage of `ui/registries/feature_catalogue` and rely on either:

```ts

// For legacy plugins

import { npSetup } from 'ui/new_platform';

npSetup.plugins.feature_catalogue.register(/* same details here */);

// For new plugins: first add 'feature_catalogue` to the list of `optionalPlugins`

// in your kibana.json file. Then access the plugin directly in `setup`:

class MyPlugin {

  setup(core, plugins) {

    if (plugins.feature_catalogue) {

      plugins.feature_catalogue.register(/* same details here. */);

    }

  }

}

```

Note that the old module supported providing a Angular DI function to receive Angular dependencies. This is no longer supported as we migrate away from Angular.

[float]
===== Migrate necessary ui/autoload functionality to NP
{kib-pull}48689[#48689]

The `ui/autoload/styles` and `ui/autoload/settings` modules have been removed and are no longer necessary to import in your plugin code. Remove these imports starting in 7.6.

If you still require font awesome, you should import it manually from the npm module:

```ts

import 'font-awesome/less/font-awesome';

```

[float]
===== Provide uiSettings service in NP
{kib-pull}48413[#48413]

New platform plugins can register custom uiSettings via the `uiSettings.register` method.

```js

// src/plugins/my-plugin/server/plugin.ts

setup(core: CoreSetup){

  core.uiSettings.register({

    'my-plugin:my-setting': {

      name: 'just-work',

      value: true,

      description: 'make it work',

      category: ['my-category'],

    },

  })

}

```

**Access UiSettings client**

- Via RequestHandlerContext on server-side:

```js

(context, req, res) {

  const uiSettingsClient = context.core.uiSettings.client;

  const value = await uiSettings.get('myPlugin:key');

  // ...

}

```

- Via core interface in setup/start lifecycles on the client-side:

```js

public start({ uiSettings }) {

  const value = uiSettings.get('myPlugin:key');

```

[float]
===== Move FilterManager to New Platform
{kib-pull}48391[#48391]

Moved Filter Manager to New Platform.

**Usage in Old Platform**

```ts

import { npSetup, npStart } from 'ui/new_platform';

npStart.data.query.filterManager.getFilters()

...

```

**Usage in New platform**

```ts

class MyPlugin {

   public setup(core: CoreSetup, { data }: MyPluginSetupDependencies) {

      data.query.filterManager.getFilters();

   }

   public start(core: CoreStart, { data }: MyPluginStartDependencies) {

      data.query.filterManager.getFilters();

   }

}

```

[float]
===== Migrate ui/doc_title to New platform
{kib-pull}48121[#48121]

Migrate `chrome.docTitle` to new platform. Plugins can now change the page title using this API.

```ts

coreStart.docTitle.change('My Title');

```

[float]
===== Use NP registry instead of ui/registry/field_formats
{kib-pull}48108[#48108]

The `FieldFormats` service has been moved to the `data` plugin in the New Platform.
If your plugin has any imports from `ui/registry/field_formats`, you'll need to update your imports as follows:

Use it in your New Platform plugin:

```ts

class MyPlugin {

  setup (core, { data }) {

    data.fieldFormats.register(myFieldFormat);

    // ...

  }

  start (core, { data }) {

    data.fieldFormats.getType(myFieldFormatId);

    // ...

  }

}

```

Or, in your legacy platform plugin, consume it through the `ui/new_platform` module:

```ts

import { npSetup, npStart } from 'ui/new_platform';

npSetup.plugins.data.fieldFormats.register(myFieldFormat);

npStart.plugins.data.fieldFormats.getType(myFieldFormatId);

// ...

```

[float]
===== ui/management to New Platform
{kib-pull}45747[#45747]

The following interfaces were previously available under `ui/management`
and are now available via `import { setup as managementSetup }``
from `'${correct path to top dir}src/legacy/core_plugins/management/public/legacy';`

* `ui/management/saved_objects_management`

* `ui/management/index_pattern_creation`

* `ui/management/index_pattern_list`

[float]
===== `ui/public` cleanup
{kib-pull}43511[#43511]

**Removed / moved modules**

In preparation for Kibana's upcoming new platform, we are in the process
of migrating awayfrom the `ui/public` directory.
Over time, the contents of this directory will be either deprecated or
housed inside a parent plugin.

If your plugin imports the listed items from the following `ui/public` modules,
you will need to either update your import statements as indicated below,
so that you are pulling these modules from their new locations,
or copy the relevant code into your plugin.

[float]
**`ui/state_management`**
{kib-pull}51835[#51835]
{kib-pull}52172[#52172]
{kib-pull}52280[#52280]
{kib-pull}53582[#53582]

The `hashUrl` and `unhashUrl` functions no longer rely on states being provided as an argument, therefore `getUnhashableStates`/`getUnhashableStatesProvider` have been removed.

```ts
// old

import {

  hashUrl,

  unhashUrl,

  getUnhashableStatesProvider, // deprecated

} from 'ui/state_management/state_hashing';

const getUnhashableStates = Private(getUnhashableStatesProvider);

unhashUrl(window.location.href, getUnhashableStates());

hashUrl([new AppState(), globalState], myRedirectUrl);

// new

import { hashUrl, unhashUrl } from '../../plugins/kibana_utils/public'

hashUrl(window.location.href);

unhashUrl(myRedirectUrl);

```

HashedItemStore was also moved to the `kibana_utils` plugin.

```ts
// old

import { HashedItemStoreSingleton } from 'ui/state_management/state_storage'

// new

import { hashedItemStore } from '../../plugins/kibana_utils/public'

```

Created new state syncing utilities for syncing state between state containers and different type of state storage (e.g. query params in URL or session storage).

Example app: `examples/state_containers_examples`

This should become a replacement for `AppState` and `GlobalState` in NP.

**`ui/public/utils` cleanup**

- `base_object` and `find_by_param` utilities have been removed {kib-pull}52500[#52500]

- `decode_geo_hash` and `zoom_to_precision` utilities have been moved to `ui/vis/map`{kib-pull}52615[#52615]

- `range` utility has beed moved to `ui/vis/editors/default` {kib-pull}52615[#52615]

- `cidr_mask`, `date_range`, `geo_utils`,  `ip_range`, `ordinal_suffix` utilities have been moved to `ui/agg_types` {kib-pull}52744[#52744]

- `case_conversion` {kib-pull}53819[#53819]

    - `keysToSnakeCaseShallow` moved to `src/legacy/server/status/lib`

    - `keysToCamelCaseShallow` moved to `src/legacy/core_plugins/kibana/public/management`

- `collection` {kib-pull}53819[#53819]

    - `organizeBy moved to `src/legacy/ui/public/indexed_array`

    - `pushAll` was removed

- `diff_object moved to `ui/state_management` {kib-pull}53819[#53819]

- `function` was removed {kib-pull}53819[#53819]

- `key_map` moved to `ui/directives` {kib-pull}53819[#53819]

- `math` moved to `ui/vis`  {kib-pull}53819[#53819]

- `numeric` moved to `src/legacy/core_plugins/kibana/public/management` {kib-pull}53819[#53819]

- `parse_interval` moved to`src/legacy/core_plugins/data/common` {kib-pull}53819[#53819]

- `sort_prefix_first` moved to `x-pack/legacy/plugins/kuery_autocomplete` {kib-pull}53819[#53819]

- `supports` moved to `src/legacy/core_plugins/tile_map/public` {kib-pull}53819[#53819]

[float]
===== Index Patterns moved to New Platform
{kib-pull}43438[#43438]

The `indexPatterns` service is now available from the data plugin.

```ts

class MyPlugin {

  start(core, data) {

    const indexPatterns = data.indexPatterns.get(indexPatternId);

    ...

  }

}
```

[float]
**Type Definitions**

 * The `IndexPattern` type replaces the legacy `StaticIndexPattern` type
 * `IndexPattern` was moved to the new plugin.
 * `FieldList` was moved to the new plugin and the `IFieldList` type was added.
 * `Field` was moved to the new plugin, along side the `IFieldType` type.
```ts

    import { IIndexPattern, IFieldType } from 'src/plugins/data/public';

    const indexPattern: IIndexPattern = data.indexPatterns.find(indexPatternId);

    const field: IFieldType[] = indexPattern.fields;

```

**Helper functions**

```ts

    import { indexPatterns as indexPatternsUtils } from 'src/plugins/data/public';

    const indexPattern: IIndexPattern = indexPatterns.getFromSavedObject(savedObject)

    const isValid = indexPatterns.validateIndexPattern(indexPatternString)

```

**Deletions**

  * `IndexPatternAlreadyExists`

  *  `NoDefaultIndexPattern`

  *  `NoDefinedIndexPatterns`


[float]
[[known-issue-7.6.0]]
=== Known issue

* When you use the default `dateFormat:tz: browser` setting, the timestamps appear in UTC instead of the local time of the user browser. To use the local time of the user browser, set `dateFormat:tz:` to the timezone of the user. {kib-issue}57457[#57457]
* The `server.customResponseHeaders` option prevents {kib} from starting if headers are set using a type other than string.
To fix this, convert your boolean and number headers to strings. For example, use `my-header: "true"` instead of `my-header: true`.
{kib-issue}66146[#66146]

[float]
[[enhancement-7.6.0]]
=== Enhancements
APM::
* Updates apm index pattern {kib-pull}54095[#54095]
* Adds service name to jvm {kib-pull}50830[#50830]
* Adds filter option to Metadata table {kib-pull}48520[#48520]
* Updates Error occurrences graph tooltip to display start and end for bucket period {kib-pull}49638[#49638]
* Pagination of top 10 trace samples {kib-pull}51911[#51911]
* Makes it possible to link directly to a trace with just the trace.id {kib-pull}51450[#51450]
* Transaction page throws unhandled exception if transactions doesn't have  `http.request` {kib-pull}53760[#53760]
* Adds `message` fields to metadata table {kib-pull}54017[#54017]
* Shows errors on the timeline instead of under the transaction {kib-pull}53756[#53756]
* Traces with identical transactions names are combined, even though they are from different services {kib-pull}54247[#54247]
* Uses indexPatternsService for kuery bar suggestions {kib-pull}49169[#49169]
* Migrates server routes to NP {kib-pull}49455[#49455]
* Adds `service.version` filter to transaction views {kib-pull}52748[#52748]
* Adds version annotations to timeseries charts {kib-pull}52640[#52640]
* Error stack trace improvements {kib-pull}49254[#49254]
* Performance comparison charts by user agent (browser) {kib-pull}49582[#49582]
* Adds UI Indices runtime configuration {kib-pull}48079[#48079]
* Updates apm index pattern {kib-pull}54693[#54693]
* Clears cache when updating indices via UI {kib-pull}51767[#51767]
Canvas::
* Enables Embeddable maps {kib-pull}53971[#53971]
* Uses compressed forms in sidebar {kib-pull}49419[#49419]
Dashboard::
* Redesigns empty screen {kib-pull}53681[#53681]
* Adds visualization from dasbhoard empty screen {kib-pull}52670[#52670]
* Redesigns empty screen in readonly mode {kib-pull}54073[#54073]
* Adds Lens to Dashboard {kib-pull}53110[#53110]
* Improves &quot;Create new&quot; UI in dashboard {kib-pull}49189[#49189]
Discover::
* Refactors discover index pattern selector to Lens `ChangeIndexPattern` Component {kib-pull}51973[#51973]
* Adds nested field support to KQL {kib-pull}47070[#47070]
* Supports nested fields in existing filter types {kib-pull}49537[#49537]
* Disables/enables filter with click+shift on a filter badge {kib-pull}52751[#52751]
* Possibility to filter when testing scripted fields (#35379) {kib-pull}44220[#44220]
* Adds label and icon to nested fields in the doc table {kib-pull}54199[#54199]
Graph::
* Improves error message on graph requests {kib-pull}54230[#54230]
* Adds sample data {kib-pull}54558[#54558]
Lens::
* Allows numeric terms aggs {kib-pull}50177[#50177]
* Adds support for scripted fields and default index pattern {kib-pull}53948[#53948]
* Loads Lens together with kibana app {kib-pull}50164[#50164]
* Disables saving visualization until there are no changes to the document {kib-pull}52982[#52982]
* Adds clear layer feature {kib-pull}53627[#53627]
* Adds support for scripted fields and aliases to the existence API {kib-pull}54064[#54064]
Logs::
* Log rate setup index validation {kib-pull}50008[#50008]
* Adds categories table to the categorization tab {kib-pull}53004[#53004]
* Disables ML job setup form while setup is pending {kib-pull}54705[#54705]
Machine Learning::
* Updates Anomaly Detection job wizard button styles, page panel and titles {kib-pull}53340[#53340]
* Improves processing of groups in data recognizer wizard {kib-pull}49310[#49310]
* Indicates missing required privileges for import in File Data Visualizer {kib-pull}50147[#50147]
* Stats bar for data frame analytics {kib-pull}49464[#49464]
* Adds the job message tab to data frame analytics {kib-pull}50468[#50468]
* Reactive time-range selection in Single Metric Viewer {kib-pull}51008[#51008]
* Adds Custom URLs and Calendars to the Job wizards {kib-pull}51281[#51281]
* Performs cardinality check on enabling the model plot {kib-pull}51915[#51915]
* Fetches the latest job messages and enables sorting by time {kib-pull}52388[#52388]
* Persists the time range brush when expanded to full width {kib-pull}54020[#54020]
* Supports search for partitions on Single Metric Viewer {kib-pull}53879[#53879]
* APM modules configs for RUM Javascript and NodeJS {kib-pull}53792[#53792]
* Model memory limit calculator enhancements for multi-metric job wizard  {kib-pull}54573[#54573]
* Data Visualizer redesign {kib-pull}54358[#54358]
* Formatting for additional timing and model size stats {kib-pull}55062[#55062]
* Adds ML node warning to overview and analytics pages {kib-pull}50766[#50766]
* Enables lat_long detector function in advanced wizard {kib-pull}50787[#50787]
* Categorization wizard {kib-pull}53009[#53009]
* Regression results view {kib-pull}49667[#49667]
* Auto-populate model_memory_limit {kib-pull}50714[#50714]
* Reruns evaluate endpoint for search bar queries {kib-pull}50991[#50991]
* Adds search bar {kib-pull}51235[#51235]
* Creates classification jobs via the UI {kib-pull}51619[#51619]
* Adds description field to job creation and display in jobs list {kib-pull}52217[#52217]
* Creates classification jobs results view {kib-pull}52584[#52584]
* Adds 'excludes' input field to form {kib-pull}53856[#53856]
* Adds link to docs {kib-pull}54189[#54189]
* Uses field caps api to set column type {kib-pull}54543[#54543]
* Truncates text in Overview page 'Latest timestamp' column {kib-pull}50004[#50004]
* Color Range Legend component {kib-pull}52794[#52794]
Management::
* Support scheme field when creating a Threshold alert with a Webhook action {kib-pull}53757[#53757]
* Adds Mappings Editor to Index Template Wizard {kib-pull}47562[#47562]
* SearchProfiler to NP {kib-pull}48795[#48795]
* Upgrade Assistant to New Platform Ready {kib-pull}50163[#50163]
* License Management to New Platform {kib-pull}51886[#51886]
* New Platform (NP) Migration {kib-pull}50908[#50908]
* Console with better SQL support {kib-pull}51446[#51446]
* Allows User to Cleanup Repository from UI  {kib-pull}53047[#53047]
* Updates advanced settings text for usage data {kib-pull}52657[#52657]
Maps::
* Makes grid rectangles the default symbolization for geo grid source {kib-pull}50169[#50169]
* Focuses inputs when editor opens popovers {kib-pull}51487[#51487]
* Uses style metadata to calculate symbolization bands {kib-pull}51713[#51713]
* Better style defaults {kib-pull}52420[#52420]
* Vector style UI redesign {kib-pull}53946[#53946]
* Allows editing EMS basemap selection {kib-pull}53631[#53631]
* Adds text halo color and width style properties {kib-pull}53827[#53827]
* Adds labels to sample data maps {kib-pull}54671[#54671]
* Adds categorical styling {kib-pull}54408[#54408]
* Hides map visualization types with default kibana.yml settings {kib-pull}49103[#49103]
* Hides header panel in embeddable panel {kib-pull}50728[#50728]
Metrics::
* Calculates interval based on the dataset's period {kib-pull}50194[#50194]
* Ports graphql query for snapshot and node details to hapijs {kib-pull}50730[#50730]
* Adds ability to filter snapshot view by account and region {kib-pull}53307[#53307]
* Adds inventory metadata api with regions and accounts {kib-pull}52660[#52660]
* Removes graphql types {kib-pull}54176[#54176]
* Adds AWS Metricsets to Inventory Models {kib-pull}49983[#49983]
Monitoring::
* Fetches shard data more efficiently {kib-pull}54028[#54028]
* Displays APM server memory in bytes {kib-pull}54275[#54275]
Operations::
* Adds support for log rotation  {kib-pull}49750[#49750]
Monitoring::
* h1 elements for accessibility {kib-pull}52276[#52276]
Platform::
* Allows routes to define some payload config values {kib-pull}50783[#50783]
* Moves IndexPatterns into the NP {kib-pull}51199[#51199]
* Moves configuration validation to new platform {kib-pull}51880[#51880]
* Improves &quot;Browser client is out of date&quot; error message {kib-pull}50296[#50296]
Reporting::
* Converts main Reporting index to TS {kib-pull}49129[#49129]
* Removes any types and references to Hapi {kib-pull}49250[#49250]
* Updates some runtime validations {kib-pull}53975[#53975]
Security::
* Role Mappings UI {kib-pull}53620[#53620]
* Adds message to login page {kib-pull}51557[#51557]
* Updates Node.js to version 10.18.0 {kib-pull}52865[#52865]
* Improves session idle timeout, add session lifespan {kib-pull}49855[#49855]
* Adds support for certificates in PKCS#12 (P12) key stores {kib-pull}53810[#53810]
SIEM::
* New Overview Page {kib-pull}54783[#54783]
* Adds DNS histogram {kib-pull}50409[#50409]
* Adds alerts table {kib-pull}51959[#51959]
* Histogram enhancement {kib-pull}54544[#54544]
* Dns histogram enhancement {kib-pull}54902[#54902]
* Tests for search_after and bulk index {kib-pull}50129[#50129]
* Adds ecs threat properties to rules {kib-pull}51782[#51782]
* Sets Signal status open closed REST API {kib-pull}52356[#52356]
* Search signals index {kib-pull}52661[#52661]
* Adds created_at and updated_at timestamps to rules {kib-pull}53137[#53137]
* Rule Status Monitoring {kib-pull}54452[#54452]
* Adds filtering abilities to the KQL REST API {kib-pull}49451[#49451]
* REST API Additions {kib-pull}50514[#50514]
* REST API improvements and changes from UI/UX feedback {kib-pull}50797[#50797]
* Adds of risk score, output index, rule copying, and more  {kib-pull}51190[#51190]
* Adds signal data index per spaces through index naming conventions {kib-pull}52237[#52237]
* Adds privileges API endpoint {kib-pull}52707[#52707]
* Adds a tags service and optimizes alert_id lookups {kib-pull}52838[#52838]
* Adds prepackaging rules capability {kib-pull}53062[#53062]
* Adds timeline_id string to rules {kib-pull}53343[#53343]
* Bulk REST API for create, update, and delete {kib-pull}53543[#53543]
* Import/Export REST endpoints {kib-pull}54332[#54332]
* Time gap detection and logging {kib-pull}54547[#54547]
* Adds Rules Table {kib-pull}50839[#50839]
* Adds Signals Table and additional configuration options to StatefulEventsViewer {kib-pull}52044[#52044]
* Adds support for apm-* to the network map {kib-pull}54876[#54876]
* HTTP Requests table {kib-pull}49955[#49955]
* Adds Authentications histogram {kib-pull}48260[#48260]
* Adds hosts and network anomalies histogram {kib-pull}50295[#50295]
* Detection engine placeholders {kib-pull}50220[#50220]
* Adds SavedQuery in Timeline {kib-pull}49813[#49813]
* Adds creation rule {kib-pull}51376[#51376]
* Adds edit on rule creation {kib-pull}51670[#51670]
* Adds MITRE ATT&amp;CK {kib-pull}52398[#52398]
* Details and Edit view for a rule {kib-pull}53252[#53252]
* Permission II {kib-pull}54292[#54292]
* Adds status to rule details {kib-pull}54812[#54812]
* From signals to timeline {kib-pull}54769[#54769]
* Detections create prepackage rules {kib-pull}55403[#55403]
* Feedback to user about generated encryption key {kib-pull}56464[#56464]
Uptime::
* Updates snapshot counts {kib-pull}48035[#48035]
* Migrates Uptime server routing to new platform {kib-pull}51125[#51125]
* Adds tags dropdown to Overview filters group {kib-pull}50837[#50837]
* New monitor list expanded row {kib-pull}46567[#46567]
* Adds options to disable zoom, hide tool tips, widgets/overlays in embeddable maps {kib-pull}50663[#50663]
* New details panel and location map {kib-pull}50518[#50518]
* Lists external linking {kib-pull}53098[#53098]
* Monitor details page left side title {kib-pull}53529[#53529]
* Monitor SSL Certificate Color version for warning {kib-pull}54040[#54040]

[float]
[[bug-7.6.0]]
=== Bug fixes
APM::
* Upgrades APM migration script v1 support {kib-pull}52824[#52824]
* Adds missing semi-colon to styled component {kib-pull}51436[#51436]
* Quick fix for ACM to ensure more than 10 items are displayed {kib-pull}52262[#52262]
* Sets no of ticks based on available width for chart {kib-pull}50904[#50904]
* Make sure errors per minute are reported correctly {kib-pull}54751[#54751]
* Fixes firefox SVG NaN errors when rendering charts {kib-pull}56578[#56578]
* Fixes initial error sort field {kib-pull}56577[#56577]
* Empty message &quot;No data available&quot; for Labels and User metadata sections missing {kib-pull}49846[#49846]
Canvas::
* Fixes axisConfig position argument UI {kib-pull}50717[#50717]
* Fixes #45896 {kib-pull}50229[#50229]
* Fixes bugs with full screen filters {kib-pull}54792[#54792]
* Fixes the Copy Post Url link {kib-pull}54831[#54831]
* Fixes color and toggle accessibility {kib-pull}54661[#54661]
Dashboard::
* Removes double handler {kib-pull}53707[#53707]
* Decodes url params, so they are not encoded twice {kib-pull}54738[#54738]
* Changes background color to align with EUI color {kib-pull}54060[#54060]
* Fixes hide 'edit' button for mobile for dashboards {kib-pull}50639[#50639]
Discover::
* Fixes histogram min interval {kib-pull}53979[#53979]
* Improves kql error message handling and avoid fetching twice {kib-pull}54239[#54239]
* Fixes double fetch errors {kib-pull}54701[#54701]
* Fixes pagination controls should not scroll horizontally for saved search {kib-pull}50764[#50764]
* Don't throw exception when refreshing fields of an index pattern {kib-pull}55836[#55836]
* Fixes filter pill label for filters with negated alias {kib-pull}50743[#50743]
* Filters scripted fields preview field list to source fields {kib-pull}53826[#53826]
* Fixes operator overflowing out popover {kib-pull}50030[#50030]
Graph::
* Only show explorable fields {kib-pull}54101[#54101]
Lens::
* Modifies merge tables to use the same logic as auto date {kib-pull}52931[#52931]
* Selects Records field when count operation is chosen {kib-pull}53911[#53911]
* Shows keyword fields for pre-7.3 index patterns {kib-pull}52410[#52410]
* Fixes sorting crash when removing a Y axis that is being used for sorting {kib-pull}52694[#52694]
* Shows fields when using index pattern without time field {kib-pull}54804[#54804]
* Fixes bugs in Lens filters {kib-pull}56441[#56441]
Logs::
* Adds missing headers in Logs &amp; metrics {kib-pull}52405[#52405]
* Uses the correct icons and labels in the feature cont… {kib-pull}55292[#55292]
* Allows Logs/ML integration result access with machine… {kib-pull}55884[#55884]
* Fixes the scale of the search markers {kib-pull}55731[#55731]
Machine Learning::
* Fixes escape special characters for Lucene query language   {kib-pull}50494[#50494]
* Keeps rule editor flyout open on refresh {kib-pull}53458[#53458]
* Fixes counters and percentages for array fields on the Data Visualizer page {kib-pull}55209[#55209]
* Fixes tooltip's persistence on mouse leave {kib-pull}55694[#55694]
* Fixes Anomaly Explorer swimlane tooltip issue  {kib-pull}55827[#55827]
* Fixes the annotation area tooltip offset {kib-pull}55955[#55955]
* Fixes info content detector field selection {kib-pull}51914[#51914]
* Job validation loading spinner {kib-pull}54450[#54450]
* Improves job wizards with datafeed aggregations {kib-pull}55180[#55180]
* Fixes missing job_type in job messages search {kib-pull}55330[#55330]
* Fixes module setup error for insufficient index pattern privileges {kib-pull}55989[#55989]
* Ensures advanced editor can be validated when empty {kib-pull}52831[#52831]
* Ensures advanced editor validates model memory unit correctly {kib-pull}54011[#54011]
* Ensures result field columns can be deselected and re-selected {kib-pull}54766[#54766]
* Only render tablist if it contains tabs {kib-pull}54838[#54838]
* Improves handling of text fields {kib-pull}55002[#55002]
* Filters out docs with no prediction data from results table {kib-pull}54826[#54826]
* Fixes word wrap in Overview page sidebar on IE {kib-pull}50668[#50668]
* Fixes lat_long anomalies table links menu and value formatting {kib-pull}50916[#50916]
* Fixes loading of Data Visualizer with KQL saved search {kib-pull}51882[#51882]
* Corrects URL of the create job tips docs page {kib-pull}53576[#53576]
* Displays anomaly actual in chart tooltip when model plot enabled {kib-pull}54364[#54364]
* Fixes permissions checks for Data Visualizer create job links {kib-pull}55431[#55431]
* Fixes empty table header cell and duplicate ID accessibility issues {kib-pull}54917[#54917]
* Accessibility fix for structural markup on table rows {kib-pull}55075[#55075]
Management::
* {kib} should allow a min_age setting of 0ms in ILM policy phases {kib-pull}53719[#53719]
* Adds try/catch when parsing index filter from URI {kib-pull}56051[#56051]
* Passes termOrder and hasTermsAgg properties to serializeThresholdWatch function {kib-pull}54391[#54391]
* Adds support for capitalized date formats in snapshot names {kib-pull}53751[#53751]
* Index Lifecycle Policies show wrong unit in {kib} UI {kib-pull}55228[#55228]
* Theme and Mode imports {kib-pull}50473[#50473]
* Proxy fallback {kib-pull}50185[#50185]
* Fixes load from remote {kib-pull}52814[#52814]
* Fixes suggested value for time_zone in range query {kib-pull}53841[#53841]
* Handle double quote special case {kib-pull}54474[#54474]
* Fixes handling of bad profile data and update tab behavior {kib-pull}55806[#55806]
* Fixes icon path in tutorial introduction {kib-pull}49684[#49684]
* Fixes index templates editor to support mappings types {kib-pull}55804[#55804]
Maps::
* Fixes regression preventing maps telemetry from populating &amp; remove task manager logic {kib-pull}52834[#52834]
* Categorical palettes {kib-pull}54918[#54918]
* Do not re-fetch data on empty filter setting changes {kib-pull}49382[#49382]
* Fixes removal of multi fields for tooltip field selection {kib-pull}49816[#49816]
* Prevents users from overflowing URL when filtering by shape {kib-pull}50747[#50747]
* Only provide visibility check when vector layer has joins {kib-pull}51388[#51388]
* Fixes too_many_buckets_exception for top hits {kib-pull}51497[#51497]
* Only show styles that apply to layer feature types in legend {kib-pull}52335[#52335]
* Fixes tooltips for CCS {kib-pull}52793[#52793]
* Passes getFieldFormatter to DynamicTextProperty {kib-pull}53937[#53937]
* Expands extent filter to tile boundaries {kib-pull}54276[#54276]
* Fixes warning about missing key in react element {kib-pull}55372[#55372]
* Fixes join metric field selection bugs {kib-pull}56044[#56044]
* Adds mapbox-gl-rtl-text library for RTL languages {kib-pull}54842[#54842]
* Ensures the query-object is populated {kib-pull}49917[#49917]
* Delays vector tile layer syncing until spritesheet is loaded {kib-pull}48955[#48955]
* Sanitizes attribution {kib-pull}52309[#52309]
* Only show legend when layer is visible {kib-pull}53781[#53781]
* Shows custom color ramps in legend {kib-pull}53780[#53780]
* Enforces file-type check in file dialog {kib-pull}55063[#55063]
Metrics::
* Fixes Metrics Explorer exception when deleting metric {kib-pull}55893[#55893]
* Fixes title truncation in Metrics Explorer {kib-pull}55917[#55917]
* Passes relevant shouldAllowEdit capabilities into SettingsPage {kib-pull}49781[#49781]
* Don't allow duplicate saved views with the same name {kib-pull}52040[#52040]
* Adds aria labels to fields {kib-pull}54510[#54510]
Monitoring::
* Fixes Logstash pipelines page in multi-cluster environment {kib-pull}50166[#50166]
* Improves permissions required around setup mode {kib-pull}50421[#50421]
* Adds error state for unstructured logs {kib-pull}53299[#53299]
* Ensures setup mode work in a CCS environment {kib-pull}54361[#54361]
* Clarifies that these auth settings are for sending data {kib-pull}48437[#48437]
Operations::
* Adds missing docker settings {kib-pull}56411[#56411]
* Prevents xpack.task_manager.index being set to .tasks {kib-pull}52002[#52002]
Platform::
* Displays changed field formats without requiring hard page refresh. {kib-pull}52874[#52874]
* {kib} 7.0.0 URL field formatter doesn't render relative hyperlinks properly {kib-pull}53265[#53265]
* Interpreter conversion of string to number should throw on NaN #27788 {kib-pull}50063[#50063]
* Cancels discarded KQL value suggestion requests {kib-pull}51411[#51411]
* Performs successful Elasticsearch version check before migrations {kib-pull}51311[#51311]
Reporting::
* Do not fail the report if request is aborted {kib-pull}52344[#52344]
* Fixes map tiles not loading by using Chrome's Remote Protocol {kib-pull}55137[#55137]
* Corrects the docvalue_fields params in the search query Download CSV from Dashboard Panel {kib-pull}52833[#52833]
Security::
* Uses the server's basePath when building the SAML ACS {kib-pull}51391[#51391]
* Fixes elasticsearch.ssl.alwaysPresentCertificate default {kib-pull}52242[#52242]
* Forces line-break if username is a solid long string {kib-pull}50807[#50807]
* Fixes infinite redirect loop when multiple cookies are sent {kib-pull}50452[#50452]
* Honors configured base path when logging out {kib-pull}50946[#50946]
SIEM::
* Fixes Empty `Source` / `Destination` shown when only ports are populated {kib-pull}50843[#50843]
* Removes placeholder from pinned event tooltips {kib-pull}52361[#52361]
* Adds filter feature and fixes misc bugs around false values {kib-pull}50999[#50999]
* Fixes a bug to allow empty query string when filters are set {kib-pull}51398[#51398]
* Adds signal to ECS event.kind and fixes status in signals  {kib-pull}51772[#51772]
Uptime::
* Removes react-router-dom warning in browse {kib-pull}52008[#52008]
* Fixes broken functional tests in `master` {kib-pull}54395[#54395]
* Donut chart loader position centered vertically  {kib-pull}50219[#50219]
* Fixes monitor list pagination arrows {kib-pull}51912[#51912]
* Expanded list update most recent error timestamp {kib-pull}51935[#51935]
* Feature/monitor details view avoid empty column {kib-pull}51892[#51892]
* Feature/expandable row in details ping list {kib-pull}51890[#51890]
* Date picker will use commonly used ranges from advance settings {kib-pull}52944[#52944]
* Fixes broken Duration chart on Monitor Page {kib-pull}54251[#54251]
* Ping List Disable expand row if no body present {kib-pull}54898[#54898]
* Fixes Date Range picker stop refresh button {kib-pull}55499[#55499]
* Ping histogram uses auto date histogram {kib-pull}55605[#55605]
* Uses dynamic index pattern in Uptime {kib-pull}55446[#55446]
* Refreshes absolute date ranges for Ping Histogram {kib-pull}56381[#56381]
Visualizations::
* Adds domain fit option for 0 opacity TSVB line charts {kib-pull}54314[#54314]
* Adds default filename when exporting CSV {kib-pull}54003[#54003]
* Fixes height of CodeEditor - Safari {kib-pull}56050[#56050]
* Fixes missing labels on certain axes and label filter configurations {kib-pull}47563[#47563]
* Formats CSV properly {kib-pull}54127[#54127]
* Flags nested fields as non-aggregatable {kib-pull}51774[#51774]

[float]
[[deprecation-7.6.0]]
=== Deprecations
Metrics::
* Deprecates the override fields in settings {kib-pull}54206[#54206]
Security::
* Additional validation for elasticsearch username {kib-pull}48247[#48247]


[[release-notes-7.5.2]]
== {kib} 7.5.2

See <<breaking-changes-7.5, breaking changes in 7.5>>.

[float]
[[bug-7.5.2]]
=== Bug fixes

Console::
* Handles double quote special case {kib-pull}54474[#54474]

Dashboard, Discover, Visualize::
* Fixes icon path in tutorial introduction {kib-pull}49684[#49684]
* Fixes filter pill label for filters with negated alias {kib-pull}50743[#50743]
* Adds domain fit option for 0 opacity TSVB line charts {kib-pull}54314[#54314]

Machine Learning::
* Corrects URL of the create job tips docs page {kib-pull}53576[#53576]

Management::
* {kib} 7.0.0 URL field formatter doesn't render relative hyperlinks properly {kib-pull}53789[#53789]
* Fixes index pattern without timefield filter application {kib-pull}54757[#54757]

Maps::
* Fixes regression that prevents maps telemetry from populating. Removes unneeded task manager logic {kib-pull}52834[#52834]

Monitoring::
* Adds error state for unstructured logs {kib-pull}53299[#53299]
* Ensures setup mode works in a ccs environment {kib-pull}54361[#54361]

Security::
* Fixes search field visibility on space selector screen {kib-pull}54115[#54115]
* Forces line break if username is a solid long string {kib-pull}50807[#50807]

[float]
[[regression-7.5.2]]
=== Regression
Watcher::
* Passes termOrder and hasTermsAgg properties to serializeThresholdWatch function {kib-pull}54391[#54391]
+
A regression was introduced into 7.5.0 that caused a particular configuration of Threshold Watches
to fail or erroneously trigger if they were created or edited in 7.5. If you've
created or edited a Threshold Watch with a "GROUPED OVER" condition set to `top` with {kib} 7.5.0,
you'll need to upgrade to a version of {kib} that contains this fix and recreate
these watches.
+
The easiest way to do this is to go to the edit screen of the
Threshold Watch in the UI and simply click the *Save* button. This will recreate the
watch with the proper configuration. No other changes to the watch will be necessary on your part.
+
[role="screenshot"]
image::images/rn_7.5.2.png[]

[[release-notes-7.5.1]]
== {kib} 7.5.1

[float]
[[breaking-7.5.1]]
=== Breaking changes

See <<breaking-changes-7.5, breaking changes in 7.5>>.

[float]
[[enhancement-7.5.1]]
=== Enhancements
Machine Learning::
* Enables lat_long detector function in advanced wizard {kib-pull}50787[#50787]
* Truncates text in Overview page 'Latest timestamp' column {kib-pull}50004[#50004]
* Adds ML node warning to overview and analytics pages {kib-pull}50766[#50766]
Monitoring::
*  Refactors the enter setup mode button {kib-pull}51103[#51103]

[float]
[[bug-7.5.1]]
=== Bug fixes
APM::
* Fixes ACM to ensure more than 10 items are displayed {kib-pull}52262[#52262]
* Fixes watcher integration {kib-pull}51721[#51721]
Canvas::
* Fixes axisConfig position argument UI {kib-pull}50717[#50717]
Discover::
* Fixes histogram min interval {kib-pull}52758[#52758]
Machine Learning::
* Fixes escape special characters for Lucene query language   {kib-pull}50494[#50494]
* Fixes info content detector field selection {kib-pull}51914[#51914]
* Fixes word wrap in Overview page sidebar on IE {kib-pull}50668[#50668]
* Fixes lat_long anomalies table links menu and value formatting {kib-pull}50916[#50916]
* Fixes loading of data visualizer with KQL saved search {kib-pull}51882[#51882]
Maps::
* Fixes a cross-site scripting (XSS) flaw in Coordinate and Region Map
visualizations. An attacker could create a malicious visualization that
executes JavaScript in a victim’s browser when the visualization, or dashboard
containing the visualization, was viewed. Since Kibana 7.0.0, Content Security
Policy (CSP), which prevents attackers from using this flaw, is enabled by
default. However, an attacker can still inject arbitrary HTML into the page.
See https://www.elastic.co/community/security/, CVE-2019-7621.
* Prevents users from overflowing URL when filtering by shape {kib-pull}50747[#50747]
* Delays vector tile layer syncing until spritesheet is loaded {kib-pull}48955[#48955]
* Sanitizes attribution {kib-pull}52309[#52309]
Monitoring::
* Fixes Logstash pipelines page in multi-cluster environment {kib-pull}50166[#50166]
* Improves permissions required around setup mode {kib-pull}50421[#50421]
Operations::
* Prevents xpack.task_manager.index being set to .tasks {kib-pull}52002[#52002]
* Fixes elasticsearch.ssl.alwaysPresentCertificate default {kib-pull}52242[#52242]
Querying &amp; Filtering::
* Fixes operator overflowing out popover {kib-pull}50030[#50030]
Uptime::
* Removes react-router-dom warning in browse {kib-pull}52008[#52008]
Lens::
* Shows keyword fields for pre-7.3 index patterns {kib-pull}52410[#52410]

[[release-notes-7.5.0]]
== {kib} 7.5.0

For information about the Kibana 7.5.0 release, review the following information.

[float]
[[breaking-changes-7.5]]
=== Breaking changes

Breaking changes can prevent your application from optimal operation and performance. Before you upgrade to 7.5.0, review the breaking changes, then mitigate the impact to your application.

//See also {kibana-ref-all}/7.5/release-highlights-7.5.0.html[release highlights] and <<release-notes-7.4.0, release notes>>.

//NOTE: The notable-breaking-changes tagged regions are re-used in the
//Installation and Upgrade Guide

////
The following section is re-used in the Installation and Upgrade Guide
[[breaking_70_notable]]
=== Notable breaking changes
////
// tag::notable-breaking-changes[]

[float]
[[breaking_75_search_instead_of-msearch]]
==== The default setting for `courier:batchSearches` is now `false`

*Details:*
Changing the default setting for `courier:batchSearches` to `false` means
that search requests will use the `_search` {es} endpoint rather than `_msearch`.

*Impact:*
Dashboard panels will load individually, and search requests will terminate
when users navigate away or update the query.

[float]
[[breaking_75_codeapp]]
==== The experimental Code app has been removed

*Details:*
The experimental Code app that was previously disabled by default has been
removed. Due to the existing implementation of code being untenable, we've
decided not to pursue further development of the code app at this time.

*Impact:*
Any installs that previously enabled the Code app will now log a warning when
Kibana starts up. It's safe to remove all configurations starting with
`xpack.code.`. Starting in 8.0, these warnings will become errors that prevent
Kibana from starting up.
// end::notable-breaking-changes[]

[float]
[[enhancement-7.5.0]]
=== Enhancements
APM::
* More descriptive page titles {kib-pull}44296[#44296]
* Removes 0 suffix if array contains only one element {kib-pull}47036[#47036]
* Changing status code colors on trace summary {kib-pull}47114[#47114]
* Shows `span.http.response.status_code` and `span.http` object in Span details flyout {kib-pull}47322[#47322]
* Metadata sections should show message when no data is available {kib-pull}47842[#47842]
* Removes rest_total_hits_as_int and changing hits.total type {kib-pull}47814[#47814]
* Consistent flyout headers {kib-pull}46312[#46312]
* Always show transaction breakdown {kib-pull}46684[#46684]
* JVM List view &amp; JVM metrics page {kib-pull}46779[#46779]
* Garbage collection metrics charts {kib-pull}47023[#47023]
* Replaces ui/kfetch with core.http {kib-pull}47635[#47635]
* One-line trace summary {kib-pull}44842[#44842]
* Documentation and alignment for impact column {kib-pull}47602[#47602]
* Keywords to select legend color in TPM graph {kib-pull}47628[#47628]
* Updates index pattern {kib-pull}48066[#48066]
* Increases breadcrumb `max` setting {kib-pull}46595[#46595]
* Agent configuration GA {kib-pull}46995[#46995]
Canvas::
* Adds ability to share workpads in other websites {kib-pull}46278[#46278]
Discover::
* Updates filter of fields UX allowing user to select and remove fields {kib-pull}47847[#47847]
* Shows field type name when hovering over them (#35391) {kib-pull}44208[#44208]
* De-angularize index pattern selection {kib-pull}46347[#46347]
* De-angularize side bar search field {kib-pull}46679[#46679]
* Replaces Discover chart with elastic-charts {kib-pull}43788[#43788]
Graph::
* Removes the current inline-save menu from Graph and switches to a save modal as used in Visualize and Discover {kib-pull}44261[#44261]
* Settings EUI-ification {kib-pull}44587[#44587]
* EUI-ification of search bar {kib-pull}45351[#45351]
* Kql support for query bar {kib-pull}45364[#45364]
* Moves the field manager to react and EUI {kib-pull}45384[#45384]
* Empty workspace overlay {kib-pull}45547[#45547]
Logs::
* Adapt log entry rate data visualizations {kib-pull}47558[#47558]
* Ensures 'unknown' setupStatus is handled {kib-pull}45887[#45887]
* Adds &quot;Analyze in ML&quot; buttons {kib-pull}48268[#48268]
* Changes 'View monitor status' to 'View status in Uptime' {kib-pull}44518[#44518]
* Improves live streaming behavior when scrolling {kib-pull}44923[#44923]
Machine Learning::
* Enhances job id error message {kib-pull}45349[#45349]
* Severity cell with multi-bucket impact support {kib-pull}46002[#46002]
* Link to calendar settings from a job config {kib-pull}46141[#46141]
* Adds missing tooltips to Anomaly Explorer swimlane labels {kib-pull}46324[#46324]
* Custom urls enhancements {kib-pull}46433[#46433]
* Job type page {kib-pull}46933[#46933]
* Converts index and saved search selection to React {kib-pull}47117[#47117]
* Converts Recognizer job page to React {kib-pull}47429[#47429]
* Enhances created_by check for custom rules  {kib-pull}47825[#47825]
* Checks unsaved changes for Job edit form {kib-pull}47926[#47926]
* Renders Custom URL as textarea on focus {kib-pull}48077[#48077]
* Adds advanced job wizard {kib-pull}46781[#46781]
* Reorganizes ML navigation with top and sub level tabs {kib-pull}45220[#45220]
* Overview tab for ML {kib-pull}45864[#45864]
* Regression creation and results view {kib-pull}48159[#48159]
* Displays MSE and rSquared in expanded row {kib-pull}48261[#48261]
* Moves ML &quot;Data Frame Transforms&quot; to Kibana management section &quot;Transforms&quot;. {kib-pull}45880[#45880]
* Adds new SIEM auditbeat, winlogbeat and packetbeat modules {kib-pull}47848[#47848]
Management::
* SLM retention UI {kib-pull}45193[#45193]
* Adds ability to execute snapshot retention manually {kib-pull}47150[#47150]
* Adds request flyouts to JSON watch form and Threshold Watch edit form {kib-pull}43232[#43232]
* SQL template with triple quote in completion {kib-pull}45248[#45248]
* Updates indentation behavior {kib-pull}45249[#45249]
* Adds IP, number, and boolean types to the static lookup field formatter {kib-pull}45585[#45585]
* Adds width and height as parameters to image url {kib-pull}46917[#46917]
* Integrates inside Template UI {kib-pull}47567[#47567]
* Adds json editor to edit field settings {kib-pull}47674[#47674]
* Console to NP ready {kib-pull}43346[#43346]
Maps::
* Uses EuiPopover instead of mapbox tooltip {kib-pull}45938[#45938]
* Cancels SearchSource fetches that are no longer needed {kib-pull}44436[#44436]
* Provides isLoading and hasError feedback when legend is collapsed {kib-pull}47157[#47157]
* Uses pre-indexed shapes in shape filters when shape is stored in Elasticsearch {kib-pull}47171[#47171]
* Moves sort out of top hits configuration for ES documents source {kib-pull}47361[#47361]
* Provides drag-n-drop support to order tooltip properties {kib-pull}46631[#46631]
* Retrieves geo_point value from docvalue_fields instead of _source {kib-pull}47389[#47389]
* Increases tooltip max width and move feature pagination controls to top of tooltip {kib-pull}47645[#47645]
* Use field formatter to format value in legend {kib-pull}48132[#48132]
* Adds support for date fields in dynamic styles {kib-pull}47903[#47903]
* Use vector tiles for rendering EMS basemap {kib-pull}47867[#47867]
Metrics::
* Adds bar chart option to Metrics Explorer {kib-pull}43728[#43728]
* Displays non-metric details on Node Detail page {kib-pull}43551[#43551]
* Adds Docker section to node details page {kib-pull}43627[#43627]
* Adds saved queries to maps {kib-pull}44442[#44442]
* Save and Load Views for Metrics Explorer and Inventory Page {kib-pull}46713[#46713]
* Converts button group to toggle. Refactor code structure for scalability {kib-pull}47083[#47083]
* Always display loading indicator when new data is loading {kib-pull}48038[#48038]
Monitoring::
* Moves to OSS {kib-pull}45769[#45769]
* Metricbeat Migration Wizard {kib-pull}45799[#45799]
* Adds I/O metrics for Elasticsearch {kib-pull}45870[#45870]
Platform::
* Moves highlight_html.js {kib-pull}45372[#45372]
* Moves as_pretty_string.js {kib-pull}45356[#45356]
* Timelion {kib-pull}44039[#44039]
* Adds url-param-decode to transform in string field {kib-pull}25694[#25694]
* Migrates field format utils to TS {kib-pull}47124[#47124]
Reporting::
* Improves logging of doc-update events {kib-pull}45077[#45077]
* Removes Chrome stdout/stderr observables, Add Browser Logger observable {kib-pull}44359[#44359]
* Adds step to skip telemetry {kib-pull}48312[#48312]
SIEM::
* Endgame events on the SIEM Overview page {kib-pull}47774[#47774]
* Endgame Row Renderers: DNS, File (FIM), Network, Security (Authentication), Process {kib-pull}48277[#48277]
* Adds events histogram {kib-pull}45403[#45403]
* Adds TLS to Network overview page {kib-pull}48062[#48062]
* Changed job links have the job configuration in the search when the user clicks on them {kib-pull}46084[#46084]
* Adds custom tooltip to map for dragging fields to timeline {kib-pull}46879[#46879]
* Show all SIEM ML Jobs in Anomaly Detection UI by default {kib-pull}48067[#48067]
* Updates Network Map layer styles {kib-pull}48284[#48284]
* Inspect tests {kib-pull}45833[#45833]
* Source/Destination Ip Table on Ip Details {kib-pull}47608[#47608]
* Op countries by source/dest tables {kib-pull}48179[#48179]
* Optimizes all hosts query {kib-pull}49409[#49409]
* Adds saved query in SIEM solution {kib-pull}47306[#47306]
Security::
* Adds API Keys app to Management &gt; Security {kib-pull}45740[#45740]
* Custom space avatar images {kib-pull}45148[#45148]
* Allows sorting on user/roles 'reserved' column {kib-pull}46283[#46283]
* Supports space-specific default routes {kib-pull}44678[#44678]
* Preserves URL fragment during SAML handshake {kib-pull}44513[#44513]
Stack services::
* Adds opt-in to telemetry by default {kib-pull}50490[#50490]
* Updates telemetry banner prompt behavior {kib-pull}49644[#49644]
* Adds data privacy notice text to welcome screen with link to opt-out of telemetry {kib-pull}50189[#50189]
* Provides telemetry on opt-in status {kib-pull}50158[#50158]
* Adds configureable server side telemetry {kib-pull}50015[#50015]
* Adds kibana.yml configurations for telemetry default status and UI behavior {kib-pull}49798[#49798]
* Adds Ask Elastic and Give feedback links to help section {kib-pull}49797[#49797]
* Adds newsfeed {kib-pull}49579[#49579]
Uptime::
* Query Overhaul + Pagination {kib-pull}42933[#42933]
* Adds certificate expiration dates to uptime GQL schema {kib-pull}43352[#43352]
* Adds TLS cert expiry to GQL schema for individual docs {kib-pull}44506[#44506]
* Adds Kuery Bar {kib-pull}43621[#43621]
* Duration chart gaps {kib-pull}45734[#45734]
* Adds zero monitors down heading {kib-pull}48257[#48257]
* Updates pings chart colors {kib-pull}46780[#46780]
Visualizations::
* Replaces TSVB timeseries charts with elastic-charts {kib-pull}33558[#33558]
* Adds percentile and median aggregations for timestamp fields {kib-pull}46477[#46477]
* Adds gte and lt symbols in range filter fields and tooltip {kib-pull}46697[#46697]
* Don't use placeholder visualization name {kib-pull}46719[#46719]
* Adds Lens visualization editor {kib-pull}36437[#36437]

[float]
[[bug-7.5.0]]
=== Bug fixes
APM::
* Widen filter used in logs link {kib-pull}46252[#46252]
* Correctly plurarlize view in discover link {kib-pull}47618[#47618]
* Log stacktrace comes from _.error.log and not _error.exception[0] {kib-pull}48185[#48185]
Canvas::
* Improves Canvas controls accessibility {kib-pull}48005[#48005]
Dashboard::
* Improve dashboard filters display to use color as well as text for negated filters {kib-pull}49939[#49939]
Discover::
* Add numeric_type option for correct sort order on mixed date and date_nanos fields {kib-pull}44212[#44212]
* Fix Maximum call stack size exceeded warnings {kib-pull}47829[#47829]
* Convert value provided to PhraseValueInput to string to prevent Exception with numeric values {kib-pull}45259[#45259]
* Remove redundant request to fetch index patterns {kib-pull}44998[#44998]
* Allow filter editor to open when selectedField is undefined {kib-pull}45402[#45402]
Graph::
* Do not carry over diversity field when switching data source {kib-pull}47560[#47560]
Logs::
* Use theme colors for the timeline background {kib-pull}46213[#46213]
* Address non-blocking nature of job deletion ML API {kib-pull}46040[#46040]
* Fix ML link for &quot;unknown&quot; partition {kib-pull}48779[#48779]
* Use full time range for the x-axis domain {kib-pull}48754[#48754]
* Fix initial accuracy of logs minimap click {kib-pull}48826[#48826]
Logstash::
* Remove formatted message component in favor of i18n translate function {kib-pull}45658[#45658]
Machine Learning::
* Set y-axis domain of the Single Metric Viewer according to the model plot  {kib-pull}48411[#48411]
* Fix partitioning field value update {kib-pull}48655[#48655]
* Update Anomaly Explorer and SMV on the &quot;Refresh&quot; button click {kib-pull}48773[#48773]
* Overview Page - follow-ups {kib-pull}47637[#47637]
* Adds missing links to ML plugin from ML Analytics job list in Management app {kib-pull}48432[#48432]
* Ensure proper permissions check for empty prompt 'Create job' buttons {kib-pull}49067[#49067]
* Fixes reselection of same Anomaly Explorer swimlane cell {kib-pull}48626[#48626]
* Fix Group By and Aggregations validation in Transforms wizard {kib-pull}48514[#48514]
* Fix Transform pivot documentation link {kib-pull}48522[#48522]
* Show MSE and rSquared in expanded row only for regression jobs {kib-pull}48390[#48390]
* Fix custom results_field and prediction_field_name not considered in eval config {kib-pull}48599[#48599]
* Check source index contains numerical fields only once it has been selected {kib-pull}48843[#48843]
* Fix analytics source index selection {kib-pull}48731[#48731]
* Fix code editor console error {kib-pull}49193[#49193]
Management::
* Migrate Console to use Node http instead of Hapi to support GET requests with bodies {kib-pull}46200[#46200]
* Fix leaky mappings subscription {kib-pull}45646[#45646]
* Fix Safari layout issue {kib-pull}47100[#47100]
* Fix stale value in editor shortcut command {kib-pull}48484[#48484]
* Fix disco filters #2 {kib-pull}50061[#50061]
Maps::
* Parse geojson files in chunks to avoid thread blocking {kib-pull}46710[#46710]
* Fix adding filters in map embeddable {kib-pull}45187[#45187]
* Avoid resizing tooltip while loading next feature during pagination {kib-pull}47517[#47517]
* Clean features in locked tooltip after re-fetch {kib-pull}48016[#48016]
* Properly handle id collisions in {kib} index pattern {kib-pull}48594[#48594]
* Fix propType warnings for source with joins {kib-pull}48905[#48905]
* Ensure grid buckets are rendered correctly at high zoom levels {kib-pull}44421[#44421]
Metrics::
* Tweak the z-index inventory toolbars {kib-pull}49642[#49642]
* Convert node detail page time range to date strings {kib-pull}43881[#43881]
* Add legends and points to charts on node detail page {kib-pull}43787[#43787]
* Limit Metric Explorer fields {kib-pull}43322[#43322]
* Create robust ID for contextual menus for inventory view {kib-pull}46358[#46358]
* Remove points from charts on Metrics Explorer and Detail Page {kib-pull}49500[#49500]
* Make sure that filter query bar can be set to null {kib-pull}50070[#50070]
* Use URL /infrastructure/metrics instead of /metrics {kib-pull}44532[#44532]
Monitoring::
* Ensure cloud cannot see setup mode {kib-pull}49223[#49223]
* Standarize on 'JVM Heap' phrase for heap metrics {kib-pull}48093[#48093]
* Added resize listener after handler was created {kib-pull}49452[#49452]
Operations::
* Use older systemd StartLimitInterval {kib-pull}47909[#47909]
* Variety of quick a11y fixes {kib-pull}46569[#46569]
* Main and nav landmark a11y fixes {kib-pull}48381[#48381]
* SearchSource: Fix docvalue_fields and fields intersection logic {kib-pull}46724[#46724]
Platform::
* Time range per panel design fixes {kib-pull}46630[#46630]
* Use custom deep merging strategy on createCluster {kib-pull}48836[#48836]
* Honor current search criteria when exporting saved objects {kib-pull}47223[#47223]
* Allow plugins to register top nav menu items (regression fix) {kib-pull}48542[#48542]
* Index Pattern Date formatter - fixing sample data display {kib-pull}48259[#48259]
* Read warning to screen readers for duplicate saved objects {kib-pull}47568[#47568]
* Ignore missing references on saved object exports {kib-pull}47685[#47685]
* Kibana should start without task manager {kib-pull}48568[#48568]
* Fixes issue where query bar reverts changes on save if it hasn't been submitted {kib-pull}47908[#47908]
* Add event.dataset to sample web logs {kib-pull}48150[#48150]
Reporting::
* Data read/write failures are error logs {kib-pull}45478[#45478]
* Cut down payload of _getPendingJobs query {kib-pull}47768[#47768]
* Fix Generating Reports with long `jobParams` RISON {kib-pull}45603[#45603]
SIEM::
* Fix incorrect inspected query for kpi network {kib-pull}49695[#49695]
* Filter out &quot;loading&quot; from Panel to make it more React performant {kib-pull}46258[#46258]
* Start of deprecated lifecycle refactor {kib-pull}46293[#46293]
* Show getting started page on empty string or _all {kib-pull}47166[#47166]
* Top Countries network page tab change; fix column heading bug {kib-pull}48526[#48526]
* Events Histogram add time_zone argument to match Events Table {kib-pull}48821[#48821]
* Fields browser, auto selects category bugfix {kib-pull}48999[#48999]
* Fix bug that fails to match index patterns with leading wildcard {kib-pull}49735[#49735]
* Fix Firefox focus state in SIEM tab_navigation {kib-pull}45996[#45996]
* Fix AnomaliesNetworkTable and AnomaliesHostTable items count {kib-pull}48634[#48634]
Security::
* Removes `&lt;form&gt;` tag that was breaking the EuiComboBox's enter key {kib-pull}48184[#48184]
* GUI enhancement: ability to sort the spaces table {kib-pull}46421[#46421]
Uptime::
* Added aria label description for ping over time chart {kib-pull}46689[#46689]
* Use EuiSelect instead of ComboBox for ping history {kib-pull}49700[#49700]
* Handle filter dropdown button click {kib-pull}48650[#48650]
* Do not drop edge buckets {kib-pull}48157[#48157]
* Fix chart wrapping for monitor page {kib-pull}49268[#49268]
* Add different request lib to `telemetry_analytics` in place of `$http` {kib-pull}49671[#49671]
* Remove potential for flaky snapshot comparison in unit test {kib-pull}49928[#49928]
* Revert router base name for Uptime plugin {kib-pull}50095[#50095]
* Section headline should be inside panel {kib-pull}43468[#43468]
* Removed extra slash from integration urls {kib-pull}44469[#44469]
* Align uptime help menu with other apps {kib-pull}44536[#44536]
* App page title {kib-pull}44818[#44818]
* Show permission warning if no right for uptime {kib-pull}44968[#44968]
* Integration popup closes after refresh {kib-pull}45759[#45759]
* Make uptime filters responsive {kib-pull}46560[#46560]
* Update monitor list table description by adding aria-label for accessibility {kib-pull}46696[#46696]
* Change default status filter in ping list to all on monitor page {kib-pull}47108[#47108]
* Disable filter and Add link to location docs when no location exists {kib-pull}49175[#49175]
Visualizations::
* Unable to deal with negative values {kib-pull}43581[#43581]
* Use correct color for circles in line chart {kib-pull}47715[#47715]
* Fix infinite loop in vega tooltips {kib-pull}47700[#47700]
* Improve error handling {kib-pull}47958[#47958]
* Show correct value in legend for step charts {kib-pull}47863[#47863]
* Input controls does not reset top level controls after clear {kib-pull}47937[#47937]
* Look up axis format from series instead of using default formatter {kib-pull}47696[#47696]
* Pass raw values and format afterwards {kib-pull}48090[#48090]

[float]
[[deprecation-7.5.0]]
=== Deprecations
Discover::
* De-angularize sidebar fields {kib-pull}47559[#47559]
Visualizations::
* Deprecate scale metrics behavior {kib-pull}47599[#47599]

[[release-notes-7.4.2]]
== {kib} 7.4.2

Also see <<breaking-changes-7.4, breaking changes in 7.4>>.

[float]
[[bug-7.4.2]]
=== Bug fix
Discover::
* Fixes missing HTML formatting in Doc_Viewer {kib-pull}49326[#49326]
* Fixes the URL field formatter {kib-pull}46332[#46332]
Visualizations::
* Fixes the loss of filters in TSVB after upgrade from 7.2 to 7.3 {kib-pull}48710[#48710]


[[release-notes-7.4.1]]
== {kib} 7.4.1

See also <<breaking-changes-7.4, breaking changes in 7.4>>.


[float]
[[enhancement-7.4.1]]
=== Enhancements
Monitoring::
*  Server side pagination for ES Nodes listing table {kib-pull}47224[#47224]
[float]
[[bug-7.4.1]]
=== Bug fixes
Canvas::
* Fixes workpad fullscreen view due to max-width limitation {kib-pull}47371[#47371]
Infrastructure::
* Loads initial page state into the URL when empty for Metrics Explorer {kib-pull}45683[#45683]
* Removes internal Hapi request for `makeTSVBRequest` {kib-pull}45598[#45598]
Machine Learning::
* Fixes selection of dedicated index when cloning job {kib-pull}46486[#46486]
* Fixes job clone time range auto selection {kib-pull}46582[#46582]
* Enables wizard start real time button only when job is closed {kib-pull}46127[#46127]
* Adds listener for time filter refresh to data visualizer {kib-pull}46708[#46708]
* Fixes view examples link in anomalies table {kib-pull}47954[#47954]
* Data Frame Analytics: Fixes permissions check {kib-pull}46110[#46110]
Management::
* ILM: Deletes `min_age` field if warm phase on rollover is enabled {kib-pull}45412[#45412]
* Console: Fixes actions menu alignment {kib-pull}47227[#47227]
Monitoring::
* Ensures all charts use the configured timezone {kib-pull}45949[#45949]
* Uses server side pagination for Logstash Pipelines page {kib-pull}46587[#46587]
* Fixes time filter woes {kib-pull}47486[#47486]
* Allows `isCollectionEnabledUpdated` to hang until data is available {kib-pull}46279[#46279]
Platform::
* Fixes issue with `saved_objects` API overwriting saved object references if not specified {kib-pull}47248[#47248]
Reporting::
* Fixes ESQueue worker error logging {kib-pull}46308[#46308]
* Fixes functionality of "Download CSV" from a Saved Search panel in a Dashboard {kib-pull}47891[#47891]
SIEM::
* Fixes map global refresh when the time filter is set to an absolute value {kib-pull}47426[#47426]
Security::
* Makes sure all URLs are relative on intake and execute {kib-pull}46528[#46528]
* Spaces: Fixes `SecureSpaceMessage` visibility {kib-pull}44829[#44829]
Uptime::
* Fixes empty name filter {kib-pull}46962[#46962]
* Fixes jerky monitor list expanded row behavior {kib-pull}47080[#47080]

[[release-notes-7.4.0]]
== {kib} 7.4.0

For information about the Kibana 7.4.0 release, review the following information.

[float]
[[breaking-changes-7.4]]
=== Breaking changes

Breaking changes can prevent your application from optimal operation and performance. Before you upgrade to 7.4.0, review the breaking changes, then mitigate the impact to your application.

//See also {kibana-ref-all}/7.4/release-highlights-7.4.0.html[release highlights] and <<release-notes-7.4.0, release notes>>.

//NOTE: The notable-breaking-changes tagged regions are re-used in the
//Installation and Upgrade Guide

////
The following section is re-used in the Installation and Upgrade Guide
[[breaking_70_notable]]
=== Notable breaking changes
////
// tag::notable-breaking-changes[]

[float]
[[breaking_74_search_instead_of-msearch]]
==== Use search instead of msearch when batching is disabled 

*Details:*
When the advanced setting `courier:batchSearches` is disabled, we 
previously sent the search requests as `_msearch` requests.
We now use `_search` when batching is disabled.

*Impact:*
When the advanced setting `courier:batchSearches` is disabled, 
requests from *Discover*, *Visualize*, and *Dashboard* will now query {es} 
using the `_search` endpoint rather than the `_msearch` endpoint.


// end::notable-breaking-changes[]

[float]
[[enhancement-7.4.0]]
=== Enhancements
APM::
* Surface http errors to users {kib-pull}42160[#42160]
* Transaction duration chart always shows duration in `ms` {kib-pull}42375[#42375]
* Use rounded bucket sizes for transaction distribution {kib-pull}42830[#42830]
* Show loading state on waterfall and avoid re-fetching distribution chart when changing bucket {kib-pull}44093[#44093]
* Make number of x ticks responsive to the plot width {kib-pull}44870[#44870]
* Persist table parameters to URL {kib-pull}39912[#39912]
* Local UI filters {kib-pull}41588[#41588]
* Use transaction indices to create ML job {kib-pull}43750[#43750]
* Update query input when url changes {kib-pull}43773[#43773]
* Only show &quot;Clear filters&quot; button when values are not empty {kib-pull}43967[#43967]
Canvas::
* Format argument for the metric element {kib-pull}42007[#42007]
* Query default index when index is unspecified {kib-pull}41515[#41515]
* Added formatnumber and formatdate UIs to sidebar {kib-pull}43059[#43059]
* Add Monaco to the Canvas Expression Editor {kib-pull}41790[#41790]
Dashboard::
* Reset dirty saved query on reload {kib-pull}43927[#43927]
Design::
* Add {kib} App specific URL to the help menu (#34739) {kib-pull}42580[#42580]
Discover::
* Add advanced setting to turn off search on Discover's initial page load {kib-pull}42036[#42036]
* Allow sorting on multiple columns in Discover {kib-pull}41918[#41918]
* Add icon for geo_shape fields in Discover {kib-pull}42087[#42087]
Infrastructure::
* Add UI to customize Metrics Explorer chart style {kib-pull}41022[#41022]
* Add cloud metrics and cloud/host info to metadata endpoint {kib-pull}41836[#41836]
* Add APM to Metadata Endpoint {kib-pull}42197[#42197]
* Add AWS metrics to node detail page {kib-pull}42153[#42153]
* Clarify confusing message about time period {kib-pull}44168[#44168]
Logs::
* Allow for jumping to the previous and next highlight {kib-pull}40010[#40010]
* Show highlighted log entries in the minimap {kib-pull}40745[#40745]
* Add a time cursor to the log minimap {kib-pull}39538[#39538]
* Make column configurations reorderable {kib-pull}41035[#41035]
* Add link from the sample web logs to the Logs UI {kib-pull}42635[#42635]
* Allow dragging of the log minimap to change visible logs {kib-pull}40092[#40092]

Machine Learning::
* Cards as links {kib-pull}45254[#45254]
* Adding datafeed timing stats to Job Management list {kib-pull}40993[#40993]
* Relaxing index pattern restriction on module setup {kib-pull}42619[#42619]
* Adding job overrides to the module setup endpoint {kib-pull}42946[#42946]
* Search bar on list page {kib-pull}41415[#41415]
* KQL bar for querying source data in creation wizard {kib-pull}41779[#41779]
* Creation wizard editor for source config {kib-pull}41937[#41937]
* {kib} management jobs list {kib-pull}42570[#42570]
* Adds Transform Analytics list to {kib} management {kib-pull}43151[#43151]
* Ensure proper title, tagline, and link to documentation {kib-pull}43418[#43418]
* DataFrame bulk actions {kib-pull}43331[#43331]
* Data Frames Summary Stats Bar {kib-pull}43986[#43986]
* Transform UI updates {kib-pull}44175[#44175]
* Converts index based data visualizer to React {kib-pull}42685[#42685]
* Enables cell range selection. {kib-pull}44066[#44066]
* Analytics jobs list. {kib-pull}42598[#42598]
* Analytics job creation. {kib-pull}43102[#43102]
* Outlier detection results page {kib-pull}43578[#43578]
* Advanced editor. {kib-pull}43989[#43989]
Management::
* Index Templates UI list view {kib-pull}39922[#39922]
* Index Templates UI details view {kib-pull}41602[#41602]
* Index templates form wizard {kib-pull}42457[#42457]
* Show endpoint in JSON preview of index lifecycle policy editor. {kib-pull}42791[#42791]
* Add API endpoint to Rollup Job JSON summary. {kib-pull}42789[#42789]
* Add request flyout to Remote Clusters. {kib-pull}42900[#42900]
* Show requests for creating a follower index and creating/updating an auto-follow pattern in CCR. {kib-pull}42924[#42924]
* Option to start rollup job right after it gets created {kib-pull}41573[#41573]
* Clone an existing rollup job {kib-pull}41891[#41891]
* Metrics multiple selection {kib-pull}42927[#42927]
* Add SLM policies list and detail views {kib-pull}41302[#41302]
* Sorts the indexPatternDateFields which are listed in the date field dropdown on Date Histogram Step  {kib-pull}41853[#41853]
* Delete and execute SLM policies {kib-pull}41934[#41934]
* SLM create and edit policies {kib-pull}43390[#43390]
* Form validation errors announce themself {kib-pull}39656[#39656]
* Switch default decimal places to 1 {kib-pull}43785[#43785]
* Add custom formatting for Date Nanos Format {kib-pull}42445[#42445]
Maps::
* Change border color to be darker version of fill color {kib-pull}43211[#43211]
* Add attribution handling for TMS (config &amp; UI-entry) and WMS {kib-pull}44147[#44147]
* Make default EMS tile layer auto select light or dark tiles based on isDark mode advanced setting {kib-pull}40892[#40892]
* Add filter bar to maps application {kib-pull}42756[#42756]
* Filter by shape {kib-pull}43141[#43141]
* Custom color ramp {kib-pull}41603[#41603]
* Add indicator when layer is filtered by search bar {kib-pull}43283[#43283]
* Add cancel draw button and draw instructions {kib-pull}43593[#43593]
* Pew pew source {kib-pull}41504[#41504]
* Load Maki icons from spritesheet {kib-pull}42499[#42499]
* Enable borders for icon symbols {kib-pull}43066[#43066]
* Provide indication in LayerTOC when results are incomplete {kib-pull}41271[#41271]
* Use EMS vector tiles {kib-pull}42846[#42846]
Monitoring::
* Update APM metric titles {kib-pull}44091[#44091]
Platform::
* Feature/default enable csv dashboard {kib-pull}44048[#44048]
* Chore/bump chromium webgl+kerberos {kib-pull}42751[#42751]
* Cancel visualize fetches when navigating away or re-fetching {kib-pull}42035[#42035]
* Ability to enable and disable alerts {kib-pull}40543[#40543]
* Per panel time range {kib-pull}43153[#43153]
* Promote many `debug` log events to `info`  {kib-pull}43241[#43241]
* Instantiate a logger top level, and use it throughout the job {kib-pull}43636[#43636]
* Add capture.maxAttempts setting {kib-pull}44011[#44011]
Queries::
* Implement saved queries and filters {kib-pull}39140[#39140]
Reporting::
* Rewrite telemetry collection to use a single query {kib-pull}34327[#34327]
* Truncate base64 urls in logs {kib-pull}41304[#41304]
* Sanitize 409 error log message {kib-pull}42495[#42495]
Security::
* PKI authentication in Kibana via Elasticsearch PKI realm {kib-pull}42606[#42606]
* OIDC authentication now supports the implicit flow {kib-pull}42069[#42069]
* Telemetry for csp configuration {kib-pull}43223[#43223]
* Copy Saved Objects to Spaces UI {kib-pull}39002[#39002]
* Allow for custom cluster privileges {kib-pull}43817[#43817]
SIEM::
* Customizable columns, row renderers, and expandable events in the `Events` widget {kib-pull}44324[#44324]
* Adds events and Timeline Style / ID Updates {kib-pull}44965[#44965]
* Applies highlighting to the Timeline data providers drop area and flyout button {kib-pull}45173[#45173]
* Sets page titles to the current page you are on  {kib-pull}42157[#42157]
* Update date picker after brush selection on charts {kib-pull}42440[#42440]
* Upgrades react-redux and utilize React.memo for performance gains  {kib-pull}43029[#43029]
* Changes network to use ECS fields {kib-pull}44392[#44392]
* Adds a configuraton option for the default SIEM date time range {kib-pull}44540[#44540]
* Fixes the columns to not show duplicate information when on detail pages.   {kib-pull}45031[#45031]
* Adds process_started ECS fields to Uncommon Process Table {kib-pull}45664[#45664]
* Adds Connections (Pewpew) Map to Network Page {kib-pull}43965[#43965]
* Adds telemetry for ML functionality {kib-pull}43926[#43926]
* Adds new jobs for SIEM ML Integration {kib-pull}44301[#44301]
* Moves installation of jobs from initial page load to opening of Anomaly Detection UI {kib-pull}45536[#45536]
* Adding new jobs to siem module {kib-pull}43783[#43783]
* Changes table widget loading to elastic user interface's loading content {kib-pull}41596[#41596]
* Changes hosts and network tables from load more to paginated {kib-pull}41532[#41532]
* Uses autonomous_system as new ECS field {kib-pull}43925[#43925]
* Makes ip details heading draggable {kib-pull}45179[#45179]
* Split into Source and Destination  {kib-pull}43719[#43719]
* Inject/apply KQL changed in refresh button {kib-pull}45065[#45065]
* Improves the timeline performance by optimizing the width, removing wasted renderers, and adding a visibility sensor  {kib-pull}43560[#43560]
Uptime::
* Improve `useUrlParams` hook for Uptime app {kib-pull}41545[#41545]
Visualizations::
* Introducing Timerange Data Mode for TSVB Metric Style Visualizations {kib-pull}37185[#37185]
* Allow other apps to list their custom visualizations in the Visualize app {kib-pull}43386[#43386]
* Threshold line on bar/line/area charts {kib-pull}42632[#42632]
* Adds capability to show percentages for data table columns {kib-pull}39572[#39572]

[float]
[[bug-7.4.0]]
=== Bug fixes
APM::
* Avoid APM failing to start when ml is disabled {kib-pull}42815[#42815]
* Fix missing RUM url {kib-pull}42940[#42940]
* Correctly pass service language for syntax highlighting {kib-pull}43771[#43771]
* Make sure histogram is responsive when resizing window {kib-pull}43759[#43759]
* Don't hide all legends if user has hidden one {kib-pull}43667[#43667]
* Fill in vertical gaps in breakdown metrics data {kib-pull}43663[#43663]
* Display all errors in child transactions/spans in trace overview {kib-pull}44274[#44274]
* Fix indefinite loading state in agent settings for unauthorized user roles {kib-pull}44970[#44970]
Canvas::
* Adds support for uppercase cluster names in esdocs and other datasource bug fixes {kib-pull}44311[#44311]
Dashboard::
* No reload on changes to disabled filters in dashboard {kib-pull}41144[#41144]
* Update assumption that panelIndex may be missing {kib-pull}44793[#44793]
Design::
* Update heading hierarchy for instructions {kib-pull}41970[#41970]
Discover::
* Fix TypeError at Discover's context view {kib-pull}43661[#43661]
Filters::
* Fix truncation of long filter bar items {kib-pull}43874[#43874]
* Keep disabled state on filter edit {kib-pull}42346[#42346]
* Put filters back in the filter context where they belong {kib-pull}42095[#42095]
Graph::
* Replace all occurences of placeholder in drilldown URL template {kib-pull}41673[#41673]
Infrastructure::
* Replace EUI Charts with Elastic Charts on node detail page {kib-pull}41262[#41262]
* Use {kib} date format for chart headers {kib-pull}41715[#41715]
* Change contextual menu position on infrastructure view {kib-pull}41810[#41810]
* Cleanup loading states for node detail page. {kib-pull}43311[#43311]
Logs UI::
* Fix rendering of complex field column values {kib-pull}44906[#44906]
* Announce name of column on remove column button {kib-pull}41695[#41695]
* Sentence case copy changes {kib-pull}43215[#43215]
Machine Learning::
* Allow zero delay for transforms wizard {kib-pull}45115[#45115]
* Fix jobs list loading when auto refresh is off {kib-pull}42076[#42076]
* Allow index patterns containing commas in recogniser modules {kib-pull}43686[#43686]
* File data viz limiting uploaded doc chunk size {kib-pull}44768[#44768]
* Fixing job management expanded rows in dark mode {kib-pull}45159[#45159]
* Adjusting module jobs model memory limit {kib-pull}45502[#45502]
* Ensure Anomaly Explorer chart label badge can be seen {kib-pull}44259[#44259]
* Fix {kib} management stats bar style {kib-pull}44658[#44658]
* Ensure preview table displays scripted fields and timestamps are formatted correctly. {kib-pull}44701[#44701]
* Enable data visualizer link on job types page for non-time index {kib-pull}44667[#44667]
* Fixes messages in data frame action request notifications {kib-pull}44872[#44872]
* Fixes JSON pane. {kib-pull}42816[#42816]
* Fix IE11 issue, update types. {kib-pull}43743[#43743]
* Fixes table sorting. {kib-pull}43859[#43859]
Management::
* Fix rendering `undefined` from job status map {kib-pull}41438[#41438]
* Added doc_values to list of completion items for mapping {kib-pull}42581[#42581]
* Fix date_nanos formatting for formats without fractional seconds {kib-pull}43114[#43114]
Maps::
* Reverse the attribution order so left-to-right order matches top-to-bottom {kib-pull}44415[#44415]
* Set complete on index pattern creation {kib-pull}44423[#44423]
* Unknown provider regionMapsConfigProvider {kib-pull}42821[#42821]
* Only color legend icon with dynamic color when dynamic config is complete {kib-pull}41607[#41607]
* Populate _id in tooltip {kib-pull}41684[#41684]
* Only show top hits checkbox if index has date fields {kib-pull}43056[#43056]
* Reposition tooltip when tooltip size changes {kib-pull}43152[#43152]
* Exclude index pattern from draw tools and shape filtering when layer ignores global filter {kib-pull}43380[#43380]
* Increase tooltip max width so create filter button not clipped {kib-pull}43602[#43602]
* Add i18n wrappers around missed text {kib-pull}43635[#43635]
* Only display fields contained in _source for Documents source term join left field options {kib-pull}44386[#44386]
* Fix side panel scrolling in safari {kib-pull}44700[#44700]
* Name space dynamic property style names to avoid collisions {kib-pull}44676[#44676]
* Unmount map embeddable component on destroy {kib-pull}45183[#45183]
* Set mapbox Popup maxWidth {kib-pull}45253[#45253]
Monitoring::
* Ensure we pass down all the parameters for fetching logs {kib-pull}43869[#43869]
* Issue 25323: Fixed error catch and route handling v2 {kib-pull}44800[#44800]
* Respect xpack.monitoring.show_license_expiration {kib-pull}45537[#45537]
Operations::
* Configurable global socket timeouts {kib-pull}31603[#31603]
* Only provide obsoleteIndexTemplatePattern to the default index migrator to avoid race conditions {kib-pull}42016[#42016]
Platform::
* Modify I18nProvider so that it does not generate new React components {kib-pull}43556[#43556]
* Fix rawChecksums in chromium build and rename for clarity {kib-pull}44665[#44665]
* Resolve filter index references when importing saved objects {kib-pull}42974[#42974]
Queries::
* Saved query requires title {kib-pull}45029[#45029]
* Save query form validation on blur {kib-pull}43726[#43726]
Reporting::
* Fix Relative Date format in CSV export {kib-pull}40544[#40544]
* Fix TypeError with pending job info {kib-pull}43924[#43924]
* Use pipes for communication with chrome to avoid networking snafus {kib-pull}42097[#42097]
Security::
* Allow for hex color codes that include uppercase characters {kib-pull}43470[#43470]
* Prevent space identifier url example from overflowing panel {kib-pull}44871[#44871]
SIEM::
* Toggle Column / Code Coverage and Cypress {kib-pull}42766[#42766]
* Show all popover items / Timeline flyout button rendering {kib-pull}45745[#45745]
* Upgrade elastic charts library - v12.0.2 {kib-pull}45853[#45853]
* Adds performance enhancements such by removing wasted renderers and adding incremental DOM rendering {kib-pull}43157[#43157]
* Fixes the Suricata row renderer not being activated {kib-pull}44728[#44728]
* Changes ML conditional links to use tabs, fixes a small bug with null filterQuery {kib-pull}45218[#45218]
* Fixes index substring incorrectly matching configured indices and failing to install ML job {kib-pull}43409[#43409]
* Fix timeline/kql search disparity {kib-pull}42843[#42843]
* Formats the bytes columns in timeline {kib-pull}43147[#43147]
* Capitalizes SIEM in {kib} Advanced Settings {kib-pull}44886[#44886]
* Removes expensive global CSS calculations of resize handle {kib-pull}43898[#43898]
Uptime::
* Encode Monitor Id React Router params to validate {kib-pull}43113[#43113]
* Context Menu Improved for integrations links in monitors list {kib-pull}43068[#43068]
* Update monitor list configs for mobile view {kib-pull}43218[#43218]
Visualizations::
* No longer registering Timelion feature if it's disabled {kib-pull}42193[#42193]
* Fix Timelion color error when filtering data {kib-pull}23876[#23876]
* Fix truncated formatting on tooltip {kib-pull}41769[#41769]
* Ensure visualizations in percentage mode respect the advanced settings percent format {kib-pull}39044[#39044]
* Fix duplicate fetch in Visualize {kib-pull}41204[#41204]


[[release-notes-7.3.2]]
== {kib} 7.3.2

See also <<breaking-changes-7.3, breaking changes in 7.3>>.

[float]
[[bug-7.3.2]]
=== Bug fixes
Monitoring::
* Ensures all the parameters for fetching logs are passed down {kib-pull}43869[#43869]

SIEM::
* Fixes the Suricata row renderer not being activated {kib-pull}44728[#44728]
* When adding the 2*nth note on an event, does not unpin it {kib-pull}44941[#44941]
* Fixes duplicate columns in timeline and the errors on multiple click on pinned event {kib-pull}44010[#44010]

Security::
* In Spaces, allows for hex color codes that include uppercase characters {kib-pull}43470[#43470]

Platform::
* Resolves filter index references when importing saved objects {kib-pull}42974[#42974]



[[release-notes-7.3.1]]
== {kib} 7.3.1

[float]
[[breaking-7.3.1]]
=== Breaking Changes

See also <<breaking-changes-7.3, breaking changes in 7.3>>.

Platform::
* Fixes import API so it doesn't override SavedObjectClient errors {kib-pull}41125[#41125]

[float]
[[bug-7.3.1]]
=== Bug fixes
APM::
* Makes sure tooltips for metric charts are synced {kib-pull}42139[#42139]
Canvas::
* Fixes IE11 fullscreen behavior to properly position workpad {kib-pull}42544[#42544]
Discover::
* Fixes a bug where selecting a period in the discover histogram did not result in a refresh. {kib-pull}43097[#43097]
Filters::
* Fixes Firefox continuously changing filter position order when
applying more than 1 filter. See https://github.com/elastic/kibana/issues/41567[issue #41567].
Geo::
* Moves Geojson deep clone logic to Elasticsearch, making Geojson
upload more stable when uploading large geometries. {kib-pull}41835[#41835]
* Fixes maps Geojson upload hanging on index step {kib-pull}42623[#42623]
* Formats doc-ids as strings {kib-pull}42011[#42011]
* Modifies Fit-to-data action to fit to all visible features, even ones
without a corresponding result in the join. {kib-pull}42020[#42020]
Infra Logs UI::
* Fixes section mapping bug in node detail page {kib-pull}41641[#41641]
* Fixes autocomplete to use proper derived index pattern {kib-pull}42287[#42287]
Machine Learning::
* Fixes basic license redirect {kib-pull}41876[#41876]
* Fixes file datavisualizer mapping overrides {kib-pull}42047[#42047]
* Fixes ml when spaces feature is disabled {kib-pull}42564[#42564]
* Fixes check for watcher being enabled {kib-pull}43025[#43025]
Management::
* Removes validation for email action body attribute in Watcher {kib-pull}42009[#42009]
* Fixes minor Console regressions introduced during EUIfication. {kib-pull}41089[#41089]
* Fixes issue when removing scripted fields {kib-pull}42838[#42838]
Monitoring::
* Only fetches a single cluster data instead of all clusters when possible {kib-pull}42469[#42469]
* Uses async/await pattern which should address weird bug {kib-pull}42876[#42876]
* Uses fixed_interval explicitly for date_histogram aggregations {kib-pull}37023[#37023]
Operations::
* Overrides `org.label-schema.license` Docker label {kib-pull}42836[#42836]
Platform::
* Fixes CSV export of saved searches that have _source field {kib-pull}43123[#43123]
* Correctly sets `kibanaRoot` on {kib} plugin helpers for new generated plugins {kib-pull}42616[#42616]
* Fixes scaling logic to check agg type instead schema {kib-pull}42574[#42574]
Reporting::
* Fixes an issue in the Reporting jobs listing page that sometimes prevented it from rendering {kib-pull}42419[#42419]
Visualizations::
* Fixes problem in TSVB when group by &quot;Everything&quot; fails to calculate data with &quot;Overall&quot; metrics {kib-pull}42074[#42074]
* Fixes error when filters agg filters are a query_string query {kib-pull}43310[#43310]
* Fixes tooltip text overflow {kib-pull}41703[#41703]

[[release-notes-7.3.0]]
== {kib} 7.3.0

For information about the Kibana 7.3.0 release, review the following information.

[float]
[[breaking-changes-7.3]]
=== Breaking changes

Breaking changes can prevent your application from optimal operation and performance. Before you upgrade to 7.3.0, review the breaking changes, then mitigate the impact to your application.

See also {kibana-ref-all}/7.3/release-highlights-7.3.0.html[release highlights] 
and <<release-notes-7.3.0, release notes>>.

//NOTE: The notable-breaking-changes tagged regions are re-used in the
//Installation and Upgrade Guide

////
The following section is re-used in the Installation and Upgrade Guide
[[breaking_70_notable]]
=== Notable breaking changes
////
// tag::notable-breaking-changes[]

[float]
==== Visibility of features after configuring a term join in Maps
*Details:* When performing a terms join in a vector layer in the Maps app, features that do not have a matching term in the join will no longer be visible on the map. Before, these features would remain visible, although they would not show any results for the join in their corresponding tooltip. This aligns the behavior of this functionality with the behavior in the Region Maps visualization. The old behavior, in which features without a corresponding record in the term-query result would still be visible on the map, is no longer supported.

*Impact:* This affects all maps that have a term join configured on a vector layer. The effect is primarily a change in the visual representation of the layer. In practice, fewer features will be visible if the results of the term-query have no corresponding record for all features on the map. This also means that all fields in a tooltip will have a corresponding value. Previously, the aggregation metrics for some rows in the tooltip would just be empty if there was no corresponing result in the term-query.

[float]
[[breaking_73_data_frames_date_format]]
==== Removed support for date histogram format specifications in {transforms}

*Details:* If your {transform} groups your data by using a date
histogram, the `format` property is no longer supported.

*Impact:* {transforms-cap} that were created in 7.2 and use date
histograms might no longer work in 7.3. If you run into issues starting a
{transform}, recreate it by copying the `pivot` part of the configuration into the
advanced editor of the {transforms} wizard. The advanced editor will
remove the unsupported attribute once the configuration gets applied.

// end::notable-breaking-changes[]

[float]
[[breaking_73_dashboard_import_export]]
==== Dashboard import and export APIs

[float]
===== Dashboard import and export APIs error status codes
*Details:* The dashboard import and export APIs will return more accurate HTTP
status codes instead of returning a HTTP 400 status code for all failure
scenarios. Specifically, authorization failures will now correctly return a
HTTP 403 when the authenticated user lacks sufficient privileges.

*Impact:* Review the error handling logic of any integrations with the
dashboard import and export APIs.


[float]
[[deprecations-7.3.0]]
=== Deprecation

The following functionality is deprecated in 7.3.0, and will be removed in 8.0.0.
Deprecated functionality does not have an immediate impact on your application, but we strongly recommend
you make the necessary updates after you upgrade to 7.3.0.

[discrete]
[[deprecation-xpack-security-authProviders]]
==== Deprecates `xpack.security.authProviders` and `xpack.security.public`

*Details:* Deprecates the `xpack.security.authProviders` and `xpack.security.public` settings used for {kib} SAML authentication. For more information, refer to {pull}37346[#37346].

*Impact:*

When you use the SAML authentication provider, use the following settings:

* Instead of `xpack.security.authProviders`, use `xpack.security.authc.providers`.

* Instead of `xpack.security.public`, use `xpack.security.authc.saml.realm`.

[float]
[[enhancement-7.3.0]]
=== Enhancements
Canvas::
* Add new dashboard template {kib-pull}37520[#37520]
* Keyboard shortcuts for nudging elements {kib-pull}39208[#39208]
* [Fixes #27123] Zoom In/Out {kib-pull}38832[#38832]
* Add joinRows Canvas expression function {kib-pull}38680[#38680]
* [Fixes #27124] Fit Workpad to Window {kib-pull}39864[#39864]
* [Fixes #23061, #23144, #29526] Enable Canvas URL Parameters {kib-pull}40061[#40061]
* Alignment and distribution {kib-pull}39132[#39132]
* [Fixes #30841] Box select {kib-pull}32995[#32995]
Infrastructure::
* Link to node detail page from Metrics Explorer {kib-pull}37136[#37136]
* Adds tooltip (with name / id) to Table view {kib-pull}38904[#38904]
* Improve accuracy of system network metrics {kib-pull}39513[#39513]
* Add default metrics to metrics explorer. {kib-pull}39787[#39787]
* Use max instead of avg for correct derivative in network metrics {kib-pull}41009[#41009]
Logs UI::
* Add single phrase highlighting {kib-pull}39569[#39569]
* [Fixes #38167] Add &quot;View in APM&quot; link to log flyout actions menu  {kib-pull}39540[#39540]
Machine Learning::
* [Fixes #39240] When importing CSV through file data viz, omit empty values {kib-pull}39524[#39524]
* [Fixes #39242] Don't quote numbers when importing CSV in file data viz {kib-pull}39579[#39579]
* Adds data frame messages to data frames list {kib-pull}39609[#39609]
* Adds icon to data frame messages expanded row tab {kib-pull}39817[#39817]
* Adds Preview table tab to Data Frames list expanded row {kib-pull}39983[#39983]
* Data Frames list expanded row preview: Fixes transform list paging and sorting. {kib-pull}40163[#40163]
* [Fixes #37312] Only add ML links for sample data sets if full license {kib-pull}38120[#38120]
* [Fixes #37994] Adds check that forecast duration is no more than 3650 days {kib-pull}38408[#38408]
* Adds SIEM Auditbeat and metricbeat data recognizer modules {kib-pull}39678[#39678]
* [Fixes #28390] [Accessibility] Add job ID to select row checkbox aria-label in Jobs List {kib-pull}40149[#40149]
* Data Frames: Advanced editor {kib-pull}39659[#39659]
* Data Frames: Continuous mode support for wizard {kib-pull}39804[#39804]
* Data Frames: Updated progress reporting. {kib-pull}39920[#39920]
* Data Frames: Transform list refresh button. {kib-pull}40129[#40129]
* [Fixes #38776] Data Frames: Adds support for transform description {kib-pull}40153[#40153]
Management::
* [Fixes #13804, #17894, #17956, #17969, #17978, #18008, #18008, #18031, #18047, #18052, #18151, #18191, #18245, #18246, #18256, #18268, #18271, #18296, #18353, #18506, #18508, #18532, #18536, #18794, #22615, #29167, #33207, #33917, #34932, #39828] EUIfy Watcher {kib-pull}35301[#35301]
* Add repository-azure autocompletion settings {kib-pull}37935[#37935]
* [Fixes #32132] Allow users to disable polling in Console {kib-pull}38949[#38949]
* [Fixes #15628] Add setting for disabling use of triple quotes in the Console output pane. {kib-pull}39114[#39114]
* Separate Console History panel from editor with a drop-shadow, and add a Close button {kib-pull}39972[#39972]
* [Fixes #39985] Accept triple quoted input in Search Profiler. {kib-pull}39984[#39984]
* Snapshot and Restore UI {kib-pull}39193[#39193]
* EUIfy Console - partially de-angularize and move custom views out of top_nav {kib-pull}39341[#39341]
* Console update autocomplete definitions {kib-pull}39508[#39508]
Maps::
* [File upload] New plugin: file upload {kib-pull}36404[#36404]
* [File upload] Geojson upload {kib-pull}36410[#36410]
* [Fixes #35659] Heatmap color ramp select and legend details {kib-pull}37187[#37187]
* [Fixes #30738] Add support for Top Hits to Documents source {kib-pull}38052[#38052]
* [Fixes #30738] Symbolize points with maki icons {kib-pull}37822[#37822]
* Add Symbol orientation style property {kib-pull}39129[#39129]
* [Fixes #35978] Move set view to toolbar control, show zoom level in view control {kib-pull}38925[#38925]
* [Fixes #34399] Add Where clause to terms joins {kib-pull}39593[#39593]
* Increase document limit from 2048 to 10000 {kib-pull}39697[#39697]
* Remove beta labeling from application and docs {kib-pull}39871[#39871]
* [Fixes #31697] Custom labels for metric aggregations {kib-pull}39914[#39914]
* Replace legacy map visualizations with maps in sample data dashboards {kib-pull}35997[#35997]
* [Fixes #34026] Make EMS tooltips configurable {kib-pull}34325[#34325]
* [Fixes #29005] Add multiple feature selection in tooltips {kib-pull}39629[#39629]
Monitoring::
* Removed dead code {kib-pull}39545[#39545]
* [Fixes #5429] Added a shortcut to ML jobs {kib-pull}39147[#39147]
Platform::
* Query Filter \ Filter Manager: de-angularize and move to data plugin {kib-pull}37311[#37311]
* Introduce setting to disable batching in courier {kib-pull}39470[#39470]
Reporting::
* Export Saved Search CSV as Dashboard Panel Action {kib-pull}34571[#34571]
* Check if CSV cells (including headers) start with known formula characters {kib-pull}37930[#37930]
SIEM::
* Kpi on host details page {kib-pull}39681[#39681]
* Adds Machine Learning table anomalies, a pop over UI for anomalies, and machine learning details score  {kib-pull}39483[#39483]
* Adds Machine Learning Permissions to hide or show UI elements based on the permissions {kib-pull}40119[#40119]
* Adds Machine Learning Anomaly Table to Host Details and Network Details {kib-pull}40223[#40223]
* Adds conditional linking within the application for machine learning jobs {kib-pull}40547[#40547]
* Adds ML Integration for Installing &amp; Starting/Stopping embedded ML jobs {kib-pull}39766[#39766]
* Fix URL state request once initial state {kib-pull}38955[#38955]
* SIEM inspect query {kib-pull}39980[#39980]
* Enhance inspect modal  {kib-pull}40530[#40530]
Security::
* Hiding management link {kib-pull}38472[#38472]
* [Fixes #36626] Display message when logging out of Kibana {kib-pull}37234[#37234]
* [Fixes #38563] Allow roles to be cloned {kib-pull}39303[#39303]
* Make SAML realm name configurable {kib-pull}37346[#37346]
Uptime::
* Summary based monitors Page {kib-pull}39751[#39751]
* [Fixes #38786, #57711] Add monitor summaries {kib-pull}38895[#38895]
* Replace deprecated EUI charts {kib-pull}34313[#34313]
* [Fixes #46] Add error callout for uptime filter bar {kib-pull}38140[#38140]
* Add telemetry collector {kib-pull}34437[#34437]
* Add link for logs host integration {kib-pull}38010[#38010]
* [Fixes #40589] Add link to Uptime documentation from header help menu {kib-pull}40645[#40645]
Visualize::
* Visual Builder duration in second showing as number {kib-pull}35813[#35813]
* Get rid of default export on TSVB {kib-pull}36872[#36872]
* KQL in TSVB {kib-pull}36784[#36784]
* Add configs for terminate_after {kib-pull}37643[#37643]
* Enable use of KQL and autocomplete in filters agg editor {kib-pull}37287[#37287]
* Add automatic alignment to gauge visualisation {kib-pull}34845[#34845]
* Support Elasticsearch date_nanos datatype {kib-pull}36111[#36111]
* Support for date_nanos type timestamps in context view  {kib-pull}38023[#38023]
* [Fixes #38424] Show link to Maps application in create new visualize menu {kib-pull}39191[#39191]
* Rename Visual Builder to TSVB {kib-pull}39125[#39125]
* [Fixes #7116] Show values of bars inside bar charts {kib-pull}36511[#36511]
* Add dateHistogramInterval utility {kib-pull}39091[#39091]

[float]
[[bug-7.3.0]]
=== Bug fixes
APM::
* [Fixes #34866] Fix encoding issue with forward slash in path {kib-pull}37072[#37072]
* [Fixes #34697] Distinguish between loading state and empty state {kib-pull}40651[#40651]
* [Fixes elastic/kibana#40477] [APM Tutorial] Fix APM Server link on Cloud {kib-pull}40711[#40711]
* [Fixes #40351] Make sure stacked area charts handle no data points incorrectly {kib-pull}40353[#40353]
Canvas::
* [Fixes #41296] Apply global CSS to export workpad view {kib-pull}41298[#41298]
* [Fixes #39852] Native HTML5 drag&amp;drop shouldn't kick in {kib-pull}39861[#39861]
* [Fixes #24773]  Fix workpad list overflow {kib-pull}37345[#37345]
Discover::
* [Fixes #41348] Bugfix for exception at discover context view using date_nanos  {kib-pull}41353[#41353]
Infrastructure::
* Support metrics for different docs in Metric Explorer {kib-pull}38153[#38153]
* [Fixes #38141] Allow Metrics Explorer to set KQL filters in TSVB {kib-pull}38280[#38280]
* [Fixes #36818] Metrics Explorer action menu should honor UI capabilities {kib-pull}36824[#36824]
* [Fixes #39809] Sync state with localStorage for Metrics Explorer {kib-pull}40099[#40099]
* [Fixes #40138] Convert bytes to bits before formatting for bits {kib-pull}40523[#40523]
* [Fixes #38130, #37694] Fix CSS to improve IE11 experience {kib-pull}40309[#40309]
* [Fixes #40251] Change GraphQL fetchPolicy for Inventory View {kib-pull}40814[#40814]
* [Fixes #40914] Fix Metric Explorer title truncation {kib-pull}40913[#40913]
* [Fixes #40493] Inventory should display nodes without names {kib-pull}40804[#40804]
* Make queries more robust against missing indices {kib-pull}38976[#38976]
* [Fixes #35975] Fixes text overflow for values in waffle map squares {kib-pull}39068[#39068]
* Add temporary workaround for too small max-width. {kib-pull}39890[#39890]
* [Fixes #39892] Remove queries for log-related metadata {kib-pull}40130[#40130]
* [Fixes #37362] Make arrays of values more readable in log columns {kib-pull}38692[#38692]
* [Fixes #38734] Capitalize 'explorer' in 'Metrics Explorer' {kib-pull}39101[#39101]
* [Fixes #35784] Shrink log stream when window is resized {kib-pull}38937[#38937]
* [Fixes #39913] Widen Group By dropdown and add tooltips to custom metrics {kib-pull}40692[#40692]
Logs UI::
* [Fixes #39991] Fixes &quot;sticky filter&quot; problem {kib-pull}40226[#40226]
* [Fixes #39944] Fix inaccuracy when jumping to a faraway time target {kib-pull}40303[#40303]
Machine Learning::
* Data Frame: Disable link to create new data frame job when no permissions {kib-pull}40268[#40268]
* Data Frame: ensure pivot preview works with comma-separated index patterns  {kib-pull}40282[#40282]
* [Fixes #40562] Single Metric View: ensure charts loaded correctly when using scripted fields {kib-pull}40682[#40682]
* [Fixes #18076] Fixes loading of Single Metric Viewer if partition field is text {kib-pull}37975[#37975]
* [Fixes #37974] Close job after forecast errors if starting from closed {kib-pull}38253[#38253]
* [Fixes #38661] Show time range button on index data viz when not on full license {kib-pull}38789[#38789]
* [Fixes #38559] Increase max data frame transforms in list from 100 to 1000 {kib-pull}38973[#38973]
* [Fixes #39770] Fixes results time range if anomalies occur after data stops {kib-pull}40503[#40503]
* [Fixes #32304] Fixes positioning of annotations brush after window resize {kib-pull}40780[#40780]
* [Fixes #33416] Fixes positioning of Single Metric zoom when at start of range {kib-pull}40854[#40854]
* [Fixes #41135] Fixes model memory limit for metricbeat system module jobs {kib-pull}41747[#41747]
* Data Frame: Rename target index to destination index. {kib-pull}39239[#39239]
* [Fixes #38872] Data Frame: Fixes crash of the source table for complex field values. {kib-pull}39878[#39878]
* Data Frame: Fixes transform list paging and sorting. {kib-pull}40009[#40009]
* [Fixes #38654] Data Frame: Fix form validation {kib-pull}40427[#40427]
* [Fixes #38395] Data Frame: Fixes search triggering onChange on every keystroke. {kib-pull}40607[#40607]
* [Fixes #40960] Fix loading forecasts from anomaly job list. {kib-pull}41034[#41034]
* Data Frame: Fix source table for cells of type object. {kib-pull}41234[#41234]
Management::
* [Fixes #33424, #18851] [IM] Improve UX for permissions error {kib-pull}38916[#38916]
* [Fixes #34751, #19249] [LICENSE] Check permissions before loading license management actions {kib-pull}39183[#39183]
* [Fixes #21484] [IM] warn user before closing or deleting kibana index {kib-pull}39018[#39018]
* [Fixes #38940] Fix Console bug caused by rapidly opening and closing the History tab. {kib-pull}38950[#38950]
* [Fixes #38562] Fix Search Profiler's 'Index' input's placeholder color contrast accessibility. {kib-pull}38952[#38952]
* [Fixes #36983] Fix field autocomplete suggestions in Console {kib-pull}38948[#38948]
* [Fixes #40254] Fix aggs autocompletion in Console. {kib-pull}40816[#40816]
* [Fixes #39087] Remove config from IndexPattern instance {kib-pull}40146[#40146]
* Fix `Rollup` tag not showing on rollup index patterns in list {kib-pull}40297[#40297]
Maps::
* [Fixes #38021] Use coalesce to ensure number always passed to interpolate for data driven size styling {kib-pull}38427[#38427]
* Provide IntlProvider to map listing page {kib-pull}39459[#39459]
* [Fixes #37369] Do not allow save when map has unsaved layer changes {kib-pull}39529[#39529]
* [Fixes #38962] Documents source - top hits - support script fields {kib-pull}39371[#39371]
* [Fixes #40307] Fix react typing for style property type {kib-pull}40518[#40518]
* Use custom labels in legend details {kib-pull}40308[#40308]
* Fix symbol anchor position {kib-pull}40524[#40524]
* [Fixes #40337] Use default locale as fallback for EMS tile layers {kib-pull}40433[#40433]
* [Fixes #40085] Show dialog to save map when leaving app {kib-pull}40215[#40215]
* Shuffle feature ids to avoid mapbox-gl crashes {kib-pull}40803[#40803]
* [Fixes #40646] Remove data on error {kib-pull}41358[#41358]
* [Fixes #41491] Coerce term join values to string {kib-pull}41503[#41503]
Monitoring::
* Add log message for error scenario around missing licensing {kib-pull}40660[#40660]
* [Fixes #36738] Issue 36738: Added zoomout functionality to all charts {kib-pull}39072[#39072]
* [Fixes #28471] Issue 28471: Added strict id checking {kib-pull}40673[#40673]
Operations::
* Fixes an issue where headless_shell doesn't get properly closed (and … {kib-pull}40924[#40924]
* [Fixes #31549] Configurable global socket timeouts {kib-pull}31603[#31603]
Platform::
* [Fixes #14544] Cancel Discover fetch requests if a new one is submitted {kib-pull}39963[#39963]
* [Fixes #38127] Add required default markdown visState {kib-pull}38390[#38390]
* Fixing custom vis types buildPipeline {kib-pull}39874[#39874]
Reporting::
* Bugfix/reporting png is cancelled {kib-pull}37513[#37513]
* Addresses an issue where Chromium user-data-dirs aren't removed {kib-pull}40284[#40284]
SIEM::
* Update translation {kib-pull}40038[#40038]
* Styling KQL bar {kib-pull}40487[#40487]
Security::
* [Fixes #40014] Spaces API - default disabledFeatures to empty array {kib-pull}40017[#40017]
* [Fixes #39837] Feature Controls - only navigate to index pattern management if available {kib-pull}40067[#40067]
Uptime::
* [Fixes #39679] Fix filter status bar location selection {kib-pull}41382[#41382]
* [Fixes #40171] [Bug] Handle all supported empty states {kib-pull}40194[#40194]
* Fix unsigned integer parsing error and add tests {kib-pull}40526[#40526]
* [Fixes #40582] Change page headlines to use h1 element {kib-pull}40637[#40637]
* [Fixes #40583] Add explicit alignments to table columns {kib-pull}40680[#40680]
* Fix duration chart for Safari {kib-pull}41619[#41619]
Visualize::
* VisualBuilder Metric: Zero values ends in a changed behavior of the color rules {kib-pull}39583[#39583]
* Wrap long text inside of TSVB chart tooltip. {kib-pull}39630[#39630]
* [Fixes #34535] Adds time zone to date_range bucket aggregation {kib-pull}37576[#37576]
* [Fixes #39580] Corrects index pattern for fields in split_by_terms {kib-pull}39723[#39723
* [Fixes #40351] Make sure stacked area charts handle no data points incorrectly {kib-pull}40353[#40353]
* Fix `Rollup` tag not showing on rollup index patterns in list {kib-pull}40297[#40297]
* [Fixes #37940] Don't show listing limit exceeded warning falsely {kib-pull}38246[#38246]
* Add default values for filter labels property for xy charts {kib-pull}38644[#38644]
* [Fixes #39788, #39655] Fix tooltip label name rendering in pie charts. {kib-pull}40105[#40105]
* Fix autorefresh in visualize editor {kib-pull}41657[#41657]
* [Fixes #41357] Bugfix displaying date_nanos formated min/max aggs {kib-pull}41472[#41472]
* [Fixes #39083] Fix visualization migration when savedSearchId is empty string {kib-pull}40172[#40172]
* Change help URL in timelion to point to current docs {kib-pull}39885[#39885]
* Check whether vis type exists {kib-pull}39803[#39803]
* [Fixes #28842] Fix issue with long values in TSVB static metric {kib-pull}40256[#40256]
* [Fixes #36295] Fix visualizations for rollups using fixed_interval or calendar_interval {kib-pull}39537[#39537]
* Fix bug in Filters aggregation and Terms aggregation with Other bucket {kib-pull}40698[#40698]

[[release-notes-7.2.1]]
== {kib} 7.2.1

See also <<breaking-changes-7.2, breaking changes in 7.2>>.

[float]
[[enhancement-7.2.1]]
=== Enhancements
Machine Learning::
* Only adds ML links for sample data sets if full license {kib-pull}38120[#38120]
* Adds check that forecast duration is no more than 3650 days {kib-pull}38408[#38408]
Observability::
* Uptime: Adds error callout for filter bar {kib-pull}38140[#38140]

[float]
[[bug-7.2.1]]
=== Bug fixes
Geo::
* Uses default locale as fallback for EMS tile layers {kib-pull}40433[#40433]
Infra Logs UI::
* Infra UI: Resets error when IP address changes to valid entry {kib-pull}38022[#38022]
Machine Learning::
* Closes job after forecast errors if starting from closed {kib-pull}38253[#38253]
* Shows time range button on index data viz when not on full license {kib-pull}38789[#38789]
* Increases max data frame transforms in list from 100 to 1000 {kib-pull}38973[#38973]
* Data Frames: Fixes crash of the source table for complex field values {kib-pull}39878[#39878]
Management::
* Console: Fixes field autocomplete suggestions {kib-pull}38948[#38948]
* Console: Fixes aggs autocompletion {kib-pull}40816[#40816]
* Console: Fixes bug caused by rapidly opening and closing the History tab {kib-pull}38950[#38950]
* Index Management: Improves user experiences for permissions error {kib-pull}38916[#38916]
* Index Management: Warns user before closing or deleting {kib} index {kib-pull}39018[#39018]
* License Management: Checks permissions before loading license management actions {kib-pull}39183[#39183]
* Search Profiler: Fixes placeholder color contrast accessibility in Index input {kib-pull}38952[#38952]
Monitoring::
* Adds zoomout functionality to all charts {kib-pull}39072[#39072]
* Adds log message for error scenario around missing licensing {kib-pull}40660[#40660]
Security::
* Feature Controls: Only navigates to index pattern management if available {kib-pull}40067[#40067]
* Spaces: Fixes scenario where a Space is created via the API without specifying any `disabledFeatures` {kib-pull}40017[#40017]
Visualize::
* Fixes problem with `Rollup` tag not showing on rollup index patterns in list {kib-pull}40297[#40297]
* Fixes show listing limit so it no longer shows a false warning {kib-pull}38246[#38246]
* Fixes tooltip label name rendering in pie charts {kib-pull}40105[#40105]
* Fixes visualization migration when `savedSearchId` is an empty string {kib-pull}40172[#40172]
* Checks whether vis type exists {kib-pull}39803[#39803]
* Fixes visualizations for rollups using `fixed_interval` or `calendar_interval` {kib-pull}39537[#39537]
* Fixes custom vis types `buildPipeline` {kib-pull}39874[#39874]



[[release-notes-7.2.0]]
== {kib} 7.2.0

For information about the Kibana 7.2.0 release, review the following information.

[float]
[[breaking-changes-7.2]]
=== Breaking changes

Breaking changes can prevent your application from optimal operation and performance. Before you upgrade to 7.2.0, review the breaking changes, then mitigate the impact to your application.

See also {kibana-ref-all}/7.2/release-highlights-7.2.0.html[release highlights]
and <<release-notes-7.2.0, release notes>>.

//NOTE: The notable-breaking-changes tagged regions are re-used in the
//Installation and Upgrade Guide

//tag::notable-breaking-changes[]

// end::notable-breaking-changes[]

[float]
[[breaking_72_index_pattern_changes]]

[float]
==== Time-based internal index patterns queried as wildcard index patterns
*Details:* Time-based interval index patterns were deprecated in 5.x. In 6.x, 
you could no longer create time-based interval index patterns, but they continued 
to function as expected. In 7.2, functionality has changed such that {kib} will 
automatically query a time-based interval index pattern as a wildcard index pattern.
Support for time-based index patterns will be removed in 8.0. You can migrate your 
time-based index patterns to a wildcard pattern to prepare for this change.

*Impact:* If you query a time-based index pattern, that query will now be performed 
on the root wildcard term. For example, a query on an index pattern such as 
`[logstash-]YYYY.MM.DD` will now query all indices that match `logstash-*`.


//NOTE: The notable-breaking-changes tagged regions are re-used in the
//Installation and Upgrade Guide

//tag::notable-breaking-changes[]

// end::notable-breaking-changes[]

[float]
[[enhancement-7.2.0]]
=== Enhancements
Canvas::
* Adds custom elements {kib-pull}34140[#34140]
* Adds static tags for elements {kib-pull}28779[#28779]
* Adds autoplay pages in fullscreen {kib-pull}35981[#35981]
* Adds new workpad templates {kib-pull}35745[#35745]
* Adds Ctrl + Enter shortcut for evaluating expressions {kib-pull}36138[#36138]
* Allows grouping of filters and group selection in the `filters` function {kib-pull}34889[#34889]

Design::
* Upgrades EUI to 9.2.1 and improves dark mode {kib-pull}32728[#32728]

Geo::
* Allows maps to be embeddable {kib-pull}31473[#31473]
* Registers `savedObjectMetaData` so Maps saved objects show up in dashboard add panel {kib-pull}32895[#32895]
* Populates WMS layers from `getCapabilities` response {kib-pull}32342[#32342]
* Splits settings into layer and source panels {kib-pull}33788[#33788]
* Adds layer-specific filtering {kib-pull}33209[#33209]
* Adds clone layer to layer actions {kib-pull}33853[#33853]
* Automatically disables filter by bounds for indexes with small doc counts {kib-pull}34456[#34456]
* Adds ability to expand and collapse Layer TOC {kib-pull}34506[#34506]
* Ignores global query layer setting {kib-pull}35542[#35542]
* Shows dynamic style ranges in legend {kib-pull}35417[#35417]
* Shows icon when layer is not visible in TOC {kib-pull}36250[#36250]
* Shows minusInCircle icon when layer has no data {kib-pull}36457[#36457]
* Only shows vector style properties used by source in editor {kib-pull}36280[#36280]
* Supports multiple basemap styles {kib-pull}36074[#36074]
* Locks tooltip in place with click {kib-pull}32733[#32733]
* Uses dual range component {kib-pull}32273[#32273]
* Adds filter actions to tooltips {kib-pull}33635[#33635]
* Adds draw filter action to layer {kib-pull}33686[#33686]
* Adds WKT and geohash string support {kib-pull}34472[#34472]

Kibana Home &amp; Add Data::
* Injects anomalies into the Kibana sample datasets to enable ML sample jobs {kib-pull}36714[#36714]
* Allows plugins to register additional view data links in sample data {kib-pull}33052[#33052]

Logs::
* Adds customizable columns {kib-pull}34916[#34916]
* Adds column headers {kib-pull}36467[#36467]
* Adds flyout action menu with Uptime link {kib-pull}36721[#36721]

Machine Learning::
* Adds Kibana sample dataset data recognizer modules {kib-pull}35138[#35138]
* Adds File data viz filter to Index Management link {kib-pull}36166[#36166]
* Adds query bar to Anomaly Explorer for filtering of anomaly results for one or more influencers {kib-pull}31763[#31763]
* Adds the ability to add and remove filters in the Anomaly Explorer via the Anomalies table {kib-pull}33377[#33377]
* Adds the ability to add and remove filters in the Anomaly Explorer via the Top influencers list {kib-pull}33626[#33626]
* Converts Job Selector to React {kib-pull}35638[#35638]
* Always show time warning message in the delete modal in Job Management {kib-pull}36729[#36729]
* Makes layout of Edit Filter List consistent with other settings pages {kib-pull}33421[#33421]
* Adds created_by field to Auditbeat and APM data recognizer jobs {kib-pull}33863[#33863]
* Extends support for anomaly charts when model plot is enabled {kib-pull}34079[#34079]
* Increases the width of the text column in annotations table {kib-pull}34450[#34450]
* Replaces View Forecast button image with Single Metric icon {kib-pull}34563[#34563]
* Limits maximum annotation text length to 1000 characters {kib-pull}34540[#34540]
* Converts full time range selector control to EUI / React {kib-pull}35074[#35074]
* Uses KQL as the query language for custom URLs to Kibana pages {kib-pull}35469[#35469]
* Adds Metricbeat System data recognizer module {kib-pull}35580[#35580]
* Removes check for forecast duration of 8 weeks or less {kib-pull}35583[#35583]
* Adds links to ML jobs to the Kibana sample dataset View data menu {kib-pull}36702[#36702]
* Adds Data Frame UI {kib-pull}33427[#33427]

Management::
* Adds UI for Snapshot Repositories {kib-pull}34407[#34407]

Monitoring::
* Adds Telemetry sample data {kib-pull}33166[#33166]

Platform::
* Introduces UI PluginsService {kib-pull}32672[#32672]
* Adds basic server side export API for saved objects {kib-pull}30326[#30326]
* Adds basic server side import API for saved objects {kib-pull}32158[#32158]
* Returns import errors for saved objects referencing a missing index pattern or search {kib-pull}33005[#33005]
* Modifies saved object export API to support the exporting of nested dependencies {kib-pull}34225[#34225]
* Converts the saved objects UI to use new import / export API {kib-pull}33513[#33513]
* Allows any type of saved object to import / export {kib-pull}34896[#34896]

Security::
* Adds Feature Controls {kib-pull}31652[#31652]
* Adds OpenID Connect auth provider {kib-pull}36201[#36201]
* Converts account screen to React/EUI {kib-pull}35151[#35151]
* Exposes ability to deny ('except') access to fields via FLS {kib-pull}26472[#26472]
* Converts role listing page to React/EUI {kib-pull}30970[#30970]

Uptime::
* Adds support for location name in Uptime UI {kib-pull}36317[#36317]
* Integrates Uptime to Logging {kib-pull}35853[#35853]
* Cleans up design of Uptime app {kib-pull}31663[#31663]

Visualize::
* Allows multiple values for percentile ranks in Time Series Visual Builder {kib-pull}33642[#33642]
* Allows non numeric fields in Top Hits in Time Series Visual Builder {kib-pull}35661[#35661]
* Adds Include and Exclude fields to the Terms group in Time Series Visual Builder {kib-pull}34153[#34153]
* Adds ability to submit Save modals using the Enter key {kib-pull}34417[#34417]
* Improves KQL error messages {kib-pull}34900[#34900]
* Shows a reload dialog when users change a setting requiring a page reload {kib-pull}34780[#34780]
* Improves scripted field script editor {kib-pull}36064[#36064]
* Changes default quick ranges {kib-pull}35066[#35066]
* Adds basic rollup support to Visual builder {kib-pull}28762[#28762]

[float]
[[bug-7.2.0]]
=== Bug fixes

APM::
* Moves the APM index creation from server startup {kib-pull}37965[#37965]
* Updates APM index pattern {kib-pull}36776[#36776]
* Fixes error occurrence panel and content {kib-pull}32808[#32808]
* Switches to visualization colour palette for histogram {kib-pull}31688[#31688]
* Condenses panel gutters and spacers {kib-pull}36337[#36337]
* Replaces the icon for the LibraryFrames toggle {kib-pull}36429[#36429]
* Fixes issues with metric charts when `noHits=true` {kib-pull}37524[#37524]
* Updates index pattern {kib-pull}38797[#38797]

Beats Central Management::
* Moves APIs to new return format {kib-pull}31660[#31660]
* Renames `api/canvas` endpoint to `api/interpreter` {kib-pull}34410[#34410]
* Updates tagcloud interpreter func arguments {kib-pull}33773[#33773]
* Updates markdownvis interpreter func arguments {kib-pull}34534[#34534]
* Moves UI out of index patterns service {kib-pull}36348[#36348]

Canvas::
* Fixes esdocs fields {kib-pull}34894[#34894]
* Fixes datasource preview modal size {kib-pull}36246[#36246]
* Allows 0 for min/max in AxisConfig {kib-pull}37119[#37119]
* Fixes fullscreen sizing on old workpads {kib-pull}37289[#37289]
* Adds Today to quick range {kib-pull}36698[#36698]
* Fixes broken elements in web logs sample data workpad {kib-pull}37931[#37931]
* Resolves issues with the mini color selector and updates Storybook to v5 {kib-pull}34075[#34075]
* Adds types to Renderers and the DropdownFilter {kib-pull}31299[#31299]
* Updates the Asset Manager to use Typescript and adds Storybook examples for ad-hoc testing {kib-pull}31341[#31341]
* Converts functions from arrow to function {kib-pull}35749[#35749]
* Adds strong types to Canvas functions in preparation for i18n {kib-pull}35087[#35087]
* Improves types `demodata` and `pointseries` in preparation for i18n {kib-pull}36055[#36055]
* Implements localization for Canvas functions {kib-pull}36252[#36252]
* Re-renders renderers on filter changes {kib-pull}34823[#34823]
* Restores removed class used for modal focus {kib-pull}36924[#36924]
* Simplifies layout engine integration {kib-pull}33702[#33702]
* Separates component/`-level of `workpad_page` {kib-pull}34983[#34983]
* Fixes invalid cursor position {kib-pull}36018[#36018]
* Adds snap to page borders and centerline {kib-pull}36102[#36102]
* Prioritizes relaxed resize/rotate over depth select {kib-pull}36479[#36479]
* Accesses the ever current interactive page layout in WorkpadApp {kib-pull}36692[#36692]
* Adds group/ungroup menu {kib-pull}36718[#36718]
* Improves Storybook performance {kib-pull}34757[#34757]
* Adds response streaming to Canvas batch requests {kib-pull}32027[#32027]

Console::
* Refetches autocomplete info after updating Dev Console settings {kib-pull}32587[#32587]
* Fixes issue with request body not being sent for Console DELETE requests {kib-pull}32407[#32407]

Dashboard::
* Allows embeddable to specify edit label {kib-pull}36296[#36296]
* Fixes courier:ignoreFilterIfFieldNotInIndex with chained input controls {kib-pull}36369[#36369]
* Fetches options for input control child select boxes {kib-pull}38148[#38148]
* Converts dashboard panels to Typescript {kib-pull}27167[#27167]

Discover::
* Fixes problem with Discover not using an index pattern when two patterns are created {kib-pull}38053[#38053]
* Enables optional use of the timezone set in Advanced Settings in queries {kib-pull}34602[#34602]

Geo::
* Changes tooltip to use description list for IE compatibility {kib-pull}37396[#37396]
* Excludes multi fields in tooltips and join field selection lists {kib-pull}34379[#34379]
* Only show fields that can be used in terms agg in join right field select {kib-pull}35098[#35098]
* Maintains style on source change when creating new layer {kib-pull}34755[#34755]
* Fixes i18n wrapping of ES search failure message {kib-pull}35923[#35923]
* Updates es_search_source to no longer request tooltip fields when fetching geojson {kib-pull}36059[#36059]
* Syncs layer list state to mapbox only once {kib-pull}37133[#37133]
* Sets scaled property values to -1 when there are no results {kib-pull}37121[#37121]
* Fixes defaulting to dark tiles when Kibana is in dark mode {kib-pull}37792[#37792]
* Fixes tooltip text overlap and text overflow {kib-pull}38271[#38271]
* Ensures that the labels extracted from WMS capabilities are unique {kib-pull}38311[#38311]
* Keeps query parameters for WMS Client in URL {kib-pull}34200[#34200]
* Fixes Join editor component logic to avoid infinite updates {kib-pull}37472[#37472]
* Fixes Join editor component logic to avoid infinite updates if index pattern is not found {kib-pull}37615[#37615]
* Uses field formatter for tooltips {kib-pull}33017[#33017]
* Adds ability to load EMS resources with CORS {kib-pull}34503[#34503]
* Uses mapbox feature-state for dynamic properties and upgrades mapbox-gl to 0.54 {kib-pull}36466[#36466]
* Fixes map embeddable test {kib-pull}34648[#34648]

Graph::
* Fixes default drilldown link on index pattern switch {kib-pull}34251[#34251]

Infrastructure::
* Fixes autocomplete overflow in Safari browser {kib-pull}36820[#36820]
* Adds legend settings for waffle map {kib-pull}32228[#32228]
* Adds the UI for the Metrics Explorer {kib-pull}34019[#34019]
* Adds the UI for the Metrics Explorer {kib-pull}35846[#35846]
* Adds links from Infrastructure to Uptime {kib-pull}35993[#35993]
* Adds a brush handler to the Metrics Explorer Charts {kib-pull}36235[#36235]
* Removes the Joi validation from the Metrics Explorer client side URL validation {kib-pull}36493[#36493]
* Appends filterQuery to TSVB filter {kib-pull}36644[#36644]
* Adds link-to page to route IP addresses to the host detail page {kib-pull}36149[#36149]
* Adds a check to the Metrics Explorer API endpoint for empty metrics {kib-pull}37508[#37508]
* Adds round up option to SuperDatePicker for the `to` field {kib-pull}37896[#37896]
* Fixes the Uptime link so it always displays for Docker and Kubernetes nodes {kib-pull}38125[#38125]
* Fixes the CSS for the Metrics Explorer chart title to properly overlap with the Actions menu {kib-pull}38059[#38059]
* Fixes group by “x” icon keyboard controls {kib-pull}31960[#31960]
* Changes Infrastructure navigation {kib-pull}32892[#32892]
* Uses EuiSuperDatePicker on the Metrics page {kib-pull}34427[#34427]
* Tweaks metrics time test handling {kib-pull}34869[#34869]
* Increases suggestions limit and allows scrolling in Autocomplete field {kib-pull}34706[#34706]
* Adds new graphql endpoint for snapshot data {kib-pull}34264[#34264]
* Waits for context menu to appear in functional tests {kib-pull}36163[#36163]
* Renames Snapshot to Inventory {kib-pull}36107[#36107]
* Enables telemetry for snapshot resolver {kib-pull}36354[#36354]
* Renames Snapshot to Inventory in page title {kib-pull}36432[#36432]
* Honors space when querying TSVB API {kib-pull}36765[#36765]
* Adds View Surrounding Logs functionality {kib-pull}35727[#35727]
* Changes popover position of Node context menu {kib-pull}36352[#36352]

Kibana Home &amp; Add Data::
* Adds `utc_time` of sample web logs to list of timeFields so that it is dynamic {kib-pull}35879[#35879]

Machine Learning::
* Fixes File Data Visualizer index pattern match {kib-pull}34721[#34721]
* Rounds value when using max model memory limit {kib-pull}35223[#35223]
* Plots chart points for all anomalies where there is no metric data {kib-pull}32645[#32645]
* Fixes line wrap for jobs list timestamp cell in Firefox {kib-pull}34150[#34150]
* Updates forecasting progress bar only if value increases {kib-pull}34614[#34614]
* Fixes Java time access in ML watch Painless script {kib-pull}37074[#37074]
* Provides fix for constant polling of deleting job tasks {kib-pull}38013[#38013]
* Fixes check when opening ML from Kibana Sample Data sets if no ML jobs are created {kib-pull}38649[#38649]

Management::
* Disables grow for IE 11 for index pattern management header {kib-pull}37756[#37756]
* Internationalizes Rollup Jobs, Remote Clusters, and Watcher app titles. {kib-pull}34470[#34470]
* Removes rollup section in advanced settings for OSS {kib-pull}32814[#32814]
* Fixes Create Rollup Index Pattern button badge color error {kib-pull}32954[#32954]
* Fixes hanging UI when custom index pattern with existing ID created {kib-pull}36097[#36097]
* Bumps numeral.js to fix negative time formatting bug {kib-pull}35298[#35298]

Monitoring::
* Improves performance of the Logstash Pipeline Viewer {kib-pull}31293[#31293]
* Updates tests for Monitoring Logstash Pipeline Viewer performance improvements {kib-pull}33570[#33570]
* Sends encrypted telemetry data to telemetry service {kib-pull}33121[#33121]
* Checks for 6.7.2 instead of 6.7.3 in Telemetry {kib-pull}35814[#35814]
* Introduces Logs UI {kib-pull}31275[#31275]
* Determines the Metricbeat migration status logic {kib-pull}34871[#34871]
* Forces collectors to indicate when they are ready in Montoring/Telemetry {kib-pull}36153[#36153]
* Makes change so that once the buffer has events, the collector is always ready {kib-pull}36995[#36995]
* Fixes 500 error from /api/stats {kib-pull}36986[#36986]
* Removes improper usage of query {kib-pull}37099[#37099]
* Uses fixed_interval explicitly for date_histogram aggregations {kib-pull}37023[#37023]
* Creates license check only when there’s a separate monitoring cluster {kib-pull}33590[#33590]
* Adds uiCapabilities.logs check {kib-pull}35562[#35562]
* Creates a simple cancelable promise, and adds  basic support for Typescript {kib-pull}36293[#36293]
* Fixes default message if value is invalid {kib-pull}36737[#36737]
* Fixes sorting of Monitoring nodes on CPU, Throttle, and Heap columns {kib-pull}36125[#36125]
* Swaps the anchor tag with EuiLink {kib-pull}37020[#37020]
* Typecasts the attr boolean to the correct type {kib-pull}37031[#37031]
* Fixes CPU calculation for APM {kib-pull}37230[#37230]
* Optimizes content to be more vertical for resizing consistency {kib-pull}37120[#37120]
* Uses i18n instead of injectI18n {kib-pull}37845[#37845]
* Adds a link to License Management {kib-pull}37771[#37771]

Operations::
* Reverts [kbn/es] pin 7.x snapshot to elastic/elasticsearch#39582 i… {kib-pull}32580[#32580]
* Exits if starting Kibana as root {kib-pull}21563[#21563]
* Uses default keys when running from source {kib-pull}36452[#36452]
* Allows running --dev without kibana.dev.yml {kib-pull}36400[#36400]
* Reenables github checks reporter {kib-pull}37280[#37280]
* Fixes inefficiencies in the dev/license_checker module and rewrites it in Typescript {kib-pull}37807[#37807]
* Adds exception to transpile normalize-url mode to es5 when bundled into the DLL {kib-pull}35804[#35804]
* Upgrades jQuery to 3.4.1 {kib-pull}35908[#35908]
* Enforces all packages to use the same Typescript version {kib-pull}32440[#32440]
* Fixes plugin generator package.json paths {kib-pull}33728[#33728]

Platform::
* Fixes version for plugin showing as undefined {kib-pull}36219[#36219]
* Adds Japanese locale {kib-pull}36940[#36940]
* Provides Initial framework for data plugin {kib-pull}34350[#34350]
* Fixes errors and adds more examples in export saved objects API docs {kib-pull}37991[#37991]
* Updates import saved objects API docs to use curl examples {kib-pull}37997[#37997]
* Fixes URLs from displaying too long in saved objects management UI {kib-pull}37987[#37987]
* Enforces the base path proxy to redirect requests that happen within a space {kib-pull}36300[#36300]
* Automatically strips xpack config when running --oss {kib-pull}36403[#36403]
* Removes unused ui/field_editor reference {kib-pull}34969[#34969]

Reporting::
* Includes the error object job decryption errors {kib-pull}32216[#32216]
* Consolidates startup self-checks {kib-pull}31931[#31931]
* Registers a single ESQueue worker, simultaneous poll for all export types {kib-pull}32839[#32839]
* Converts LevelLogger Logger to Typescript {kib-pull}34972[#34972]

Security::
* Updates index fields API to account for removed types in Role Management {kib-pull}35986[#35986]
* Loads capabilities from InjectedMetadata {kib-pull}36710[#36710]

Uptime::
* Adds integration links for Infrastructure UI {kib-pull}35847[#35847]
* Changes copy on empty state component {kib-pull}33044[#33044]
* Removes Object.assign from helper function {kib-pull}33860[#33860]
* Adds new context for Uptime {kib-pull}34006[#34006]
* Supports URL parameters {kib-pull}35375[#35375]
* Adds Uptime to APM integration {kib-pull}34892[#34892]
* Reduces the bucket size for the monitor list query {kib-pull}36071[#36071]
* Disables integration links for apps that are not present {kib-pull}37284[#37284]
* Removes several default common DatePicker values {kib-pull}37395[#37395]
* Supports KQL `OR` filters {kib-pull}37564[#37564]
* Updates documentation link for location column {kib-pull}37511[#37511]

Visualize::
* Fixes typo in top hit fields filter {kib-pull}38391[#38391]
* Resets FilterEditor on filter prop change {kib-pull}34494[#34494]
* Adds table with conflicting indices in field editor {kib-pull}35783[#35783]
* Fixes sorting of index pattern table in Chrome and Firefox {kib-pull}37613[#37613]
* Fixes Tableview in Time Series Visual Builder to show correct data {kib-pull}34343[#34343]
* Fixes Aggregation by "Static value" in Time Series Visual Builder so that it works properly {kib-pull}34624[#34624]
* Fixes problem in Time Series Visual Builder with shift in historic data after daylight savings time {kib-pull}34283[#34283]
* Triggers request for api/metrics/fields after all UI changes in Time Series Visual Builder {kib-pull}34436[#34436]
* Fixes problem with query bar showing randomly in editor page in Time Series Visual Builder {kib-pull}35081[#35081]
* Makes Time Series Visual Builder signal render-complete equals true on rendering {kib-pull}35215[#35215]
* Filters annotations by the last series timestamp in Time Series Visual Builder {kib-pull}35230[#35230]
* Allows negative values for custom ranges in metric and gauge visualizations {kib-pull}33814[#33814]
* Fixes broken filtering on metric visualizations {kib-pull}38029[#38029]
* Restores line rendering in point series vis using percentile agg {kib-pull}35649[#35649]
* Fixes range filtering in XY charts when field is a scripted date field {kib-pull}25379[#25379]
* Fixes clipping of wide Vega tooltip tables {kib-pull}33465[#33465]
* Migrates serialization of include/exclude options to strings instead of objects in significant terms bucket aggregation {kib-pull}34392[#34392]
* Initializes correct value of time picker's  refresh interval  {kib-pull}35839[#35839]
* Updates tab counters on filter change {kib-pull}34246[#34246]
* Resolves issue that occurs when migrations are partially complete and a new Kibana instance starts up {kib-pull}37674[#37674]
* Adds yml switch for using interpreter in expressions {kib-pull}33832[#33832]



[[release-notes-7.1.1]]
== {kib} 7.1.1

There are no user-facing changes for this release.

[[release-notes-7.1.0]]
== {kib} 7.1.0

[float]
[[enhancements-7.1.0]]
=== Enhancements
Security::
* Updates {kib} to support changes to licensing of security features {kib-pull}35890[#35890]

[float]
[[bug-7.1.0]]
=== Bug fixes
Geo::
* Improves ES search decoding to deal with large geometries {kib-pull}36062[#36062]
Index Lifecycle Management::
* Fixes surface shrink action in edit form if it's already been set on the policy {kib-pull}35987[#35987]
Machine Learning::
* Fixes URL of link to detector function reference docs {kib-pull}35734[#35734]
Monitoring::
* Fixes default timestamp sort and added tests {kib-pull}35640[#35640]

[[release-notes-7.0.1]]
== {kib} 7.0.1


See <<breaking-changes, breaking changes>> for the changes to be aware of when migrating your application
from one version of Kibana to another.


[float]
[[enhancement-7.0.1]]
=== Enhancements
Management::
* Enhances design for Search Profiler, including dark mode {kib-pull}33445[#33445]
Visualize::
* Sets a default timeout for all "waitFor" methods {kib-pull}34756[#34756]

[float]
[[bug-7.0.1]]
=== Bug fixes
APM::
* Updates APM migration reindex script {kib-pull}34801[#34801]
Canvas::
* Recreates handlers and resets completed state on expression change {kib-pull}33900[#33900]
* Fixes bad context check {kib-pull}35621[#35621]
Design::
* Updates README for KUI to note deprecation {kib-pull}34389[#34389]
* Resets heading and p tags to EUI font reset {kib-pull}33717[#33717]
Console::
* Changes autocomplete suggest for `number_of_shards` to default (1) {kib-pull}35657[#35657]
Cross-Cluster Replication::
* Updates the Delete Remote Cluster API to support multiple comma-delimited clusters {kib-pull}34595[#34595]
* Allows user to use CCR when security is not enabled {kib-pull}35333[#35333]
* Retrieves paused state of follower index from ES instead of depending upon the client to provide it {kib-pull}35342[#35342]
* Fixes filling x-axis values for date histogram {kib-pull}35247[#35247]
Geo::
* Updates map name in breadcrumb when changed {kib-pull}34287[#34287]
* Filters fields properly for join right field select {kib-pull}35098[#35098]
* Clears data load error when layer gets correct data {kib-pull}34484[#34484]
Index Lifecycle Management::
* Fixes crash when zero replicas configured in a phase for policy {kib-pull}34480[#34480]
Infrastructure::
* Fixes metrics chart tooltip alignment {kib-pull}34749[#34749]
* Sets [System][auth] program name correctly {kib-pull}34212[#34212]
Kibana Home & Add Data::
* Adds documentation link to Functionbeat to fix Getting Started Guide {kib-pull}35174[#35174]
Machine Learning::
* Ensures cardinality warning is only shown on validity fail {kib-pull}34874[#34874]
* Adds data-test-subj to some job management elements {kib-pull}35284[#35284]
* Ensures `viewByFieldName` is retained on Anomaly Explorer initialize {kib-pull}35260[#35260]
Monitoring::
* Monitors internal telemetry collection {kib-pull}34609[#34609]
* Addresses shard allocation color mismatch {kib-pull}34086[#34086]
* Protects against fields not existing in Logstash Nodes listing {kib-pull}34939[#34939]
* Fixes field name for "Events Ingested" in Logstash Node List page {kib-pull}35122[#35122]
* Swaps KUI base class with EUI equivalent {kib-pull}34644[#34644]
* Allows empty and null key types {kib-pull}35016[#35016]
* Adds sorting to all columns {kib-pull}35410[#35410]
* Shows node name instead of UID in breadcrumbs {kib-pull}35553[#35553]
Observability::
* Removes crosshair synchronization to avoid display bug {kib-pull}33660[#33660]
* Switches GQL field from Int to String {kib-pull}33746[#33746]
Operations::
* Links stylesheets with `type=text/css` {kib-pull}35546[#35546]
* Deletes empty stylesheet for status page {kib-pull}35540[#35540]
* Enables delete of `watch_optimizer_cache_state.json` when data folder is outside of {kib} folder {kib-pull}32446[#32446]
* Fixes missing flag checks {kib-pull}35187[#35187]
* Adds ability to register callback for clean up {kib-pull}35119[#35119]
Platform::
* Fixes import UI to not fail silently when a record other than index-pattern and search is missing {kib-pull}33080[#33080]
* Avoids validating saved object migrationVersion in tests where not needed {kib-pull}35010[#35010]
* Exclude usage stats when `exclude_usage` flag is specified {kib-pull}35691[#35691]
Upgrade Assistant::
* Specifies `allow_restricted_indices` for `_has_privileges` {kib-pull}35125[#35125]
* Shows different interstitial text when cluster is upgraded {kib-pull}34762[#34762]
Visualizations::
* Prevents saving the current timezone in visualizations {kib-pull}34795[#34795]
* Fixes timepicker problem in Firefox {kib-pull}35279[#35279]
* Fixes timepicker quick select {kib-pull}34354[#34354]
* Applies timezone correctly to formatted dates and ticks {kib-pull}33831[#33831]





[[release-notes-7.0.0]]
== {kib} 7.0.0

For information about the Kibana 7.0.0 release, review the following information.

[float]
=== Known issues

Monitoring::
* If you have a version 7.0 monitoring cluster, a version 6.7 production
cluster and {kib} version 6.7.0 or 6.7.1, you cannot see the monitoring data in
{kib}. {kib-issue}34357[#34357]

[float]
[[breaking-changes-7.0]]
=== Breaking changes

Breaking changes can prevent your application from optimal operation and performance. Before you upgrade to 7.0.0, review the breaking changes, then mitigate the impact to your application.

* <<breaking_70_api_changes>>
* <<breaking_70_browser_support_changes>>
* <<breaking_70_ems_changes>>
* <<breaking_70_packaging_changes>>
* <<breaking_70_plugin_changes>>
* <<breaking_70_security_changes>>
* <<breaking_70_setting_changes>>
* <<breaking_70_advanced_settings_changes>>
* <<breaking_70_UI_changes>>

////
The following section is re-used in the Installation and Upgrade Guide
[[breaking_70_notable]]
=== Notable breaking changes
////
// tag::notable-breaking-changes[]

// end::notable-breaking-changes[]

[float]
[[breaking_70_api_changes]]
==== API changes

[float]
===== Deprecated API `/shorten` has been removed
*Details:* The `/shorten` API has been deprecated since 6.5, when it was replaced by the `/api/shorten_url` API.

*Impact:* The '/shorten' API has been removed. Use the '/api/shorten_url' API instead.

[float]
[[breaking-changes-7.0-saved-objects]]
===== Saved object structure change
*Details:* Saved objects no longer contain ids of other saved objects under `attributes`. They have been moved under `references` with a named reference in `attributes`.

Example structure before:
[source,js]
--------------------------------------------------
{
  ...
  "attributes": {
    ...
    "panelsJSON": [{
      ...
      "type": "visualization",
      "id": "dbf71bb0-ffad-11e8-acfd-d359b3d9069"
    }]
  }
}
--------------------------------------------------


Example structure after:
[source,js]
--------------------------------------------------
{
  ...
  "attributes": {
    ...
    "panelsJSON": [{
      ...
      "panelRefName": "panel_0"
    }]
  },
  "references": [{
    "name": "panel_0",
    "type": "visualization",
    "id": "dbf71bb0-ffad-11e8-acfd-d359b3d9069"
  }]
}
--------------------------------------------------


*Impact:* Users who query directly for ids will have to use the new `hasReference` in the find API. Users who save ids within attributes will have to move them into the `references` attribute and have a named reference to it.

[float]
[[breaking_70_browser_support_changes]]
==== Browser support changes

[float]
===== Removed support for using PhantomJS browser for screenshots in Reporting
*Details:* Since the first release of Kibana Reporting, PhantomJS was used as
the headless browser to capture screenshots of Kibana dashboards and
visualizations. In that short time, Chromium has started offering a new
headless browser library and the PhantomJS maintainers abandoned their project.
We started planning for a transition in 6.5.0, when we made Chromium the
default option, but allowed users to continue using Phantom with the
`xpack.reporting.capture.browser.type: phantom` setting. In 7.0, that setting
will still exist for compatibility, but the only valid option will be
`chromium`.

*Impact:* Before upgrading to 7.0, if you have `xpack.reporting.capture.browser.type`
set in kibana.yml, make sure it is set to `chromium`.

[NOTE]
============
Reporting 7.0 uses a version of the Chromium headless browser that RHEL 6,
CentOS 6.x, and other old versions of Linux derived from RHEL 6. This change
effectively removes RHEL 6 OS server support from Kibana Reporting. Users with
RHEL 6 must upgrade to RHEL 7 to use Kibana Reporting starting with version
7.0.0 of the Elastic stack.
============


[float]
===== Legacy browsers (namely IE11) will see a security warning message whenever they load Kibana
*Details:* Kibana now has a Content Security Policy, but it's only effective if browsers enforce it, and since older
browsers like Internet Explorer 11 do not support CSP, we show them a warning message whenever they load Kibana.

*Impact:* Nothing needs to be done necessarily, but if you don't need to support legacy browsers like IE11, we recommend
that you set `csp.strict: true` in your kibana.yml to block access to those browsers entirely. If your organization requires
users to use IE11, you might like to disable the warning entirely with `csp.warnLegacyBrowsers: false` in your kibana.yml.


[float]
[[breaking_70_ems_changes]]
==== Elastic Maps Service changes

[float]
===== Removed overseas territories from France Departments vector layer

*Details:* Overseas territories in the France Departments vector layer have 
been removed. These territories have no ISO 3166-2 or INSEE codes to join to 
{es} data.

*Impact:* Region Map, Vega, and Maps plugin visualizations using the France 
Departments layer will not show overseas territories. 

[float]
===== USA Zip Codes vector layer updated with latest US Census data

*Details:* The USA Zip Codes layer has been updated based on the 
https://www.census.gov/geo/reference/zctas.html[2018 Zip Code Tabulation 
Areas (ZCTAs)] distributed by the US Census Bureau. ZCTA boundaries have been 
generalized from the source data for visualization and locations are approximate.

*Impact:* Region Map, Vega, and Maps plugin visualizations using the USA Zip 
Codes layer will appear differently. ZCTA boundaries have changed dramatically 
in some areas. Also, some zip codes have been deprecated and new ones have been added.

[float]
[[breaking_70_packaging_changes]]
==== Packaging changes

[float]
===== Removed support for running Kibana with a global Node.js installation
*Details:* Previous versions of Kibana would fallback to using a global installation of Node.js if the distribution included with Kibana was not found.
Kibana 7.0 will only use the Node.js distribution included in the package.

*Impact:* There is no expected impact unless Kibana is installed in a non-standard way.

[float]
[[breaking_70_plugin_changes]]
==== Plugin changes

[float]
===== Optimization step deferred until server start
*Details:* Prior versions of Kibana would run the optimization step after each plugin installation.  This is now run on server start when necessary.

*Impact:* Users can trigger a standalone optimization after all plugins have been installed with `bin/kibana --optimize` or let the server manage it on startup.

[float]
[[breaking_70_security_changes]]
==== Security changes

[float]
===== Removed support for users relying on direct index privileges to the Kibana index in Elasticsearch
*Details:* With the introduction of Kibana RBAC in 6.4, users no longer require privileges to the Kibana index in Elasticsearch. Instead, users
should be granted <<kibana-privileges>>. Prior to 7.0, when a user who relies upon direct index privileges logged into Kibana, a deprecation warning was logged. 

*Impact:* You must change any roles that grant access to Kibana using index privileges to use <<kibana-privileges>> instead. 
Watcher jobs using the Reporting attachment type must also be updated.

If you use a custom `kibana.index` for multitenancy, you can 
no longer use `kibana_user` or `kibana_dashboard_only_user` to provide access, 
and will have to start using {kib} privileges.

In addition, roles cannot be shared across Kibana tenants when granting access to Kibana privileges.
For example, a tenant using `kibana.index: .kibana` will have its own set 
of roles created to grant access to Kibana. If you create another tenant 
at `kibana.index: .some-other-index`, it will need its own set of roles 
to grant access to that tenant.

[float]
[[breaking_70_setting_changes]]
==== Settings changes

[float]
===== Removed support for tribe nodes
*Details:* Elasticsearch 7.0 removes the tribe node feature, so Kibana removes it as well.

*Impact:* You must remove any tribe node configurations in Kibana. Consider using <<management-cross-cluster-search>> instead, which does not require kibana.yml configurations in Kibana.


[float]
===== `elasticsearch.ssl.ca` is no longer valid

*Details:* The deprecated `elasticsearch.ssl.ca` setting in the `kibana.yml` 
file has been removed.

*Impact:* Use `elasticsearch.ssl.certificateAuthorities` instead.

[float]
===== `elasticsearch.ssl.cert` is no longer valid

*Details:* The deprecated `elasticsearch.ssl.cert` setting in the `kibana.yml`
file has been removed.

*Impact:* Use `elasticsearch.ssl.certificate` instead.

[float]
===== `elasticsearch.ssl.verify` is no longer valid

*Details:* The deprecated `elasticsearch.ssl.verify` setting in the `kibana.yml`
file has been removed.

*Impact:* Use `elasticsearch.ssl.verificationMode` instead. If you set
`elasticsearch.ssl.verify` to `true`, that is equal to setting 
`elasticsearch.ssl.verificationMode` to `full`.

[float]
===== `elasticsearch.url` is no longer valid

*Details:* The deprecated `elasticsearch.url` setting in the `kibana.yml` file
has been removed. 

*Impact:* Use `elasticsearch.hosts` instead. In prior versions of Kibana, if no
port was specified in `elasticsearch.url`, a default of 9200 was chosen. The
port in `elasticsearch.hosts` is protocol dependent: https ports will use 443,
and http ports will use 80. If your `elasticsearch.url` setting was dependent on
an unspecified port set to 9200, append `:9200` to the url in the
`elasticsearch.hosts` setting.

[float]
===== `i18n.defaultLocale` is no longer valid

*Details:* The deprecated `i18n.defaultLocale` setting in the `kibana.yml` file
has been removed.

*Impact:* Use `i18n.locale` instead.

[float]
===== `index_management.<any setting>` is no longer valid

*Details:* The deprecated `index_management.*` settings in the `kibana.yml`
file have been removed.

*Impact:* Use `xpack.index_management.<any setting>` instead.

[float]
===== `license_management.<any setting>` is no longer valid

*Details:* The deprecated `license_management.*` settings in the `kibana.yml`
file have been removed.

*Impact:* Use `xpack.license_management.<any setting>` instead.

[float]
===== `logging.useUTC` is no longer valid

*Details:* The deprecated `logging.useUTC` setting in the `kibana.yml` file has
been removed. 

*Impact:* If `logging.useUTC` was set to `true` (its default value), the
timezone id was `UTC`. Use `logging.timezone` instead. Any timezone can now be
specified by canonical id. 

[float]
===== `regionmap` is no longer valid

*Details:* The deprecated `regionmap` setting in the `kibana.yml` file has been
removed.

*Impact:* Use `map.regionmap` instead.

[float]
===== `rollup.<any setting>` is no longer valid

*Details:* The deprecated `rollup.*` settings in the `kibana.yml` file have been
removed.

*Impact:* Use `xpack.rollup.<any setting>` instead.

[float]
===== `server.ssl.cert` is no longer valid

*Details:* The deprecated `server.ssl.cert` setting in the `kibana.yml` file has
been removed.

*Impact:* Use `server.ssl.certificate` instead

[float]
===== `server.ssl.enabled` must be set to `true` to enable SSL

*Details:* Previously, if the `server.ssl.certificate` and `server.ssl.key`
settins were specified in the `kibana.yml` file, SSL would be automatically
enabled. It's now required that you set `server.ssl.enabled` to `true` for this
to occur.

*Impact:* Users with both `server.ssl.certificate` and `server.ssl.key` set must
now also set `server.ssl.enabled` to enable SSL.

[float]
===== `server.ssl.supportedProtocols` excludes TLSv1 by default

*Details:* By default, TLSv1 support has been removed. It's still possible to
opt-in to TLSv1 support by explicitly setting `server.ssl.supportedProtocols` in
the `kibana.yml` file.

*Impact:* Users relying on TLSv1 will be unable to use Kibana unless
`server.ssl.supportedProtocols` is explicitly set.

[float]
===== `tilemap` is no longer valid

*Details:* The deprecated `tilemap` setting in the `kibana.yml` file has been
removed.

*Impact:* Use `map.tilemap` instead.

[float]
===== `upgrade_assistant.<any setting>` is no longer valid

*Details:* The deprecated `upgrade_assistant.*` settings in the `kibana.yml`
file have been removed.

*Impact:* Use `xpack.upgrade_assistant.<any setting>` instead.

[float]
===== `xpack.monitoring.beats.index_pattern` is no longer valid

*Details:* The unsupported `xpack.monitoring.beats.index_pattern` setting in the
`kibana.yml` file has been officially removed.

*Impact:* The ability to customize this pattern is no longer supported.

[float]
===== `xpack.monitoring.cluster_alerts.index` is no longer valid

*Details:* The unsupported `xpack.monitoring.cluster_alerts.index` setting in
the `kibana.yml` file has been officially removed. 

*Impact:* The ability to customize this index is no longer supported.

[float]
===== `xpack.monitoring.elasticsearch.index_pattern` is no longer valid

*Details:* The unsupported `xpack.monitoring.elasticsearch.index_pattern`
setting in the `kibana.yml` file has been officially removed.

*Impact:* The ability to customize this pattern is no longer supported.

[float]
===== `xpack.monitoring.elasticsearch.ssl.ca` is no longer valid

*Details:* The deprecated `xpack.monitoring.elasticsearch.ssl.ca` setting in the
`kibana.yml` file has been removed. 

*Impact:* Use `xpack.monitoring.elasticsearch.ssl.certificateAuthorities` instead.

[float]
===== `xpack.monitoring.elasticsearch.ssl.cert` is no longer valid

*Details:* The deprecated `xpack.monitoring.elasticsearch.ssl.cert` setting in
the `kibana.yml` file has been removed. 

*Impact:* Use `xpack.monitoring.elasticsearch.ssl.certificate` instead.

[float]
===== `xpack.monitoring.elasticsearch.ssl.verify` is no longer valid

*Details:* The deprecated `xpack.monitoring.elasticsearch.ssl.verify` setting in
the `kibana.yml` file has been removed. 

*Impact:* Use `xpack.monitoring.elasticsearch.ssl.verificationMode` instead. If
you previously set `xpack.monitoring.elasticsearch.ssl.verify` to `true`, it is
equal to setting `xpack.monitoring.elasticsearch.ssl.verificationMode` to `full`.

[float]
===== `xpack.monitoring.elasticsearch.url` is no longer valid

*Details:* The deprecated `xpack.monitoring.elasticsearch.url` setting in the
`kibana.yml` file has been removed. 

*Impact:* Use `xpack.monitoring.elasticsearch.hosts` instead. In prior versions
of Kibana, if no port was specified in `xpack.monitoring.elasticsearch.url` a
default of 9200 was chosen. The port in `xpack.monitoring.elasticsearch.hosts`
is protocol dependent: https ports will use 443, and http ports will use 80. If
`xpack.monitoring.elasticsearch.url` was dependent on an unspecified port set to
9200, append `:9200` to the url in `xpack.monitoring.elasticsearch.hosts`.

[float]
===== `xpack.monitoring.index_pattern` is no longer valid

*Details:* The unsupported `xpack.monitoring.index_pattern` setting in the
`kibana.yml` file has been officially removed.

*Impact:* The ability to customize this pattern is no longer supported.

[float]
===== `xpack.monitoring.kibana.index_pattern` is no longer valid

*Details:* The unsupported `xpack.monitoring.kibana.index_pattern` setting in
the `kibana.yml` file has been officially removed.

*Impact:* The ability to customize this pattern is no longer supported.

[float]
===== `xpack.monitoring.logstash.index_pattern` is no longer valid

*Details:* The unsupported `xpack.monitoring.logstash.index_pattern` setting in
the `kibana.yml` file has been officially removed.

*Impact:* The ability to customize this pattern is no longer supported.

[float]
===== `xpack.monitoring.node_resolver` is no longer valid

*Details:* The deprecated `xpack.monitoring.node_resolver` setting in the
`kibana.yml` file has been removed. This setting has been deprecated since 5.6,
when it was explicitly recommended to use `uuid` as its value.

*Impact:* This setting is no longer necessary. If you enable the {stack}
{monitor-features}, a monitoring agent runs on each Elasticsearch node, Logstash
node, Kibana instance, and Beat to collect and index metrics. Each node and
instance is considered unique based on its persistent UUID, which is written to
the `path.data` directory when the node or instance starts.

[float]
===== `xpack.monitoring.report_stats` is no longer valid

*Details:* The deprecated `xpack.monitoring.report_stats` setting in the
`kibana.yml` file has been removed. 

*Impact:* Use `xpack.xpack_main.telemetry.enabled` instead.

[float]
===== `management/kibana/(index|indices)` => `management/kibana/index_pattern(?s)`

*Details:* Kibana management URLs pertaining to index patterns have been changed
to accurately reflect their content, from `management/kibana/index` or
`management/kibana/indices` to `managemen/kibana/index_pattern` or
`management/kibana/index_patterns`. 

*Impact:* References to these URLs will need to be updated.

[float]
[[breaking_70_advanced_settings_changes]]
==== Advanced settings changes


[float]
===== Advanced setting query:queryString:options no longer applies to filters
*Details:* In previous versions of Kibana the Advanced Setting `query:queryString:options` was applied to both queries
and custom filters using the `query_string` query. This could cause errors if a custom filter used options that
conflicted with the Advanced Setting. In 7.0 `query:queryString:options` will no longer be applied to filters so that
users can have full control over their custom filters.

*Impact:* You must ensure that any saved searches with a `query_string` filter aren't relying implicitly on
`query:queryString:options`.

[float]
===== Advanced setting query:queryString:options no longer applies `default_field: *` by default.
*Details:* Elasticsearch removed the ability to create indices with an _all field in 6.0. As a result, a user could end
up with a mix of indices with and without _all fields if they upgraded from an older version of ES. This could lead to
inconsistent highlighting in Discover. To work around this issue we added `default_field: *` to query:queryString:options
to force consistent querying across indices with and without _all. In 7.0 the _all field will be gone from all indices
so we no longer need this workaround.

*Impact:* Since we'll no longer send the `default_field` parameter in Kibana's query_string query, Elasticsearch
will use the index setting instead. The default for the index setting is also `*`, so most users should not be impacted.
If some of your indices have a non-default `default_field` setting, you may want to update it or re-add the parameter
to Kibana's advanced setting.

[float]
[[breaking_70_UI_changes]]
==== UI changes

[float]
===== Dark mode is now global
*Details:* Both the Dashboard and Maps applications offer "Dark Mode" options which have been removed in favor of a global dark mode advanced setting. This means that instead of having to turn on dark mode in many places, users can choose to turn on the `theme:darkMode` advanced setting and it will apply to all applications.

*Impact:* The dark mode setting for Dashboards and Maps will be ignored and the global setting will be used instead.


[float]
===== KQL is now the default query language in the global search bar
*Details:* Language enhancements that were introduced in 6.3 on an opt-in basis are now turned on by default. This
is considered a breaking change because the enhancements include a simplifed syntax that has some small incompatibilities
with the old Lucene syntax. 

*Impact:* Users simply need to familiarize themselves with the new syntax. Existing saved searches, visualizations, and dashboards
that use the old Lucene syntax will continue to work, but users should consider migrating them to KQL to enjoy the other benefits
that come along with it. For the time being, individual users can still opt-out of KQL under the options menu in the query bar
and admins can still change the global default using the `search:queryLanguage` advanced setting.




[float]
===== Removed support for deeply nested table splits in data table visualizations
*Details:* Previously a user was able to create multiple "split table" aggregations in one table on arbitrary levels.
The potential for deeply nested tables posed maintenance and accessibility challenges, and was inconsistent with other
visualizations that only allow one table split. This change does not limit the number of split rows a user can put into
a table; it only restricts the number of split tables to one.

*Impact:* To prevent breaking existing visualizations, saved objects containing nested table splits will be automatically
migrated to contain only one split table, converting any existing split tables beyond the first to split rows. No action
should be required as a result of this change, but be aware that users with saved data table visualizations that contain
multiple split tables will now see those tables rendered differently.

[float]
===== Imported Kibana dashboards might require small grid layout adjustments due to design changes
*Details:* Kibana 7.0 introduces a new default font for the application and also comes with several design changes in dashboards that slightly change padding and margin for dashboard panels. You may find you need to adjust grid layouts to compensate.

*Impact:* Minimal. In most cases, the dashboards should render as they did previously. In some cases, panels might overflow and require scroll bars where they did not previously. Simply adjust the panel sizes and edit your dashboard layouts if these bother you.

[float]
===== Timelion no longer appears in the side navigation
*Details:* Timelion sheets will continue to work in *Visualize*, but the 
Timelion application no longer appears by default in the {kib} side navigation. 

*Impact:* To create a Timelion visualization, go to *Visualize* and select 
*Timelion* from the visualization types. If you have a lot of existing Timelion 
visualizations and want to add Timelion back in the side
navigation, set `timelion.ui.enabled` to `true` in `kibana.yml`.


[float]
[[deprecation-7.0.0]]
=== Deprecations

Geo::
* Fixes legacy tilemap loading {kib-pull}22095[#22095]
Machine Learning::
* Updates REST endpoint calls to remove _xpack {kib-pull}28069[#28069]
Visualizations::
* Removes old visualize wizard URL {kib-pull}28982[#28982]
* Removes legacy response handler {kib-pull}28985[#28985]
* Removes `legacyIcon` from visualizations {kib-pull}28981[#28981]


[float]
[[enhancement-7.0.0]]
=== Enhancements
Canvas::
* Removes WebSockets from Canvas expressions interpreter {kib-pull}29792[#29792]
* Optimizes Canvas REST calls via batching {kib-pull}29847[#29847]
* Implements a clipboard and stores the copied elements in `localStorage` {kib-pull}25890[#25890]
* Adds the ability to reuse assets without editing an element's expression {kib-pull}25764[#25764]
* Adds the `clear` function {kib-pull}26397[#26397]
* Adds workpad-level CSS {kib-pull}24143[#24143]
* Improvements to expression editor {kib-pull}32336[#32336]
* Adds `aria-label` attribute for Color: Auto Color to button inside chart style {kib-pull}32633[#32633]
* Adds `aria-label` attribute for Copy to clipboard {kib-pull}32880[#32880]
Dashboard::
* Adds `href` option in addition to `onClick` for navigational links {kib-pull}25233[#25233]
Design::
* Implements a new design for {kib} called K7
* Updates logos for marketing {kib-pull}25489[#25489]
* Adds Kibana 7.0 breadcrumbs to home screen {kib-pull}26605[#26605]
* Moves elastic/eui typings to single file {kib-pull}23950[#23950]
Discover::
* Renames the kuery setting to KQL {kib-pull}29587[#29587]
* Adds visual indication of selected language in query bar {kib-pull}30899[#30899]
Logstash::
* Adopts {es} typeless API for Logstash central management {kib-pull}30546[#30546]
Management::
* Adds `Request timestamp` to request inspector stats {kib-pull}25667[#25667]
* Adds "Reload indices" button to Index Management {kib-pull}27033[#27033]
Machine Learning::
* Adds `created_by` field to Auditbeat and APM data recognizer jobs {kib-pull}33863[#33863]
* Adds the time of the anomaly to the `aria-label` of the actions button in each row of the anomalies table {kib-pull}32777[#32777]
* Adds `role="alert"` callouts on the Job Management page to ensure the information is read out by screen readers {kib-pull}32911[#32911]
* Adds EUI `ScreenReaderOnly` component to the "Analyzing data" modal {kib-pull}32472[#32472]
* Updates job type and APM module icon to new designs {kib-pull}25380[#25380]
* Allows model plot enablement via checkbox in  MultiMetric/Population Job creation {kib-pull}24914[#24914]
* Adds support for the rare detector for charts in Anomaly Explorer and Singe Metric viewer {kib-pull}21524[#21524]
* Updates HTTP access modules for ECS {kib-pull}29383[#29383]
* Updates auditbeat modules for ECS {kib-pull}29934[#29934]
* Removes non ECS apache, nginx and auditbeat data recognizer modules {kib-pull}30537[#30537]
* Adds the configuration files for two new auditbeat data recognizer modules for
detecting unusual processes on hosts and Docker containers {kib-pull}25716[#25716]
* Adds support for saved searches created using Kuery to the job wizards {kib-pull}26094[#26094]
* Allows users to enter their own query in the Discover page; stops passing the query
from the job datafeed config in custom URLs {kib-pull}26957[#26957]
* Rewrites Calendar to React/EUI {kib-pull}26741[#26741]
* Converts Setting page to React/EUI {kib-pull}27144[#27144]
* Ensures loading indicator is present on initial jobs load {kib-pull}27151[#27151]
* Prevents a new calendar save if a calendar with that id already exists {kib-pull}27104[#27104]
* Edits data recognizer modules to use KQL in saved objects {kib-pull}32766[#32766]
Observability::
* Converts monitor sparklines to histogram {kib-pull}28502[#28502]
* Adds crosshair sync for monitor page charts {kib-pull}28631[#28631]
* Adds a new plugin for Uptime Monitoring {kib-pull}25480[#25480]
Operations::
* Adds support for reindexing APM indices {kib-pull}29845[#29845]
* Adds a reindex warning for mapping type changes {kib-pull}32081[#32081]
* Adds warning callout to update APM index pattern {kib-pull}33661[#33661]
Platform::
* Adds help menu item to header {kib-pull}29664[#29664]
* Implements global dark theme {kib-pull}28445[#28445]
* Removes support for the K6 navigation style {kib-pull}29565[#29565]
* Adds `rest_total_hits_as_int` to all requests in platform code that eventually
look up `hits.total` {kib-pull}26432[#26432]
* Adds `dist` flag to the configuration context {kib-pull}26545[#26545]
* Prepares `@kbn/datemath` to be republished as `@elastic/datemath` {kib-pull}26559[#26559]
* Wraps `remote` methods in `browser` service {kib-pull}26394[#26394]
* Uses `stream.pipeline` to manage error handling {kib-pull}27246[#27246]
Querying & Filtering::
* Moves the `buildESQuery` module (including filters and Kuery) into a separate package {kib-pull}23345[#23345]
* Adds comment explaining why `getComputedFields` adds a `docvalue` to `docvalue_fields`
for each date field in an index pattern. {kib-pull}25725[#25725]
* Moves filtering functions out of `vis.API.events` {kib-pull}25280[#25280]
Reporting::
* Adds png output to reports {kib-pull}24759[#24759]
* Sorts ascending on sort order first then ascending on name. Any menu item
without a sort order gets set to zero. {kib-pull}25058[#25058]
* In the Visualization Editor, removes the "Optimize for printing" option when
exporting the visualization as PNG or PDF. The single visualization will automatically
be optimized for printing {kib-pull}30456[#30456]
* Adds browser type to the reporting side panel {kib-pull}26307[#26307]
* Adds better logging for `waitForSelector` failure {kib-pull}25762[#25762]
* Enhances error messaging and handling {kib-pull}26299[#26299]
* Adds "Info" button in the Reporting listing {kib-pull}25421[#25421]
* Adds new inspector for chromium-backed reports {kib-pull}32430[#32430]
Rollups::
* Adds support for rolling up metrics of date fields {kib-pull}26450[#26450]
Security::
* Introduces content security policy (CSP) {kib-pull}29545[#29545]
* Warns legacy browsers that do not support content security policy {kib-pull}29957[#29957]
* Adds content security policy strict mode {kib-pull}29856[#29856]
* Updates the GET `/api/security/role` endpoint to return the list of roles sorted
by name, rather than creation date {kib-pull}26491[#26491]
* Updates the Account Settings screen to show the change password form only when
a password change is possible for the authentication realm {kib-pull}26779[#26779]
* Makes space selector a `button` {kib-pull}26889[#26889]
Visualizations::
* Replaces Angular timepicker with EuiSuperDatePicker {kib-pull}29204[#29204]
* Upgrades Kibana to Elasticsearch 7.0 {kib-pull}29184[#29184]
* Maps inspector requests by id so single requests can be reset at a time {kib-pull}26770[#26770]
* Adds ODBC to blurb for start trail {kib-pull}27223[#27223]
* Adds a `console.error` for visualize errors {kib-pull}24581[#24581]
* Adds a timeout so that Vega respects `elasticsearch.shardTimeout` setting {kib-pull}30482[#30482]
* Removes experimental flag from Visual Builder (TSVB) {kib-pull}25634[#25634]
* Implements new visualization type selection {kib-pull}23833[#23833]
* Removes `lab` stage for visualizations, making `experimental` the only non-production
stage available {kib-pull}25702[#25702]
* Makes markdown consistent across {kib} {kib-pull}31890[#31890]
* Adds option to open links in new tab in Time Series Visual Builder {kib-pull}31906[#31906]
* Adds max, min, placeholder to percentile in Time Series Visual Builder {kib-pull}32389[#32389]
* Displays interval information in Time Series Visual Builder when building {kib-pull}32117[#32117]
* Adds controls to toggle disable/enable individual series and annotations {kib-pull}33107[#33107]
* Updates Vega to version 4 {kib-pull}30628[#30628]

[float]
[[bug-7.0.0]]
=== Bug fixes
APM::
* Fixes missing Machine Learning data and NaN issue {kib-pull}34333[#34333]
* Fixes transaction sample on error page {kib-pull}34048[#34048]
* Uses form label for Transaction type selector {kib-pull}28322[#28322]
* Fixes icon for View trace button {kib-pull}28908[#28908]
* Shows metric-only services in service overview {kib-pull}30397[#30397]
* Adds span subtype and action to Span Flyout {kib-pull}30041[#30041]
* Updates head title and fixes breadcrumb string issues {kib-pull}29960[#29960]
* Adds fixes for `service.name` scripted field {kib-pull}28488[#28488]
* Updates APM index pattern {kib-pull}30837[#30837]
* Updates APM reindex script {kib-pull}30761[#30761]
* Sets Index Pattern version as string {kib-pull}30789[#30789]
* Overrides EUI chart default styles for gridlines {kib-pull}21723[#21723]
* Adds section titles to span detail modal {kib-pull}20717[#20717]
* Fixes upgrade assistant label and copy {kib-pull}31750[#31750]
* Changes `context.system.hostname` to `host.hostname` for APM link {kib-pull}30884[#30884]
* Updates APM reindex script {kib-pull}31965[#31965]
* Updates APM index pattern {kib-pull}33595[#33595]
Canvas::
* Excludes assets from Canvas usage query {kib-pull}34516[#34516]
* Adds datetime as a date identifier {kib-pull}29537[#29537]
* Switches sample web logs fonts to 48px {kib-pull}30747[#30747]
* Fixes related to K7 design {kib-pull}30833[#30833]
* Fixes page preview size issue {kib-pull}26795[#26795]
* Fixes visual bug when opening the workpad loader {kib-pull}26647[#26647]
* Fixes page thumbnail sizes {kib-pull}26573[#26573]
* Decreases size of tray toggle {kib-pull}25470[#25470]
* Makes selection border 1px {kib-pull}26739[#26739]
* Fixes interpreter socket error {kib-pull}26870[#26870]
* Fixes duplicate `Value` options in math select value {kib-pull}25556[#25556]
* Gets correct plugins path {kib-pull}25448[#25448]
* Quotes the index pattern in SQL input {kib-pull}25488[#25488]
* Decreases the size of tray toggle {kib-pull}25470[#25470]
* Fixes the hours label container size {kib-pull}31838[#31838]
* Removes ID attribute {kib-pull}30736[#30736]
* Improves the plugin pre-build {kib-pull}25267[#25267]
Dashboard::
* Removes `dashboardContext` function and makes Timelion, Vega, and Time Series
Visual Builder use `buildEsQuery` {kib-pull}23227[#23227]
* Shows the filter bar in dashboard embed mode {kib-pull}32222[#32222]
Design::
* Updates dashboard design {kib-pull}29896[#29896]
* Adjusts side navigation interaction {kib-pull}29978[#29978]
* Converts Security UI from LESS to Sass {kib-pull}25079[#25079]
* Adds boilerplate Sass for Kibana core {kib-pull}21185[#21185]
* Makes dark mode overrides global {kib-pull}31628[#31628]
Discover::
* Adds debug code to flaky field_data test {kib-pull}15535[#15535]
* Gets even more debug info for flaky field_data test {kib-pull}17627[#17627]
* Allows time ranges before the epoch in Discover {kib-pull}31807[#31807]
* Fixes Kibana Query Language handling of carriage return {kib-pull}32150[#32150]
* Improves warning messages when using Lucene-like syntax {kib-pull}31837[#31837]
* Update capitalization of KQL full name {kib-pull}31631[#31631]
* Adds placeholder text indicating the filters aggregation takes only Lucene and Query DSL {kib-pull}31296[#31296]
* Prevents sending request if it already failed during query parsing {kib-pull}31219[#31219]
* Fixes apps to always migrate legacy queries on state change {kib-pull}33276[#33276]
Geo::
* Fixes panel cut off in K7 design {kib-pull}29209[#29209]
* Removes left-over geohash grid code {kib-pull}30312[#30312]
* Uses geo-tile aggregation instead of geohash precision {kib-pull}29776[#29776]
* Resolves URL dynamically when requesting EMS data {kib-pull}25685[#25685]
* Fixes EMS hotlink {kib-pull}26868[#26868]
* Fixes feature/align map config settings {kib-pull}19450[#19450]
* Removes `geotile_grid` aggregation from non-geospatial visualizations {kib-pull}31354[#31354]
* Coerces string doc-values to numbers if used in styling {kib-pull}33657[#33657]
Infrastructure::
* Fixes server-side retrieval of the {kib} version {kib-pull}31440[#31440]
* Fixes react router import {kib-pull}33659[#33659]
* Adapts settings ui to saved object version type change {kib-pull}30082[#30082]
* Fixes potential color bugs {kib-pull}26292[#26292]
* Fixes auto refresh button on node detail page {kib-pull}26426[#26426]
* Changes the time range from the last hour to the last 5 minutes for the Waffle Map {kib-pull}26278[#26278]
* Passes flag in request to force BWC hit count {kib-pull}26517[#26517]
* Replaces redux source slice with constate container {kib-pull}26121[#26121]
* Changes node detail link to set time range to 1 hour {kib-pull}26977[#26977]
* Stops showing sidenav while loading. {kib-pull}27119[#27119]
* Fixes styling after breaking EUI changes {kib-pull}27021[#27021]
* Fixes graphql type generation after package upgrades {kib-pull}26991[#26991]
* Removes usage of `ts-optchain` in the browser {kib-pull}27148[#27148]
Machine Learning::
* Fixes filter and icon for APM Data Recognizer module {kib-pull}31112[#31112]
* Ensures cardinality related messages in Advanced job wizard are formatted correctly {kib-pull}33599[#33599]
* Adds title elements which were missing from Calendars pages {kib-pull}33257[#33257]
* Changes job wizard query to use `match_all` {kib-pull}32008[#32008]
* Adds calendars list to job management {kib-pull}32566[#32566]
* Fixes Job Selector text to take group selection into account {kib-pull}31333[#31333]
* Ensures that Job Selector description text is accurate {kib-pull}32441[#32441]
* Reduces space between headings in the expanded row for Category examples in Anomalies Table {kib-pull}32417[#32417]
* Removes use of types in datafeeds  {kib-pull}27572[#27572]
* Fixes metric select double caret {kib-pull}30357[#30357]
* Removes old angular based start datafeed modal {kib-pull}30392[#30392]
* Handles removal of backend ml.enabled node attribute {kib-pull}27604[#27604]
* Edits labels in the Apache and Nginx ECS data recognizer modules {kib-pull}29935[#29935]
* Fixes for K7 compatibility {kib-pull}30536[#30536]
* Fixes broken label style in advanced wizard {kib-pull}30847[#30847]
* Adds ml-ui team to .github/CODEOWNERS {kib-pull}29810[#29810]
* Allows user to add/edit/delete annotations in the Single Series Viewer {kib-pull}26034[#26034]
* Does not pass datafeed query to Discover in custom URL {kib-pull}26957[#26957]
* Fixes word break in Anomalies and Jobs tables {kib-pull}26978[#26978]
* Fixes alignment of filter icons in the Anomalies table {kib-pull}26253[#26253]
* Shows useful error on invalid query in JobList search bar {kib-pull}25153[#25153]
* Adds user privilege check to Jobs List group selector control {kib-pull}25225[#25225]
* Fixes file data viz file size check and formats as bytes {kib-pull}25295[#25295]
* Fixes the layout of the cards in the Data Visualizer on IE {kib-pull}25383[#25383]
* Adds better error reporting for reading and importing data {kib-pull}24269[#24269]
* Displays an ordinal y axis for low cardinality rare charts {kib-pull}24852[#24852]
* Fixes typo in job validation message {kib-pull}25130[#25130]
* Removes deprecated `angularjs` based jobs list and related code {kib-pull}25216[#25216]
* Skips invalid modules when data recognizer lists matches {kib-pull}33703[#33703]
Management::
* Filters only on name in Index Management {kib-pull}34372[#34372]
* Removes grunt sterilize - its been replaced by `kbn clean` {kib-pull}27825[#27825]
* Makes Index management table more responsive {kib-pull}28882[#28882]
* Fixes index pattern wizard when there are remote clusters but no local indices  {kib-pull}24339[#24339]
* Uses new `_graph` endpoints {kib-pull}26956[#26956]
* Adjusts spacing of Management navigation items {kib-pull}25666[#25666]
* Updates "Disenroll" text to be consistent with menu option "Unenroll" {kib-pull}26816[#26816]
* Fixes broken breadcrumb link for index management {kib-pull}27164[#27164]
* Fixes issue with multiple execution in Console {kib-pull}26933[#26933]
* Reloads full index list when reload hits missing index {kib-pull}27197[#27197]
* Adds boilerplate for remote clusters management app {kib-pull}25369[#25369]
* Adds `ignore_failure` to ingest common auto complete in console {kib-pull}24915[#24915]
* Removes support for expression-based scripted fields {kib-pull}14310[#14310]
* Adds WatchErrors to capture invalid watches {kib-pull}23887[#23887]
* Rewords the translation id for error with missing property in Watcher {kib-pull}24753[#24753]
* Triggers full load when encountering 403 for index list reload {kib-pull}28243[#28243]
* Updates X-Pack console specs {kib-pull}29506[#29506]
* Fixes API integration test for follower indices {kib-pull}30260[#30260]
* Fixes management footer logo spacing bug {kib-pull}30654[#30654]
Monitoring::
* Updates to read from `.monitoring-*-7-*` indices {kib-pull}32654[#32654]
* Adds in explicit mappings {kib-pull}33004[#33004]
* Stops using the normalized derivative value {kib-pull}27416[#27416]
* Updates the title in the left nav to Stack Monitoring {kib-pull}28102[#28102]
* Prepares the Monitoring UI codebase for the incoming changes to `hits.total` {kib-pull}26442[#26442]
* Updates browser title to Stack Monitoring {kib-pull}29638[#29638]
* Fixes Monitoring design {kib-pull}29479[#29479]
* Removes old index patterns that are not expected in 7.0.0 onwards {kib-pull}27915[#27915]
* Removes deprecated `xpack.monitoring.report_stats` setting {kib-pull}30017[#30017]
* Fixes monitoring tests to work with mapping changes {kib-pull}29188[#29188]
* Removes type filter helper {kib-pull}30887[#30887]
* Fixes error handling for local stats collection/permissions {kib-pull}26560[#26560]
* Removes initial delay to check and send Telemetry data {kib-pull}26575[#26575]
* Pulls local Kibana usage stats {kib-pull}26496[#26496]
* Converts the Elasticsearch monitoring UIs to using EUI tables and page layout {kib-pull}26217[#26217]
* Renames Monitoring `FormattedMessage` to `FormattedAlert` {kib-pull}24197[#24197]
* Uses the cluster name from metadata if it exists {kib-pull}24495[#24495]
Observability::
* Fixes 7.x references to tcp.port {kib-pull}29132[#29132]
* Ports functional tests to 7.x {kib-pull}29398[#29398]
* Ports unit tests to master {kib-pull}29876[#29876]
* Adds missing loading states for filter bar and snapshot components {kib-pull}30122[#30122]
* Removes double-format for duration value {kib-pull}30664[#30664]
* Switches Uptime localization from i18n provider to context {kib-pull}31601[#31601]
* Improves monitor charts query {kib-pull}30561[#30561]
* Adds global help support to Uptime {kib-pull}31493[#31493]
* Updates targeted index pattern for 7.0.0 {kib-pull}30998[#30998]
Operations::
* Removes the usage of types from Esqueue used for the `.reporting index` {kib-pull}32146[#32146]
* Fixes IPv6 addresses used with Angular connector {kib-pull}29891[#29891]
* Fixes `makelogs` dependency {kib-pull}31428[#31428]
* Runs the {kib} server in production mode for functional testing {kib-pull}31346[#31346]
* Uses `fs.copyFile` to avoid race condition {kib-pull}32220[#32220]
* Removes `hash -r` {kib-pull}32616[#32616]
* Fixes JUnit reporter {kib-pull}32686[#32686]
* Adds options to `run()` that can modify help and show help on errors {kib-pull}33466[#33466]
* Captures values from boolean flags {kib-pull}33528[#33528]
* Fixes incorrect environment name for V8 options {kib-pull}31052[#31052]
* Removes svg from url-loader, as it conflicts with other loaders {kib-pull}30888[#30888]
* Uses apiVersion from es plugin in x-pack {kib-pull}30853[#30853]
* Clones saved object document before migrating to prevent accidental mutations {kib-pull}30475[#30475]
* Removes node fallback from kibana-keystore {kib-pull}15066[#15066]
* Adds debug script to set inspect flags {kib-pull}15967[#15967]
* Uses snake case for scripts/kibana-keystore.js and scripts/kibana-plugin.js {kib-pull}15331[#15331]
* Updates license info in package.json {kib-pull}20353[#20353]
* Fixes error log formatting {kib-pull}24788[#24788]
* Matches chalk dependency version on Kibana with the one used on X-Pack {kib-pull}20621[#20621]
* Fixes non-conforming licenses on devDependencies and adds the ability to whitelist devOnly licenses {kib-pull}23859[#23859]
* Adds jsxa11y into eslint rules {kib-pull}23932[#23932]
* Reverts Bump react-grid-layout to 0.16.0 {kib-pull}14912[#14912]
* Reverts breaking change for Status API {kib-pull}21927[#21927]
* Converts `utils/collection` to TypeScript {kib-pull}23992[#23992]
* Removes usage of update_all_types {kib-pull}16406[#16406]
* Improves the `yarn kbn bootstrap` speed by using yarn workspaces for packages inside `packages/*` and `x-pack` {kib-pull}24095[#24095]
* Runs jenkins:unit task with dev flag in order to run license check {kib-pull}19832[#19832]
* Does not break on startup in debug mode {kib-pull}19219[#19219]
Platform::
* Removes types from `saved_objects` repository {kib-pull}32286[#32286]
* Fixes custom icon image paths in `NavDrawer` {kib-pull}33573[#33573]
* Fixes back button navigation {kib-pull}32372[#32372]
* Improves types for ftr and expect.js and cleans up `tsconfig` files {kib-pull}31948[#31948]
* Strips # from hash before updating ``$location` {kib-pull}32732[#32732]
* Removes `disableAutoAngularUrlEncodingFix()`` {kib-pull}33136[#33136]
* Removes unused system-loader implementation {kib-pull}33747[#33747]
* Moves the table vis migration to {kib} plugin {kib-pull}29478[#29478]
* Allows passing a default operator to use on saved object client find operations {kib-pull}29339[#29339]
* Fixes saved object repository `bulkCreate` to return migrated references and attributes {kib-pull}29754[#29754]
* Adds missing saved object reference handling for searchSourceJSON filter attribute {kib-pull}29840[#29840]
* Excludes `migrationVersion` and references from `getRootPropertiesObjects` result {kib-pull}30081[#30081]
* Removes dependency on doc versions {kib-pull}29906[#29906]
* Adds typings for saved object client {kib-pull}29951[#29951]
* Uses `lastSubUrl` when appropriate {kib-pull}28735[#28735]
* Removes es _xpack endpoint usage {kib-pull}29465[#29465]
* Adds typings for the `saved_object_finder` react component {kib-pull}30067[#30067]
* Fixes the confirm overwrite modal of saved objects to handle large titles {kib-pull}28590[#28590]
* Decreases start limit and interval {kib-pull}25474[#25474]
* Adds `--download` flag to snapshot command to warm the cache {kib-pull}25830[#25830]
* Implements `--prefer-offline` flag {kib-pull}25840[#25840]
* Fixes watcher routes broken by Hapi upgrade {kib-pull}26713[#26713]
* Fixes non-conforming licenses on devDependencies and adds the ability to whitelist devOnly licenses {kib-pull}23859[#23859]
* Watches optimizer cache invalidation  {kib-pull}24172[#24172]
* Adds `normalizePath` in order to fix watch optimizer when running on Windows {kib-pull}26486[#26486]
* Creates vendor dll for the client modules {kib-pull}22618[#22618]
* Upgrades to NodeJS 10 {kib-pull}25157[#25157]
* Improves plugin version mismatch error message {kib-pull}25774[#25774]
* Improves build/packaging {kib-pull}26096[#26096]
* Swaps `jstimezonedetect` with `moment.tz.guess` {kib-pull}21800[#21800]
* Upgrades resize-observer-polyfill version {kib-pull}26990[#26990]
* Fixes saved objects client `_processBatchQueue` function to handle errors {kib-pull}26763[#26763]
* Changes kbn pm webpack config to generate dist files in mode=none {kib-pull}26847[#26847]
* Hides logs from deleteAll on task: clean client modules into dll {kib-pull}26884[#26884]
* Upgrades `resize-observer-polyfill` version {kib-pull}26990[#26990]
* Uses `single-node` discovery type for the test ES node/cluster {kib-pull}27125[#27125]
* Moves moment to peerDependency in elastic-datemath {kib-pull}27264[#27264]
* Transforms plugin deprecations before checking for unused settings {kib-pull}21294[#21294]
* Expands list of restricted globals in `eslint-config-kibana` {kib-pull}15798[#15798]
* Makes logs easier to read on Windows with chalk colors {kib-pull}15557[#15557]
* Fixes `includeFields` function to return root saved object properties {kib-pull}33847[#33847]
Reporting::
* Refactors routes files and helpers {kib-pull}30111[#30111]
* Deletes `sortOrder` once items have been sorted and does not pass to `EuiContextMenuItem`
in the share context menu {kib-pull}26890[#26890]
* Fixes a regression bug in detection of Error and Warning toast notifications {kib-pull}25482[#25482]
* Stops passing an empty `formatConfig` to the fieldFormats helper {kib-pull}27168[#27168]
* Returns promise in Reporting jobs API {kib-pull}24769[#24769]
* Uses `content-disposition` package for non-US font titles in reporting {kib-pull}30895[#30895]
* Uses lowercased server host settings {kib-pull}33020[#33020]
Rollups::
* Shows loading state in Rollup Job detail panel. {kib-pull}25752[#25752]
* Specifies Rollup Jobs breadcrumbs in header. {kib-pull}26590[#26590]
* Requires histogram interval in Rollup Job wizard to be a whole number. {kib-pull}26596[#26596]
* Removes duplicate rendered sections {kib-pull}[#28566]
Security::
* Adds tests for interpreter `createSocket` {kib-pull}29459[#29459]
* Moves the server-side `SavedObjectClient` types from the `spaces` plugin to the
same location as the corresponding JavaScript source files {kib-pull}26448[#26448]
* Respects the `basePath` for the link to the user profile in the k7 header {kib-pull}26417[#26417]
* Fixes `prettier` throw rule error  {kib-pull}26071[#26071]
* Fixes authentication logic to fail out of auth flow on first provider failure {kib-pull}26648[#26648]
* Fixes issues with the `url.search` being null in Node 10 {kib-pull}26992[#26992]
* Fixes DLS query toggle on the role management page {kib-pull}27213[#27213]
* Implements the K7 login screen {kib-pull}23512[#23512]
Visualizations::
* Fixes missing column totals in data table {kib-pull}34169[#34169]
* Hides gauge labels when value is hidden {kib-pull}34171[#34171]
* Changes sample data sets to use `auto_expand_replicas` of `0-1` for added data
resiliency and ease of administration {kib-pull}33736[#33736]
* Fixes broken CSV export from data table {kib-pull}34131[#34131]
* Hides gauge labels when value is hidden {kib-pull}34171[#34171]
* Removes dangerously set inner HTML {kib-pull}33976[#33976]
* Fixes gauge filters {kib-pull}30057[#30057]
* Fixes fieldformatter calls in pipeline helper {kib-pull}29842[#29842]
* Adds pipeline field formatting {kib-pull}28746[#28746]
* Removes `kibana_table` pipeline type {kib-pull}28979[#28979]
* Moves renderers registry to OSS {kib-pull}28986[#28986]
* Prepares for cut over to the visualize data loader from the current expression
pipeline data loader {kib-pull}29873[#29873]
* Toggles between Expression Pipeline & Visualize Data loader {kib-pull}29874[#29874]
* Fixes every app that was wrapping `query` in an array unnecessarily {kib-pull}27636[#27636]
* Fixes build issue and reintroduces new filter bar {kib-pull}29752[#29752]
* Adds index pattern URL change notes {kib-pull}30779[#30779]
* Fixes visualization filters to ignore invalid entries {kib-pull}30633[#30633]
* Expands the size of add panels flyout and increases default rows per page {kib-pull}30508[#30508]
* Fixes support for React 16.4+ by only resetting state if adaptors are updated {kib-pull}26138[#26138]
* Fixes scrolling list on Firefox {kib-pull}26246[#26246]
* Guards against empty and undefined index pattern arrays passed to QueryBar {kib-pull}24607[#24607]
* Removes unused indexPattern from vega/tsvb/timelion request handler {kib-pull}26007[#26007]
* Passes global filters from editor down to visualize  {kib-pull}26009[#26009]
* Stops using schemas in aggconfigs to output DSL {kib-pull}26010[#26010]
* Fixes `kbn-interpreter` package to not import from UI {kib-pull}26161[#26161]
* Fixes OSS dynamic plugin loading by reverting to Canvas way of loading plugins {kib-pull}26463[#26463]
* Fixes other bucket option to correctly apply without having to change other settings {kib-pull}26874[#26874]
* Adds `en` as a valid numeral locale setting {kib-pull}25948[#25948]
* Adds `rest_total_hits_as_int` into Kibana App {kib-pull}26404[#26404]
* Uses Canvas pipeline to fetch data inside Visualize {kib-pull}25996[#25996]
* Adds warning to the `documentation_links` file about link validation gotcha {kib-pull}24786[#24786]
* Adds workaround for `getDerivedStateFromProps` change in react 16.4 {kib-pull}25142[#25142]
* Fixes "Set up index patterns" link on home page {kib-pull}16128[#16128]
* Fixes Time Series Visual Builder so that auto apply changes on every click {kib-pull}33710[#33710]
* Removes the `geo_centroid` and `geo_bounds` aggregations from nested metrics {kib-pull}34042[#34042]
* Replaces deprecated `moving_avg` by `moving_fn` aggregation {kib-pull}34155[#34155]
* Adds autocomplete to Time Series Visual Builder {kib-pull}30158[#30158]
* Fixes missing Markdown variables {kib-pull}28173[#28173]
* Removes filter bar for Markdown visualizations {kib-pull}30354[#30354]
* Corrects label for OS visualization in logs sample data {kib-pull}30249[#30249]
* Fixes filter function on pie chart segment {kib-pull}26321[#26321]
* Rewrites URL when closing vis type selection modal {kib-pull}26327[#26327]
* Changes unbind calls from `.on` to `.off` {kib-pull}24575[#24575]
* Fixes date field in controls visualization by generating labels with the field
formatter {kib-pull}25654[#25654]
* Replaces LESS files with Sass in `ui/public/vis`, `visLib`, and `visualize` {kib-pull}25333[#25333]
* Replaces LESS files with Sass for the visualization types in `core_plugin/metrics` {kib-pull}24250[#24250]
* Moves `timeout` to `_msearch` body to fix time series visual builder requests {kib-pull}26510[#26510]
* Adds description for all visualization types {kib-pull}26243[#26243]
* Defaults the scroll wheel zoom to false on Vega maps {kib-pull}21169[#21169]
* Fixes problem within the input_vis_control plugin that prevents it from updating correctly
if the field is switched, and then switched back to the previous field {kib-pull}25164[#25164]
* Uses `vega-nocanvas` instead of Vega lib {kib-pull}16137[#16137]
* Migrates visualization from Angular to React {kib-pull}16425[#16425]
* Fixes maps for reporting (#15272) {kib-pull}15358[#15358]
* Stops creation of nested search source per postflightrequest {kib-pull}20373[#20373]
* Moves inspector code from Vis to embeddable visualize handler {kib-pull}24112[#24112]
* Removes inspector from Vis {kib-pull}24112[#24112]
* Fixes issue with debounce function running after component was unmounted {kib-pull}15045[#15045]
* Fixes for dark mode fixes for Visualize charts, Time Series Visual Builder, and Timelion {kib-pull}30478[#30478]
* Fixes geohash checkbox group spacing {kib-pull}32664[#32664]
* Removes deep clone from courier request handler {kib-pull}32806[#32806]
* Ensures saved filters from `searchSource` are always passed to response handlers {kib-pull}33074[#33074]
* Adds new visualization search selection {kib-pull}30196[#30196]
* Changes visualization save dialog when adding to dashboard {kib-pull}32883[#32883]
* Fixes missing variables preview in Time Series Visual Builder markdown {kib-pull}30830[#30830]
* Fixes incorrect behavior when filling the 'interval' field with values: s,m,d,M,y {kib-pull}32542[#32542]
* Fixes multi-metric gauge with vertical sizing {kib-pull}33245[#33245]
* Fixes Time Series Visual Builder display on small screen resolution {kib-pull}33299[#33299]
* Fixes Time Series Visual Builder metric and gauge panels when splitting data by numbers {kib-pull}33304[#33304]
* Fixes Time Series Visual Builder percentile ranks with integer values that return no results {kib-pull}33397[#33397]
* Fixes Time Series Visual Builder issue with table view {kib-pull}33645[#33645]
* Fixes Time Series Visual Builder issue with wrong color rules on multiple metrics {kib-pull}31455[#31455]
* Fixes Time Series Visual Builder issue with percentiles for table {kib-pull}32084[#32084]
* Switches all Time Series Visual Builder comboboxes to plain text single selection {kib-pull}31879[#31879]
* Fixes table visualization to format date string when grouping by date field {kib-pull}31783[#31783]
* Adds flex wrap to metric visualization container {kib-pull}31891[#31891]
* Fixes missing axis labels when moving position {kib-pull}32628[#32628]
* Fixes vislib legend entry width {kib-pull}33303[#33303]
* Fixes legend / color picker overflow {kib-pull}30960[#30960]
* Fixes total Metric Count inside donut pie charts  {kib-pull}29086[#29086]
* Adds labels for sort order and request preference setting {kib-pull}31236[#31236]
* Fixes time picker quick ranges description {kib-pull}32455[#32455]
* Adds check for `extraMetric` in point server tooltip hovers {kib-pull}32641[#32641]
* Switches sample data objects to KQL {kib-pull}32718[#32718]
* Migrate visualization controls to use references {kib-pull}30880[#30880]
* Dedupes by index pattern ID rather than object identity {kib-pull}32350[#32350]
* Ensures extra columns are not shown in table visualization when `showPartialRows:true` {kib-pull}27154[#27154]
* Uses default index pattern when one is not present in Visualize {kib-pull}30574[#30574]
* Surfaces visualization loader errors in the UI {kib-pull}30594[#30594]






[[release-notes-7.0.0-rc2]]
== {kib} 7.0.0-rc2

[float]
=== Known issues

Monitoring::
* If you have a version 7.0 monitoring cluster, a version 6.7 production
cluster and {kib} version 6.7.0 or 6.7.1, you cannot see the monitoring data in
{kib}. {kib-issue}34357[#34357]

[float]
[[breaking-7.0.0-rc2]]
=== Breaking changes

For more details about breaking changes in this release, see
<<breaking-changes-7.0, Breaking changes in 7.0>>.

Discover::
* Allows user to use advanced query DSL directly, and does not apply `query:queryString:options` to `query_string` filters automatically {kib-pull}15640[#15640]
* Removes `default_field` from `query:queryString:options` {kib-pull}18966[#18966]
* Makes KQL the default query language for new searches {kib-pull}27092[#27092]
Design::
* Removes references to K6 EUI, using the default UI theme in its place {kib-pull}29152[#29152]
Geo::
* Removes the deprecated `regionmap` and `tilemap` kibana.yml configurations.
Removes the backwards compatibility logic that checked for duplicative settings
`map.regionmap` and `map.tilemap`. {kib-pull}28609[#28609]
Monitoring::
* Refactors index patterns from configurable to constants {kib-pull}29528[#29528]
* Removes `node_resolver` setting {kib-pull}21181[#21181]
Management::
* Adds `configPrefix` to Index Management, License Management, Rollup Jobs, and
Upgrade Assistant {kib-pull}30149[#30149]
* Removes nested table splits from table visualization {kib-pull}26057[#26057]
* Standardizes use of `index_pattern` in UI code and URLs, replacing `indices`
and `index`  {kib-pull}29151[#29151] and {kib-pull}29481[#29481]
* Removes app-specific dark mode options and replaces with a global dark mode uiSetting {kib-pull}29017[#29017]
Operations::
* Defers the optimize step in the plugin installer to server start {kib-pull}26983[#26983]
* Removes tribe node support {kib-pull}16397[#16397]
* Creates separate startup scripts for development and production {kib-pull}13806[#13806]
* Sets default port based on protocol  {kib-pull}21564[#21564]
* Removes deprecated `/shorten` API {kib-pull}21861[#21861]
Platform::
* Removes deprecated `i18n.defaultLocale` setting {kib-pull}29325[#29325]
* Removes previously deprecated `elasticsearch*` settings. {kib-pull}29496[#29496]
* Adds new "references" attribute to saved objects for relationships {kib-pull}28199[#28199]
Reporting::
* Removes Phantom dependency {kib-pull}27142[#27142]
Security::
* Removes deprecated SSL settings {kib-pull}28622[#28622]
* Removes legacy fallback {kib-pull}29107[#29107]
Visualizations::
* Removes Timelion from the app switcher by default {kib-pull}30131[#30131]


[float]
[[deprecation-7.0.0-rc2]]
=== Deprecations

Geo::
* Fixes legacy tilemap loading {kib-pull}22095[#22095]
Machine Learning::
* Updates REST endpoint calls to remove _xpack {kib-pull}28069[#28069]
Visualizations::
* Removes old visualize wizard URL {kib-pull}28982[#28982]
* Removes legacy response handler {kib-pull}28985[#28985]
* Removes `legacyIcon` from visualizations {kib-pull}28981[#28981]


[float]
[[enhancement-7.0.0-rc2]]
=== Enhancements
Canvas::
* Removes WebSockets from Canvas expressions interpreter {kib-pull}29792[#29792]
* Optimizes Canvas REST calls via batching {kib-pull}29847[#29847]
* Implements a clipboard and stores the copied elements in `localStorage` {kib-pull}25890[#25890]
* Adds the ability to reuse assets without editing an element's expression {kib-pull}25764[#25764]
* Adds the `clear` function {kib-pull}26397[#26397]
* Adds workpad-level CSS {kib-pull}24143[#24143]
* Improvements to expression editor {kib-pull}32336[#32336]
* Adds `aria-label` attribute for Color: Auto Color to button inside chart style {kib-pull}32633[#32633]
* Adds `aria-label` attribute for Copy to clipboard {kib-pull}32880[#32880]
Dashboard::
* Adds `href` option in addition to `onClick` for navigational links {kib-pull}25233[#25233]
Design::
* Implements a new design for {kib} called K7
* Updates logos for marketing {kib-pull}25489[#25489]
* Adds Kibana 7.0 breadcrumbs to home screen {kib-pull}26605[#26605]
* Moves elastic/eui typings to single file {kib-pull}23950[#23950]
Discover::
* Renames the kuery setting to KQL {kib-pull}29587[#29587]
* Adds visual indication of selected language in query bar {kib-pull}30899[#30899]
Logstash::
* Adopts {es} typeless API for Logstash central management {kib-pull}30546[#30546]
Management::
* Adds `Request timestamp` to request inspector stats {kib-pull}25667[#25667]
* Adds "Reload indices" button to Index Management {kib-pull}27033[#27033]
Machine Learning::
* Adds `created_by` field to Auditbeat and APM data recognizer jobs {kib-pull}33863[#33863]
* Adds the time of the anomaly to the `aria-label` of the actions button in each row of the anomalies table {kib-pull}32777[#32777]
* Adds `role="alert"` callouts on the Job Management page to ensure the information is read out by screen readers {kib-pull}32911[#32911]
* Adds EUI `ScreenReaderOnly` component to the "Analyzing data" modal {kib-pull}32472[#32472]
* Updates job type and APM module icon to new designs {kib-pull}25380[#25380]
* Allows model plot enablement via checkbox in  MultiMetric/Population Job creation {kib-pull}24914[#24914]
* Adds support for the rare detector for charts in Anomaly Explorer and Singe Metric viewer {kib-pull}21524[#21524]
* Updates HTTP access modules for ECS {kib-pull}29383[#29383]
* Updates auditbeat modules for ECS {kib-pull}29934[#29934]
* Removes non ECS apache, nginx and auditbeat data recognizer modules {kib-pull}30537[#30537]
* Adds the configuration files for two new auditbeat data recognizer modules for
detecting unusual processes on hosts and Docker containers {kib-pull}25716[#25716]
* Adds support for saved searches created using Kuery to the job wizards {kib-pull}26094[#26094]
* Allows users to enter their own query in the Discover page; stops passing the query
from the job datafeed config in custom URLs {kib-pull}26957[#26957]
* Rewrites Calendar to React/EUI {kib-pull}26741[#26741]
* Converts Setting page to React/EUI {kib-pull}27144[#27144]
* Ensures loading indicator is present on initial jobs load {kib-pull}27151[#27151]
* Prevents a new calendar save if a calendar with that id already exists {kib-pull}27104[#27104]
* Edits data recognizer modules to use KQL in saved objects {kib-pull}32766[#32766]
Observability::
* Converts monitor sparklines to histogram {kib-pull}28502[#28502]
* Adds crosshair sync for monitor page charts {kib-pull}28631[#28631]
* Adds a new plugin for Uptime Monitoring {kib-pull}25480[#25480]
Operations::
* Adds support for reindexing APM indices {kib-pull}29845[#29845]
* Adds a reindex warning for mapping type changes {kib-pull}32081[#32081]
* Adds warning callout to update APM index pattern {kib-pull}33661[#33661]
Platform::
* Adds help menu item to header {kib-pull}29664[#29664]
* Implements global dark theme {kib-pull}28445[#28445]
* Removes support for the K6 navigation style {kib-pull}29565[#29565]
* Adds `rest_total_hits_as_int` to all requests in platform code that eventually
look up `hits.total` {kib-pull}26432[#26432]
* Adds `dist` flag to the configuration context {kib-pull}26545[#26545]
* Prepares `@kbn/datemath` to be republished as `@elastic/datemath` {kib-pull}26559[#26559]
* Wraps `remote` methods in `browser` service {kib-pull}26394[#26394]
* Uses `stream.pipeline` to manage error handling {kib-pull}27246[#27246]
Querying & Filtering::
* Moves the `buildESQuery` module (including filters and Kuery) into a separate package {kib-pull}23345[#23345]
* Adds comment explaining why `getComputedFields` adds a `docvalue` to `docvalue_fields`
for each date field in an index pattern. {kib-pull}25725[#25725]
* Moves filtering functions out of `vis.API.events` {kib-pull}25280[#25280]
Reporting::
* Adds png output to reports {kib-pull}24759[#24759]
* Sorts ascending on sort order first then ascending on name. Any menu item
without a sort order gets set to zero. {kib-pull}25058[#25058]
* In the Visualization Editor, removes the "Optimize for printing" option when
exporting the visualization as PNG or PDF. The single visualization will automatically
be optimized for printing {kib-pull}30456[#30456]
* Adds browser type to the reporting side panel {kib-pull}26307[#26307]
* Adds better logging for `waitForSelector` failure {kib-pull}25762[#25762]
* Enhances error messaging and handling {kib-pull}26299[#26299]
* Adds "Info" button in the Reporting listing {kib-pull}25421[#25421]
* Adds new inspector for chromium-backed reports {kib-pull}32430[#32430]
Rollups::
* Adds support for rolling up metrics of date fields {kib-pull}26450[#26450]
Security::
* Introduces content security policy (CSP) {kib-pull}29545[#29545]
* Warns legacy browsers that do not support content security policy {kib-pull}29957[#29957]
* Adds content security policy strict mode {kib-pull}29856[#29856]
* Updates the GET `/api/security/role` endpoint to return the list of roles sorted
by name, rather than creation date {kib-pull}26491[#26491]
* Updates the Account Settings screen to show the change password form only when
a password change is possible for the authentication realm {kib-pull}26779[#26779]
* Makes space selector a `button` {kib-pull}26889[#26889]
Visualizations::
* Replaces Angular timepicker with EuiSuperDatePicker {kib-pull}29204[#29204]
* Upgrades Kibana to Elasticsearch 7.0 {kib-pull}29184[#29184]
* Maps inspector requests by id so single requests can be reset at a time {kib-pull}26770[#26770]
* Adds ODBC to blurb for start trail {kib-pull}27223[#27223]
* Adds a `console.error` for visualize errors {kib-pull}24581[#24581]
* Adds a timeout so that Vega respects `elasticsearch.shardTimeout` setting {kib-pull}30482[#30482]
* Removes experimental flag from Visual Builder (TSVB) {kib-pull}25634[#25634]
* Implements new visualization type selection {kib-pull}23833[#23833]
* Removes `lab` stage for visualizations, making `experimental` the only non-production
stage available {kib-pull}25702[#25702]
* Makes markdown consistent across {kib} {kib-pull}31890[#31890]
* Adds option to open links in new tab in Time Series Visual Builder {kib-pull}31906[#31906]
* Adds max, min, placeholder to percentile in Time Series Visual Builder {kib-pull}32389[#32389]
* Displays interval information in Time Series Visual Builder when building {kib-pull}32117[#32117]
* Adds controls to toggle disable/enable individual series and annotations {kib-pull}33107[#33107]
* Updates Vega to version 4 {kib-pull}30628[#30628]

[float]
[[bug-7.0.0-rc2]]
=== Bug fixes
APM::
* Fixes transaction sample on error page {kib-pull}34048[#34048]
* Uses form label for Transaction type selector {kib-pull}28322[#28322]
* Fixes icon for View trace button {kib-pull}28908[#28908]
* Shows metric-only services in service overview {kib-pull}30397[#30397]
* Adds span subtype and action to Span Flyout {kib-pull}30041[#30041]
* Updates head title and fixes breadcrumb string issues {kib-pull}29960[#29960]
* Adds fixes for `service.name` scripted field {kib-pull}28488[#28488]
* Updates APM index pattern {kib-pull}30837[#30837]
* Updates APM reindex script {kib-pull}30761[#30761]
* Sets Index Pattern version as string {kib-pull}30789[#30789]
* Overrides EUI chart default styles for gridlines {kib-pull}21723[#21723]
* Adds section titles to span detail modal {kib-pull}20717[#20717]
* Fixes upgrade assistant label and copy {kib-pull}31750[#31750]
* Changes `context.system.hostname` to `host.hostname` for APM link {kib-pull}30884[#30884]
* Updates APM reindex script {kib-pull}31965[#31965]
* Updates APM index pattern {kib-pull}33595[#33595]
Canvas::
* Adds datetime as a date identifier {kib-pull}29537[#29537]
* Switches sample web logs fonts to 48px {kib-pull}30747[#30747]
* Fixes related to K7 design {kib-pull}30833[#30833]
* Fixes page preview size issue {kib-pull}26795[#26795]
* Fixes visual bug when opening the workpad loader {kib-pull}26647[#26647]
* Fixes page thumbnail sizes {kib-pull}26573[#26573]
* Decreases size of tray toggle {kib-pull}25470[#25470]
* Makes selection border 1px {kib-pull}26739[#26739]
* Fixes interpreter socket error {kib-pull}26870[#26870]
* Fixes duplicate `Value` options in math select value {kib-pull}25556[#25556]
* Gets correct plugins path {kib-pull}25448[#25448]
* Quotes the index pattern in SQL input {kib-pull}25488[#25488]
* Decreases the size of tray toggle {kib-pull}25470[#25470]
* Fixes the hours label container size {kib-pull}31838[#31838]
* Removes ID attribute {kib-pull}30736[#30736]
* Improves the plugin pre-build {kib-pull}25267[#25267]
Dashboard::
* Removes `dashboardContext` function and makes Timelion, Vega, and Time Series
Visual Builder use `buildEsQuery` {kib-pull}23227[#23227]
* Shows the filter bar in dashboard embed mode {kib-pull}32222[#32222]
Design::
* Updates dashboard design {kib-pull}29896[#29896]
* Adjusts side navigation interaction {kib-pull}29978[#29978]
* Converts Security UI from LESS to Sass {kib-pull}25079[#25079]
* Adds boilerplate Sass for Kibana core {kib-pull}21185[#21185]
* Makes dark mode overrides global {kib-pull}31628[#31628]
Discover::
* Adds debug code to flaky field_data test {kib-pull}15535[#15535]
* Gets even more debug info for flaky field_data test {kib-pull}17627[#17627]
* Allows time ranges before the epoch in Discover {kib-pull}31807[#31807]
* Fixes Kibana Query Language handling of carriage return {kib-pull}32150[#32150]
* Improves warning messages when using Lucene-like syntax {kib-pull}31837[#31837]
* Update capitalization of KQL full name {kib-pull}31631[#31631]
* Adds placeholder text indicating the filters aggregation takes only Lucene and Query DSL {kib-pull}31296[#31296]
* Prevents sending request if it already failed during query parsing {kib-pull}31219[#31219]
* Fixes apps to always migrate legacy queries on state change {kib-pull}33276[#33276]
Geo::
* Fixes panel cut off in K7 design {kib-pull}29209[#29209]
* Removes left-over geohash grid code {kib-pull}30312[#30312]
* Uses geo-tile aggregation instead of geohash precision {kib-pull}29776[#29776]
* Resolves URL dynamically when requesting EMS data {kib-pull}25685[#25685]
* Fixes EMS hotlink {kib-pull}26868[#26868]
* Fixes feature/align map config settings {kib-pull}19450[#19450]
* Removes `geotile_grid` aggregation from non-geospatial visualizations {kib-pull}31354[#31354]
* Coerces string doc-values to numbers if used in styling {kib-pull}33657[#33657]
Infrastructure::
* Fixes server-side retrieval of the {kib} version {kib-pull}31440[#31440]
* Fixes react router import {kib-pull}33659[#33659]
* Adapts settings ui to saved object version type change {kib-pull}30082[#30082]
* Fixes potential color bugs {kib-pull}26292[#26292]
* Fixes auto refresh button on node detail page {kib-pull}26426[#26426]
* Changes the time range from the last hour to the last 5 minutes for the Waffle Map {kib-pull}26278[#26278]
* Passes flag in request to force BWC hit count {kib-pull}26517[#26517]
* Replaces redux source slice with constate container {kib-pull}26121[#26121]
* Changes node detail link to set time range to 1 hour {kib-pull}26977[#26977]
* Stops showing sidenav while loading. {kib-pull}27119[#27119]
* Fixes styling after breaking EUI changes {kib-pull}27021[#27021]
* Fixes graphql type generation after package upgrades {kib-pull}26991[#26991]
* Removes usage of `ts-optchain` in the browser {kib-pull}27148[#27148]
Machine Learning::
* Fixes filter and icon for APM Data Recognizer module {kib-pull}31112[#31112]
* Ensures cardinality related messages in Advanced job wizard are formatted correctly {kib-pull}33599[#33599]
* Adds title elements which were missing from Calendars pages {kib-pull}33257[#33257]
* Changes job wizard query to use `match_all` {kib-pull}32008[#32008]
* Adds calendars list to job management {kib-pull}32566[#32566]
* Fixes Job Selector text to take group selection into account {kib-pull}31333[#31333]
* Ensures that Job Selector description text is accurate {kib-pull}32441[#32441]
* Reduces space between headings in the expanded row for Category examples in Anomalies Table {kib-pull}32417[#32417]
* Removes use of types in datafeeds  {kib-pull}27572[#27572]
* Fixes metric select double caret {kib-pull}30357[#30357]
* Removes old angular based start datafeed modal {kib-pull}30392[#30392]
* Handles removal of backend ml.enabled node attribute {kib-pull}27604[#27604]
* Edits labels in the Apache and Nginx ECS data recognizer modules {kib-pull}29935[#29935]
* Fixes for K7 compatibility {kib-pull}30536[#30536]
* Fixes broken label style in advanced wizard {kib-pull}30847[#30847]
* Adds ml-ui team to .github/CODEOWNERS {kib-pull}29810[#29810]
* Allows user to add/edit/delete annotations in the Single Series Viewer {kib-pull}26034[#26034]
* Does not pass datafeed query to Discover in custom URL {kib-pull}26957[#26957]
* Fixes word break in Anomalies and Jobs tables {kib-pull}26978[#26978]
* Fixes alignment of filter icons in the Anomalies table {kib-pull}26253[#26253]
* Shows useful error on invalid query in JobList search bar {kib-pull}25153[#25153]
* Adds user privilege check to Jobs List group selector control {kib-pull}25225[#25225]
* Fixes file data viz file size check and formats as bytes {kib-pull}25295[#25295]
* Fixes the layout of the cards in the Data Visualizer on IE {kib-pull}25383[#25383]
* Adds better error reporting for reading and importing data {kib-pull}24269[#24269]
* Displays an ordinal y axis for low cardinality rare charts {kib-pull}24852[#24852]
* Fixes typo in job validation message {kib-pull}25130[#25130]
* Removes deprecated `angularjs` based jobs list and related code {kib-pull}25216[#25216]
* Skips invalid modules when data recognizer lists matches {kib-pull}33703[#33703]
Management::
* Removes grunt sterilize - its been replaced by `kbn clean` {kib-pull}27825[#27825]
* Makes Index management table more responsive {kib-pull}28882[#28882]
* Fixes index pattern wizard when there are remote clusters but no local indices  {kib-pull}24339[#24339]
* Uses new `_graph` endpoints {kib-pull}26956[#26956]
* Adjusts spacing of Management navigation items {kib-pull}25666[#25666]
* Updates "Disenroll" text to be consistent with menu option "Unenroll" {kib-pull}26816[#26816]
* Fixes broken breadcrumb link for index management {kib-pull}27164[#27164]
* Fixes issue with multiple execution in Console {kib-pull}26933[#26933]
* Reloads full index list when reload hits missing index {kib-pull}27197[#27197]
* Adds boilerplate for remote clusters management app {kib-pull}25369[#25369]
* Adds `ignore_failure` to ingest common auto complete in console {kib-pull}24915[#24915]
* Removes support for expression-based scripted fields {kib-pull}14310[#14310]
* Adds WatchErrors to capture invalid watches {kib-pull}23887[#23887]
* Rewords the translation id for error with missing property in Watcher {kib-pull}24753[#24753]
* Triggers full load when encountering 403 for index list reload {kib-pull}28243[#28243]
* Updates X-Pack console specs {kib-pull}29506[#29506]
* Fixes API integration test for follower indices {kib-pull}30260[#30260]
* Fixes management footer logo spacing bug {kib-pull}30654[#30654]
Monitoring::
* Updates to read from `.monitoring-*-7-*` indices {kib-pull}32654[#32654]
* Adds in explicit mappings {kib-pull}33004[#33004]
* Stops using the normalized derivative value {kib-pull}27416[#27416]
* Updates the title in the left nav to Stack Monitoring {kib-pull}28102[#28102]
* Prepares the Monitoring UI codebase for the incoming changes to `hits.total` {kib-pull}26442[#26442]
* Updates browser title to Stack Monitoring {kib-pull}29638[#29638]
* Fixes Monitoring design {kib-pull}29479[#29479]
* Removes old index patterns that are not expected in 7.0.0 onwards {kib-pull}27915[#27915]
* Removes deprecated `xpack.monitoring.report_stats` setting {kib-pull}30017[#30017]
* Fixes monitoring tests to work with mapping changes {kib-pull}29188[#29188]
* Removes type filter helper {kib-pull}30887[#30887]
* Fixes error handling for local stats collection/permissions {kib-pull}26560[#26560]
* Removes initial delay to check and send Telemetry data {kib-pull}26575[#26575]
* Pulls local Kibana usage stats {kib-pull}26496[#26496]
* Converts the Elasticsearch monitoring UIs to using EUI tables and page layout {kib-pull}26217[#26217]
* Renames Monitoring `FormattedMessage` to `FormattedAlert` {kib-pull}24197[#24197]
* Uses the cluster name from metadata if it exists {kib-pull}24495[#24495]
Observability::
* Fixes 7.x references to tcp.port {kib-pull}29132[#29132]
* Ports functional tests to 7.x {kib-pull}29398[#29398]
* Ports unit tests to master {kib-pull}29876[#29876]
* Adds missing loading states for filter bar and snapshot components {kib-pull}30122[#30122]
* Removes double-format for duration value {kib-pull}30664[#30664]
* Switches Uptime localization from i18n provider to context {kib-pull}31601[#31601]
* Improves monitor charts query {kib-pull}30561[#30561]
* Adds global help support to Uptime {kib-pull}31493[#31493]
* Updates targeted index pattern for 7.0.0 {kib-pull}30998[#30998]
Operations::
* Removes the usage of types from Esqueue used for the `.reporting index` {kib-pull}32146[#32146]
* Fixes IPv6 addresses used with Angular connector {kib-pull}29891[#29891]
* Fixes `makelogs` dependency {kib-pull}31428[#31428]
* Runs the {kib} server in production mode for functional testing {kib-pull}31346[#31346]
* Uses `fs.copyFile` to avoid race condition {kib-pull}32220[#32220]
* Removes `hash -r` {kib-pull}32616[#32616]
* Fixes JUnit reporter {kib-pull}32686[#32686]
* Adds options to `run()` that can modify help and show help on errors {kib-pull}33466[#33466]
* Captures values from boolean flags {kib-pull}33528[#33528]
* Fixes incorrect environment name for V8 options {kib-pull}31052[#31052]
* Removes svg from url-loader, as it conflicts with other loaders {kib-pull}30888[#30888]
* Uses apiVersion from es plugin in x-pack {kib-pull}30853[#30853]
* Clones saved object document before migrating to prevent accidental mutations {kib-pull}30475[#30475]
* Removes node fallback from kibana-keystore {kib-pull}15066[#15066]
* Adds debug script to set inspect flags {kib-pull}15967[#15967]
* Uses snake case for scripts/kibana-keystore.js and scripts/kibana-plugin.js {kib-pull}15331[#15331]
* Updates license info in package.json {kib-pull}20353[#20353]
* Fixes error log formatting {kib-pull}24788[#24788]
* Matches chalk dependency version on Kibana with the one used on X-Pack {kib-pull}20621[#20621]
* Fixes non-conforming licenses on devDependencies and adds the ability to whitelist devOnly licenses {kib-pull}23859[#23859]
* Adds jsxa11y into eslint rules {kib-pull}23932[#23932]
* Reverts Bump react-grid-layout to 0.16.0 {kib-pull}14912[#14912]
* Reverts breaking change for Status API {kib-pull}21927[#21927]
* Converts `utils/collection` to TypeScript {kib-pull}23992[#23992]
* Removes usage of update_all_types {kib-pull}16406[#16406]
* Improves the `yarn kbn bootstrap` speed by using yarn workspaces for packages inside `packages/*` and `x-pack` {kib-pull}24095[#24095]
* Runs jenkins:unit task with dev flag in order to run license check {kib-pull}19832[#19832]
* Does not break on startup in debug mode {kib-pull}19219[#19219]
Platform::
* Removes types from `saved_objects` repository {kib-pull}32286[#32286]
* Fixes custom icon image paths in `NavDrawer` {kib-pull}33573[#33573]
* Fixes back button navigation {kib-pull}32372[#32372]
* Improves types for ftr and expect.js and cleans up `tsconfig` files {kib-pull}31948[#31948]
* Strips # from hash before updating ``$location` {kib-pull}32732[#32732]
* Removes `disableAutoAngularUrlEncodingFix()`` {kib-pull}33136[#33136]
* Removes unused system-loader implementation {kib-pull}33747[#33747]
* Moves the table vis migration to {kib} plugin {kib-pull}29478[#29478]
* Allows passing a default operator to use on saved object client find operations {kib-pull}29339[#29339]
* Fixes saved object repository `bulkCreate` to return migrated references and attributes {kib-pull}29754[#29754]
* Adds missing saved object reference handling for searchSourceJSON filter attribute {kib-pull}29840[#29840]
* Excludes `migrationVersion` and references from `getRootPropertiesObjects` result {kib-pull}30081[#30081]
* Removes dependency on doc versions {kib-pull}29906[#29906]
* Adds typings for saved object client {kib-pull}29951[#29951]
* Uses `lastSubUrl` when appropriate {kib-pull}28735[#28735]
* Removes es _xpack endpoint usage {kib-pull}29465[#29465]
* Adds typings for the `saved_object_finder` react component {kib-pull}30067[#30067]
* Fixes the confirm overwrite modal of saved objects to handle large titles {kib-pull}28590[#28590]
* Decreases start limit and interval {kib-pull}25474[#25474]
* Adds `--download` flag to snapshot command to warm the cache {kib-pull}25830[#25830]
* Implements `--prefer-offline` flag {kib-pull}25840[#25840]
* Fixes watcher routes broken by Hapi upgrade {kib-pull}26713[#26713]
* Fixes non-conforming licenses on devDependencies and adds the ability to whitelist devOnly licenses {kib-pull}23859[#23859]
* Watches optimizer cache invalidation  {kib-pull}24172[#24172]
* Adds `normalizePath` in order to fix watch optimizer when running on Windows {kib-pull}26486[#26486]
* Creates vendor dll for the client modules {kib-pull}22618[#22618]
* Upgrades to NodeJS 10 {kib-pull}25157[#25157]
* Improves plugin version mismatch error message {kib-pull}25774[#25774]
* Improves build/packaging {kib-pull}26096[#26096]
* Swaps `jstimezonedetect` with `moment.tz.guess` {kib-pull}21800[#21800]
* Upgrades resize-observer-polyfill version {kib-pull}26990[#26990]
* Fixes saved objects client `_processBatchQueue` function to handle errors {kib-pull}26763[#26763]
* Changes kbn pm webpack config to generate dist files in mode=none {kib-pull}26847[#26847]
* Hides logs from deleteAll on task: clean client modules into dll {kib-pull}26884[#26884]
* Upgrades `resize-observer-polyfill` version {kib-pull}26990[#26990]
* Uses `single-node` discovery type for the test ES node/cluster {kib-pull}27125[#27125]
* Moves moment to peerDependency in elastic-datemath {kib-pull}27264[#27264]
* Transforms plugin deprecations before checking for unused settings {kib-pull}21294[#21294]
* Expands list of restricted globals in `eslint-config-kibana` {kib-pull}15798[#15798]
* Makes logs easier to read on Windows with chalk colors {kib-pull}15557[#15557]
* Fixes `includeFields` function to return root saved object properties {kib-pull}33847[#33847]
Reporting::
* Refactors routes files and helpers {kib-pull}30111[#30111]
* Deletes `sortOrder` once items have been sorted and does not pass to `EuiContextMenuItem`
in the share context menu {kib-pull}26890[#26890]
* Fixes a regression bug in detection of Error and Warning toast notifications {kib-pull}25482[#25482]
* Stops passing an empty `formatConfig` to the fieldFormats helper {kib-pull}27168[#27168]
* Returns promise in Reporting jobs API {kib-pull}24769[#24769]
* Uses `content-disposition` package for non-US font titles in reporting {kib-pull}30895[#30895]
* Uses lowercased server host settings {kib-pull}33020[#33020]
Rollups::
* Shows loading state in Rollup Job detail panel. {kib-pull}25752[#25752]
* Specifies Rollup Jobs breadcrumbs in header. {kib-pull}26590[#26590]
* Requires histogram interval in Rollup Job wizard to be a whole number. {kib-pull}26596[#26596]
* Removes duplicate rendered sections {kib-pull}[#28566]
Security::
* Adds tests for interpreter `createSocket` {kib-pull}29459[#29459]
* Moves the server-side `SavedObjectClient` types from the `spaces` plugin to the
same location as the corresponding JavaScript source files {kib-pull}26448[#26448]
* Respects the `basePath` for the link to the user profile in the k7 header {kib-pull}26417[#26417]
* Fixes `prettier` throw rule error  {kib-pull}26071[#26071]
* Fixes authentication logic to fail out of auth flow on first provider failure {kib-pull}26648[#26648]
* Fixes issues with the `url.search` being null in Node 10 {kib-pull}26992[#26992]
* Fixes DLS query toggle on the role management page {kib-pull}27213[#27213]
* Implements the K7 login screen {kib-pull}23512[#23512]
Visualizations::
* Hides gauge labels when value is hidden {kib-pull}34171[#34171]
* Removes dangerously set inner HTML {kib-pull}33976[#33976]
* Fixes gauge filters {kib-pull}30057[#30057]
* Fixes fieldformatter calls in pipeline helper {kib-pull}29842[#29842]
* Adds pipeline field formatting {kib-pull}28746[#28746]
* Removes `kibana_table` pipeline type {kib-pull}28979[#28979]
* Moves renderers registry to OSS {kib-pull}28986[#28986]
* Prepares for cut over to the visualize data loader from the current expression
pipeline data loader {kib-pull}29873[#29873]
* Toggles between Expression Pipeline & Visualize Data loader {kib-pull}29874[#29874]
* Fixes every app that was wrapping `query` in an array unnecessarily {kib-pull}27636[#27636]
* Fixes build issue and reintroduces new filter bar {kib-pull}29752[#29752]
* Adds index pattern URL change notes {kib-pull}30779[#30779]
* Fixes visualization filters to ignore invalid entries {kib-pull}30633[#30633]
* Expands the size of add panels flyout and increases default rows per page {kib-pull}30508[#30508]
* Fixes support for React 16.4+ by only resetting state if adaptors are updated {kib-pull}26138[#26138]
* Fixes scrolling list on Firefox {kib-pull}26246[#26246]
* Guards against empty and undefined index pattern arrays passed to QueryBar {kib-pull}24607[#24607]
* Removes unused indexPattern from vega/tsvb/timelion request handler {kib-pull}26007[#26007]
* Passes global filters from editor down to visualize  {kib-pull}26009[#26009]
* Stops using schemas in aggconfigs to output DSL {kib-pull}26010[#26010]
* Fixes `kbn-interpreter` package to not import from UI {kib-pull}26161[#26161]
* Fixes OSS dynamic plugin loading by reverting to Canvas way of loading plugins {kib-pull}26463[#26463]
* Fixes other bucket option to correctly apply without having to change other settings {kib-pull}26874[#26874]
* Adds `en` as a valid numeral locale setting {kib-pull}25948[#25948]
* Adds `rest_total_hits_as_int` into Kibana App {kib-pull}26404[#26404]
* Uses Canvas pipeline to fetch data inside Visualize {kib-pull}25996[#25996]
* Adds warning to the `documentation_links` file about link validation gotcha {kib-pull}24786[#24786]
* Adds workaround for `getDerivedStateFromProps` change in react 16.4 {kib-pull}25142[#25142]
* Fixes "Set up index patterns" link on home page {kib-pull}16128[#16128]
* Fixes Time Series Visual Builder so that auto apply changes on every click {kib-pull}33710[#33710]
* Removes the `geo_centroid` and `geo_bounds` aggregations from nested metrics {kib-pull}34042[#34042]
* Replaces deprecated `moving_avg` by `moving_fn` aggregation {kib-pull}34155[#34155]
* Adds autocomplete to Time Series Visual Builder {kib-pull}30158[#30158]
* Fixes missing Markdown variables {kib-pull}28173[#28173]
* Removes filter bar for Markdown visualizations {kib-pull}30354[#30354]
* Corrects label for OS visualization in logs sample data {kib-pull}30249[#30249]
* Fixes filter function on pie chart segment {kib-pull}26321[#26321]
* Rewrites URL when closing vis type selection modal {kib-pull}26327[#26327]
* Changes unbind calls from `.on` to `.off` {kib-pull}24575[#24575]
* Fixes date field in controls visualization by generating labels with the field
formatter {kib-pull}25654[#25654]
* Replaces LESS files with Sass in `ui/public/vis`, `visLib`, and `visualize` {kib-pull}25333[#25333]
* Replaces LESS files with Sass for the visualization types in `core_plugin/metrics` {kib-pull}24250[#24250]
* Moves `timeout` to `_msearch` body to fix time series visual builder requests {kib-pull}26510[#26510]
* Adds description for all visualization types {kib-pull}26243[#26243]
* Defaults the scroll wheel zoom to false on Vega maps {kib-pull}21169[#21169]
* Fixes problem within the input_vis_control plugin that prevents it from updating correctly
if the field is switched, and then switched back to the previous field {kib-pull}25164[#25164]
* Uses `vega-nocanvas` instead of Vega lib {kib-pull}16137[#16137]
* Migrates visualization from Angular to React {kib-pull}16425[#16425]
* Fixes maps for reporting (#15272) {kib-pull}15358[#15358]
* Stops creation of nested search source per postflightrequest {kib-pull}20373[#20373]
* Moves inspector code from Vis to embeddable visualize handler {kib-pull}24112[#24112]
* Removes inspector from Vis {kib-pull}24112[#24112]
* Fixes issue with debounce function running after component was unmounted {kib-pull}15045[#15045]
* Fixes for dark mode fixes for Visualize charts, Time Series Visual Builder, and Timelion {kib-pull}30478[#30478]
* Fixes geohash checkbox group spacing {kib-pull}32664[#32664]
* Removes deep clone from courier request handler {kib-pull}32806[#32806]
* Ensures saved filters from `searchSource` are always passed to response handlers {kib-pull}33074[#33074]
* Adds new visualization search selection {kib-pull}30196[#30196]
* Changes visualization save dialog when adding to dashboard {kib-pull}32883[#32883]
* Fixes missing variables preview in Time Series Visual Builder markdown {kib-pull}30830[#30830]
* Fixes incorrect behavior when filling the 'interval' field with values: s,m,d,M,y {kib-pull}32542[#32542]
* Fixes multi-metric gauge with vertical sizing {kib-pull}33245[#33245]
* Fixes Time Series Visual Builder display on small screen resolution {kib-pull}33299[#33299]
* Fixes Time Series Visual Builder metric and gauge panels when splitting data by numbers {kib-pull}33304[#33304]
* Fixes Time Series Visual Builder percentile ranks with integer values that return no results {kib-pull}33397[#33397]
* Fixes Time Series Visual Builder issue with table view {kib-pull}33645[#33645]
* Fixes Time Series Visual Builder issue with wrong color rules on multiple metrics {kib-pull}31455[#31455]
* Fixes Time Series Visual Builder issue with percentiles for table {kib-pull}32084[#32084]
* Switches all Time Series Visual Builder comboboxes to plain text single selection {kib-pull}31879[#31879]
* Fixes table visualization to format date string when grouping by date field {kib-pull}31783[#31783]
* Adds flex wrap to metric visualization container {kib-pull}31891[#31891]
* Fixes missing axis labels when moving position {kib-pull}32628[#32628]
* Fixes vislib legend entry width {kib-pull}33303[#33303]
* Fixes legend / color picker overflow {kib-pull}30960[#30960]
* Fixes total Metric Count inside donut pie charts  {kib-pull}29086[#29086]
* Adds labels for sort order and request preference setting {kib-pull}31236[#31236]
* Fixes time picker quick ranges description {kib-pull}32455[#32455]
* Adds check for `extraMetric` in point server tooltip hovers {kib-pull}32641[#32641]
* Switches sample data objects to KQL {kib-pull}32718[#32718]
* Migrate visualization controls to use references {kib-pull}30880[#30880]
* Dedupes by index pattern ID rather than object identity {kib-pull}32350[#32350]
* Ensures extra columns are not shown in table visualization when `showPartialRows:true` {kib-pull}27154[#27154]
* Uses default index pattern when one is not present in Visualize {kib-pull}30574[#30574]
* Surfaces visualization loader errors in the UI {kib-pull}30594[#30594]





[[release-notes-7.0.0-rc1]]
== {kib} 7.0.0-rc1

[float]
[[breaking-7.0.0-rc1]]
=== Breaking changes

For more details about breaking changes in this release, see
<<breaking-changes-7.0, Breaking changes in 7.0>>.

Discover::
* Allows user to use advanced query DSL directly, and does not apply `query:queryString:options` to `query_string` filters automatically {kib-pull}15640[#15640]
* Removes `default_field` from `query:queryString:options` {kib-pull}18966[#18966]
* Makes KQL the default query language for new searches {kib-pull}27092[#27092]
Design::
* Removes references to K6 EUI, using the default UI theme in its place {kib-pull}29152[#29152]
Geo::
* Removes the deprecated `regionmap` and `tilemap` kibana.yml configurations.
Removes the backwards compatibility logic that checked for duplicative settings
`map.regionmap` and `map.tilemap`. {kib-pull}28609[#28609]
Monitoring::
* Refactors index patterns from configurable to constants {kib-pull}29528[#29528]
* Removes `node_resolver` setting {kib-pull}21181[#21181]
Management::
* Adds `configPrefix` to Index Management, License Management, Rollup Jobs, and
Upgrade Assistant {kib-pull}30149[#30149]
* Removes nested table splits from table visualization {kib-pull}26057[#26057]
* Standardizes use of `index_pattern` in UI code and URLs, replacing `indices`
and `index`  {kib-pull}29151[#29151] and {kib-pull}29481[#29481]
* Removes app-specific dark mode options and replaces with a global dark mode uiSetting {kib-pull}29017[#29017]
Operations::
* Defers the optimize step in the plugin installer to server start {kib-pull}26983[#26983]
* Removes tribe node support {kib-pull}16397[#16397]
* Creates separate startup scripts for development and production {kib-pull}13806[#13806]
* Sets default port based on protocol  {kib-pull}21564[#21564]
* Removes deprecated `/shorten` API {kib-pull}21861[#21861]
Platform::
* Removes deprecated `i18n.defaultLocale` setting {kib-pull}29325[#29325]
* Removes previously deprecated `elasticsearch*` settings. {kib-pull}29496[#29496]
* Adds new "references" attribute to saved objects for relationships {kib-pull}28199[#28199]
Reporting::
* Removes Phantom dependency {kib-pull}27142[#27142]
Security::
* Removes deprecated SSL settings {kib-pull}28622[#28622]
* Removes legacy fallback {kib-pull}29107[#29107]
Visualizations::
* Removes Timelion from the app switcher by default {kib-pull}30131[#30131]


[float]
[[deprecation-7.0.0-rc1]]
=== Deprecations

Geo::
* Fixes legacy tilemap loading {kib-pull}22095[#22095]
Machine Learning::
* Updates REST endpoint calls to remove _xpack {kib-pull}28069[#28069]
Visualizations::
* Removes old visualize wizard URL {kib-pull}28982[#28982]
* Removes legacy response handler {kib-pull}28985[#28985]
* Removes `legacyIcon` from visualizations {kib-pull}28981[#28981]


[float]
[[enhancement-7.0.0-rc1]]
=== Enhancements
Canvas::
* Removes WebSockets from Canvas expressions interpreter {kib-pull}29792[#29792]
* Optimizes Canvas REST calls via batching {kib-pull}29847[#29847]
* Implements a clipboard and stores the copied elements in `localStorage` {kib-pull}25890[#25890]
* Adds the ability to reuse assets without editing an element's expression {kib-pull}25764[#25764]
* Adds the `clear` function {kib-pull}26397[#26397]
* Adds workpad-level CSS {kib-pull}24143[#24143]
* Improvements to expression editor {kib-pull}32336[#32336]
* Adds `aria-label` attribute for Color: Auto Color to button inside chart style {kib-pull}32633[#32633]
* Adds `aria-label` attribute for Copy to clipboard {kib-pull}32880[#32880]
Dashboard::
* Adds `href` option in addition to `onClick` for navigational links {kib-pull}25233[#25233]
Design::
* Implements a new design for {kib} called K7
* Updates logos for marketing {kib-pull}25489[#25489]
* Adds Kibana 7.0 breadcrumbs to home screen {kib-pull}26605[#26605]
* Moves elastic/eui typings to single file {kib-pull}23950[#23950]
Discover::
* Renames the kuery setting to KQL {kib-pull}29587[#29587]
* Adds visual indication of selected language in query bar {kib-pull}30899[#30899]
Kibana App::
* Replaces Angular timepicker with EuiSuperDatePicker {kib-pull}29204[#29204]
* Upgrades Kibana to Elasticsearch 7.0 {kib-pull}29184[#29184]
* Maps inspector requests by id so single requests can be reset at a time {kib-pull}26770[#26770]
* Adds ODBC to blurb for start trail {kib-pull}27223[#27223]
Logstash::
* Adopts {es} typeless API for Logstash central management {kib-pull}30546[#30546]
Management::
* Adds `Request timestamp` to request inspector stats {kib-pull}25667[#25667]
* Adds "Reload indices" button to Index Management {kib-pull}27033[#27033]
Machine Learning::
* Adds the time of the anomaly to the `aria-label` of the actions button in each row of the anomalies table {kib-pull}32777[#32777]
* Adds `role="alert"` callouts on the Job Management page to ensure the information is read out by screen readers {kib-pull}32911[#32911]
* Adds EUI `ScreenReaderOnly` component to the "Analyzing data" modal {kib-pull}32472[#32472]
* Updates job type and APM module icon to new designs {kib-pull}25380[#25380]
* Allows model plot enablement via checkbox in  MultiMetric/Population Job creation {kib-pull}24914[#24914]
* Adds support for the rare detector for charts in Anomaly Explorer and Singe Metric viewer {kib-pull}21524[#21524]
* Updates HTTP access modules for ECS {kib-pull}29383[#29383]
* Updates auditbeat modules for ECS {kib-pull}29934[#29934]
* Removes non ECS apache, nginx and auditbeat data recognizer modules {kib-pull}30537[#30537]
* Adds the configuration files for two new auditbeat data recognizer modules for
detecting unusual processes on hosts and Docker containers {kib-pull}25716[#25716]
* Adds support for saved searches created using Kuery to the job wizards {kib-pull}26094[#26094]
* Allows users to enter their own query in the Discover page; stops passing the query
from the job datafeed config in custom URLs {kib-pull}26957[#26957]
* Rewrites Calendar to React/EUI {kib-pull}26741[#26741]
* Converts Setting page to React/EUI {kib-pull}27144[#27144]
* Ensures loading indicator is present on initial jobs load {kib-pull}27151[#27151]
* Prevents a new calendar save if a calendar with that id already exists {kib-pull}27104[#27104]
* Edits data recognizer modules to use KQL in saved objects {kib-pull}32766[#32766]
Observability::
* Converts monitor sparklines to histogram {kib-pull}28502[#28502]
* Adds crosshair sync for monitor page charts {kib-pull}28631[#28631]
* Adds a new plugin for Uptime Monitoring {kib-pull}25480[#25480]
Operations::
* Adds support for reindexing APM indices {kib-pull}29845[#29845]
* Adds a reindex warning for mapping type changes {kib-pull}32081[#32081]
* Adds warning callout to update APM index pattern {kib-pull}33661[#33661]
Platform::
* Adds help menu item to header {kib-pull}29664[#29664]
* Implements global dark theme {kib-pull}28445[#28445]
* Removes support for the K6 navigation style {kib-pull}29565[#29565]
* Adds `rest_total_hits_as_int` to all requests in platform code that eventually
look up `hits.total` {kib-pull}26432[#26432]
* Adds `dist` flag to the configuration context {kib-pull}26545[#26545]
* Prepares `@kbn/datemath` to be republished as `@elastic/datemath` {kib-pull}26559[#26559]
* Wraps `remote` methods in `browser` service {kib-pull}26394[#26394]
* Uses `stream.pipeline` to manage error handling {kib-pull}27246[#27246]
Querying & Filtering::
* Moves the `buildESQuery` module (including filters and Kuery) into a separate package {kib-pull}23345[#23345]
* Adds comment explaining why `getComputedFields` adds a `docvalue` to `docvalue_fields`
for each date field in an index pattern. {kib-pull}25725[#25725]
* Moves filtering functions out of `vis.API.events` {kib-pull}25280[#25280]
Reporting::
* Adds png output to reports {kib-pull}24759[#24759]
* Sorts ascending on sort order first then ascending on name. Any menu item
without a sort order gets set to zero. {kib-pull}25058[#25058]
* In the Visualization Editor, removes the "Optimize for printing" option when
exporting the visualization as PNG or PDF. The single visualization will automatically
be optimized for printing {kib-pull}30456[#30456]
* Adds browser type to the reporting side panel {kib-pull}26307[#26307]
* Adds better logging for `waitForSelector` failure {kib-pull}25762[#25762]
* Enhances error messaging and handling {kib-pull}26299[#26299]
* Adds "Info" button in the Reporting listing {kib-pull}25421[#25421]
* Adds new inspector for chromium-backed reports {kib-pull}32430[#32430]
Rollups::
* Adds support for rolling up metrics of date fields {kib-pull}26450[#26450]
Security::
* Introduces content security policy (CSP) {kib-pull}29545[#29545]
* Warns legacy browsers that do not support content security policy {kib-pull}29957[#29957]
* Adds content security policy strict mode {kib-pull}29856[#29856]
* Updates the GET `/api/security/role` endpoint to return the list of roles sorted
by name, rather than creation date {kib-pull}26491[#26491]
* Updates the Account Settings screen to show the change password form only when
a password change is possible for the authentication realm {kib-pull}26779[#26779]
* Makes space selector a `button` {kib-pull}26889[#26889]
Visualizations::
* Adds a `console.error` for visualize errors {kib-pull}24581[#24581]
* Adds a timeout so that Vega respects `elasticsearch.shardTimeout` setting {kib-pull}30482[#30482]
* Removes experimental flag from Visual Builder (TSVB) {kib-pull}25634[#25634]
* Implements new visualization type selection {kib-pull}23833[#23833]
* Removes `lab` stage for visualizations, making `experimental` the only non-production
stage available {kib-pull}25702[#25702]
* Makes markdown consistent across {kib} {kib-pull}31890[#31890]
* Adds option to open links in new tab in Time Series Visual Builder {kib-pull}31906[#31906]
* Adds max, min, placeholder to percentile in Time Series Visual Builder {kib-pull}32389[#32389]
* Displays interval information in Time Series Visual Builder when building {kib-pull}32117[#32117]
* Adds controls to toggle disable/enable individual series and annotations {kib-pull}33107[#33107]
* Updates Vega to version 4 {kib-pull}30628[#30628]

[float]
[[bug-7.0.0-rc1]]
=== Bug fixes
APM::
* Uses form label for Transaction type selector {kib-pull}28322[#28322]
* Fixes icon for View trace button {kib-pull}28908[#28908]
* Shows metric-only services in service overview {kib-pull}30397[#30397]
* Adds span subtype and action to Span Flyout {kib-pull}30041[#30041]
* Updates head title and fixes breadcrumb string issues {kib-pull}29960[#29960]
* Adds fixes for `service.name` scripted field {kib-pull}28488[#28488]
* Updates APM index pattern {kib-pull}30837[#30837]
* Updates APM reindex script {kib-pull}30761[#30761]
* Sets Index Pattern version as string {kib-pull}30789[#30789]
* Overrides EUI chart default styles for gridlines {kib-pull}21723[#21723]
* Adds section titles to span detail modal {kib-pull}20717[#20717]
* Fixes upgrade assistant label and copy {kib-pull}31750[#31750]
* Changes `context.system.hostname` to `host.hostname` for APM link {kib-pull}30884[#30884]
* Updates APM reindex script {kib-pull}31965[#31965]
* Updates APM index pattern {kib-pull}33595[#33595]
Canvas::
* Adds datetime as a date identifier {kib-pull}29537[#29537]
* Switches sample web logs fonts to 48px {kib-pull}30747[#30747]
* Fixes related to K7 design {kib-pull}30833[#30833]
* Fixes page preview size issue {kib-pull}26795[#26795]
* Fixes visual bug when opening the workpad loader {kib-pull}26647[#26647]
* Fixes page thumbnail sizes {kib-pull}26573[#26573]
* Decreases size of tray toggle {kib-pull}25470[#25470]
* Makes selection border 1px {kib-pull}26739[#26739]
* Fixes interpreter socket error {kib-pull}26870[#26870]
* Fixes duplicate `Value` options in math select value {kib-pull}25556[#25556]
* Gets correct plugins path {kib-pull}25448[#25448]
* Quotes the index pattern in SQL input {kib-pull}25488[#25488]
* Decreases the size of tray toggle {kib-pull}25470[#25470]
* Fixes the hours label container size {kib-pull}31838[#31838]
* Removes ID attribute {kib-pull}30736[#30736]
* Improves the plugin pre-build {kib-pull}25267[#25267]
Dashboard::
* Removes `dashboardContext` function and makes Timelion, Vega, and Time Series
Visual Builder use `buildEsQuery` {kib-pull}23227[#23227]
* Shows the filter bar in dashboard embed mode {kib-pull}32222[#32222]
Design::
* Updates dashboard design {kib-pull}29896[#29896]
* Adjusts side navigation interaction {kib-pull}29978[#29978]
* Converts Security UI from LESS to Sass {kib-pull}25079[#25079]
* Adds boilerplate Sass for Kibana core {kib-pull}21185[#21185]
* Makes dark mode overrides global {kib-pull}31628[#31628]
Discover::
* Adds debug code to flaky field_data test {kib-pull}15535[#15535]
* Gets even more debug info for flaky field_data test {kib-pull}17627[#17627]
* Allows time ranges before the epoch in Discover {kib-pull}31807[#31807]
* Fixes Kibana Query Language handling of carriage return {kib-pull}32150[#32150]
* Improves warning messages when using Lucene-like syntax {kib-pull}31837[#31837]
* Update capitalization of KQL full name {kib-pull}31631[#31631]
* Adds placeholder text indicating the filters aggregation takes only Lucene and Query DSL {kib-pull}31296[#31296]
* Prevents sending request if it already failed during query parsing {kib-pull}31219[#31219]
* Fixes apps to always migrate legacy queries on state change {kib-pull}33276[#33276]
Geo::
* Fixes panel cut off in K7 design {kib-pull}29209[#29209]
* Removes left-over geohash grid code {kib-pull}30312[#30312]
* Uses geo-tile aggregation instead of geohash precision {kib-pull}29776[#29776]
* Resolves URL dynamically when requesting EMS data {kib-pull}25685[#25685]
* Fixes EMS hotlink {kib-pull}26868[#26868]
* Fixes feature/align map config settings {kib-pull}19450[#19450]
* Removes `geotile_grid` aggregation from non-geospatial visualizations {kib-pull}31354[#31354]
* Coerces string doc-values to numbers if used in styling {kib-pull}33657[#33657]
Infrastructure::
* Fixes server-side retrieval of the {kib} version {kib-pull}31440[#31440]
* Fixes react router import {kib-pull}33659[#33659]
* Adapts settings ui to saved object version type change {kib-pull}30082[#30082]
* Fixes potential color bugs {kib-pull}26292[#26292]
* Fixes auto refresh button on node detail page {kib-pull}26426[#26426]
* Changes the time range from the last hour to the last 5 minutes for the Waffle Map {kib-pull}26278[#26278]
* Passes flag in request to force BWC hit count {kib-pull}26517[#26517]
* Replaces redux source slice with constate container {kib-pull}26121[#26121]
* Changes node detail link to set time range to 1 hour {kib-pull}26977[#26977]
* Stops showing sidenav while loading. {kib-pull}27119[#27119]
* Fixes styling after breaking EUI changes {kib-pull}27021[#27021]
* Fixes graphql type generation after package upgrades {kib-pull}26991[#26991]
* Removes usage of `ts-optchain` in the browser {kib-pull}27148[#27148]
Kibana App::
* Fixes gauge filters {kib-pull}30057[#30057]
* Fixes fieldformatter calls in pipeline helper {kib-pull}29842[#29842]
* Adds pipeline field formatting {kib-pull}28746[#28746]
* Removes `kibana_table` pipeline type {kib-pull}28979[#28979]
* Moves renderers registry to OSS {kib-pull}28986[#28986]
* Prepares for cut over to the visualize data loader from the current expression
pipeline data loader {kib-pull}29873[#29873]
* Toggles between Expression Pipeline & Visualize Data loader {kib-pull}29874[#29874]
* Fixes every app that was wrapping `query` in an array unnecessarily {kib-pull}27636[#27636]
* Fixes build issue and reintroduces new filter bar {kib-pull}29752[#29752]
* Adds index pattern URL change notes {kib-pull}30779[#30779]
* Fixes visualization filters to ignore invalid entries {kib-pull}30633[#30633]
* Expands the size of add panels flyout and increases default rows per page {kib-pull}30508[#30508]
* Fixes support for React 16.4+ by only resetting state if adaptors are updated {kib-pull}26138[#26138]
* Fixes scrolling list on Firefox {kib-pull}26246[#26246]
* Guards against empty and undefined index pattern arrays passed to QueryBar {kib-pull}24607[#24607]
* Removes unused indexPattern from vega/tsvb/timelion request handler {kib-pull}26007[#26007]
* Passes global filters from editor down to visualize  {kib-pull}26009[#26009]
* Stops using schemas in aggconfigs to output DSL {kib-pull}26010[#26010]
* Fixes `kbn-interpreter` package to not import from UI {kib-pull}26161[#26161]
* Fixes OSS dynamic plugin loading by reverting to Canvas way of loading plugins {kib-pull}26463[#26463]
* Fixes other bucket option to correctly apply without having to change other settings {kib-pull}26874[#26874]
* Adds `en` as a valid numeral locale setting {kib-pull}25948[#25948]
* Adds `rest_total_hits_as_int` into Kibana App {kib-pull}26404[#26404]
* Uses Canvas pipeline to fetch data inside Visualize {kib-pull}25996[#25996]
* Adds warning to the `documentation_links` file about link validation gotcha {kib-pull}24786[#24786]
* Adds workaround for `getDerivedStateFromProps` change in react 16.4 {kib-pull}25142[#25142]
* Fixes "Set up index patterns" link on home page {kib-pull}16128[#16128]
Machine Learning::
* Fixes filter and icon for APM Data Recognizer module {kib-pull}31112[#31112]
* Ensures cardinality related messages in Advanced job wizard are formatted correctly {kib-pull}33599[#33599]
* Adds title elements which were missing from Calendars pages {kib-pull}33257[#33257]
* Changes job wizard query to use `match_all` {kib-pull}32008[#32008]
* Adds calendars list to job management {kib-pull}32566[#32566]
* Fixes Job Selector text to take group selection into account {kib-pull}31333[#31333]
* Ensures that Job Selector description text is accurate {kib-pull}32441[#32441]
* Reduces space between headings in the expanded row for Category examples in Anomalies Table {kib-pull}32417[#32417]
* Removes use of types in datafeeds  {kib-pull}27572[#27572]
* Fixes metric select double caret {kib-pull}30357[#30357]
* Removes old angular based start datafeed modal {kib-pull}30392[#30392]
* Handles removal of backend ml.enabled node attribute {kib-pull}27604[#27604]
* Edits labels in the Apache and Nginx ECS data recognizer modules {kib-pull}29935[#29935]
* Fixes for K7 compatibility {kib-pull}30536[#30536]
* Fixes broken label style in advanced wizard {kib-pull}30847[#30847]
* Adds ml-ui team to .github/CODEOWNERS {kib-pull}29810[#29810]
* Allows user to add/edit/delete annotations in the Single Series Viewer {kib-pull}26034[#26034]
* Does not pass datafeed query to Discover in custom URL {kib-pull}26957[#26957]
* Fixes word break in Anomalies and Jobs tables {kib-pull}26978[#26978]
* Fixes alignment of filter icons in the Anomalies table {kib-pull}26253[#26253]
* Shows useful error on invalid query in JobList search bar {kib-pull}25153[#25153]
* Adds user privilege check to Jobs List group selector control {kib-pull}25225[#25225]
* Fixes file data viz file size check and formats as bytes {kib-pull}25295[#25295]
* Fixes the layout of the cards in the Data Visualizer on IE {kib-pull}25383[#25383]
* Adds better error reporting for reading and importing data {kib-pull}24269[#24269]
* Displays an ordinal y axis for low cardinality rare charts {kib-pull}24852[#24852]
* Fixes typo in job validation message {kib-pull}25130[#25130]
* Removes deprecated `angularjs` based jobs list and related code {kib-pull}25216[#25216]
* Skips invalid modules when data recognizer lists matches {kib-pull}33703[#33703]
Management::
* Removes grunt sterilize - its been replaced by `kbn clean` {kib-pull}27825[#27825]
* Makes Index management table more responsive {kib-pull}28882[#28882]
* Fixes index pattern wizard when there are remote clusters but no local indices  {kib-pull}24339[#24339]
* Uses new `_graph` endpoints {kib-pull}26956[#26956]
* Adjusts spacing of Management navigation items {kib-pull}25666[#25666]
* Updates "Disenroll" text to be consistent with menu option "Unenroll" {kib-pull}26816[#26816]
* Fixes broken breadcrumb link for index management {kib-pull}27164[#27164]
* Fixes issue with multiple execution in Console {kib-pull}26933[#26933]
* Reloads full index list when reload hits missing index {kib-pull}27197[#27197]
* Adds boilerplate for remote clusters management app {kib-pull}25369[#25369]
* Adds `ignore_failure` to ingest common auto complete in console {kib-pull}24915[#24915]
* Removes support for expression-based scripted fields {kib-pull}14310[#14310]
* Adds WatchErrors to capture invalid watches {kib-pull}23887[#23887]
* Rewords the translation id for error with missing property in Watcher {kib-pull}24753[#24753]
* Triggers full load when encountering 403 for index list reload {kib-pull}28243[#28243]
* Updates X-Pack console specs {kib-pull}29506[#29506]
* Fixes API integration test for follower indices {kib-pull}30260[#30260]
* Fixes management footer logo spacing bug {kib-pull}30654[#30654]
Monitoring::
* Updates to read from `.monitoring-*-7-*` indices {kib-pull}32654[#32654]
* Adds in explicit mappings {kib-pull}33004[#33004]
* Stops using the normalized derivative value {kib-pull}27416[#27416]
* Updates the title in the left nav to Stack Monitoring {kib-pull}28102[#28102]
* Prepares the Monitoring UI codebase for the incoming changes to `hits.total` {kib-pull}26442[#26442]
* Updates browser title to Stack Monitoring {kib-pull}29638[#29638]
* Fixes Monitoring design {kib-pull}29479[#29479]
* Removes old index patterns that are not expected in 7.0.0 onwards {kib-pull}27915[#27915]
* Removes deprecated `xpack.monitoring.report_stats` setting {kib-pull}30017[#30017]
* Fixes monitoring tests to work with mapping changes {kib-pull}29188[#29188]
* Removes type filter helper {kib-pull}30887[#30887]
* Fixes error handling for local stats collection/permissions {kib-pull}26560[#26560]
* Removes initial delay to check and send Telemetry data {kib-pull}26575[#26575]
* Pulls local Kibana usage stats {kib-pull}26496[#26496]
* Converts the Elasticsearch monitoring UIs to using EUI tables and page layout {kib-pull}26217[#26217]
* Renames Monitoring `FormattedMessage` to `FormattedAlert` {kib-pull}24197[#24197]
* Uses the cluster name from metadata if it exists {kib-pull}24495[#24495]
Observability::
* Fixes 7.x references to tcp.port {kib-pull}29132[#29132]
* Ports functional tests to 7.x {kib-pull}29398[#29398]
* Ports unit tests to master {kib-pull}29876[#29876]
* Adds missing loading states for filter bar and snapshot components {kib-pull}30122[#30122]
* Removes double-format for duration value {kib-pull}30664[#30664]
* Switches Uptime localization from i18n provider to context {kib-pull}31601[#31601]
* Improves monitor charts query {kib-pull}30561[#30561]
* Adds global help support to Uptime {kib-pull}31493[#31493]
* Updates targeted index pattern for 7.0.0 {kib-pull}30998[#30998]
Operations::
* Removes the usage of types from Esqueue used for the `.reporting index` {kib-pull}32146[#32146]
* Fixes IPv6 addresses used with Angular connector {kib-pull}29891[#29891]
* Fixes `makelogs` dependency {kib-pull}31428[#31428]
* Runs the {kib} server in production mode for functional testing {kib-pull}31346[#31346]
* Uses `fs.copyFile` to avoid race condition {kib-pull}32220[#32220]
* Removes `hash -r` {kib-pull}32616[#32616]
* Fixes JUnit reporter {kib-pull}32686[#32686]
* Adds options to `run()` that can modify help and show help on errors {kib-pull}33466[#33466]
* Captures values from boolean flags {kib-pull}33528[#33528]
* Fixes incorrect environment name for V8 options {kib-pull}31052[#31052]
* Removes svg from url-loader, as it conflicts with other loaders {kib-pull}30888[#30888]
* Uses apiVersion from es plugin in x-pack {kib-pull}30853[#30853]
* Clones saved object document before migrating to prevent accidental mutations {kib-pull}30475[#30475]
* Removes node fallback from kibana-keystore {kib-pull}15066[#15066]
* Adds debug script to set inspect flags {kib-pull}15967[#15967]
* Uses snake case for scripts/kibana-keystore.js and scripts/kibana-plugin.js {kib-pull}15331[#15331]
* Updates license info in package.json {kib-pull}20353[#20353]
* Fixes error log formatting {kib-pull}24788[#24788]
* Matches chalk dependency version on Kibana with the one used on X-Pack {kib-pull}20621[#20621]
* Fixes non-conforming licenses on devDependencies and adds the ability to whitelist devOnly licenses {kib-pull}23859[#23859]
* Adds jsxa11y into eslint rules {kib-pull}23932[#23932]
* Reverts Bump react-grid-layout to 0.16.0 {kib-pull}14912[#14912]
* Reverts breaking change for Status API {kib-pull}21927[#21927]
* Converts `utils/collection` to TypeScript {kib-pull}23992[#23992]
* Removes usage of update_all_types {kib-pull}16406[#16406]
* Improves the `yarn kbn bootstrap` speed by using yarn workspaces for packages inside `packages/*` and `x-pack` {kib-pull}24095[#24095]
* Runs jenkins:unit task with dev flag in order to run license check {kib-pull}19832[#19832]
* Does not break on startup in debug mode {kib-pull}19219[#19219]
Platform::
* Removes types from `saved_objects` repository {kib-pull}32286[#32286]
* Fixes custom icon image paths in `NavDrawer` {kib-pull}33573[#33573]
* Fixes back button navigation {kib-pull}32372[#32372]
* Improves types for ftr and expect.js and cleans up `tsconfig` files {kib-pull}31948[#31948]
* Strips # from hash before updating ``$location` {kib-pull}32732[#32732]
* Removes `disableAutoAngularUrlEncodingFix()`` {kib-pull}33136[#33136]
* Removes unused system-loader implementation {kib-pull}33747[#33747]
* Moves the table vis migration to {kib} plugin {kib-pull}29478[#29478]
* Allows passing a default operator to use on saved object client find operations {kib-pull}29339[#29339]
* Fixes saved object repository `bulkCreate` to return migrated references and attributes {kib-pull}29754[#29754]
* Adds missing saved object reference handling for searchSourceJSON filter attribute {kib-pull}29840[#29840]
* Excludes `migrationVersion` and references from `getRootPropertiesObjects` result {kib-pull}30081[#30081]
* Removes dependency on doc versions {kib-pull}29906[#29906]
* Adds typings for saved object client {kib-pull}29951[#29951]
* Uses `lastSubUrl` when appropriate {kib-pull}28735[#28735]
* Removes es _xpack endpoint usage {kib-pull}29465[#29465]
* Adds typings for the `saved_object_finder` react component {kib-pull}30067[#30067]
* Fixes the confirm overwrite modal of saved objects to handle large titles {kib-pull}28590[#28590]
* Decreases start limit and interval {kib-pull}25474[#25474]
* Adds `--download` flag to snapshot command to warm the cache {kib-pull}25830[#25830]
* Implements `--prefer-offline` flag {kib-pull}25840[#25840]
* Fixes watcher routes broken by Hapi upgrade {kib-pull}26713[#26713]
* Fixes non-conforming licenses on devDependencies and adds the ability to whitelist devOnly licenses {kib-pull}23859[#23859]
* Watches optimizer cache invalidation  {kib-pull}24172[#24172]
* Adds `normalizePath` in order to fix watch optimizer when running on Windows {kib-pull}26486[#26486]
* Creates vendor dll for the client modules {kib-pull}22618[#22618]
* Upgrades to NodeJS 10 {kib-pull}25157[#25157]
* Improves plugin version mismatch error message {kib-pull}25774[#25774]
* Improves build/packaging {kib-pull}26096[#26096]
* Swaps `jstimezonedetect` with `moment.tz.guess` {kib-pull}21800[#21800]
* Upgrades resize-observer-polyfill version {kib-pull}26990[#26990]
* Fixes saved objects client `_processBatchQueue` function to handle errors {kib-pull}26763[#26763]
* Changes kbn pm webpack config to generate dist files in mode=none {kib-pull}26847[#26847]
* Hides logs from deleteAll on task: clean client modules into dll {kib-pull}26884[#26884]
* Upgrades `resize-observer-polyfill` version {kib-pull}26990[#26990]
* Uses `single-node` discovery type for the test ES node/cluster {kib-pull}27125[#27125]
* Moves moment to peerDependency in elastic-datemath {kib-pull}27264[#27264]
* Transforms plugin deprecations before checking for unused settings {kib-pull}21294[#21294]
* Expands list of restricted globals in `eslint-config-kibana` {kib-pull}15798[#15798]
* Makes logs easier to read on Windows with chalk colors {kib-pull}15557[#15557]
Reporting::
* Refactors routes files and helpers {kib-pull}30111[#30111]
* Deletes `sortOrder` once items have been sorted and does not pass to `EuiContextMenuItem`
in the share context menu {kib-pull}26890[#26890]
* Fixes a regression bug in detection of Error and Warning toast notifications {kib-pull}25482[#25482]
* Stops passing an empty `formatConfig` to the fieldFormats helper {kib-pull}27168[#27168]
* Returns promise in Reporting jobs API {kib-pull}24769[#24769]
* Uses `content-disposition` package for non-US font titles in reporting {kib-pull}30895[#30895]
* Uses lowercased server host settings {kib-pull}33020[#33020]
Rollups::
* Shows loading state in Rollup Job detail panel. {kib-pull}25752[#25752]
* Specifies Rollup Jobs breadcrumbs in header. {kib-pull}26590[#26590]
* Requires histogram interval in Rollup Job wizard to be a whole number. {kib-pull}26596[#26596]
* Removes duplicate rendered sections {kib-pull}[#28566]
Security::
* Adds tests for interpreter `createSocket` {kib-pull}29459[#29459]
* Moves the server-side `SavedObjectClient` types from the `spaces` plugin to the
same location as the corresponding JavaScript source files {kib-pull}26448[#26448]
* Respects the `basePath` for the link to the user profile in the k7 header {kib-pull}26417[#26417]
* Fixes `prettier` throw rule error  {kib-pull}26071[#26071]
* Fixes authentication logic to fail out of auth flow on first provider failure {kib-pull}26648[#26648]
* Fixes issues with the `url.search` being null in Node 10 {kib-pull}26992[#26992]
* Fixes DLS query toggle on the role management page {kib-pull}27213[#27213]
* Implements the K7 login screen {kib-pull}23512[#23512]
Visualizations::
* Adds autocomplete to Time Series Visual Builder {kib-pull}30158[#30158]
* Fixes missing Markdown variables {kib-pull}28173[#28173]
* Removes filter bar for Markdown visualizations {kib-pull}30354[#30354]
* Corrects label for OS visualization in logs sample data {kib-pull}30249[#30249]
* Fixes filter function on pie chart segment {kib-pull}26321[#26321]
* Rewrites URL when closing vis type selection modal {kib-pull}26327[#26327]
* Changes unbind calls from `.on` to `.off` {kib-pull}24575[#24575]
* Fixes date field in controls visualization by generating labels with the field
formatter {kib-pull}25654[#25654]
* Replaces LESS files with Sass in `ui/public/vis`, `visLib`, and `visualize` {kib-pull}25333[#25333]
* Replaces LESS files with Sass for the visualization types in `core_plugin/metrics` {kib-pull}24250[#24250]
* Moves `timeout` to `_msearch` body to fix time series visual builder requests {kib-pull}26510[#26510]
* Adds description for all visualization types {kib-pull}26243[#26243]
* Defaults the scroll wheel zoom to false on Vega maps {kib-pull}21169[#21169]
* Fixes problem within the input_vis_control plugin that prevents it from updating correctly
if the field is switched, and then switched back to the previous field {kib-pull}25164[#25164]
* Uses `vega-nocanvas` instead of Vega lib {kib-pull}16137[#16137]
* Migrates visualization from Angular to React {kib-pull}16425[#16425]
* Fixes maps for reporting (#15272) {kib-pull}15358[#15358]
* Stops creation of nested search source per postflightrequest {kib-pull}20373[#20373]
* Moves inspector code from Vis to embeddable visualize handler {kib-pull}24112[#24112]
* Removes inspector from Vis {kib-pull}24112[#24112]
* Fixes issue with debounce function running after component was unmounted {kib-pull}15045[#15045]
* Fixes for dark mode fixes for Visualize charts, Time Series Visual Builder, and Timelion {kib-pull}30478[#30478]
* Fixes geohash checkbox group spacing {kib-pull}32664[#32664]
* Removes deep clone from courier request handler {kib-pull}32806[#32806]
* Ensures saved filters from `searchSource` are always passed to response handlers {kib-pull}33074[#33074]
* Adds new visualization search selection {kib-pull}30196[#30196]
* Changes visualization save dialog when adding to dashboard {kib-pull}32883[#32883]
* Fixes missing variables preview in Time Series Visual Builder markdown {kib-pull}30830[#30830]
* Fixes incorrect behavior when filling the 'interval' field with values: s,m,d,M,y {kib-pull}32542[#32542]
* Fixes multi-metric gauge with vertical sizing {kib-pull}33245[#33245]
* Fixes Time Series Visual Builder display on small screen resolution {kib-pull}33299[#33299]
* Fixes Time Series Visual Builder metric and gauge panels when splitting data by numbers {kib-pull}33304[#33304]
* Fixes Time Series Visual Builder percentile ranks with integer values that return no results {kib-pull}33397[#33397]
* Fixes Time Series Visual Builder issue with table view {kib-pull}33645[#33645]
* Fixes Time Series Visual Builder issue with wrong color rules on multiple metrics {kib-pull}31455[#31455]
* Fixes Time Series Visual Builder issue with percentiles for table {kib-pull}32084[#32084]
* Switches all Time Series Visual Builder comboboxes to plain text single selection {kib-pull}31879[#31879]
* Fixes table visualization to format date string when grouping by date field {kib-pull}31783[#31783]
* Adds flex wrap to metric visualization container {kib-pull}31891[#31891]
* Fixes missing axis labels when moving position {kib-pull}32628[#32628]
* Fixes vislib legend entry width {kib-pull}33303[#33303]
* Fixes legend / color picker overflow {kib-pull}30960[#30960]
* Fixes total Metric Count inside donut pie charts  {kib-pull}29086[#29086]
* Adds labels for sort order and request preference setting {kib-pull}31236[#31236]
* Fixes time picker quick ranges description {kib-pull}32455[#32455]
* Adds check for `extraMetric` in point server tooltip hovers {kib-pull}32641[#32641]
* Switches sample data objects to KQL {kib-pull}32718[#32718]
* Migrate visualization controls to use references {kib-pull}30880[#30880]
* Dedupes by index pattern ID rather than object identity {kib-pull}32350[#32350]
* Ensures extra columns are not shown in table visualization when `showPartialRows:true` {kib-pull}27154[#27154]
* Uses default index pattern when one is not present in Visualize {kib-pull}30574[#30574]
* Surfaces visualization loader errors in the UI {kib-pull}30594[#30594]






[[release-notes-7.0.0-beta1]]
== {kib} 7.0.0-beta1


[float]
[[breaking-7.0.0-beta1]]
=== Breaking changes

For more details about breaking changes in this release, see
<<breaking-changes-7.0, Breaking changes in 7.0>>.

Design::
* Removes references to K6 EUI, using the default UI theme in its place {kib-pull}29152[#29152]
Geo::
* Removes the deprecated `regionmap` and `tilemap` kibana.yml configurations.
Removes the backwards compatibility logic that checked for duplicative settings
`map.regionmap` and `map.tilemap`. {kib-pull}28609[#28609]
Monitoring::
* Refactors index patterns from configurable to constants {kib-pull}29528[#29528]
Management::
* Adds `configPrefix` to Index Management, License Management, Rollup Jobs, and
Upgrade Assistant {kib-pull}30149[#30149]
* Removes nested table splits from table visualization {kib-pull}26057[#26057]
* Standardizes use of `index_pattern` in UI code and URLs, replacing `indices`
and `index`  {kib-pull}29151[#29151] and {kib-pull}29481[#29481]
* Removes app-specific dark mode options and replaces with a global dark mode uiSetting {kib-pull}29017[#29017]
Operations::
* Defers the optimize step in the plugin installer to server start {kib-pull}26983[#26983]
Platform::
* Removes deprecated `i18n.defaultLocale` setting {kib-pull}29325[#29325]
* Removes previously deprecated `elasticsearch*` settings. {kib-pull}29496[#29496]
* Adds new "references" attribute to saved objects for relationships {kib-pull}28199[#28199]
Querying & Filtering::
* Makes KQL the default query language for new searches {kib-pull}27092[#27092]
Reporting::
* Removes Phantom dependency {kib-pull}27142[#27142]
Security::
* Removes deprecated SSL settings {kib-pull}28622[#28622]
* Removes legacy fallback {kib-pull}29107[#29107]
Visualizations::
* Removes Timelion from the app switcher by default {kib-pull}30131[#30131]


[float]
[[deprecation-7.0.0-beta1]]
=== Deprecations
Machine Learning::
* Updates REST endpoint calls to remove _xpack {kib-pull}28069[#28069]
Visualizations::
* Removes old visualize wizard URL {kib-pull}28982[#28982]
* Removes legacy response handler {kib-pull}28985[#28985]
* Removes `legacyIcon` from visualizations {kib-pull}28981[#28981]


[float]
[[enhancement-7.0.0-beta1]]
=== Enhancements
Canvas::
* Removes WebSockets from Canvas expressions interpreter {kib-pull}29792[#29792]
* Optimizes Canvas REST calls via batching {kib-pull}29847[#29847]
Kibana App::
* Replaces Angular timepicker with EuiSuperDatePicker {kib-pull}29204[#29204]
* Upgrades Kibana to Elasticsearch 7.0 {kib-pull}29184[#29184]
Machine Learning::
* Updates HTTP access modules for ECS {kib-pull}29383[#29383]
* Updates auditbeat modules for ECS {kib-pull}29934[#29934]
* Removes non ECS apache, nginx and auditbeat data recognizer modules {kib-pull}30537[#30537]
Observability::
* Converts monitor sparklines to histogram {kib-pull}28502[#28502]
* Adds crosshair sync for monitor page charts {kib-pull}28631[#28631]
Operations::
* Adds support for reindexing APM indices {kib-pull}29845[#29845]
Platform::
* Adds help menu item to header {kib-pull}29664[#29664]
* Implements global dark theme {kib-pull}28445[#28445]
* Removes support for the K6 navigation style {kib-pull}29565[#29565]
Reporting::
* In the Visualization Editor, removes the "Optimize for printing" option when
exporting the visualization as PNG or PDF. The single visualization will automatically
be optimized for printing {kib-pull}30456[#30456]
Security::
* Introduces content security policy (CSP) {kib-pull}29545[#29545]
* Warns legacy browsers that do not support content security policy {kib-pull}29957[#29957]
* Adds content security policy strict mode {kib-pull}29856[#29856]
Visualizations::
* Adds a timeout so that Vega respects `elasticsearch.shardTimeout` setting {kib-pull}30482[#30482]


[float]
[[bug-7.0.0-beta1]]
=== Bug fixes
APM::
* Uses form label for Transaction type selector {kib-pull}28322[#28322]
* Fixes icon for View trace button {kib-pull}28908[#28908]
* Shows metric-only services in service overview {kib-pull}30397[#30397]
* Adds span subtype and action to Span Flyout {kib-pull}30041[#30041]
* Updates head title and fixes breadcrumb string issues {kib-pull}29960[#29960]
* Adds fixes for `service.name` scripted field {kib-pull}28488[#28488]
* Updates APM index pattern {kib-pull}30837[#30837]
* Updates APM reindex script {kib-pull}30761[#30761]
* Sets Index Pattern version as string {kib-pull}30789[#30789]
Canvas::
* Adds datetime as a date identifier {kib-pull}29537[#29537]
* Switches sample web logs fonts to 48px {kib-pull}30747[#30747]
* Fixes related to K7 design {kib-pull}30833[#30833]
Design::
* Updates dashboard design {kib-pull}29896[#29896]
* Adjusts side navigation interaction {kib-pull}29978[#29978]
Elasticsearch UI::
* Triggers full load when encountering 403 for index list reload {kib-pull}28243[#28243]
* Updates xpack console specs {kib-pull}29506[#29506]
* Fixes API integration test for follower indices {kib-pull}30260[#30260]
Geo::
* Fixes panel cut off in K7 design {kib-pull}29209[#29209]
* Removes left-over geohash grid code {kib-pull}30312[#30312]
* Uses geo-tile aggregation instead of geohash precision {kib-pull}29776[#29776]
Infrastructure UI::
* Adapts settings ui to saved object version type change {kib-pull}30082[#30082]
Kibana App::
* Fixes gauge filters {kib-pull}30057[#30057]
* Fixes fieldformatter calls in pipeline helper {kib-pull}29842[#29842]
* Adds pipeline field formatting {kib-pull}28746[#28746]
* Removes `kibana_table` pipeline type {kib-pull}28979[#28979]
* Moves renderers registry to OSS {kib-pull}28986[#28986]
* Prepares for cut over to the visualize data loader from the current expression
pipeline data loader {kib-pull}29873[#29873]
* Toggles between Expression Pipeline & Visualize Data loader {kib-pull}29874[#29874]
* Fixes every app that was wrapping `query` in an array unnecessarily {kib-pull}27636[#27636]
* Fixes build issue and reintroduces new filter bar {kib-pull}29752[#29752]
* Adds index pattern URL change notes {kib-pull}30779[#30779]
* Fixes visualization filters to ignore invalid entries {kib-pull}30633[#30633]
* Expands the size of add panels flyout and increases default rows per page {kib-pull}30508[#30508]
Machine Learning::
* Removes use of types in datafeeds  {kib-pull}27572[#27572]
* Fixes metric select double caret {kib-pull}30357[#30357]
* Removes old angular based start datafeed modal {kib-pull}30392[#30392]
* Handles removal of backend ml.enabled node attribute {kib-pull}27604[#27604]
* Edits labels in the Apache and Nginx ECS data recognizer modules {kib-pull}29935[#29935]
* Fixes for K7 compatibility {kib-pull}30536[#30536]
* Fixes broken label style in advanced wizard {kib-pull}30847[#30847]
* Adds ml-ui team to .github/CODEOWNERS {kib-pull}29810[#29810]
Management::
* Removes grunt sterilize - its been replaced by `kbn clean` {kib-pull}27825[#27825]
* Makes Index management table more responsive {kib-pull}28882[#28882]
Monitoring::
* Stops using the normalized derivative value {kib-pull}27416[#27416]
* Updates the title in the left nav to Stack Monitoring {kib-pull}28102[#28102]
* Prepares the Monitoring UI codebase for the incoming changes to `hits.total` {kib-pull}26442[#26442]
* Updates browser title to Stack Monitoring {kib-pull}29638[#29638]
* Fixes Monitoring design {kib-pull}29479[#29479]
* Removes old index patterns that are not expected in 7.0.0 onwards {kib-pull}27915[#27915]
* Removes deprecated `xpack.monitoring.report_stats` setting {kib-pull}30017[#30017]
* Fixes monitoring tests to work with mapping changes {kib-pull}29188[#29188]
* Removes type filter helper {kib-pull}30887[#30887]
Operations::
* Removes svg from url-loader, as it conflicts with other loaders {kib-pull}30888[#30888]
* Uses apiVersion from es plugin in x-pack {kib-pull}30853[#30853]
* Clones saved object document before migrating to prevent accidental mutations {kib-pull}30475[#30475]
Observability::
* Fixes 7.x references to tcp.port {kib-pull}29132[#29132]
* Ports functional tests to 7.x {kib-pull}29398[#29398]
* Ports unit tests to master {kib-pull}29876[#29876]
* Adds missing loading states for filter bar and snapshot components {kib-pull}30122[#30122]
* Removes double-format for duration value {kib-pull}30664[#30664]
Platform::
* Moves the table vis migration to {kib} plugin {kib-pull}29478[#29478]
* Allows passing a default operator to use on saved object client find operations {kib-pull}29339[#29339]
* Fixes saved object repository `bulkCreate` to return migrated references and attributes {kib-pull}29754[#29754]
* Adds missing saved object reference handling for searchSourceJSON filter attribute {kib-pull}29840[#29840]
* Excludes `migrationVersion` and references from `getRootPropertiesObjects` result {kib-pull}30081[#30081]
* Removes dependency on doc versions {kib-pull}29906[#29906]
* Adds typings for saved object client {kib-pull}29951[#29951]
* Uses `lastSubUrl` when appropriate {kib-pull}28735[#28735]
* Removes es _xpack endpoint usage {kib-pull}29465[#29465]
* Adds typings for the `saved_object_finder` react component {kib-pull}30067[#30067]
* Fixes the confirm overwrite modal of saved objects to handle large titles {kib-pull}28590[#28590]
Reporting::
* Refactors routes files and helpers {kib-pull}30111[#30111]
Rollups::
* Removes duplicate rendered sections {kib-pull}28566[#28566]
Security::
* Adds tests for interpreter `createSocket` {kib-pull}29459[#29459]
Visualizations::
* Adds autocomplete to Time Series Visual Builder {kib-pull}30158[#30158]
* Fixes missing Markdown variables {kib-pull}28173[#28173]
* Removes filter bar for Markdown visualizations {kib-pull}30354[#30354]
* Corrects label for OS visualization in logs sample data {kib-pull}30249[#30249]











[[release-notes-7.0.0-alpha2]]
== {kib} 7.0.0-alpha2


[float]
[[breaking-7.0.0-alpha2]]
=== Breaking changes

For more details about breaking changes in this release, see
<<breaking-changes-7.0, Breaking changes in 7.0>>.

[float]
[[highlight-7.0.0-alpha2]]
=== Highlights
Canvas::
* Canvas now has a template tab in the workpad manager where users can find workpad templates,
demos, and tutorials to help them get started. See {kib-pull}23966[#23966] for more information.
Kibana App::
* Visualizations in Kibana will use a new data pipeline introduced as part of Canvas.
The change does not yet apply to Vega, Timelion, or Time Series Visual Builder (TSVB).
See {kib-pull}25711[#25711] for more information.
Index Lifecyle Management::
* Implements a user interface to create, update, edit, or delete index lifecyle policies.
See {kib-pull}25553[#25553] for more information.

[float]
[[enhancement-7.0.0-alpha2]]
=== Enhancements
Canvas::
* Implements a clipboard and stores the copied elements in `localStorage` {kib-pull}25890[#25890]
* Adds the ability to reuse assets without editing an element's expression {kib-pull}25764[#25764]
* Adds the `clear` function {kib-pull}26397[#26397]
* Adds workpad-level CSS {kib-pull}24143[#24143]
Dashboard::
* Adds `href` option in addition to `onClick` for navigational links {kib-pull}25233[#25233]
Design::
* Updates logos for marketing {kib-pull}25489[#25489]
* Adds Kibana 7.0 breadcrumbs to home screen {kib-pull}26605[#26605]
* Moves elastic/eui typings to single file {kib-pull}23950[#23950]
Kibana App::
* Maps inspector requests by id so single requests can be reset at a time {kib-pull}26770[#26770]
* Adds ODBC to blurb for start trail {kib-pull}27223[#27223]
Management::
* Adds `Request timestamp` to request inspector stats {kib-pull}25667[#25667]
* Adds "Reload indices" button to Index Management {kib-pull}27033[#27033]
Machine Learning::
* Adds the configuration files for two new auditbeat data recognizer modules for
detecting unusual processes on hosts and Docker containers {kib-pull}25716[#25716]
* Adds support for saved searches created using Kuery to the job wizards {kib-pull}26094[#26094]
* Allows users to enter their own query in the Discover page; stops passing the query
from the job datafeed config in custom URLs {kib-pull}26957[#26957]
* Rewrites Calendar to React/EUI {kib-pull}26741[#26741]
* Converts Setting page to React/EUI {kib-pull}27144[#27144]
* Ensures loading indicator is present on initial jobs load {kib-pull}27151[#27151]
* Prevents a new calendar save if a calendar with that id already exists {kib-pull}27104[#27104]
Observability::
* Adds a new plugin for Uptime Monitoring {kib-pull}25480[#25480]
Platform::
* Adds `rest_total_hits_as_int` to all requests in platform code that eventually
look up `hits.total` {kib-pull}26432[#26432]
* Adds `dist` flag to the configuration context {kib-pull}26545[#26545]
* Prepares `@kbn/datemath` to be republished as `@elastic/datemath` {kib-pull}26559[#26559]
* Wraps `remote` methods in `browser` service {kib-pull}26394[#26394]
* Uses `stream.pipeline` to manage error handling {kib-pull}27246[#27246]
Querying & Filtering::
* Moves the `buildESQuery` module (including filters and Kuery) into a separate package {kib-pull}23345[#23345]
* Adds comment explaining why `getComputedFields` adds a `docvalue` to `docvalue_fields`
for each date field in an index pattern. {kib-pull}25725[#25725]
* Moves filtering functions out of `vis.API.events` {kib-pull}25280[#25280]
Reporting::
* Adds browser type to the reporting side panel {kib-pull}26307[#26307]
* Adds better logging for `waitForSelector` failure {kib-pull}25762[#25762]
* Enhances error messaging and handling {kib-pull}26299[#26299]
* Adds "Info" button in the Reporting listing {kib-pull}25421[#25421]
Rollups::
* Adds support for rolling up metrics of date fields {kib-pull}26450[#26450]
Security::
* Updates the GET `/api/security/role` endpoint to return the list of roles sorted
by name, rather than creation date {kib-pull}26491[#26491]
* Updates the Account Settings screen to show the change password form only when
a password change is possible for the authentication realm {kib-pull}26779[#26779]
* Makes space selector a `button` {kib-pull}26889[#26889]
Visualizations::
* Removes experimental flag from Visual Builder (TSVB) {kib-pull}25634[#25634]
* Implements new visualization type selection {kib-pull}23833[#23833]
* Removes `lab` stage for visualizations, making `experimental` the only non-production
stage available {kib-pull}25702[#25702]

[float]
[[bug-7.0.0-alpha2]]
=== Bug fixes
Canvas::
* Fixes page preview size issue {kib-pull}26795[#26795]
* Fixes visual bug when opening the workpad loader {kib-pull}26647[#26647]
* Fixes page thumbnail sizes {kib-pull}26573[#26573]
* Decreases size of tray toggle {kib-pull}25470[#25470]
* Makes selection border 1px {kib-pull}26739[#26739]
* Fixes interpreter socket error {kib-pull}26870[#26870]
Geo::
* Resolves URL dynamically when requesting EMS data {kib-pull}25685[#25685]
* Fixes EMS hotlink {kib-pull}26868[#26868]
Infrastructure UI::
* Fixes potential color bugs {kib-pull}26292[#26292]
* Fixes auto refresh button on node detail page {kib-pull}26426[#26426]
* Changes the time range from the last hour to the last 5 minutes for the Waffle Map {kib-pull}26278[#26278]
* Passes flag in request to force BWC hit count {kib-pull}26517[#26517]
* Replaces redux source slice with constate container {kib-pull}26121[#26121]
* Changes node detail link to set time range to 1 hour {kib-pull}26977[#26977]
* Stops showing sidenav while loading. {kib-pull}27119[#27119]
* Fixes styling after breaking EUI changes {kib-pull}27021[#27021]
* Fixes graphql type generation after package upgrades {kib-pull}26991[#26991]
* Removes usage of `ts-optchain` in the browser {kib-pull}27148[#27148]
Kibana App::
* Fixes support for React 16.4+ by only resetting state if adaptors are updated {kib-pull}26138[#26138]
* Fixes scrolling list on Firefox {kib-pull}26246[#26246]
* Guards against empty and undefined index pattern arrays passed to QueryBar {kib-pull}24607[#24607]
* Removes unused indexPattern from vega/tsvb/timelion request handler {kib-pull}26007[#26007]
* Passes global filters from editor down to visualize  {kib-pull}26009[#26009]
* Stops using schemas in aggconfigs to output DSL {kib-pull}26010[#26010]
* Fixes `kbn-interpreter` package to not import from UI {kib-pull}26161[#26161]
* Fixes OSS dynamic plugin loading by reverting to Canvas way of loading plugins {kib-pull}26463[#26463]
* Fixes other bucket option to correctly apply without having to change other settings {kib-pull}26874[#26874]
* Adds `en` as a valid numeral locale setting {kib-pull}25948[#25948]
* Adds `rest_total_hits_as_int` into Kibana App {kib-pull}26404[#26404]
* Uses Canvas pipeline to fetch data inside Visualize {kib-pull}25996[#25996]
Management::
* Fixes index pattern wizard when there are remote clusters but no local indices  {kib-pull}24339[#24339]
* Uses new `_graph` endpoints {kib-pull}26956[#26956]
* Adjusts spacing of Management navigation items {kib-pull}25666[#25666]
* Updates "Disenroll" text to be consistent with menu option "Unenroll" {kib-pull}26816[#26816]
* Fixes broken breadcrumb link for index management {kib-pull}27164[#27164]
* Fixes issue with multiple execution in Console {kib-pull}26933[#26933]
* Reloads full index list when reload hits missing index {kib-pull}27197[#27197]
Machine Learning::
* Allows user to add/edit/delete annotations in the Single Series Viewer {kib-pull}26034[#26034]
* Does not pass datafeed query to Discover in custom URL {kib-pull}26957[#26957]
* Fixes word break in Anomalies and Jobs tables {kib-pull}26978[#26978]
* Fixes alignment of filter icons in the Anomalies table {kib-pull}26253[#26253]
Monitoring::
* Fixes error handling for local stats collection/permissions {kib-pull}26560[#26560]
* Removes initial delay to check and send Telemetry data {kib-pull}26575[#26575]
* Pulls local Kibana usage stats {kib-pull}26496[#26496]
* Converts the Elasticsearch monitoring UIs to using EUI tables and page layout {kib-pull}26217[#26217]
Platform & Operations::
* Decreases start limit and interval {kib-pull}25474[#25474]
* Adds `--download` flag to snapshot command to warm the cache {kib-pull}25830[#25830]
* Implements `--prefer-offline` flag {kib-pull}25840[#25840]
* Fixes watcher routes broken by Hapi upgrade {kib-pull}26713[#26713]
* Fixes non-conforming licenses on devDependencies and adds the ability to whitelist devOnly licenses {kib-pull}23859[#23859]
* Watches optimizer cache invalidation  {kib-pull}24172[#24172]
* Adds `normalizePath` in order to fix watch optimizer when running on Windows {kib-pull}26486[#26486]
* Creates vendor dll for the client modules {kib-pull}22618[#22618]
* Upgrades to NodeJS 10 {kib-pull}25157[#25157]
* Improves plugin version mismatch error message {kib-pull}25774[#25774]
* Improves build/packaging {kib-pull}26096[#26096]
* Swaps `jstimezonedetect` with `moment.tz.guess` {kib-pull}21800[#21800]
* Upgrades resize-observer-polyfill version {kib-pull}26990[#26990]
* Fixes saved objects client `_processBatchQueue` function to handle errors {kib-pull}26763[#26763]
* Changes kbn pm webpack config to generate dist files in mode=none {kib-pull}26847[#26847]
* Hides logs from deleteAll on task: clean client modules into dll {kib-pull}26884[#26884]
* Upgrades `resize-observer-polyfill` version {kib-pull}26990[#26990]
* Uses `single-node` discovery type for the test ES node/cluster {kib-pull}27125[#27125]
* Moves moment to peerDependency in elastic-datemath {kib-pull}27264[#27264]
Reporting::
* Deletes `sortOrder` once items have been sorted and does not pass to `EuiContextMenuItem`
in the share context menu {kib-pull}26890[#26890]
* Fixes a regression bug in detection of Error and Warning toast notifications {kib-pull}25482[#25482]
* Stops passing an empty `formatConfig` to the fieldFormats helper {kib-pull}27168[#27168]
Rollups::
* Shows loading state in Rollup Job detail panel. {kib-pull}25752[#25752]
* Specifies Rollup Jobs breadcrumbs in header. {kib-pull}26590[#26590]
* Requires histogram interval in Rollup Job wizard to be a whole number. {kib-pull}26596[#26596]
Security::
* Moves the server-side `SavedObjectClient` types from the `spaces` plugin to the
same location as the corresponding JavaScript source files {kib-pull}26448[#26448]
* Respects the `basePath` for the link to the user profile in the k7 header {kib-pull}26417[#26417]
* Fixes `prettier` throw rule error  {kib-pull}26071[#26071]
* Fixes authentication logic to fail out of auth flow on first provider failure {kib-pull}26648[#26648]
* Fixes issues with the `url.search` being null in Node 10 {kib-pull}26992[#26992]
* Fixes DLS query toggle on the role management page {kib-pull}27213[#27213]
Visualizations::
* Fixes filter function on pie chart segment {kib-pull}26321[#26321]
* Rewrites URL when closing vis type selection modal {kib-pull}26327[#26327]
* Changes unbind calls from `.on` to `.off` {kib-pull}24575[#24575]
* Fixes date field in controls visualization by generating labels with the field
formatter {kib-pull}25654[#25654]
* Replaces LESS files with Sass in `ui/public/vis`, `visLib`, and `visualize` {kib-pull}25333[#25333]
* Replaces LESS files with Sass for the visualization types in `core_plugin/metrics` {kib-pull}24250[#24250]
* Moves `timeout` to `_msearch` body to fix time series visual builder requests {kib-pull}26510[#26510]
* Adds description for all visualization types {kib-pull}26243[#26243]






[[release-notes-7.0.0-alpha1]]
== {kib} 7.0.0-alpha1

[float]
[[breaking-7.0.0-alpha1]]
=== Breaking changes

For more details about breaking changes in this release, see
<<breaking-changes-7.0, Breaking changes in 7.0>>.

Discover::
* Does not apply `query:queryString:options` to `query_string` filters {kib-pull}15640[#15640]
* Removes `default_field` from `query:queryString:options` {kib-pull}18966[#18966]

Monitoring::
* Removes `node_resolver` setting {kib-pull}21181[#21181]

Operations::
* Removes tribe node support {kib-pull}16397[#16397]
* Creates separate startup scripts for development and production {kib-pull}13806[#13806]
* Sets default port based on protocol  {kib-pull}21564[#21564]
* Removes deprecated `/shorten` API {kib-pull}21861[#21861]
* Plugin installer defers optimization step until server start {kib-pull}26983[#26983]

[float]
[[deprecation-7.0.0-alpha1]]
=== Deprecations

Geo::
* Fixes legacy tilemap loading {kib-pull}22095[#22095]

[float]
[[K7-design-7.0.0-alpha1]]
=== K7 UI Design

{kib} 7.0.0-alpha1 includes a new design for {kib} called K7. In this early stage,
K7 is still a little rough around the edges. If you'd like to switch back to the
existing K6 design, go to *Management > Advanced Settings* and turn
off the *k7design* setting. The option to switch to the old design
will be removed before 7.0.0 GA.

[float]
[[enhancement-7.0.0-alpha1]]
=== Enhancements

Machine Learning::
* Updates job type and APM module icon to new designs {kib-pull}25380[#25380]
* Allows model plot enablement via checkbox in  MultiMetric/Population Job creation {kib-pull}24914[#24914]
* Adds support for the rare detector for charts in Anomaly Explorer and Singe Metric viewer {kib-pull}21524[#21524]

Reporting::
* Adds png output to reports {kib-pull}24759[#24759]
* Sorts ascending on sort order first then ascending on name. Any menu item
without a sort order gets set to zero. {kib-pull}25058[#25058]

Visualizations::
* Adds a console.error for visualize errors {kib-pull}24581[#24581]

[float]
[[bug-7.0.0-alpha1]]
=== Bug fixes

APM::
* Overrides EUI chart default styles for gridlines {kib-pull}21723[#21723]
* Adds section titles to span detail modal {kib-pull}20717[#20717]

Canvas::
* Fixes duplicate `Value` options in math select value {kib-pull}25556[#25556]
* Gets correct plugins path {kib-pull}25448[#25448]
* Quotes the index pattern in SQL input {kib-pull}25488[#25488]
* Decreases the size of tray toggle {kib-pull}25470[#25470]
* Improves the plugin pre-build {kib-pull}25267[#25267]

Dashboard::
* Removes `dashboardContext` function and makes Timelion, Vega, and Time Series
Visual Builder use `buildEsQuery` {kib-pull}23227[#23227]

Design::
* Converts Security UI from LESS to Sass {kib-pull}25079[#25079]
* Adds boilerplate Sass for Kibana core {kib-pull}21185[#21185]

Discover::
* Adds debug code to flaky field_data test {kib-pull}15535[#15535]
* Gets even more debug info for flaky field_data test {kib-pull}17627[#17627]

Geo::
* Fixes feature/align map config settings {kib-pull}19450[#19450]

Kibana App::

* Adds warning to the `documentation_links` file about link validation gotcha {kib-pull}24786[#24786]
* Adds workaround for `getDerivedStateFromProps` change in react 16.4 {kib-pull}25142[#25142]

Kibana Home &amp; Add Data::
* Fixes "Set up index patterns" link on home page {kib-pull}16128[#16128]

Machine Learning::
* Shows useful error on invalid query in JobList search bar {kib-pull}25153[#25153]
* Adds user privilege check to Jobs List group selector control {kib-pull}25225[#25225]
* Fixes file data viz file size check and formats as bytes {kib-pull}25295[#25295]
* Fixes the layout of the cards in the Data Visualizer on IE {kib-pull}25383[#25383]
* Adds better error reporting for reading and importing data {kib-pull}24269[#24269]
* Displays an ordinal y axis for low cardinality rare charts {kib-pull}24852[#24852]
* Fixes typo in job validation message {kib-pull}25130[#25130]
* Removes deprecated `angularjs` based jobs list and related code {kib-pull}25216[#25216]

Management::
* Adds boilerplate for remote clusters management app {kib-pull}25369[#25369]
* Adds `ignore_failure` to ingest common auto complete in console {kib-pull}24915[#24915]
* Removes support for expression-based scripted fields {kib-pull}14310[#14310]
* Adds WatchErrors to capture invalid watches {kib-pull}23887[#23887]
* Rewords the translation id for error with missing property in Watcher {kib-pull}24753[#24753]

Monitoring::
* Renames Monitoring `FormattedMessage` to `FormattedAlert` {kib-pull}24197[#24197]
* Uses the cluster name from metadata if it exists {kib-pull}24495[#24495]

Operations::
* Removes node fallback from kibana-keystore {kib-pull}15066[#15066]
* Adds debug script to set inspect flags {kib-pull}15967[#15967]
* Uses snake case for scripts/kibana-keystore.js and scripts/kibana-plugin.js {kib-pull}15331[#15331]
* Updates license info in package.json {kib-pull}20353[#20353]
* Fixes error log formatting {kib-pull}24788[#24788]
* Matches chalk dependency version on Kibana with the one used on X-Pack {kib-pull}20621[#20621]
* Fixes non-conforming licenses on devDependencies and adds the ability to whitelist devOnly licenses {kib-pull}23859[#23859]
* Adds jsxa11y into eslint rules {kib-pull}23932[#23932]
* Reverts Bump react-grid-layout to 0.16.0 {kib-pull}14912[#14912]
* Reverts breaking change for Status API {kib-pull}21927[#21927]
* Converts `utils/collection` to TypeScript {kib-pull}23992[#23992]
* Removes usage of update_all_types {kib-pull}16406[#16406]
* Improves the `yarn kbn bootstrap` speed by using yarn workspaces for packages inside `packages/*` and `x-pack` {kib-pull}24095[#24095]
* Runs jenkins:unit task with dev flag in order to run license check {kib-pull}19832[#19832]
* Does not break on startup in debug mode {kib-pull}19219[#19219]


Platform::
* Transforms plugin deprecations before checking for unused settings {kib-pull}21294[#21294]
* Expands list of restricted globals in `eslint-config-kibana` {kib-pull}15798[#15798]
* Makes logs easier to read on Windows with chalk colors {kib-pull}15557[#15557]

Querying &amp; Filtering::
* Fixes wildcard queries against the default field {kib-pull}24778[#24778]

Reporting::
* Returns promise in Reporting jobs API {kib-pull}24769[#24769]

Security::
* Implements the K7 login screen {kib-pull}23512[#23512]

Sharing::

* Fixes issue with debounce function running after component was unmounted {kib-pull}15045[#15045]

Visualizations::
* Defaults the scroll wheel zoom to false on Vega maps {kib-pull}21169[#21169]
* Fixes problem within the input_vis_control plugin that prevents it from updating correctly
if the field is switched, and then switched back to the previous field {kib-pull}25164[#25164]
* Uses `vega-nocanvas` instead of vega lib {kib-pull}16137[#16137]
* Migrates visualization from Angular to React {kib-pull}16425[#16425]
* Fixes maps for reporting (#15272) {kib-pull}15358[#15358]
* Stops creation of nested search source per postflightrequest {kib-pull}20373[#20373]
* Moves inspector code from Vis to embeddable visualize handler {kib-pull}24112[#24112]
* Removes inspector from Vis {kib-pull}24112[#24112]
