1[[breaking_changes]]
2=== Breaking changes from 6.x
3
4[discrete]
5==== E_USER_DEPRECATED notice when using deprecated parameters
6
7Starting from elasticsearch-php 7.4.0, we generate a PHP
8https://www.php.net/manual/en/errorfunc.constants.php[E_USER_DEPRECATED] notice
9every time you use a deprecated parameters for {es}. We decided to add this
10notice to facilitate the code refactoring with the new API specification of {es}
11(for example the usage of typeless APIs, see below).
12
13From 7.4.1, we mitigated the usage of E_USER_DEPRICATED warning by using the `@`
14https://www.php.net/manual/en/language.operators.errorcontrol.php[operator]. The
15operator suppresses the error message, however, it is still possible to catch it
16by using a custom error handler:
17
18[source,php]
19----
20set_error_handler(function ($errno, $errstr) {
21    var_dump($errstr);
22}, E_USER_DEPRECATED);
23
24@trigger_error('Deprecation message here', E_USER_DEPRECATED);
25----
26
27[discrete]
28==== Moving from types to typeless APIs in {es} 7.0
29
30{es} 7.0 deprecated APIs that accept types, introduced new typeless APIs, and
31removed support for the _default_ mapping. Read
32https://www.elastic.co/blog/moving-from-types-to-typeless-apis-in-elasticsearch-7-0[this]
33blog post for more information.
34
35[discrete]
36==== Type hint and return type
37
38Added type hints and return type declarations in all the code base where
39possible. See PR https://github.com/elastic/elasticsearch-php/pull/897[#897].
40
41[discrete]
42==== PHP 7.1+ Requirement
43
44We require using PHP 7.1+ for elasticsearch-php. PHP 7.0 is not supported since
451st Jan 2019. Refer
46https://www.php.net/supported-versions.php[PHP supported version] for more
47information.
48