[[breaking-changes-7.8]]
== Breaking changes in 7.8
++++
7.8
++++
This section discusses the changes that you need to be aware of when migrating
your application to {es} 7.8.
See also <> and <>.
* <>
* <>
* <>
//NOTE: The notable-breaking-changes tagged regions are re-used in the
//Installation and Upgrade Guide
//tag::notable-breaking-changes[]
[discrete]
[[breaking_78_aggregation_changes]]
=== Aggregation changes
.Privilege `indices:admin/create` will no longer allow the auto creation of indices
[%collapsible]
====
*Details*
The privilege named `indices:admin/create` will no longer allow the auto
creation of indices. Use `create_index` instead. {es-pull}55858[#55858]
====
.`value_count` aggregation optimization
[%collapsible]
====
*Details*
Scripts used in `value_count` will now receive a number if they are
counting a numeric field and a `GeoPoint` if they are counting a
`geo_point` fields. They used to always receive the `String`
representation of those values. {es-pull}54854[#54854]
====
[discrete]
[[breaking_78_mappings_changes]]
=== Mappings changes
[[prevent-enabled-setting-change]]
.The `enabled` mapping parameter cannot be changed for a root mapping.
[%collapsible]
====
*Details* +
Mapping requests that attempt to change the {ref}/enabled.html[`enabled`]
mapping parameter for a root mapping will fail and return an error.
Previously, {es} accepted mapping requests that attempted to change the
`enabled` parameter of the root mapping. Theses changes were not applied, but
such requests didn't return an error.
*Impact* +
To avoid errors, do not submit mapping requests that change the
{ref}/enabled.html[`enabled`] mapping parameter.
====
[[prevent-include-in-root-change]]
.The `include_in_parent` and `include_in_root` mapping parameters cannot be changed for `nested` fields.
[%collapsible]
====
*Details* +
Mapping requests that attempt to change the
{ref}/nested.html#nested-include-in-parent-parm[`include_in_parent`] or
{ref}/nested.html#nested-include-in-root-parm[`include_in_root`] mapping
parameter for a `nested` field will fail and return an error.
Previously, {es} accepted mapping requests that attempted to change the
`include_in_parent` or `include_in_root` parameter. Theses changes were not
applied, but such requests didn't return an error.
*Impact* +
To avoid errors, do not submit mapping requests that change the
{ref}/nested.html#nested-include-in-parent-parm[`include_in_parent`] or
{ref}/nested.html#nested-include-in-root-parm[`include_in_root`] mapping
parameter.
====
.The get field mapping API's `local` query parameter is deprecated.
[%collapsible]
====
*Details* +
The {ref}/indices-get-field-mapping.html[get field mapping API]'s `local` query
parameter is deprecated and will be removed in {es} 8.0.0.
The `local` parameter is a no-op. The API always retrieves field mappings
locally.
*Impact* +
To avoid deprecation warnings, discontinue use of the `local` parameter.
====
[discrete]
[[breaking_78_settings_changes]]
=== Settings changes
[[deprecate-node-local-storage]]
.The `node.local_storage` setting is deprecated.
[%collapsible]
====
*Details* +
The `node.local_storage` setting is deprecated. In {es} 8.0.0, all nodes require
local storage.
*Impact* +
To avoid deprecation warnings, discontinue use of the `node.local_storage`
setting.
====
[[deprecate-basic-license-feature-enabled]]
.Several {xpack} settings no longer have any effect and are deprecated.
[%collapsible]
====
*Details* +
Basic {xpack} license features are always enabled for the {default-dist}
and the following settings no longer have any effect:
* `xpack.enrich.enabled`
* `xpack.flattened.enabled`
* `xpack.ilm.enabled`
* `xpack.monitoring.enabled`
* `xpack.rollup.enabled`
* `xpack.slm.enabled`
* `xpack.sql.enabled`
* `xpack.transform.enabled`
* `xpack.vectors.enabled`
Previously, they could be set to `false` to disable the feature's APIs in a cluster.
*Impact* +
To avoid deprecation warnings, discontinue use of these settings.
If you have disabled ILM so that you can use another tool to manage Watcher
indices, the newly introduced `xpack.watcher.use_ilm_index_management` setting
may be set to false.
====
[discrete]
[[builtin-users-changes]]
==== Changes to built-in users
.The `kibana` user has been deprecated in favor of the `kibana_system` user.
[%collapsible]
====
*Details* +
The `kibana` user was historically used to authenticate {kib} to {es}.
The name of this user was confusing, and was often mistakenly used to login to {kib}.
We've replaced the `kibana` user with the `kibana_system` user to reduce
confusion and to better align with other built-in system accounts.
*Impact* +
If your `kibana.yml` used to contain:
[source,yaml]
--------------------------------------------------
elasticsearch.username: kibana
--------------------------------------------------
then you should update to use the new `kibana_system` user instead:
[source,yaml]
--------------------------------------------------
elasticsearch.username: kibana_system
--------------------------------------------------
IMPORTANT: The new `kibana_system` user does not preserve the previous `kibana`
user password. You must explicitly set a password for the `kibana_system` user.
====
[discrete]
[[builtin-roles-changes]]
==== Changes to built-in roles
.The `kibana_user` role has been deprecated in favor of the `kibana_admin` role.
[%collapsible]
====
*Details* +
Users who were previously assigned the `kibana_user` role should instead be assigned
the `kibana_admin` role. This role grants the same set of privileges as `kibana_user`, but has been
renamed to better reflect its intended use.
*Impact* +
Assign users with the `kibana_user` role to the `kibana_admin` role.
Discontinue use of the `kibana_user` role.
====
//end::notable-breaking-changes[]