| ⇢ | A | DomainLiteral added | |
| ⇢ | A | NoDNSRecord added | |
| ⇢ | A | RFCWarnings added | |
| ⇢ | A | SpoofEmail added | |
| ⇢ | A | SpoofEmail added | |
| ⇢ | A | DummyReason added | |
| ⇢ | A | MultipleErrors added | |
| ⇢ | A | CommaInDomain added | |
| ⇢ | A | ConsecutiveAt added | |
| ⇢ | A | ExpectingDomainLiteralClose added | |
| ⋮ | view more | ||
| B | ↗ | A | Parser improved |
| F | ↗ | B | DomainPart improved |
| A | ↛ | MultipleErrors removed | |
| ⇢ | C | DomainLiteral::parse() added | |
| ⇢ | B | DomainLiteral::checkIPV6Tag() added | |
| ⇢ | A | DomainLiteral::checkIPV4Tag() added | |
| ⇢ | A | DomainLiteral::convertIPv4ToIPv6() added | |
| ⇢ | A | DomainLiteral::addTagWarnings() added | |
| ⇢ | A | EmailValidatorTest::testValidationIsFalse() added | |
| ⇢ | A | DomainLiteral::addObsoleteWarnings() added | |
| ⇢ | A | ConsecutiveAt::description() added | |
| ⇢ | A | MultipleErrors::reason() added | |
| ⇢ | A | ExpectingDomainLiteralClose::code() added | |
| ⋮ | view more | ||
| B | ↘ | C | DomainPart::doParseDomainPart() got worse |
| B | ↗ | A | Parser::parseFWS() improved |
| C | ↛ | DomainPart::doParseDomainLiteral() removed | |
| B | ↛ | DomainPart::checkIPV6Tag() removed | |
| A | ↛ | DomainPart::checkIPV4Tag() removed | |
| A | ↛ | DomainPart::hasBrackets() removed | |
| A | ↛ | MultipleErrors::__construct() removed | |
| A | ↛ | MultipleErrors::getErrors() removed | |
| A | ↛ | MultipleValidationWithAnd::addNewError() removed | |