packagist intercom/intercom-php v4.0.0
[BREAKING CHANGE] Upgrading to 7.1 and using HTTPlug

latest releases: dev-master, dev-revert-352-add-fossa-workflow, dev-df/test...
5 years ago
  • Upgrade to PHP 7.1+ #271
    PHP 5.6 and 7.0 are no longer supported. We should only support active versions (7.1, 7.2 and 7.3 at the time of writing)

  • Abstract the HTTP client using HTTPPlug #270

This version introduces HTTPPlug as the HTTP Client. HTTPPlug allows this library to use any HTTP Library as long as there is a HTTPPlug adaptor for it. All major libraries are available (Guzzle5/6, CURL, Buzz and many more).

Upgrade instructions:

  1. Check if any change from the list below affects your code and update it if required.
  2. Choose a client implementation and include it to your dependencies (ie composer require php-http/curl-client). We recommend that you choose the adapter for the library you already use in your project. If you don't use any, php-http/curl-client is the most lightweight.
  3. Upgrade your intercom/intercom-php dependency: composer update intercom/intercom-php.

Changes in this version:

  • IntercomClient constructor third parameter now only accepts a key-value array of request headers, that will be included in every request, eg: new IntercomClient('token', null, ['Custom-Header' => 'value']);. If you were passing any other options to the client (apart from headers), you will need to instantiate your own client and pass it using the setHttpClient method. Example:

    $httpClient = new Http\Adapter\Guzzle6\Client(
        new GuzzleHttp\Client(['connect_timeout' => 5]);
    );
    $client = new IntercomClient('token');
    $client->setHttpClient($httpClient); 
  • IntercomClient method setClient has been renamed to setHttpClient. Its first argument must be a Psr\Http\Client\ClientInterface. If you were using this method before upgrading, you can use the Guzzle6 adapter like in the example above. For example, $client->setClient($guzzleClient) would need to be changed to $client->setHttpClient(new Http\Adapter\Guzzle6\Client($guzzleClient)).

  • IntercomClient no longer exposes the methods getGuzzleRequestOptions and getAuth.

  • IntercomClient now provides the methods setRequestFactory and setUriFactory so you can customize the generation of requests and URIs if needed.

  • From now on, all the exceptions thrown by the SDK will implement Http\Client\Exception. See the different exceptions that can be thrown in the HTTPPlug documentation

Don't miss a new intercom-php release

NewReleases is sending notifications on new releases.