Sourced from idna's changelog.
3.17 (2026-05-28)
- Substantial 75% reduction in memory usage through new data structures and some optimization in processing speed.
- Added a general 1024-character input length cap to the public validation, conversion, and codec entry points. This is well above any legitimate domain or label and guards against pathological inputs.
3.16 (2026-05-22)
- Add a command-line interface (
python -m idna, also available as theidnascript). Encodes or decodes one or more domains supplied as arguments or on standard input, with options to select A-label or U-label output and control error handling.- Raise the minimum supported Python version to 3.9
- Various code quality improvements
f48619c
Release 3.177421ba8
Pre-release 3.17rc022ebb73
Merge pull request #251 from
kjd/structure-optimizations2a7ac0a
Drop redundant parallel-arrays comment from uts46data354eee9
Apply ruff format to uts46data.py8c34ffc
Refactor uts46data into parallel arrays1189629
Range-encode joining_types for compact representationf90b87a
Generic length limit for functionsd6ffd28
Merge pull request #247 from
kjd/release-3.166d1a0de
Release 3.16