Skip to content

[pull] main from django:main - #560

Merged
pull[bot] merged 1 commit into
threatcode:mainfrom
django:main
Sep 14, 2026
Merged

pull[bot] merged 1 commit into
threatcode:mainfrom
django:main

Conversation

@pull

@pull pull Bot commented Sep 14, 2026

Copy link
Copy Markdown

See Commits and Changes for more details.


Created by pull[bot] (v2.0.0-alpha.4)

Can you help keep this open source service alive? 💖 Please sponsor : )

`EmailValidator` now includes the invalid `username` or `domain` in the
`params` of the `ValidationError` it raises, so error messages can
reference the part that failed.

Address parsing and validation are now split into overridable methods
(`parse_address()`, `validate()`, `validate_username()`, and
`validate_domain()`), each receiving the full address being validated.
Subclasses can customize parsing, an individual part, or a rule spanning
both parts, without re-parsing the address.

The undocumented `validate_domain_part()` method is deprecated in favor
of `validate_domain()`, which raises `ValidationError` for invalid
domains instead of returning a boolean.

Refs #27029.

Thanks Mike Edmunds for the many ideas and quality reviews.
@pull pull Bot locked and limited conversation to collaborators Sep 14, 2026
@pull pull Bot added the ⤵️ pull label Sep 14, 2026
@pull
pull Bot merged commit 850e026 into threatcode:main Sep 14, 2026
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant