On Logstash, there are several entries for filters failing with
AbuseFilter parser error for filter xxx: Invalid IP range yyy
Examining those filters reveals that all such invalid ranges are explicit ranges, i.e. 18.104.22.168 - 22.214.171.124. AbuseFilter used to accept these ranges in the past, as IP::isInRange can handle them. However, rEABF7fade990d26c79fb6acc100653bcf639f724569a added IP range validation to avoid invalid notations to be used. The downside is that validation is performed with IP::isValidRange, which only checks for ranges in CIDR notation. Given that several filters use explicit notation, and it's a good idea to keep it valid as it's easier to use, we should somehow change the validation to accept these.
AFAICS, the IP class doesn't provide a method to validate explicit ranges, so it's probably worth adding one.