| ⇢ | A | Ip added | |
| ⇢ | A | EmailValidator added | |
| ⇢ | A | UrlValidator added | |
| ⇢ | A | AtLeast added | |
| ⇢ | A | RegexValidator added | |
| ⇢ | A | Email added | |
| ⇢ | A | HasLengthValidator added | |
| ⇢ | A | Subset added | |
| ⇢ | A | CountValidator added | |
| ⇢ | A | Each added | |
| ⋮ | view more | ||
| A | ↛ | Ip removed | |
| A | ↛ | Url removed | |
| A | ↛ | Rule removed | |
| A | ↛ | Nested removed | |
| A | ↛ | RuleSet removed | |
| A | ↛ | Regex removed | |
| A | ↛ | Count removed | |
| A | ↛ | Each removed | |
| A | ↛ | Subset removed | |
| A | ↛ | HasLength removed | |
| ⋮ | view more | ||
| ⇢ | D | IpValidator::validate() added | |
| ⇢ | C | EmailValidator::validate() added | |
| ⇢ | C | NestedValidator::validate() added | |
| ⇢ | C | NumberValidator::validate() added | |
| ⇢ | B | CompareToValidator::compareValues() added | |
| ⇢ | B | Count::__construct() added | |
| ⇢ | B | CompareTo::getMessage() added | |
| ⇢ | B | CountValidator::validate() added | |
| ⇢ | B | EachValidator::validate() added | |
| ⇢ | B | RegexValidator::validate() added | |
| ⋮ | view more | ||
| A | ↘ | C | Validator::validate() got worse |
| D | ↛ | Ip::validateValue() removed | |
| C | ↛ | Email::validateValue() removed | |
| B | ↛ | Nested::validateValue() removed | |
| B | ↛ | CompareTo::getMessage() removed | |
| B | ↛ | Count::__construct() removed | |
| B | ↛ | CompareTo::compareValues() removed | |
| B | ↛ | Number::validateValue() removed | |
| B | ↛ | Count::validateValue() removed | |
| B | ↛ | Each::validateValue() removed | |
| B | ↛ | Rule::validate() removed | |
| ⋮ | view more | ||