Repository navigation
Conversation
|
Thanks, I've reviewed this and would like to merge it. The tagged literal matches the It now conflicts with master in |
|
Resolved the conflict in ce9157c, keeping your IDNA lookalike tests and all IPv6 literal regressions. I used GitHub’s web conflict resolver, so this is a merge from master rather than a force-pushed rebase. The complete resulting tree matches the locally tested rebased tree. On Windows CPython 3.12 and 3.13, the updated full suite passes: 1,584 tests per version, including all 45 email cases. Tox lint, type and SAST checks and the check-only formatter also pass. Hosted workflows are awaiting maintainer approval. |
With
ipv6_address=True,email("user@[2001:db8::1]", ...)accepts a bare IPv6 literal, butuser@[IPv6:2001:db8::1]is rejected. The tagged form is defined by RFC 5321 section 4.1.3.Recognize the tag case-insensitively and validate its payload as IPv6. Preserve opt-in flag behavior, legacy address literals and local-part validation. Regressions cover compressed, full and IPv4-embedded addresses, invalid payloads (including zone IDs), repeated brackets and compatibility.
Validation on Windows:
Other operating systems and Python 3.11/3.14 were not run locally. AI assistance (OpenAI Codex) was used for investigation, implementation, review and testing.