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

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

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

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

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

[discrete]
[[breaking_89_rest_api_changes]]
==== REST API changes

[[switch_tdigeststate_to_use_hybriddigest_by_default]]
.Switch TDigestState to use `HybridDigest` by default
[%collapsible]
====
*Details* +
The default implementation for TDigest in percentile calculations switches to a new internal implementation offering superior performance (2x-10x speedup), at a very small accuracy penalty for very large sample populations.

*Impact* +
This change leads to generating slightly different results in percentile calculations. If the highest possible accuracy is desired, or it's crucial to produce exactly the same results as in previous versions, one can either set `execution_hint` to `high_accuracy` in the `tdigest` spec of a given percentile calculation, or set `search.aggs.tdigest_execution_hint` to `high_accuracy` in cluster settings to apply to all percentile queries.
====

