Sourced from idna's releases.
v3.15
No release notes provided.
v3.14
No release notes provided.
v3.13
No release notes provided.
v3.12
No release notes provided.
v3.11
No release notes provided.
v3.10
No release notes provided.
v3.9
No release notes provided.
v3.8
What's Changed
- Fix regression where IDNAError exception was not being produced for certain inputs.
- Add support for Python 3.13, drop support for Python 3.5 as it is no longer testable.
- Documentation improvements
- Updates to package testing using Github actions
Thanks to Hugo van Kemenade for contributions to this release.
Full Changelog: https://github.com/kjd/idna/compare/v3.7...v3.8
Sourced from idna's changelog.
3.15 (2026-05-12)
- Enforce DNS-length cap on individual labels early in
check_label, short-circuiting contextual-rule processing for oversized input while staying compatible with UTS 46 usage.- Tidy core helpers: hoist bidi category sets to module-level frozensets (avoiding per-codepoint list construction), simplify length checks, and reuse the shared
_unicode_dots_refromidna.corein the codec module.- Use
raise ... from errfor proper exception chaining and switch internal string formatting to f-strings.- Allow
flit_core4.x in the build backend.- Expand the ruff lint set (flake8-bugbear, flake8-simplify, pyupgrade, perflint) and apply the surfaced fixes; pin lint CI to Python 3.14.
- Add Dependabot configuration for GitHub Actions.
- Convert README and HISTORY from reStructuredText to Markdown.
- Reference CVE-2026-45409 for the 3.14 advisory in place of the initial GHSA identifier.
Thanks to Felix Yan, Stan Ulbrych, and metsw24-max for contributions to this release.
3.14 (2026-05-10)
- Removed opportunity to process long inputs into quadratic time by rejecting oversize inputs up-front. Closes a bypass of the CVE-2024-3651 mitigation. [CVE-2026-45409]
Thanks to Stan Ulbrych for reporting the issue.
3.13 (2026-04-22)
- Correct classification error for codepoint U+A7F1
3.12 (2026-04-21)
- Update to Unicode 17.0.0.
- Issue a deprecation warning for the transitional argument.
- Added lazy-loading to provide some performance improvements.
- Removed vestiges of code related to Python 2 support, including segmentation of data structures specific to Jython.
Thanks to Rodrigo Nogueira for contributions to this release.
3.11 (2025-10-12)
- Update to Unicode 16.0.0, including significant changes to UTS46 processing. As a result of Unicode ending support for it, transitional processing no longer has an effect and returns the same result.
... (truncated)
af30a09
Release 3.1530314d4
Pre-release 3.15rc005d4b21
Merge pull request #237 from
kjd/convert-docs-to-markdown2987fdb
Convert README and HISTORY from reStructuredText to Markdown59fa800
Merge pull request #236 from
kjd/dependabot/github_actions/actions-f3e34333eadef6983
Merge branch 'master' into
dependabot/github_actions/actions-f3e34333eabbd8004
Merge pull request #234 from
StanFromIreland/patch-1edd07c0
Bump github/codeql-action from 3.35.2 to 4.35.2 in the actions
group5557db0
Merge branch 'master' into patch-1f11746c
Merge pull request #235 from
StanFromIreland/patch-2