| ⇢ | A | AuthCodeGrant added | |
| ⇢ | A | ClientCredentialsGrant added | |
| ⇢ | A | PasswordGrant added | |
| ⇢ | A | PersonalAccessGrant added | |
| ⇢ | A | RefreshTokenGrant added | |
| A | ↘ | B | TokenGuard got worse |
| A | ↛ | PersonalAccessGrant removed | |
| A | ↛ | Scope removed | |
| A | ↛ | OAuth removed | |
| A | ↛ | AccessTokenRepository removed |
| ⇢ | C | AuthCodeGrant::respondToAccessTokenRequest() added | |
| ⇢ | B | AuthCodeGrant::validateAuthorizationCode() added | |
| ⇢ | A | RefreshTokenGrant::respondToAccessTokenRequest() added | |
| ⇢ | A | ClientCredentialsGrant::respondToAccessTokenReques... added | |
| ⇢ | A | PasswordGrant::validateUser() added | |
| ⇢ | A | PasswordGrant::respondToAccessTokenRequest() added | |
| ⇢ | A | PersonalAccessGrant::respondToAccessTokenRequest() added | |
| ⇢ | A | TokenGuard::hasValidUserType() added | |
| ⇢ | A | RefreshTokenGrant::validateUser() added | |
| ⇢ | A | OAuthUserProvider::getUserType() added | |
| ⋮ | view more | ||
| A | ↛ | AccessToken::can() removed | |
| A | ↛ | PersonalAccessGrant::respondToAccessTokenRequest() removed | |
| A | ↛ | AccessTokenRepository::persistNewAccessToken() removed | |
| A | ↛ | AccessToken::resolveInheritedScopes() removed | |
| A | ↛ | TokenGuard::hasValidProvider() removed | |
| A | ↛ | HasApiTokens::tokenCan() removed | |
| A | ↛ | OAuth::scopeIds() removed | |
| A | ↛ | CreateOauthAuthCodesTable::jsonable() removed | |
| A | ↛ | OAuth::hasScope() removed | |
| A | ↛ | CreateOauthAccessTokensTable::jsonable() removed | |
| ⋮ | view more | ||