macOS
brew install libidn2provider-native install command
brew / rank 95
International domain name library (IDNA2008, Punycode and TR46). Version 2.3.8 via Homebrew; verified from local package data.
install
brew install libidn2provider-native install command
overview
International domain name library (IDNA2008, Punycode and TR46)
history
GNU Libidn2 is the GNU successor to Libidn for IDNA2008 and Unicode TR46 internationalized-domain-name processing.
The IETF IDNA2008 RFC series replaced the earlier IDNA2003 model, describing a revised protocol and definitions for internationalized domain names. Libidn2 was created to implement that newer standards family while retaining package-level continuity for GNU users.
The Libidn2 NEWS file records an initial 0.0 alpha release on 2011-03-09 for public API review, with IDNA2008 lookup mostly implemented. Release 0.2 on 2011-03-30 added the idn2 command-line tool and made lookup/register functions operational.
Release 0.12 on 2016-12-26 added TR46/UTS #46 support to the API and idn2 utility. Release 2.0.0 on 2017-03-29 changed the version numbering scheme and added to-ASCII and to-Unicode conversion functions corresponding to Libidn functions. Release 2.0.5 on 2018-05-18 switched the default library behavior to IDNA2008 as amended by non-transitional TR46.
The GNU Libidn page explicitly calls Libidn2 the successor of GNU Libidn and notes that it provides IDNA2008, TR46, and a compatibility layer for GNU Libidn. That made it the practical migration path for distributions and network applications moving away from IDNA2003 behavior.
Libidn2 is package-visible because applications often need a shared, audited implementation of Unicode domain-name conversion rather than hand-rolling security-sensitive Punycode and normalization behavior.
Users call idn2 for command-line conversion and debugging, while applications link the library for IDNA lookup and registration conversions. The manual emphasizes correct locale and UTF-8 handling because feeding bytes in the wrong character set can produce errors or wrong output.
Libidn2 is where DNS, Unicode versioning, security-sensitive string handling, and compatibility policy meet. Packagers care about it because changing from libidn to libidn2 can alter IDNA behavior, but staying on IDNA2003 can be wrong for software that expects IDNA2008/TR46.
It is also a good example of a successor package that is not just a new ABI: it represents a standards transition and a different view of what domain names should accept.
security posture
library-like package without higher-risk signals.
green risk · low confidence · appliance
Before unattended agent use, check whether the tool reads plaintext credentials, writes remote state, publishes artifacts, or shells out to plugins.
executables
| Command | Kind | Exposure | Note |
|---|---|---|---|
idn2 | executable | indexed executable | Discovered from the local executable index. |
freshness
These signals separate page generation age, package-manager activity, and upstream release comparison. Version lag is warned only when an evidence URL and comparable versions are present.
install metadata
| Package key | brew:libidn2 |
|---|---|
| Version | 2.3.8 |
| Package manager | Homebrew |
| Homepage | https://www.gnu.org/software/libidn/#libidn2 |
| Bottle | not recorded |
| Service | none declared |
source trail
This page is generated by av-web from the private package SQLite artifact built by scripts/generate-pkg-sqlite.py.
View the package source record on GitHub.