| A | ↛ | CryptTrait removed |
| ⇢ | A | AuthCodeTrait::getCodeChallengeMethod() added | |
| ⇢ | A | AuthCodeTrait::setCodeChallengeMethod() added | |
| ⇢ | A | AuthCodeTrait::setCodeChallenge() added | |
| ⇢ | A | AuthCodeTrait::getCodeChallenge() added | |
| ⇢ | A | TokenEntityTrait::setUser() added | |
| ⇢ | A | TokenEntityTrait::getUser() added | |
| ⇢ | A | TokenEntityTrait::setScopes() added | |
| A | ↘ | B | AbstractGrant::issueAuthCode() got worse |
| B | ↗ | A | AuthCodeGrant::validateCodeChallenge() improved |
| A | ↛ | CryptTrait::decrypt() removed | |
| A | ↛ | TokenEntityTrait::setUserIdentifier() removed | |
| A | ↛ | TokenEntityTrait::getUserIdentifier() removed | |
| A | ↛ | AbstractResponseType::setPrivateKey() removed | |
| A | ↛ | RefreshTokenTrait::getExpiryDateTime() removed | |
| A | ↛ | RefreshTokenTrait::setExpiryDateTime() removed | |
| A | ↛ | AbstractGrant::setPrivateKey() removed | |
| A | ↛ | CryptTrait::setEncryptionKey() removed | |
| A | ↛ | CryptTrait::encrypt() removed |