Skip to content

v3.19

Latest

Choose a tag to compare

@github-actions github-actions released this 18 Aug 05:14
· 6 commits to master since this release
  • Restore the std3_rules option, which had no effect since changes
    to UTS #46 processing in Unicode 16. Note that uts46_remap()
    defaults to enabling STD3 rules, so direct callers will see input
    containing non-LDH ASCII characters rejected again.
  • Performance improvements to UTS #46 mapping, particularly for
    ASCII-only domains.
  • Test on free-threaded CPython with the GIL disabled and document
    thread safety.
  • Expose the Unicode version of the generated tables as
    idna.unicode_version, and show it in idna --version.
  • Add code, text, codepoint and position attributes to
    IDNAError so that the failed rule and the offending character can
    be identified without parsing the exception message.
  • The deprecated transitional argument to encode() and
    uts46_remap() is now completely ignored, and gives a deprecation warning
    for the latter.
  • Reject A-labels that are not the canonical Punycode encoding of
    their U-label.
  • Fix CONTEXTJ violations raising IDNAError instead of
    InvalidCodepointContext.
  • Consistently raise IDNAError for empty labels and non-ASCII bytes
    passed to label helper functions and the incremental codec.
  • Add property-based tests, extended fuzzing targets, coverage
    measurement, and CI checks that the data tables match the generator
    output.
  • Various code quality and tooling improvements.

Thanks to stefan6419846, LouieLuNZ, and Salvatore Corvaglia for
contributions to this release.