[[breaking-changes]]
= Migration guide

This section discusses the changes that you need to be aware of to migrate
your application to {version}. For more information about what's new in this
release, see the <<release-highlights>> and <<es-release-notes>>.

As {es} introduces new features and improves existing ones, the changes
sometimes make older settings, APIs, and parameters obsolete. We typically
deprecate obsolete functionality as part of a release. If possible, we support
the deprecated functionality for several subsequent releases before removing it.
This enables applications to continue working unchanged while you prepare to
migrate away from the deprecated functionality.

To get the most out of {es} and facilitate future upgrades, we strongly
encourage migrating away from using deprecated functionality as soon as
possible.

To give you insight into what deprecated features you're using, {es}:

- Returns a `Warn` HTTP header whenever you
submit a request that uses deprecated functionality.
- <<deprecation-logging, Logs deprecation warnings>> when
deprecated functionality is used.
- <<migration-api-deprecation, Provides a deprecation info API>>
that scans a cluster's configuration
and mappings for deprecated functionality.

For more information about {minor-version},
see the <<release-highlights>> and <<es-release-notes>>.
For information about how to upgrade your cluster, see <<setup-upgrade>>.

* <<migrating-8.1,Migrating to 8.1>>
* <<migrating-8.0,Migrating to 8.0>>

include::migrate_8_1.asciidoc[]
include::migrate_8_0.asciidoc[]
