|  Download ChangelogAll notable changes to this project will be documented in this file. The format is based on Keep a Changelog,
and this project adheres to Semantic Versioning. 2.1.0 - 2025-06-10Added
Comprehensive RFC 5322 email validation:
- Added new `Rfc5322Validator` class for strict RFC compliance
- Added support for quoted strings in local part
- Added proper domain literal (IP address) validation
- Added comment extraction and validation
- Added length validation for local part and domain components
- Added new error code `FAIL_RFC5322` for RFC validation failures
Enhanced `EmailAddress` class:
- Added `getLocalPart()` method
- Added `getComments()` method
- Improved comment parsing with nested comment support
- Better handling of quoted strings and escaped characters
 2.0.0 - 2025-05-29Added
Strict type declarations for all properties and method signatures.
Expanded unit tests to cover edge cases, type safety, and invalid input handling.
Added support for custom validators through the new `registerValidator()` method.
Added new error code `FAIL_CUSTOM` for custom validation failures.
 Changed
Updated the minimum PHP version requirement to PHP 7.4.
Refactored internal logic for better null safety and array filtering.
Refactored provider validators to handle null/invalid domains gracefully and consistently return true for invalid emails.
Improved type safety with PHP 7.4+ typed properties and enhanced PHPDoc array type hints.
Updated `.editorconfig` to be more explicit for certain file types, including PSR-12 for PHP.
 Fixed
Issue #7: Improved email address parsing to properly handle RFC822 compliant addresses:
- Multiple @ symbols in quoted strings
- Domain literals (IP addresses in square brackets)
- Comments in email addresses
- Better handling of edge cases
 [1.1.4] - 2024-04-09ChangedFixed
Issue #5: Static variables prevent running validation with different configurations
Issue #6: `googlemail.com` is now recognized as a Gmail address
Issue #6: `.` are now removed when sanitizing Gmail addresses (to get to the root email address)
 [1.1.3] - 2022-10-12Fixed
Handled potential for null being returned when validating a banned domain name
 [1.1.1] - 2022-10-11Changed
Banned domain check to use pattern matching for more robust validation including subdomains
 [1.1.1] - 2022-02-22Fixed
When getting an email address' username, if there was none, return an empty string instead of NULL
 [1.1.0] - 2022-02-02Added
Support for identifying and working with Gmail addresses using the "plus trick" to create unique addresses
 [1.0.2] - 2022-01-24Fixed
Issue #2: Error state not clearing between validations
 [1.0.1] - 2021-09-20Added
Pull Request #1: Added EmailValidator::getErrorCode()
 [1.0.0] - 2020-08-02 |