Releases: elastic/elastic-transport-php
Release 9.0.0
This is a new major release that includes the following change:
- We added a new custom HTTP client based on cURL. This client is used when
elastic-transport-php
does not detect any installed PSR-18 clients. This client relies on the cURL php extension that must be installed. Moreover, this client does not implement the HttpAsyncClient interface, which means you won't be able to send asynchronous requests.
If you need support for asynchronous requests, consider installing a PST-18 HTTP client like Guzzle:
composer require guzzlehttp/guzzle
composer require symfony/http-client
We introduced this change to remove the guzzle dependency in elasticsearch-php, as discussed here.
Other than that, no BC breaks have been introduced in the 9.0.0 release.
Release 8.11.0
This release introduces the following changes and fixes:
- Added
Node::getLastPing
andNode::getFailedPings
for custom NodePool implementations with ping backoffs #35 - Add HTTP network exception as previous exception to
NoNodeAvailableException
for debugging #34 - Fixed PHP 7.4+ issue - "must not be accessed before initialization" in
getLastRequest()
andgetLastResponse()
#33 - Fixed missing response body with guzzle PSR-7 streams #30
Release 8.10.0
Added the support for OpenTelemetry
We introduced in #27 and 2be33cd the support of OpenTelemetry for the HTTP send request. At the moment, the support is only for synchronous HTTP call.
To enable the OpenTelemetry you need to set the ENV variable OTEL_PHP_INSTRUMENTATION_ELASTICSEARCH_ENABLED
to true.
We added the support natively in the Transport:sendRequest()
function. By default, the Transport create a span from a Tracer provider (e.g. Global) with the following attributes:
http.request.method
url.full
server.address
server.port
If the $request
sent using Transport::sendRequest($request)
is a PSR-7 ServerRequest we get the attribute with name otel-elastic-transport
and we pass to the OTel span as additional attributes. In this way, libraries like elasticsearch-php
can inject specific OTel attributes (e.g. db.operation.name
).
We created an OpenTelemetry class to provide all the configuration.
Release 8.8.0
Release 8.7.0
This release contains the following new feature:
- Allow installation of psr/http-message v2.0 #17
Release 8.6.0
Release 8.5.0
This release contains the following fix:
- Fixed the full body message in debug() log for Transport #11
Release 8.4.0
Release 8.3.0
Release created to be compatible with 8.3 Elastic PHP clients.
Release 8.2.0
Release created to be compatible with 8.2 Elastic PHP clients.