v3.15
Added 1
- Add Dependabot configuration for GitHub Actions
Changed 9
- 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
- Hoist bidi category sets to module-level frozensets to avoid per-codepoint list construction
- Simplify length checks in core helpers
- Reuse the shared _unicode_dots_re from idna.core in the codec module
- Use raise ... from err for proper exception chaining
- Switch internal string formatting to f-strings
- Allow flit_core 4.x in the build backend
- Expand the ruff lint set to include flake8-bugbear, flake8-simplify, pyupgrade, and perflint
- Pin lint CI to Python 3.14
- 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.