| ⇢ | A | RateLimitTestController added | |
| ⇢ | A | IpAddress added | |
| ⇢ | A | RateLimitExceededException added | |
| ⇢ | A | Limiter added | |
| ⇢ | A | RateLimitingMiddleware added | |
| ⇢ | A | MemoryCache added |
| ⇢ | B | RateLimitingMiddleware::beforeController() added | |
| ⇢ | B | RateLimitingMiddleware::afterException() added | |
| ⇢ | A | MemoryCache::__construct() added | |
| ⇢ | A | Limiter::__construct() added | |
| ⇢ | A | Limiter::register() added | |
| ⇢ | A | Limiter::registerUserRequest() added | |
| ⇢ | A | MemoryCache::getExistingAttempts() added | |
| ⇢ | A | MemoryCache::getAttempts() added | |
| ⇢ | A | IpAddress::getIPv4Subnet() added | |
| ⇢ | A | MemoryCache::registerAttempt() added | |
| ⋮ | view more | ||
| B | ↘ | D | ControllerMethodReflector::reflect() got worse |
| A | ↛ | ControllerMethodReflector::__construct() removed | |
| A | ↛ | Throttler::getIPv4Subnet() removed | |
| A | ↛ | Throttler::getIPv6Subnet() removed | |
| A | ↛ | Throttler::getSubnet() removed | |