| ⇢ | A | ErrorScopePolicy added | |
| ⇢ | A | ScopePolicyManager added | |
| ⇢ | A | RegisteredClient added | |
| ⇢ | A | IgnoreScopePolicy added | |
| ⇢ | A | PublicClient added | |
| ⇢ | A | ConfidentialClient added | |
| ⇢ | A | Config added | |
| ⇢ | A | DefaultScopePolicy added | |
| ⇢ | A | ClientMetadata added |
| ⇢ | B | AuthorizationEndpoint::verifyRedirectUri() added | |
| ⇢ | B | ScopePolicyManager::verifyScopes() added | |
| ⇢ | A | ErrorScopePolicy::getDefaultScopes() added | |
| ⇢ | A | Config::setScopePolicy() added | |
| ⇢ | A | ClientMetadata::getGrantTypes() added | |
| ⇢ | A | ClientMetadata::getScope() added | |
| ⇢ | A | RegisteredClient::__construct() added | |
| ⇢ | A | Config::__construct() added | |
| ⇢ | A | ClientMetadata::setScope() added | |
| ⇢ | A | ClientMetadata::getPolicyUri() added | |
| ⋮ | view more | ||
| B | ↘ | C | AuthorizationEndpoint::handleRequest() got worse |
| B | ↘ | C | AuthorizationEndpoint::verifyRequestData() got worse |
| A | ↛ | AuthorizationEndpoint::__construct() removed | |