[[migrating-8.0]]
== Migrating to 8.0
++++
<titleabbrev>8.0</titleabbrev>
++++

This section discusses the changes that you need to be aware of when migrating
your application to {es} 8.0.

See also <<release-highlights>> and <<es-release-notes>>.

coming[8.0.0]

* <<breaking_80_aggregations_changes>>
* <<breaking_80_allocation_changes>>
* <<breaking_80_analysis_changes>>
* <<breaking_80_breaker_changes>>
* <<breaking_80_cluster_changes>>
* <<breaking_80_ccr_changes>>
* <<breaking_80_discovery_changes>>
* <<breaking_80_eql_changes>>
* <<breaking_80_http_changes>>
* <<breaking_80_ilm_changes>>
* <<breaking_80_indices_changes>>
* <<breaking_80_ingest_changes>>
* <<breaking_80_java_changes>>
* <<breaking_80_mappings_changes>>
* <<breaking_80_network_changes>>
* <<breaking_80_node_changes>>
* <<breaking_80_packaging_changes>>
* <<breaking_80_reindex_changes>>
* <<breaking_80_api_changes>>
* <<breaking_80_rollup_changes>>
* <<breaking_80_search_changes>>
* <<breaking_80_security_changes>>
* <<breaking_80_settings_changes>>
* <<breaking_80_snapshots_changes>>
* <<breaking_80_threadpool_changes>>
* <<breaking_80_transport_changes>>
* <<breaking_80_watcher_changes>>

[discrete]
[[breaking-changes-8.0]]
=== Breaking changes

The following changes in {es} 8.0 might affect your applications
and prevent them from operating normally.
Before upgrading to 8.0, review these changes and take the described steps
to mitigate the impact.

NOTE: Breaking changes introduced in minor versions are
normally limited to security and bug fixes.
Significant changes in behavior are deprecated in a minor release and
the old behavior is supported until the next major release.
To find out if you are using any deprecated functionality,
enable <<deprecation-logging, deprecation logging>>.

//NOTE: The notable-breaking-changes tagged regions are re-used in the
//Installation and Upgrade Guide

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

.Indices created in {es} 6.x and earlier versions are not supported.
[%collapsible]
====
*Details* +
Elasticsearch 8.0 can read indices created in version 7.0 or above. An
Elasticsearch 8.0 node will not start in the presence of indices created in a
version of Elasticsearch before 7.0.

*Impact* +
Reindex indices created in {es} 6.x or before with {es} 7.x if they need to be carried forward to  {es} 8.x.
====

.REST API endpoints containing `_xpack` have been removed.
[%collapsible]
====
*Details* +
In 7.0, we deprecated REST endpoints that contain `_xpack` in their path. These
endpoints are now removed in 8.0. Each endpoint that was deprecated and removed
is replaced with a new endpoint that does not contain `_xpack`. As an example,
`/{index}/_xpack/graph/_explore` is replaced by `/{index}/_graph/explore`.

*Impact* +
Use the replacement REST API endpoints. Requests submitted to the `_xpack`
API endpoints will return an error.
====

.Several EOL operating systems are no longer supported.
[%collapsible]
====
*Details* +
The following operating systems have reached their end of life and are no longer
supported by {es}:

* Amazon Linux
* CentOS 6
* Debian 8
* openSUSE Leap 42
* Oracle Enterprise Linux 6
* Ubuntu 16.04

We've also removed support for `SysV init`. No supported operating systems use
the `SysV init` process.

*Details* +
Ensure your nodes use a
https://www.elastic.co/support/matrix#matrix_os[supported operating system].
Running {es} on an unsupported operating system can result in unexpected errors
or failures.
====

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

include::migrate_8_0/aggregations.asciidoc[]
include::migrate_8_0/allocation.asciidoc[]
include::migrate_8_0/analysis.asciidoc[]
include::migrate_8_0/breaker.asciidoc[]
include::migrate_8_0/cluster.asciidoc[]
include::migrate_8_0/ccr.asciidoc[]
include::migrate_8_0/discovery.asciidoc[]
include::migrate_8_0/eql.asciidoc[]
include::migrate_8_0/http.asciidoc[]
include::migrate_8_0/ilm.asciidoc[]
include::migrate_8_0/indices.asciidoc[]
include::migrate_8_0/ingest.asciidoc[]
include::migrate_8_0/java.asciidoc[]
include::migrate_8_0/mappings.asciidoc[]
include::migrate_8_0/network.asciidoc[]
include::migrate_8_0/node.asciidoc[]
include::migrate_8_0/packaging.asciidoc[]
include::migrate_8_0/reindex.asciidoc[]
include::migrate_8_0/api.asciidoc[]
include::migrate_8_0/rollup.asciidoc[]
include::migrate_8_0/search.asciidoc[]
include::migrate_8_0/security.asciidoc[]
include::migrate_8_0/settings.asciidoc[]
include::migrate_8_0/snapshots.asciidoc[]
include::migrate_8_0/threadpool.asciidoc[]
include::migrate_8_0/transport.asciidoc[]
include::migrate_8_0/watcher.asciidoc[]
include::migrate_8_0/migrate_to_java_time.asciidoc[]

////
[discrete]
[[deprecated-8.0]]
=== Deprecations

The following functionality has been deprecated in {es} 8.0
and will be removed in 8.0
While this won't have an immediate impact on your applications,
we strongly encourage you take the described steps to update your code
after upgrading to 8.0.

NOTE: Significant changes in behavior are deprecated in a minor release and
the old behavior is supported until the next major release.
To find out if you are using any deprecated functionality,
enable <<deprecation-logging, deprecation logging>>.
////
