| B | ↘ | F | AuthCodeGrant got worse |
| ⇢ | A | AuthCodeTrait::setCodeChallenge() added | |
| ⇢ | A | AuthCodeTrait::getCodeChallenge() added | |
| ⇢ | A | TokenEntityTrait::setScopes() added | |
| ⇢ | A | CryptTrait::canUseCrypt() added | |
| ⇢ | A | AuthCodeTrait::getCodeChallengeMethod() added | |
| ⇢ | A | AuthCodeTrait::setCodeChallengeMethod() added | |
| A | ↘ | B | AbstractGrant::issueAuthCode() got worse |
| B | ↗ | A | AuthCodeGrant::validateCodeChallenge() improved |
| A | ↘ | B | AuthCodeGrant::completeAuthorizationRequest() got worse |
| A | ↘ | F | RefreshTokenGrant::validateOldRefreshToken() got worse |
| B | ↘ | F | AuthCodeGrant::respondToAccessTokenRequest() got worse |
| A | ↛ | RefreshTokenTrait::getExpiryDateTime() removed | |
| A | ↛ | RefreshTokenTrait::setExpiryDateTime() removed |