PHP Classes

File: CHANGELOG.md

Recommend this page to a friend!
  Classes of John Conde   PHP Email Validation Library Pro   CHANGELOG.md   Download  
File: CHANGELOG.md
Role: Auxiliary data
Content type: text/markdown
Description: Auxiliary data
Class: PHP Email Validation Library Pro
Validate email addresses using multiple rules
Author: By
Last change: Release: Added support for RFC 5322
Chore: prepare for the 2.1.0 release
feat(validation): Implement strict RFC 5322 email validation

- Fix domain literal validation for IPv4 and IPv6 addresses:
* Add proper handling of IPv6 compressed notation
* Support IPv4 addresses with leading zeros
* Validate IPv6 segment formats and values
* Fix empty segment handling in IPv6 addresses

- Improve EmailAddress class parsing:
* Simplify domain literal parsing logic
* Fix handling of quoted strings with @ symbols
* Preserve brackets in domain literals

- Update test suite with comprehensive RFC 5322 cases:
* Add tests for IPv4/IPv6 edge cases
* Add tests for quoted string escaping
* Fix test data to match RFC specifications
Date: 10 days ago
Size: 3,044 bytes
 

Contents

Class file image Download

Changelog

All 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-10

Added

  • 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-29

Added

  • 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-09

Changed

  • CHANGELOG format

Fixed

  • 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-12

Fixed

  • Handled potential for null being returned when validating a banned domain name

[1.1.1] - 2022-10-11

Changed

  • Banned domain check to use pattern matching for more robust validation including subdomains

[1.1.1] - 2022-02-22

Fixed

  • When getting an email address' username, if there was none, return an empty string instead of NULL

[1.1.0] - 2022-02-02

Added

  • Support for identifying and working with Gmail addresses using the "plus trick" to create unique addresses

[1.0.2] - 2022-01-24

Fixed

  • Issue #2: Error state not clearing between validations

[1.0.1] - 2021-09-20

Added

  • Pull Request #1: Added EmailValidator::getErrorCode()

[1.0.0] - 2020-08-02

  • Initial release