[[setup-upgrade]]
= Upgrade {es}

[partintro]
--
{es} can usually be upgraded using a <<rolling-upgrades,Rolling upgrade>>
process so upgrading does not interrupt service. Rolling upgrades are supported:

* Between minor versions
* From 5.6 to 6.8
* From 6.8 to {version}
ifeval::[ "{version}" != "{minor-version}.0" ]
* From any version since {minor-version}.0 to {version}
endif::[]

[TIP]
====
For rolling upgrades between major versions (e.g., 5.6 to 6.8), we recommend
using the {kibana-ref}/upgrade-assistant.html[Kibana Upgrade Assistant].

The upgrade assistant identifies deprecated settings in your cluster and guides
you through the process of resolving issues, including reindexing.

We also recommend checking your <<deprecation-logging,deprecation logs>> for any
other functionality that may have changed.
====

The following table shows the recommended upgrade paths to {version}.

[cols="<1,3",options="header",]
|====
|Upgrade from   
|Recommended upgrade path to {version}

ifeval::[ "{version}" != "{minor-version}.0" ]
|A previous {minor-version} version (e.g., {minor-version}.0)
|<<rolling-upgrades,Rolling upgrade>> to {version}
endif::[]

|7.0–7.12
|<<rolling-upgrades,Rolling upgrade>> to {version}

|6.8
|<<rolling-upgrades,Rolling upgrade>> to {version}

|6.0–6.7
a|

. https://www.elastic.co/guide/en/elasticsearch/reference/6.8/rolling-upgrades.html[Rolling upgrade] to 6.8
. <<rolling-upgrades,Rolling upgrade>> to {version}

|5.6
a|

. https://www.elastic.co/guide/en/elasticsearch/reference/6.8/rolling-upgrades.html[Rolling upgrade] to 6.8
. <<rolling-upgrades,Rolling upgrade>> to {version}

|5.0–5.5
a|

. https://www.elastic.co/guide/en/elasticsearch/reference/5.6/rolling-upgrades.html[Rolling upgrade] to 5.6
. https://www.elastic.co/guide/en/elasticsearch/reference/6.8/rolling-upgrades.html[Rolling upgrade] to 6.8
. <<rolling-upgrades,Rolling upgrade>> to {version}
|====


[WARNING]
====
The upgrade path from 6.8 to 7.0 is *not* supported (both full cluster restart and rolling upgrade).
====

To upgrade directly to {version} from 6.7 or earlier, you must shut down the
cluster, install {version}, and restart. For more information, see
<<restart-upgrade, Full cluster restart upgrade>>.

[WARNING]
====
In-place downgrades to earlier versions are *not* supported. To downgrade to an
earlier version, <<snapshots-restore-snapshot,restore a snapshot>> taken prior
to the version upgrade.
====

{es} can read indices created in the previous major version. If you
have indices created in 5.x or before, you must reindex or delete them
before upgrading to {version}. {es} nodes will fail to start if
incompatible indices are present. Snapshots of 5.x or earlier indices cannot be
restored to a 7.x cluster even if they were created by a 6.x cluster. For
information about upgrading old indices, see <<reindex-upgrade, Reindex to upgrade>>.

When upgrading to a new version of {es}, you need to upgrade each
of the products in your Elastic Stack. For more information, see the
{stack-ref}/upgrading-elastic-stack.html[Elastic Stack Installation and Upgrade Guide].

--

include::upgrade/rolling_upgrade.asciidoc[]

include::upgrade/cluster_restart.asciidoc[]

include::upgrade/reindex_upgrade.asciidoc[]
