Skip to content

Release 9.0.0

Compare
Choose a tag to compare
@ezimuel ezimuel released this 18 Apr 08:15
· 1 commit to main since this release
v9.0.0
5aa8b17

This is the new major release of elasticsearch-php compatible with Elasticsearch 9.0.0 🎉

  • Compatibility with Elasticsearch 9.0: All changes and additions to Elasticsearch APIs for its 9.0 release are reflected in this release.
  • Serverless client merged in: the elastic/elasticsearch-serverless client is being deprecated, and its functionality has been merged back into this client. This should have zero impact on the way the client works by default. If an endpoint is available in serverless, the PHP function will contains a @group serverless phpdoc attribute.
    If you try to use an endpoint that is not available in serverless you will get a 410 HTTP error with a message as follows:
    "this endpoint exists but is not available when running in serverless mode".
    The 9.0.0 client can recognize that it is communicating with a serverless instance if you are using a URL managed by Elastic (e.g. *.elastic.cloud).
    If you are using a proxy, the client will be able to recognize that the host is serverless from the first response. Alternatively, you can explicitly indicate that the host is serverless using the Client::setServerless(true) function (false by default).
  • New transport library with PSR-18 cURL client as default: we've removed the Guzzle dependency from the client. By default, the built-in cURL-based HTTP client will be used if no other PSR-18 compatible clients are detected. See release 9.0.0 of elastic-transport-php.

Breaking changes

  • Use of PHP 8.1+: Starting from 9.0.0 the elasticsearch-php client requires PHP 8.1+.

Deprecations

  • Utility::urlencode(): this function has been deprecated in favor of rawurlencode() of PHP (see #1278).