Back to Explore

JoshData/python-email-validator

GitHub
2 watchersOpen source

Last release:

python-email-validator is a small Python library for validating email addresses. It’s useful for checking whether an email string is in a valid format in your applications.

Project status

  • The source appears actively developed at the repo level (latest upstream push was 2026-06-26), but the last documented tagged updates shown here are older (newest noted update v2.3.0 on 2025-08-26), suggesting intermittent release tagging rather than continuous version bumps.
  • Apparent update cadence for tagged updates is roughly yearly (v2.3.0 in 2025, then v2.2.0 in 2024, with several updates in 2023 and 2024), with no evidence of frequent new version tags since v2.3.0 in the provided summaries.

AI summary generated

AI-generated from public sources. May be inaccurate. Report

Recent updates

  • v2.3.0

    This release focuses on email syntax behavior, packaging, and Unicode handling. It renames the distribution to `email-validator`, adds an optional `strict` mode to restore the local-part length check, normalizes display names to NFC, and improves error reporting for homoglyph and internationalized-domain cases.

    BreakingFeatures
  • v2.2.0

    This release tightens validation for internationalized email addresses, especially after Unicode NFC normalization, and adds optional parsing for display-name plus address inputs. It also ships a broad typing cleanup and small deliverability and error-message refinements.

    BreakingFeatures
  • v2.1.2

    v2.1.2 tightens email validation around domain length and DNS fallback behavior, and fixes the metadata returned when MX-less domains fall back to A/AAAA records. The release also refreshes test tooling, CI configuration, and pinned development dependencies.

    Breaking
  • v2.1.1

    v2.1.1 is a maintenance release that fixes a mailbox-name typo, improves exception chaining in deliverability error paths, and updates the project licensing to Unlicense. It also includes test and documentation cleanup, plus one notable internal behavior change around unsafe-character detection.

  • v2.1.0

    v2.1.0 raises the minimum Python version to 3.8, adds a module-level __version__ export, and deprecates the legacy ValidatedEmail.email accessor in favor of normalized. The implementation also refactors address parsing and adds normalized-length validation, which changes how some edge-case email addresses are accepted or rejected.

    BreakingFeatures
  • v2.0.0

    v2.0.0 is a major modernization release for email-validator, with a package reorganization, a new CLI entrypoint, type annotations, and new opt-in support for quoted local parts and domain literals. It also raises the minimum supported runtime to Python 3.7+, changes DNS deliverability behavior, and shifts the canonical normalized address field to `ValidatedEmail.normalized` while keeping backward compatibility aliases.

    BreakingFeatures
  • v1.3.1

    v1.3.1 narrows the SPF reject-all deliverability check so it only runs when a domain has no MX record but does have an A/AAAA fallback. The diff also updates documentation and packaging metadata, and the packaging change raises the minimum supported Python version to 3.5.

    Breaking
  • v1.3.0

    v1.3.0 tightens email validation and makes the main validator keyword-only, while also adding SPF `v=spf1 -all` rejection and a new `globally_deliverable` mode for non-global address forms. It shifts special-use domain handling into syntax validation, introduces module-level defaults for validator behavior, and expands the test matrix with pyIsEmail cases and Python 3.10 CI.

    BreakingFeatures
  • v1.2.1

    This release tightens email validation by rejecting unsafe Unicode, most special-use reserved domains, and NULL MX domains when deliverability checks are enabled. It also exposes module-level defaults for key validator options, documents the special-use domain list, and refreshes CI and test dependencies.

    BreakingSecurityFeatures
  • v1.1.3

    The provided release metadata for v1.1.3 includes no actual release notes or changelog content. As a result, I cannot reliably identify new features, breaking changes, bug fixes, security updates, performance changes, dependency updates, or required migration steps from the text available.