- Add support for Python 3.11 through 3.14.
- Drop support for Python 3.7 through 3.9.
- Switch to calendar-based versioning.
- Officially support Python 3.9 and 3.10.
- Drop support for Python 3.6.
No changes.
- Ensure that lines end with \r\n.
- Log exceptions raised during a connection, instead of aborting.
- Reject invalid
HELO,EHLO,MAIL, andRCPTcommands. - Enforce limits per RFC 5321, section 4.5.3.1.
- Do not throw an exception when encountering 8 bit characters. Instead return an error (in commands) or drop the most significant bit (in mail texts).