From 4205c664f7620b16516258bbb47fea483fd2fe28 Mon Sep 17 00:00:00 2001 From: Kai Schwarz Date: Wed, 14 Oct 2026 16:47:16 +0200 Subject: [PATCH 1/2] fix(deps): pin idna below 3.20, which ignores transitional processing MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit idna 3.20 turns uts46_remap(transitional=True) into a no-op that only warns, so IDNAProcessor silently stops mapping e.g. faß.de to fass.de for the TLDs it treats as transitional. Registries have not converged on one IDNA standard, so the SDK keeps that behaviour. Refs: RSRMID-3125 --- pyproject.toml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/pyproject.toml b/pyproject.toml index c5c14b7..de2fda5 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -28,7 +28,9 @@ dependencies = [ "pytest-cov>=7.1.0", "twine>=7.0.0,<8", "black>=26.5.1,<27", - "idna>=3.19" + # idna 3.20 ignores uts46_remap(transitional=True), which IDNAProcessor relies on + # for the registries that still expect transitional processing. (RSRMID-3125) + "idna>=3.19,<3.20" ] classifiers = [ "Programming Language :: Python :: 3", From 1bd0137afa1648a202c28edb689c3b4b0908377b Mon Sep 17 00:00:00 2001 From: Kai Schwarz Date: Wed, 14 Oct 2026 16:47:16 +0200 Subject: [PATCH 2/2] ci(dependabot): ignore idna 3.20 and later, held back by the pin Refs: RSRMID-3125 --- .github/dependabot.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.github/dependabot.yml b/.github/dependabot.yml index ab97e73..2d9fbea 100644 --- a/.github/dependabot.yml +++ b/.github/dependabot.yml @@ -25,3 +25,7 @@ updates: prefix: "fix" prefix-development: "chore" include: "scope" + ignore: + # idna 3.20 dropped transitional processing; pinned in pyproject.toml. (RSRMID-3125) + - dependency-name: "idna" + versions: [">=3.20"]