[[breaking-changes]]
= Migration guide

[partintro]
--
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.
The obsolete functionality is typically deprecated in a minor release and
removed in the subsequent major release.
This enables applications to continue working unchanged
across most minor version upgrades.
Breaking changes introduced in minor releases are
generally limited to critical security fixes
and bug fixes that correct unintended behavior.

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[]
