v3.22.0
Enhancements
-
Include all HTTP headers in request metadata
#588 -
The
ClientandSessionTrackernow share a single Guzzle instance
#587
Deprecations
-
Client::ENDPOINT
This is ambiguous as we have three separate endpoints
UseConfiguration::NOTIFY_ENDPOINTinstead -
HttpClient::PAYLOAD_VERSION
This is ambiguous as there is a session payload version too
UseHttpClient::NOTIFY_PAYLOAD_VERSIONinstead -
Report::PAYLOAD_VERSION
As above. This was also unused by the notifier
UseHttpClient::NOTIFY_PAYLOAD_VERSIONinstead -
SessionTracker::$SESSION_PAYLOAD_VERSION
UseHttpClient::SESSION_PAYLOAD_VERSIONinstead -
HttpClient::send
UseHttpClient::sendEventsinstead -
HttpClient::build
UseHttpClient::getEventPayloadinstead -
HttpClient::postJson
UseHttpClient::deliverEventsinstead -
Using the
base_uri/base_urlon a Guzzle instance
The base URI is ambiguous as there are three separate endpoints which could be used, therefore all Guzzle requests now use absolute URIs. We will extract thebase_uri/base_urlGuzzle option if one is set and use it as the notification endpoint URI, however this will be removed in the next major version
Set the notification endpoint manually withConfiguration::setNotifyEndpointinstead -
Calling
HttpClient::getHeaderswithout providing a payload version
This is deprecated as the version is ambiguous between the notification payload version and session payload version
Call this with the correctHttpClientpayload version constants instead -
Client::getSessionClientandConfiguration::getSessionClient
This method is dangerous to use as there is now only one Guzzle instance used across every request, so changing this client would also affect the notification client. Changes to this Guzzle client will now be ignored
Use the$guzzleparameter of theClientconstructor to customise the Guzzle client instead -
SessionData::$client
TheSessionDataclass will be passed aSessionTrackerinstead of aClientinstance in its constructor in the next major version -
SessionTrackershould be constructed with aHttpClient
TheSessionTrackerclass should now always be passed aHttpClient
In this version it will construct its ownHttpClientif one is not provided
In the next major version, this fallback will be removed and passing aHttpClientwill be mandatory