Skip to content

punycoder 1.1.0

Choose a tag to compare

@bart-turczynski bart-turczynski released this 15 Jun 14:48
8037b7a

Minor feature release: canonical-host normalization API.

New features

  • host_normalize() — converts hostnames to their canonical comparison form under a pinned UTS-46 profile (non-transitional, UseSTD3ASCIIRules, CheckHyphens, CheckBidi, CheckJoiners, NFC, DNS length verification), returning lowercase ASCII A-labels or NA for invalid input. The mapping/NFC/validation pipeline is implemented in-tree over vendored Unicode 16.0.0 data, so behavior is independent of whether libidn2 is present.
  • normalization_profile_info() — exposes the machine-readable profile identity (profile, unicode_version, and parameters) for downstream reproducibility keys.

Verified with R CMD check --as-cran (0 errors | 0 warnings) and the full cross-platform CI matrix, including fallback-vs-libidn2 parity tests.