libidn-1.44 released [stable]
Simon Josefsson via Announcements and Requests for Help from the GNU project and the Free Software Foundation <[email protected]> Tue, 16 Jun 2026 18:21:12 +0200
| Newsgroups | gmane.org.fsf.announce |
|---|---|
| Message-ID | <87wlvytq13.fsf__1659.35566635511$1781643209$gmane$org@josefsson.org> |
--=-=-=
Content-Type: text/plain
Content-Transfer-Encoding: quoted-printable
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
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
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) =3D SZYIurOmVlCg6lKIjBOo3uvj9xQI4xms2exS4C6xO=
Vk=3D
SHA3-256 (libidn-1.44.tar.gz) =3D 5Qdu5D/9hEslJqChL2nviDAZvD0agYJaDS3xFOu=
6W8E=3D
SHA256 (libidn-v1.44-src.tar.gz) =3D XgTFPWvsbUENZTEEnmYWhAz559lGLStG+59K=
jcPNyi0=3D
SHA3-256 (libidn-v1.44-src.tar.gz) =3D dxh141uvjUOCk4KXWd7j+TSSo/8BeiC8up=
m/NvDDh4o=3D
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=
=3Dlibidn&download=3D1' | 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=3Dlibidn.git;a=3Dshortlog;h=
=3Dv1.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.
--=-=-=
Content-Type: application/pgp-signature; name="signature.asc"
-----BEGIN PGP SIGNATURE-----
iQNoBAEWCgMQFiEEo8ychwudMQq61M8vUXIrCP5HRaIFAmoxd/gUHHNpbW9uQGpv
c2Vmc3Nvbi5vcmfCHCYAmDMEXJLOtBYJKwYBBAHaRw8BAQdACIcrZIvhrxDBkK9f
V+QlTmXxo2naObDuGtw58YaxlOu0JVNpbW9uIEpvc2Vmc3NvbiA8c2ltb25Aam9z
ZWZzc29uLm9yZz6IlgQTFggAPgIbAwULCQgHAgYVCAkKCwIEFgIDAQIeAQIXgBYh
BLHSvRN1vst4TPT4xNc89jjFPAa+BQJp4fWRBQkOa+rdAAoJENc89jjFPAa+hWIA
/1lQvrJeGlQq50lP6tm99D1zDy7J1tQ3ha4x0Jx7rkFTAP9hpUKuTvm6m1fXyiZV
YZlu2+Id/Dq3CIAZvNF+XEr2BLgzBFySz4EWCSsGAQQB2kcPAQEHQOxTCIOaeXAx
I2hIX4HK9bQTpNVei708oNr1Klm8qCGKiPUEGBYIACYCGwIWIQSx0r0Tdb7LeEz0
+MTXPPY4xTwGvgUCaeCW1wUJDmqLVgCBdiAEGRYIAB0WIQSjzJyHC50xCrrUzy9R
cisI/kdFogUCXJLPgQAKCRBRcisI/kdFoqdMAQCgH45aseZgIrwKOvUOA9QfsmeE
8GZHYNuFHmM9FEQS6AD6A4x5aYvoY6lo98pgtw2HPDhmcCXFItjXCrV4A0GmJA4J
ENc89jjFPAa+s7AA+gIIHpBApDpcDj1sKhzDngmpvwQf0VkHme6s+EG7qSgpAQDe
/XMrU0c0Pa3ji85cMqZhvzJOFI/soe662lzL0QY3Bbg4BFySz2oSCisGAQQBl1UB
BQEBB0AxlRumDW6nZY7A+VCfek9VpEx6PJmdJyYPt3lNHMd6HAMBCAeIfgQYFggA
JgIbDBYhBLHSvRN1vst4TPT4xNc89jjFPAa+BQJp4JbXBQkOaottAAoJENc89jjF
PAa+RNUA/2faQO/nFT06E+MlhlQdo/0chlQXC5TZMPTVvVBFwoLOAP9xLJK0ow5E
jTzYJB4K810AL/Iv6PEOAEgA4cPTHVlbCQAKCRBRcisI/kdFoimdAQDSt3IvrNJE
5suFgociEt2AiqlNzh+94I8l7F62c7RvUQEA1ezwwgXz/O/WBn1DhP6N2BwjNP/U
2wBixHcmexTCtQw=
=xd0d
-----END PGP SIGNATURE-----
--=-=-=--