[[breaking_changes]] === Breaking changes from 6.x [discrete] ==== E_USER_DEPRECATED notice when using deprecated parameters Starting from elasticsearch-php 7.4.0, we generate a PHP https://www.php.net/manual/en/errorfunc.constants.php[E_USER_DEPRECATED] notice every time you use a deprecated parameters for {es}. We decided to add this notice to facilitate the code refactoring with the new API specification of {es} (for example the usage of typeless APIs, see below). From 7.4.1, we mitigated the usage of E_USER_DEPRICATED warning by using the `@` https://www.php.net/manual/en/language.operators.errorcontrol.php[operator]. The operator suppresses the error message, however, it is still possible to catch it by using a custom error handler: [source,php] ---- set_error_handler(function ($errno, $errstr) { var_dump($errstr); }, E_USER_DEPRECATED); @trigger_error('Deprecation message here', E_USER_DEPRECATED); ---- [discrete] ==== Moving from types to typeless APIs in {es} 7.0 {es} 7.0 deprecated APIs that accept types, introduced new typeless APIs, and removed support for the _default_ mapping. Read https://www.elastic.co/blog/moving-from-types-to-typeless-apis-in-elasticsearch-7-0[this] blog post for more information. [discrete] ==== Type hint and return type Added type hints and return type declarations in all the code base where possible. See PR https://github.com/elastic/elasticsearch-php/pull/897[#897]. [discrete] ==== PHP 7.1+ Requirement We require using PHP 7.1+ for elasticsearch-php. PHP 7.0 is not supported since 1st Jan 2019. Refer https://www.php.net/supported-versions.php[PHP supported version] for more information.