| ⇢ | A | Migration_UpdateLoginAttemptsTable added | |
| B | ↗ | A | APIAuthentication improved |
| ⇢ | B | Migration_UpdateLoginAttemptsTable::up() added | |
| ⇢ | A | Migration_UpdateLoginAttemptsTable::down() added | |
| D | ↗ | C | LocalAuthentication::validate() improved |
| A | ↘ | B | Login_model::isBruteForced() got worse |
| A | ↘ | B | Login_model::recordLoginAttempt() got worse |
| A | ↘ | B | Login_model::lastLoginAttemptTime() got worse |
| D | ↗ | C | APIAuthentication::tryDigestAuthentication() improved |
| C | ↗ | B | APIAuthentication::tryBasicAuthentication() improved |
| C | ↗ | B | LocalAuthentication::login() improved |