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.
Configuration
📅Schedule: (in timezone America/Edmonton)
Branch creation
At any time (no schedule defined)
Automerge
At any time (no schedule defined)
🚦Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕Ignore: Close this PR and you won't be reminded about this update again.
If you want to rebase/retry this PR, check this box
This PR contains the following updates:
| Package | Update | Change |
|---|---|---|
| [idna](https://github.com/kjd/idna) ([changelog](https://github.com/kjd/idna/blob/master/HISTORY.md)) | minor | `==3.18` → `==3.19` |
---
### Release Notes
<details>
<summary>kjd/idna (idna)</summary>
### [`v3.19`](https://github.com/kjd/idna/blob/HEAD/HISTORY.md#319-2026-08-18)
[Compare Source](https://github.com/kjd/idna/compare/v3.18...v3.19)
- Restore the `std3_rules` option, which had no effect since changes
to UTS [#​46](https://github.com/kjd/idna/issues/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](https://github.com/kjd/idna/issues/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.
</details>
---
### Configuration
📅 **Schedule**: (in timezone America/Edmonton)
- Branch creation
- At any time (no schedule defined)
- Automerge
- At any time (no schedule defined)
🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.
♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 **Ignore**: Close this PR and you won't be reminded about this update again.
---
- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box
---
This PR has been generated by [Mend Renovate CLI](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0NC4zMi42IiwidXBkYXRlZEluVmVyIjoiNDQuMzIuNiIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==-->
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
This PR contains the following updates:
==3.18→==3.19Release Notes
kjd/idna (idna)
v3.19Compare Source
std3_rulesoption, which had no effect since changesto 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.
ASCII-only domains.
thread safety.
idna.unicode_version, and show it inidna --version.code,text,codepointandpositionattributes toIDNAErrorso that the failed rule and the offending character canbe identified without parsing the exception message.
transitionalargument toencode()anduts46_remap()is now completely ignored, and gives a deprecation warningfor the latter.
their U-label.
IDNAErrorinstead ofInvalidCodepointContext.IDNAErrorfor empty labels and non-ASCII bytespassed to label helper functions and the incremental codec.
measurement, and CI checks that the data tables match the generator
output.
Thanks to stefan6419846, LouieLuNZ, and Salvatore Corvaglia for
contributions to this release.
Configuration
📅 Schedule: (in timezone America/Edmonton)
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR has been generated by Mend Renovate CLI.
1bb0c78e55to01975933cd