pkg.sopackage field notes

brew / rank 95

Install libidn2 with Homebrew

International domain name library (IDNA2008, Punycode and TR46). Version 2.3.8 via Homebrew; verified from local package data.

install

Additional install commands

macOS

Homebrewverified · 100%
brew install libidn2

provider-native install command

overview

Package summary

International domain name library (IDNA2008, Punycode and TR46)

Commands and aliases

  • idn2

history

Project history and usage

GNU Libidn2 is the GNU successor to Libidn for IDNA2008 and Unicode TR46 internationalized-domain-name processing.

Project history

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.

Adoption history

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.

How it is used

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.

Why package nerds care

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.

Timeline

  • 2010: RFC 5890 and related RFCs documented the IDNA2008 revision that superseded IDNA2003.
  • 2011: Libidn2 0.0 alpha released for public API review.
  • 2011: Libidn2 0.2 added the idn2 command-line tool.
  • 2016: Libidn2 0.12 added TR46/UTS #46 support.
  • 2017: Libidn2 2.0.0 changed version numbering and added Libidn-corresponding conversion APIs.
  • 2018: Libidn2 2.0.5 made IDNA2008 plus non-transitional TR46 the default behavior.

Related projects

  • GNU Libidn is the predecessor and compatibility target.
  • GNU libunistring is related through Unicode string support used by Libidn2 builds.
  • RFC 5890, RFC 5891, and Unicode UTS #46 define the standards context around Libidn2.

security posture

Risk level: green

library-like package without higher-risk signals.

Risk classifier

green risk · low confidence · appliance

Why

  • library-like package without higher-risk signals

Signals

  • metadata:library-like

Install behavior

  • No Homebrew bottle metadata was recorded.

Recommended review

Before unattended agent use, check whether the tool reads plaintext credentials, writes remote state, publishes artifacts, or shells out to plugins.

executables

Installed executables

CommandKindExposureNote
idn2executableindexed executableDiscovered from the local executable index.

freshness

Version and 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.

page generated2026-08-03
manager version2.3.8
manager updated
local dataunknown
upstreamnot available
latest detectednot detected
  • okNo freshness warnings were generated.

install metadata

Package metadata

Package keybrew:libidn2
Version2.3.8
Package managerHomebrew
Homepagehttps://www.gnu.org/software/libidn/#libidn2
Bottlenot recorded
Servicenone declared

source trail

Generated from repository data

This page is generated by av-web from the private package SQLite artifact built by scripts/generate-pkg-sqlite.py.

Used sources

  • Geiger risk classifier
  • Nucleus package database
  • curated package history
  • pkgdb category and tag curation