| ⇢ | A | UsersTwoFactorAuthTable added | |
| ⇢ | A | TfaController added | |
| ⇢ | A | EncryptedSecurityType added | |
| ⇢ | A | TwoFactorAuthComponent added | |
| ⇢ | A | Logs added | |
| ⇢ | A | UsersLogsTable added | |
| D | ↘ | F | UsersController got worse |
| ⇢ | D | UsersController::tfa() added | |
| ⇢ | C | TfaController::enable() added | |
| ⇢ | B | TfaController::generateRecoveryCode() added | |
| ⇢ | B | TfaController::recoveryCode() added | |
| ⇢ | B | UsersController::_handleLogin() added | |
| ⇢ | B | Installer::setSecuritySaltAndKey() added | |
| ⇢ | A | TfaController::intro() added | |
| ⇢ | A | TfaController::disable() added | |
| ⇢ | A | EncryptedSecurityType::marshal() added | |
| ⇢ | A | EncryptedSecurityType::toDatabase() added | |
| ⋮ | view more | ||
| A | ↘ | B | SessionsActivityComponent::startup() got worse |
| A | ↘ | B | UsersController::account() got worse |
| A | ↛ | Installer::setSecuritySalt() removed | |