# Change logs

## [0.2.1]

- Added `ClientsRepository` contract declaration
- Added `NewClientInterface` constract declaration

## [0.2.2] 2023-08-02

- Added `PlainTextSecretAware` contract

## [0.2.3] [2023-08-02]

- Updated NewClientInterface adding isPersonalClient, isPasswordClient and getId which might return null value

## [0.2.11] [2023-08-02]

- Changed return value of ClientsRepository::findByUserId to be an array as user can has multiple client applications


## [0.3.0] [2024-06-18]

- Removed deprecated `ClientQueryInterface` implementation

## [0.3.1] [2024-06-25]

- Added support for `api_key` attribute that can be null and can be used instead of client_id and client_secret for authentication
- Added a breaking change `getPlainTextSecret` to PlainTextSecretAware interface [classes that implement that interface should add the newly added method implementation]
- Added an `\Drewlabs\Oauth\Clients\Contracts\ApiKeyClientsRepository` to support api key clients