Skip to content

Latest commit

 

History

History
102 lines (63 loc) · 2.41 KB

CHANGELOG.md

File metadata and controls

102 lines (63 loc) · 2.41 KB

CHANGELOG

3.2.2

Changes

  • Added support to select other endpoint than default

Deprecations

  • The getPublicUrl() method in TokenPool has been renamed to getEndpointUrl, the method will be dropped in v4.0.

3.2.1

Changes

  • Bump token key format to prevent BC issue

3.2.0

Changes

  • Updated cache constraint

3.1.1

Fixes

  • Fixed redundant calls to get token

3.1.0

Changes

  • Added token pool to Guzzle client config

3.0.0

Changes

  • Upgraded Guzzle to v6 (now uses PSR7)
    • Since Guzzle replaced its events mechanism in favour of middleware, the keystone client factory has been refactored to accomodate this.
    • The client no longer has to pre-fetch the token on construction due to the changes in Guzzle. Which means the lazy KeystoneClient class has been removed. A regular Guzzle client is now used.

BC breaks

  • PHP version requirement bumped to 5.6
  • Guzzle version requirement bumped to 6.0
  • The JIT request signing implementation has changed from a event subscriber to middleware. If you extended the KeystoneTokenSubscriber you will need to refactor your code.
  • The Token class now only throws TokenException instances, instead of \InvalidArgumentException and \OutOfBoundsException.

2.1.0

  • Added lazy loading client

2.0.0

  • Upgraded Guzzle to v5
  • Added support to pass Guzzle config
  • Library is now fully tested & documented

BC breaks

  • Renamed TreeHouse\Keystone\Client\Factory => TreeHouse\Keystone\Client\ClientFactory
  • Added $class as second constructor argument in constructor

Before, the Keystone Client extended the Guzzle Client class and provided the token injection. This has been refactored to better use Guzzle's features. The Client class has been replaced with an event subscriber.

If you're just using the factory method, you need to update the referencing class, and pass a Tenant object instead of separate url/user/pass parameters:

Before:

$factory = new Factory($cache, $logger);
$client = $factory->createClient($tokenUrl, $username, $password, $serviceType, $serviceName);

After:

// use null for default Guzzle client class
$tenant  = new Tenant($tokenUrl, $username, $password, $serviceType, $serviceName);
$factory = new ClientFactory($cache, null, $logger);
$client  = $factory->createClient($tenant);