This is to announce libidn-1.44, a stable release.

GNU Libidn is a fully documented implementation of the Stringprep,
Punycode and IDNA2003 specifications.  Libidn's purpose is to encode and
decode internationalized domain name strings.  There are native C, C#
and Java libraries.  Be aware that IDNA2003 and libidn are primarily for
historic or compatibility use, and libidn2 is the successor with
IDNA2008 and Unicode TR46 implementation and also provides a
compatibility layer for GNU libidn.

There have been 38 commits by 1 people in the 64 weeks since 1.43.

See the NEWS below for a brief summary.

Thanks to everyone who has contributed!
The following people contributed changes to this release:

  Simon Josefsson (38)

Happy hacking,
Simon
==================================================================

Here is the GNU libidn home page:
  https://www.gnu.org/software/libidn/

Manual:
  https://www.gnu.org/software/libidn/manual/
  https://www.gnu.org/software/libidn/manual/libidn.html - HTML format
  https://www.gnu.org/software/libidn/manual/libidn.pdf - PDF format

API Reference manual:
  https://www.gnu.org/software/libidn/reference/intro.html - GTK-DOC HTML

Doxygen documentation:
  https://www.gnu.org/software/libidn/doxygen/index.html - HTML format
  https://www.gnu.org/software/libidn/doxygen/libidn.pdf - PDF format

JavaDoc output for the Java API:
  https://www.gnu.org/software/libidn/javadoc/

Here are the compressed sources and a GPG detached signature:
  https://ftp.gnu.org/gnu/libidn/libidn-1.44.tar.gz
  https://ftp.gnu.org/gnu/libidn/libidn-1.44.tar.gz.sig

Here is minimal source-only "git archive" sources:
  https://ftp.gnu.org/gnu/libidn/libidn-v1.44-src.tar.gz
  https://ftp.gnu.org/gnu/libidn/libidn-v1.44-src.tar.gz.sig

Here are Sigsum Proofs:
  https://ftp.gnu.org/gnu/libidn/libidn-1.44.tar.gz.proof
  https://ftp.gnu.org/gnu/libidn/libidn-v1.44-src.tar.gz.proof

Use a mirror for higher download bandwidth:
  https://www.gnu.org/order/ftp.html

Here are the SHA256 and SHA3-256 checksums:

  SHA256 (libidn-1.44.tar.gz) = SZYIurOmVlCg6lKIjBOo3uvj9xQI4xms2exS4C6xOVk=
  SHA3-256 (libidn-1.44.tar.gz) = 5Qdu5D/9hEslJqChL2nviDAZvD0agYJaDS3xFOu6W8E=

  SHA256 (libidn-v1.44-src.tar.gz) = 
XgTFPWvsbUENZTEEnmYWhAz559lGLStG+59KjcPNyi0=
  SHA3-256 (libidn-v1.44-src.tar.gz) = 
dxh141uvjUOCk4KXWd7j+TSSo/8BeiC8upm/NvDDh4o=

Verify the base64 SHA256 checksum with 'cksum -a sha256 --check'
from coreutils-9.2 or OpenBSD's cksum since 2007.

Verify the base64 SHA3-256 checksum with 'cksum -a sha3 --check'
from coreutils-9.8.

Use a .sig file to verify that the corresponding file (without the
.sig suffix) is intact.  First, be sure to download both the .sig file
and the corresponding tarball.  Then, run a command like this:

  gpg --verify libidn-1.44.tar.gz.sig

The signature should match the fingerprint of the following key:

  pub   ed25519 2019-03-20 [SC]
        B1D2 BD13 75BE CB78 4CF4  F8C4 D73C F638 C53C 06BE
  uid   Simon Josefsson <[email protected]>

If that command fails because you don't have the required public key,
or that public key has expired, try the following commands to retrieve
or refresh it, and then rerun the 'gpg --verify' command.

  gpg --locate-external-key [email protected]

  gpg --recv-keys 51722B08FE4745A2

  wget -q -O- 
'https://savannah.gnu.org/project/release-gpgkeys.php?group=libidn&download=1' 
| gpg --import -

As a last resort to find the key, you can try the official GNU
keyring:

  wget -q https://ftp.gnu.org/gnu/gnu-keyring.gpg
  gpg --keyring gnu-keyring.gpg --verify libidn-1.44.tar.gz.sig

Use the .proof files to verify the Sigsum proof.  These files are like
signatures but with extra transparency: you can cryptographically verify
that every signature is logged in a public append-only log, so you can
say with confidence what signatures exists.  This makes hidden releases
no longer deniable for the same public key.

Releases are Sigsum-signed with the following public key:

  cat <<EOF > libidn-sigsum-key.pub
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAILzCFcHHrKzVSPDDarZPYqn89H5TPaxwcORgRg+4DagE
EOF

Run a command like this to verify downloaded artifacts:

  sigsum-verify -k libidn-sigsum-key.pub -P sigsum-generic-2025-1 \
        libidn-1.44.tar.gz.proof < libidn-1.44.tar.gz

You may learn more about Sigsum concepts and find instructions how to
download the tools here: https://www.sigsum.org/getting-started/

This release is based on the libidn git repository, available as

  git clone https://https.git.savannah.gnu.org/git/libidn.git

with commit b42f1bad97bbe6a5493668ef8594719e5db96e36 tagged as v1.44.

For a summary of changes and contributors, see:

  https://gitweb.git.savannah.gnu.org/gitweb/?p=libidn.git;a=shortlog;h=v1.44

or run this command from a git-cloned libidn directory:

  git shortlog v1.43..v1.44

This release was bootstrapped with the following tools:
  Git 2.52.0
  Gnulib 2026-05-12 0f1aa9b379ef476ae99567266d97c87a2eaf78c5
  Autoconf 2.72
  Automake 1.17
  Libtoolize 2.4.7
  Make 4.4.1
  Makeinfo 7.1.1
  Help2man 1.49.2
  Gperf 3.3
  Gengetopt 2.23
  Gtkdocize 1.34.0
  Tar 1.35
  Gzip 1.14
  Guix 1.5.0rc1

NEWS

* Noteworthy changes in release 1.44 (2026-06-16) [stable]

** libidn: Fix read-out-of-bounds error in ToUnicode APIs.
Report and suggested fix by <[email protected]> in:
https://lists.gnu.org/archive/html/help-libidn/2026-05/msg00000.html

** examples: Fix strcpy buffer overflow.
Reported by Mingjie Shen <[email protected]> in
https://lists.gnu.org/archive/html/help-libidn/2025-06/msg00000.html

** Update gnulib files, translations and various maintenance fixes.

Attachment: signature.asc
Description: PGP signature

Reply via email to