Changes for OIDC-Client distribution

1.05 2025-10-28
  - Possible configuration breaking change : 'post' and 'basic' auth methods are renamed to 'client_secret_basic' and 'client_secret_post'
  - Possible configuration breaking change : 'client_secret_basic' becomes the default client authentication method
  - OIDC::Client::verify_token() is deprecated in favor of OIDC::Client::verify_jwt_token()
  - Added support for 'introspection' token validation method
  - Added support for 'client_secret_jwt', 'private_key_jwt' and 'none' client authentication methods
  - Added support for the 'cache' store (only for 'client_credentials' and 'password' grant types)
  - Added check of the access token's 'at_hash' against the ID token's 'at_hash' claim if present
  - Renewed ID token : no nonce from provider is accepted
  - Renewed ID token : 'sub' claim must be the same as in the original ID token
  - JWT validation : 'exp' and 'iat' claims must be present (and valid)
  - Fix token exchange without a refresh token in the response
  - Explicitly accepts 'application/json' for all requests to the provider

1.04 2025-09-12
  - Fix for token refresh : the 'refresh_scope' config should only be used for the current audience

1.03 2025-09-09
  - The refresh token is not stored in the AccessToken object anymore but in its own store
  - The ID token can now be renewed on its own
  - Added 'refresh_scope' configuration entry to specify the desired scope of the requested renewed token
  - The 'jwks_url' configuration entry is no longer mandatory
  - New OIDC::Client::AccessTokenBuilder module
  - New OIDC::Client::ApiUserAgentBuilder module
  - Added 'uo' and 'title' user attributes

1.02 2025-08-29
  - Management of multiple authorizations to avoid errors if the same user executes multiple 'authorize' requests at the same time.
  - Same changes for logout data
  - No more need for flash data
  - No more 'state' parameter for redirect_to_logout() method, use 'other_state_params' parameter instead

1.01 2025-08-15
  - Fix merge from feature branch to main branch

1.00 2025-08-15
  Note : multiple breaking changes to the framework plugin class in this version
  - get_valid_identity() replaces get_stored_identity(), get_stored_identity() still exists but returns the stored identity even if the identity has expired
  - New classes OIDC::Client::Identity and OIDC::Client::AccessToken
  - has_expired(), has_scope(), get_identity_expiration_time() and has_access_token_expired() methods have been moved to these new classes
  - get_valid_identity() and get_stored_identity() now return an OIDC::Client::Identity object
  - verify_token() and get_valid_access_token() now return an OIDC::Client::AccessToken object
  - New methods for framework plugins : store_access_token(), get_stored_access_token() and delete_stored_data()
  - The 'store_mode' configuration entry has been moved to the provider level. Its value can be different between providers

0.11 2025-07-10
  - Gives more flexibility to the returned 'scope' and 'scp' claims as the 'scope' claim may sometimes be an array and not a string with space separators.

0.10 2025-07-09
  - Fix "base_url" parameter check for Minion workers

0.09 2025-07-07
  - build_api_useragent() : $audience_alias parameter is now optional (current audience by default)
  - added build_user_from_claims() method

0.08 2025-05-12
  - The stored identity now expires by default. The expiration time is the one defined in the ID token, but you can also override this value by specifying the lifetime in the parameters.
  - The new get_identity_expiration_time() method lets you know the time when the stored identity expires, including the configured leeway.
  - Version number from dist.ini

0.07 2025-02-10
  - Catalyst and Mojolicious plugins are extracted from this distribution to their own distributions for dependency reasons

0.06 2025-01-17
  - No change. Retry after that PAUSE indexer failure for v0.05

0.05 2025-01-17
  - Added versions to some dependencies

0.04 2025-01-15
  - need v0.423 for List::MoreUtils

0.03 2025-01-14
  - need v0.03 for Test::WWW::Mechanize::Catalyst::WithContext
  - fine tuning for the distribution builder

0.02 2025-01-12
  - fix dependencies

0.01 2025-01-10
  - initial version
