[[setup-upgrade]]
== Upgrading

[IMPORTANT]
===========================================
Before upgrading Elasticsearch:

* Consult the <<breaking-changes,breaking changes>> docs.
* Test upgrades in a dev environment before upgrading your production cluster.
* Always back up your data before upgrading. You cannot roll back to an earlier
  version unless you have a <<backup,backup>> of your data.
===========================================

Elasticsearch can usually be upgraded using a rolling upgrade process,
resulting in no interruption of service.  This section details how to perform
both rolling upgrades and upgrades with full cluster restarts.

To determine whether a rolling upgrade is supported for your release, please
consult this table:

[cols="1<m,1<m,3",options="header",]
|=======================================================================
|Upgrade From   |Upgrade To     |Supported Upgrade Type
|0.90.x         |1.x, 2.x       |<<restart-upgrade,Full cluster restart>>
|< 0.90.7       |0.90.x         |<<restart-upgrade,Full cluster restart>>
|>= 0.90.7      |0.90.x         |<<rolling-upgrades,Rolling upgrade>>
|1.0.0 - 1.3.1  |1.x            |<<rolling-upgrades,Rolling upgrade>> (if <<recovery,`indices.recovery.compress`>> set to `false`)
|>= 1.3.2       |1.x            |<<rolling-upgrades,Rolling upgrade>>
|1.x            |2.x            |<<restart-upgrade,Full cluster restart>>
|=======================================================================

TIP: Take plugins into consideration as well when upgrading. Most plugins will have to be upgraded alongside Elasticsearch, although some plugins accessed primarily through the browser (`_site` plugins) may continue to work given that API changes are compatible.

include::backup.asciidoc[]

include::rolling_upgrade.asciidoc[]

include::cluster_restart.asciidoc[]
