| ⇢ | A | OtpLog added | |
| A | ↛ | TwoFactor removed | |
| A | ↛ | OtpLog removed | |
| A | ↛ | TwoFactorTest removed |
| ⇢ | B | OtpLog::record() added | |
| ⇢ | A | Users::verifyOtpKey() added | |
| ⇢ | A | OtpLog::__construct() added | |
| ⇢ | A | OtpLog::housekeeping() added | |
| ⇢ | A | OtpLog::init() added | |
| A | ↘ | B | Users::setOtpSecret() got worse |
| B | ↛ | TwoFactor::twoFactor() removed | |
| B | ↛ | TwoFactorTest::testTwoFactorReplay() removed | |
| B | ↛ | OtpLog::record() removed | |
| A | ↛ | TwoFactorTest::setUp() removed | |
| A | ↛ | TwoFactorTest::testTwoFactorValid() removed | |
| A | ↛ | TwoFactorTest::testTwoFactorWrongKey() removed | |
| A | ↛ | TwoFactorTest::testTwoFactorNotEnrolled() removed | |
| A | ↛ | TwoFactor::__construct() removed | |
| A | ↛ | TwoFactor::getUserId() removed | |
| A | ↛ | OtpLog::__construct() removed | |
| ⋮ | view more | ||