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

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

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

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

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

There are no notable breaking changes in {es} 8.7.
But there are some less critical breaking changes.

[discrete]
[[breaking_87_ingest_changes]]
==== Ingest changes

[[making_jsonprocessor_stricter_so_it_does_not_silently_drop_data]]
.Making `JsonProcessor` stricter so that it does not silently drop data
[%collapsible]
====
*Details* +
The ingest node's `json` processor was previously lenient. It would accept invalid JSON data if it started with valid JSON data.
Anything after the valid part would be silently discarded. From 8.7 onwards, the default behavior is to reject invalid JSON data with
an exception so that data is not silently lost. The old behavior can be reproduced by passing `false` as the value of the new
`strict_json_parsing` processor parameter.
We consider this change to be a bugfix but list it here as a breaking change since it may affect the behavior of applications which
were sending invalid JSON data to the `json` processor.

*Impact* +
Ensure your application only sends valid JSON data to the `json` processor, or modify the `json` processors in your pipelines to set
the `strict_json_parsing` parameter to `false`.
====
