Skip to content

v0.4.0

Choose a tag to compare

@kurok kurok released this 12 Jun 22:00
· 137 commits to master since this release
38c83ea

First release of the modernized parser (v0.3.0 was the PyO3 0.16.6 release).

⚠️ Breaking

  • Drops Python 3.7–3.10 (minimum is now 3.11).
  • str input decoded as lossless UTF-8 (previously truncated code points — pass bytes for exact control).
  • Undecodable bodies raise ParseError instead of returning empty.

Changed

  • PyO3 0.16.6 → 0.29.0 (resolves RUSTSEC-2025-0020, RUSTSEC-2026-0177); mailparse 0.15.0 → 0.16.1; stable Rust + MSRV 1.83; faster str parsing.

Added

  • CPython 3.13 & 3.14 support; DoS guards (input-size + MIME-depth caps); contract / RFC-corpus / correctness tests; CONTRIBUTING.md.

Security

  • Fixed lossy str→bytes corruption; DoS hardening; hardened CI.

See CHANGELOG.md.