1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 861 862 863 864 865 866 867 868 869 870 871 872 873 874 875 876 877 878 879 880 881 882 883 884 885 886 887 888 889 890 891 892 893 894 895 896 897 898 899 900 901 902 903 904 905 906 907 908 909 910 911 912 913 914 915 916 917 918 919 920 921 922 923 924 925 926 927 928 929 930 931 932 933 934 935 936 937 938 939 940 941 942 943 944 945 946 947 948 949 950 951 952 953 954 955 956 957 958 959 960 961 962 963 964 965 966 967 968 969 970 971 972 973 974 975 976 977 978 979 980 981 982 983 984 985 986 987 988 989 990 991 992 993 994 995 996 997 998 999 1000 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 1011 1012 1013 1014 1015 1016 1017 1018 1019 1020 1021 1022 1023 1024 1025 1026 1027 1028 1029 1030 1031 1032 1033 1034 1035 1036 1037 1038 1039 1040 1041 1042 1043 1044 1045 1046 1047 1048 1049 1050 1051 1052 1053 1054 1055 1056 1057 1058 1059 1060 1061 1062 1063 1064 1065 1066 1067 1068 1069 1070 1071 1072 1073 1074 1075 1076 1077 1078 1079 1080 1081 1082 1083 1084 1085 1086 1087 1088 1089 1090 1091 1092 1093 1094 1095 1096 1097 1098 1099 1100 1101 1102 1103 1104 1105 1106 1107 1108 1109 1110 1111 1112 1113 1114 1115 1116 1117 1118 1119 1120 1121 1122 1123 1124 1125 1126 1127 1128 1129 1130 1131 1132 1133 1134 1135 1136 1137 1138 1139 1140 1141 1142 1143 1144 1145 1146 1147 1148 1149 1150 1151 1152 1153 1154 1155 1156 1157 1158 1159 1160 1161 1162 1163 1164 1165 1166 1167 1168 1169 1170 1171 1172 1173 1174 1175 1176 1177 1178 1179 1180 1181 1182 1183 1184 1185 1186 1187 1188 1189 1190 1191 1192 1193 1194 1195 1196 1197 1198 1199 1200 1201 1202 1203 1204 1205 1206 1207 1208 1209 1210 1211 1212 1213 1214 1215 1216 1217 1218 1219 1220 1221 1222 1223 1224 1225 1226 1227 1228 1229 1230 1231 1232 1233 1234 1235 1236 1237 1238 1239 1240 1241 1242 1243 1244 1245 1246 1247 1248 1249 1250 1251 1252 1253 1254 1255 1256 1257 1258 1259 1260 1261 1262 1263 1264 1265 1266 1267 1268 1269 1270 1271 1272 1273 1274 1275 1276 1277 1278 1279 1280 1281 1282 1283 1284 1285 1286 1287 1288 1289 1290 1291 1292 1293 1294 1295 1296 1297 1298 1299 1300 1301 1302 1303 1304 1305 1306 1307 1308 1309 1310 1311 1312 1313 1314 1315 1316 1317 1318 1319 1320 1321 1322 1323 1324 1325 1326 1327 1328 1329 1330 1331 1332 1333 1334 1335 1336 1337 1338 1339 1340 1341 1342 1343 1344 1345 1346 1347 1348 1349 1350 1351 1352 1353 1354 1355 1356 1357 1358 1359 1360 1361 1362 1363 1364 1365 1366 1367 1368 1369 1370 1371 1372 1373 1374 1375 1376 1377 1378 1379 1380 1381 1382 1383 1384 1385 1386 1387 1388 1389 1390 1391 1392 1393 1394 1395 1396 1397 1398 1399 1400 1401 1402 1403 1404 1405 1406 1407 1408 1409 1410 1411 1412 1413 1414 1415 1416 1417 1418 1419 1420 1421 1422 1423 1424 1425 1426 1427 1428 1429 1430 1431 1432 1433 1434 1435 1436 1437 1438 1439 1440 1441 1442 1443 1444 1445 1446 1447 1448 1449 1450 1451 1452 1453 1454 1455 1456 1457 1458 1459 1460 1461 1462 1463 1464 1465 1466 1467 1468 1469 1470 1471 1472 1473 1474 1475 1476 1477 1478 1479 1480 1481 1482 1483 1484 1485 1486 1487 1488 1489 1490 1491 1492 1493 1494 1495 1496 1497 1498 1499 1500 1501 1502 1503 1504 1505 1506 1507 1508 1509 1510 1511 1512 1513 1514 1515 1516 1517 1518 1519 1520 1521 1522 1523 1524 1525 1526 1527 1528 1529 1530 1531 1532 1533 1534 1535 1536 1537 1538 1539 1540 1541 1542 1543 1544 1545 1546 1547 1548 1549 1550 1551 1552 1553 1554 1555 1556 1557 1558 1559 1560 1561 1562 1563 1564 1565 1566 1567 1568 1569 1570 1571 1572 1573 1574 1575 1576 1577 1578 1579 1580 1581 1582 1583 1584 1585 1586 1587 1588 1589 1590 1591 1592 1593 1594 1595 1596 1597 1598 1599 1600 1601 1602 1603 1604 1605 1606 1607 1608 1609 1610 1611 1612 1613 1614 1615 1616 1617 1618 1619 1620 1621 1622 1623 1624 1625 1626 1627 1628 1629 1630 1631 1632 1633 1634 1635 1636 1637 1638 1639 1640 1641 1642 1643 1644 1645 1646 1647 1648 1649 1650 1651 1652 1653 1654 1655 1656 1657 1658 1659 1660 1661 1662 1663 1664 1665 1666 1667 1668 1669 1670 1671 1672 1673 1674 1675 1676 1677 1678 1679 1680 1681 1682 1683 1684 1685 1686 1687 1688 1689 1690 1691 1692 1693 1694 1695 1696 1697 1698 1699 1700 1701 1702 1703 1704 1705 1706 1707 1708 1709 1710 1711 1712 1713 1714 1715 1716 1717 1718 1719 1720 1721 1722 1723 1724 1725 1726 1727 1728 1729 1730 1731 1732 1733 1734 1735 1736 1737 1738 1739 1740 1741 1742 1743 1744 1745 1746 1747 1748 1749 1750 1751 1752 1753 1754 1755 1756 1757 1758 1759 1760 1761 1762 1763 1764 1765 1766 1767 1768 1769 1770 1771 1772 1773 1774 1775 1776 1777 1778 1779 1780 1781 1782 1783 1784
|
Libidn NEWS -- History of user-visible changes. -*- outline -*-
* Noteworthy changes in release 1.43 (2025-03-21) [stable]
** The release tarball is now reproducible.
Builds on the following pairs of systems are tested continuously in
GitLab CI/CD to assert that the tarball is identical: Trisquel 11
against Ubuntu 22.04, PureOS 10 against Debian 11, Devuan 5 against
Debian 12, AlmaLinux 8 against RockyLinux 8, and AlmaLinux 9 against
RockyLinux 9. There are still minor variations between non-similar
platforms, depending on the different versions of the bootstrapping
tools used. For example, a tarball generated on a Trisquel 11
(derived from Ubuntu 22.04) system should be identical to a tarball
from a Ubuntu 22.04 system, but will not be identical to a tarball
generated on a PureOS 10 system which uses different bootstrapping
tool versions. The release archive itself was prepared using Guix.
** We publish a minimal source-only tarball generated by 'git archive'.
This tarball only contains the files stored in version controlled
sources, and no auxiliary files. The source-only tarball may be
reproduced with Git 2.48.1 from Guix. If something results in the
'git archive' format changing again, the tarball can only be
reproduced using an earlier system. The git version in AlmaLinux 8,
AlmaLinux 9, RockyLinux 8, RockyLinux 9, Devuan 5, Debian 12 and
Ubuntu 24.04 all produce the same identical 'git archive' tarball.
The git version used on Debian 11, PureOS 10, Trisquel 11 and Ubuntu
22.04 produce another identical tarball. These two 'git archive'
outputs are not the same, due to how Git works.
** A use of uninitialized value bug was fixed in idna_to_unicode_4z4z.
If the call to idna_to_unicode_44i failed due to an out of memory
condition (malloc() returning NULL) then the code would copy the
content of allocated but uninitialized memory into the output buffer.
The bug was found using GCC's static analyzer.
** The C# Libidn.dll can now be built with .NET as well as Mono/SSCLI.
** Fix self-check tst-version due to broken strverscmp on Windows/musl.
** The release tarball uses tar --format=ustar.
** The idn tool now binds the "gnulib" domain for translations.
** Unicode tables are now rebuilt from source again.
The lib/gen-unicode-tables.pl script stopped working with Perl 5.10
and in 2008 we added the then-generated source code files to git. Now
we fixed the script to work with modern perl, so that gunibreak.h
gunicomp.h gunidecomp.h can now be generated from source again.
** Update gnulib files and build fixes.
* Noteworthy changes in release 1.42 (2024-01-13) [stable]
** Bump required gettext version to 0.19.8 for musl-libc.
** Compiler warning improvements.
As before, compiler warnings are enabled by default. You may disable
them using ./configure --disable-gcc-warnings or turn them into fatal
errors using ./configure --enable-gcc-warnings=error to add -Werror
and sensible -Wno-error='s. Based on gnulib's manywarnings, see
<https://www.gnu.org/software/gnulib//manual/html_node/manywarnings.html>.
** Fix type confusion on LLP64/Windows platforms.
While libidn has worked using cygwin libc, it has never worked on
ucrt/msvcrt libc. Report and tiny patch by Francesco Pretto in
<https://lists.gnu.org/archive/html/help-libidn/2022-02/msg00000.html>.
** tests: Added script tests/standalone.sh suitable for integrators.
The main purpose is to test a system-installed libidn, suitable for
distributor checking (a'la Debian's autopkgtest/debci). It may also
be used to test a newly built libidn outside the usual 'make check'
infrastructure. To check that your system libidn is working, invoke
the script with `srcdir` as an environment variable indicating where
it can be find the source code for libidn's tests/ directory (it will
use the directory name where the script is by default):
tests/standalone.sh
To check that a newly built static libidn behaves, invoke:
env STANDALONE_CFLAGS="-Ilib lib/.libs/libidn.a" tests/standalone.sh
To check that a newly built shared libidn behaves, invoke:
env srcdir=tests STANDALONE_CFLAGS="-Ilib -Wl,-rpath lib/.libs lib/.libs/libidn.so" tests/standalone.sh
If the libidn under testing is too old and has known bugs, that should
cause tests to fail, which is intentional.
** Updated translations.
** Update gnulib files and build fixes.
* Noteworthy changes in release 1.41 (2022-06-25) [stable]
** Bump LT_REVISION for new release.
It was mistakenly left at the same value since 1.38.
** Add version number related self-checks.
* Noteworthy changes in release 1.40 (2022-06-20) [stable]
** lib: Bump STRINGPREP_VERSION to 1.40.
It was mistakenly left at 1.38 in the 1.39 release.
* Noteworthy changes in release 1.39 (2022-06-20) [stable]
** lib: Code detecting current locale broken since 1.36.
The code always returned ASCII. The precise cause is complicated to
track down but likely boils down to the new autotools/gettext
bootstrapping sequence introduced in release 1.36. Reported by Богдан
Пилипенко <bogdan.pylypenko107@gmail.com>.
** maint: Java JAR archive no longer included in source tarball.
** Minor fixes: typos, makefiles, indentation, gnulib update, etc.
* Noteworthy changes in release 1.38 (2021-07-22) [stable]
** doc: Simplify building of gdoc-generated man/texi outputs.
Now the targets are rebuilt on version number changes properly.
** doc: Improve GTK-DOC manual.
** build: Fix build errors related to doc/idn--help.texi.
** build: Fix --disable-tld builds.
Now tld_strerror() is removed when --disable-tld is used.
* Noteworthy changes in release 1.37 (2021-05-15) [stable]
** doc: Minor fixes and codespell typos.
** Updated translations.
** Update gnulib files and build fixes.
We now use gnulib's ./bootstrap and gnulib's readme-release
infrastructure for making releases.
** API and ABI is backwards compatible with the previous version.
* Noteworthy changes in release 1.36 (2020-07-22) [stable]
** Fix unlikely memory leak in idna_to_unicode_4z4z().
Patch from Miroslav Lichvar <mlichvar@redhat.com>.
** Check codepoint validity in punycode_decode() and punycode_decode().
Reported-by: Mike Schiffman (Farsight Security, Inc.).
** tld: Add U+00EF to .nl TLD table.
Reported by Trond Haugen <trond.haugen@norid.no>.
** Indent code.
** Translation fixes.
** Update gnulib files.
** API and ABI is backwards compatible with the previous version.
* Noteworthy changes in release 1.35 (2018-05-11) [stable]
** Reflect ABI/API breakage in version 1.34
(Stringprep_profile has a new struct member)
Reported-by: Miroslav Lichvar
** Added new gnulib files to repository
** Fix build issues introduced in 1.34
* Noteworthy changes in release 1.34 (2018-03-31) [beta]
** libidn: Fix integer overflow in combine_hangul()
Found by fuzzing.
** libidn: Fix integer overflow in punycode decoder
Found by fuzzing, fix for the fix reported by Christian Weisgerber
** libidn: Fix performance issue in idna_to_unicode_internal()
Found by fuzzing.
** libidn: Fix performance issue in stringprep functions.
Found by fuzzing.
** libidn: Fix NULL pointer dereference in g_utf8_normalize()
Found by fuzzing.
** libidn: Fix NULL pointer dereference in stringprep_ucs4_nfkc_normalize()
Found by fuzzing.
** libidn: Increase performance of stringprep functions
Found by fuzzing.
** testing: Add OSS-fuzz integration and regression testing
** build: Update gnulib files
** build: Modernize GTK-Doc build
** build: Fix parallel builds
** build: Add configure flag --disable-doc
** build: Add configure flag --enable-ubsan (enable UB Sanitizer)
** build: Add configure flag --enable-asan (enable Address Sanitizer)
** build: Fix compiler warnings
** build: Fix build for gcc-7
** i18n: Added Swedish translation.
Thanks to Josef Andersson.
** API and ABI is backwards compatible with the previous version.
* Noteworthy changes in release 1.33 (2016-07-20) [beta]
** libidn: Fix out-of-bounds stack read in idna_to_ascii_4i.
See tests/tst_toascii64oob.c for regression check (and the comment in
it how to use it). Reported by Hanno Böck <hanno@hboeck.de>.
** idn: Solve out-of-bounds-read when reading one zero byte as input.
Also replaced fgets with getline. Reported by Hanno Böck <hanno@hboeck.de>.
** libidn: stringprep_utf8_nfkc_normalize reject invalid UTF-8.
It was always documented to only accept UTF-8 data, but now it doesn't
crash when presented with such data. Reported by Hanno Böck.
** Dropped valgrind suppressions file, should no longer be needed.
** API and ABI is backwards compatible with the previous version.
* Noteworthy changes in release 1.32 (2015-08-01) [beta]
** libidn: Fix crash in idna_to_unicode_8z8z and idna_to_unicode_8zlz.
This problem was introduced in 1.31. Reported by Adam Sampson.
** API and ABI is backwards compatible with the previous version.
* Noteworthy changes in release 1.31 (2015-07-08) [beta]
** libidn: stringprep_utf8_to_ucs4 now rejects invalid UTF-8. CVE-2015-2059
This function has always been documented to not validate that the
input UTF-8 string is actually valid UTF-8. Like the rest of the API,
when you call a function that works on UTF-8 data, you have to pass it
valid UTF-8 data. Application writers appear to have difficulties
using interfaces designed like that, as bugs triggered by invalid
UTF-8 has been identified in a number of projects (jabberd2, gnutls,
wget, and curl). While we could introduce a new API to perform UTF-8
validation, so that applications can easily implement the proper
checks, this appear error prone because there is a risk that the check
will be forgotten. Instead, we took the more radical approach of
modifying the documentation and the implementation of the API. The
intention is that all functions that accepts UTF-8 data should
validate it before use. This will solve the problem for applications,
without needing to change them. This change has the unfortunate
side-effect that Surrogate codes (see section 5.5 of RFC 3454) no
longer trigger the STRINGPREP_CONTAINS_PROHIBITED error code but
instead will trigger the newly introduced STRINGPREP_ICONV_ERROR error
code, as the gnulib/libunistring-based code that we use to test
UTF-8-compliance rejects Surrogate codes. We hope that this is an
acceptable cost to live with in order to improve application security.
We welcome feedback on this solution, and we are marking this release
as beta rather than stable to signal that we may reconsider this
approach if people disagree. Reported by several people including
Thijs Alkemade, Gustavo Grieco, Daniel Stenberg, and Nikos
Mavrogiannopoulos.
** libidn: Added STRINGPREP_ICONV_ERROR error code.
** libidn: Workaround valgrind/gcc/glibc issue.
Valgrind reported a 'Invalid read of size 4' that was caused by
optimized strlen implementation. Reported and patch by Alessandro
Ghedini <alessandro@ghedini.me>.
** build: Use LOG_COMPILER instead of TESTS_ENVIRONMENT to fix valgrind use.
Errors caught by valgrind did not always trigger 'make check' failures
before.
** i18n: Updated Danish translation.
Thanks to Joe Hansen.
** API and ABI is backwards compatible with the previous version.
See discussion above on slight change in semantics of functions.
* Noteworthy changes in release 1.30 (2015-03-02) [stable]
** libidn: The punycode.{c,h} files were re-imported from RFC 3492bis.
A comment explaining the origin and what was changed was added.
** Bump gettext to 0.19.3.
** Use LT_INIT instead of AC_LIBTOOL_WIN32_DLL.
** i18n: Added Hungarian translation. Updated some other languages.
Thanks to Balázs Úr.
** API and ABI is backwards compatible with the previous version.
* Noteworthy changes in release 1.29 (2014-08-10) [stable]
** libidn: Mark internal variable "g_utf8_skip" as static.
Reported by Thomas Dineen <tdineen@ix.netcom.com>.
** idn: Flush stdout to simplify for tools that buffer too heavily.
Tiny patch from Hugh Daschbach <hugh@ccss.com>.
** i18n: Added Brazilian Portuguese translation.
Thanks to Rafael Ferreira.
** Update gnulib files.
** API and ABI is backwards compatible with the previous version.
* Noteworthy changes in release 1.28 (2013-07-10) [stable]
** idn: Don't crash when string conversion from UTF-8 to locale fails.
Reported by Jeffrey Frey <frey@udel.edu>.
** java: Fix build failures.
** java: TestIDNA -a and -u logic was reversed, now fixed.
** API and ABI is backwards compatible with the previous version.
* Noteworthy changes in release 1.27 (2013-06-05) [stable]
** Java library can be built using Maven. Speed improvements.
Thanks to several patches from Stefan Larsson. Testing indicate 70-90
times faster node/name/resource-prep.
** Update gnulib files and translations.
** API and ABI is backwards compatible with the previous version.
* Noteworthy changes in release 1.26 (2012-12-11) [stable]
** libidn, idna_to_ascii: Propagate error on malloc failure.
Reported by Sarat Chandra Addepalli <s.addepalli@samsung.com>.
** libidn, tld_get_4: Fix out of bounds read access violation.
** i18n: Added Croatian translation. Updated Vietnamese translation.
Thanks to Tomislav Krznar and Trần Ngọc Quân.
** java: Permit usage by Apache projects.
Thanks to Oliver Hitz and Angus Turner.
** tests: Improve tld self-tests.
** API and ABI is backwards compatible with the previous version.
* Noteworthy changes in release 1.25 (2012-05-23) [stable]
** MSVC: Build fixes related to _GL_ATTRIBUTE_CONST and _GL_ATTRIBUTE_PURE.
Reported by Bartosz Brachaczek <b.brachaczek@gmail.com>.
** examples: Fix compiler warning about ignoring return value from fgets.
** tests: Ship with a valgrind suppressions file for the strlen issue.
See tests/libidn.supp and bottom of HACKING for discussion.
** Update gnulib files and translations.
** API and ABI is backwards compatible with the previous version.
* Noteworthy changes in release 1.24 (2012-01-10) [stable]
** Libraries are re-licensed from LGPLv2+ to dual-GPLv2+|LGPLv3+.
** build: Fix parallel Windows builds.
Reported by René Berber <r.berber@computer.org>.
** libidn: Fix potential infloop in pr29 code.
Reported by Jon Nelson <jnelson@jamponi.net> in
<http://lists.gnu.org/archive/html/help-libidn/2012-01/msg00008.html>.
** libidn: Add 'const' keyword to 'stringprep_ucs4_nfkc_normalize' function.
** Sync glib NFKC code and improve copyright/license statements.
** Update gnulib files and translations.
** API and ABI is backwards compatible with the previous version.
* Noteworthy changes in release 1.23 (2011-11-25) [stable]
** stringprep.h: Now #include's sys/types.h instead of unistd.h for ssize_t.
Some systems (e.g., Mingw with MSVC 9) does not have unistd.h.
** idn-free.h: Protect prototypes with 'extern "C"' marker.
Reported by Bittner Ede <bittner.ede@euronetrt.hu>.
** doc: Update link to experimental TLD tables.
The new link is <https://github.com/gnuthor/tldchk>.
** Update gnulib files and translations.
** QA: Improved cyclo output. Update GTK-DOC files. Various bugfixes.
** API and ABI is backwards compatible with the previous version.
* Noteworthy changes in release 1.22 (2011-05-04) [stable]
** libidn: Add -liconv as static library requirement in libidn.pc, for MinGW.
Reported by Volker Grabsch <vog@notjusthosting.com>.
** libidn: Fix memory leak in idna_to_ascii_4z when idna_to_ascii_4i fails.
Reported by and tiny patch from Olga Limburg <olimburg@gmail.com>.
** libidn: Ran clang-analyze on the code.
Fixed some dead assignments/initializations.
** build: Really distribute win32/libidn4win.mk.
** API and ABI is backwards compatible with the previous version.
* Noteworthy changes in release 1.21 (2011-04-24) [stable]
** build/gettext: Demand gettext >= 0.18.1 in order to get newer M4 files.
The old M4 files associated with 0.17 caused problems on Solaris,
hopefully now fixed. Reported by Dagobert Michelsen <dam@opencsw.org>
in <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/25522>.
** build: Improve MinGW cross-compile makefile, see win32/libidn4win.mk.
** build: Visual Studio files fixed to define LIBIDN_BUILDING.
Tiny patch from Waqas Hussain <waqas20@gmail.com>.
** API and ABI is backwards compatible with the previous version.
* Noteworthy changes in release 1.20 (2011-03-01) [stable]
** libidn: Fix bug in ToUnicode to compare 'xn--' case-insensitively.
The problem is typically noticed when an upper ACE case string is
converted to Unicode. Before, this would return the input rather than
converting the ACE form to Unicode. Reported by Stepan Golosunov
<stepan@golosunov.pp.ru> in <http://bugs.debian.org/610617>.
** tests: Added self-test tst_idna3 to catch any regression of problem above.
** idn: Only print copyright and license blurb when used interactively.
Reported by "Andrew O. Shadoura" <bugzilla@tut.by> and Roman Mamedov
<rm@romanrm.ru> in <http://bugs.debian.org/615947> and
<http://bugs.debian.org/615949> respectively.
** Update gnulib files and translations.
** API and ABI is backwards compatible with the previous version.
* Noteworthy changes in release 1.19 (2010-05-22) [stable]
** doc: Typo fixes. Added PDF version of API reference manual.
See doc/reference/libidn.pdf.
** build: Update gnulib files.
** build: Use valgrind -q to reduce verbosity.
** API and ABI is backwards compatible with the previous version.
* Noteworthy changes in release 1.18 (2010-02-15) [stable]
** libidn: Put forgotten symbols under old namespace.
Reverts one unnecessary change introduced in 1.17. Suggested by Marco
d'Itri <md@linux.it>.
** API and ABI is backwards compatible with the previous version.
* Noteworthy changes in release 1.17 (2010-02-05) [alpha]
** libidn: Fix symbol export problem for a few variables.
Applications (that use these rarely used variables) built against
versions before 1.13 did not work with libidn versions 1.13 to 1.16.
Symbol versioning was introduced in version 1.13 but by accident some
symbols that were visible before that release were not exported, and
the consequence was that those symbols were not available in version
1.13 to 1.16. This release fixes the problem, so the symbols are
visible again, making this release backwards compatible with all
earlier releases.
The affected symbols are the following variables:
stringprep_iscsi_prohibit, stringprep_rfc3454_A_1,
stringprep_rfc3454_B_1, stringprep_rfc3454_B_2,
stringprep_rfc3454_B_3, stringprep_rfc3454_C_1_1,
stringprep_rfc3454_C_1_2, stringprep_rfc3454_C_2_1,
stringprep_rfc3454_C_2_2, stringprep_rfc3454_C_3,
stringprep_rfc3454_C_4, stringprep_rfc3454_C_5,
stringprep_rfc3454_C_6, stringprep_rfc3454_C_7,
stringprep_rfc3454_C_8, stringprep_rfc3454_C_9,
stringprep_rfc3454_D_1, stringprep_rfc3454_D_2,
stringprep_saslprep_space_map.
Thanks to Marco d'Itri <md@linux.it> for reporting
<http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=561291> that led to
discovering this problem.
** Really fix the link error of self-tests on MinGW.
** API and ABI is backwards compatible with the previous version.
* Noteworthy changes in release 1.16 (2010-01-12) [alpha]
** java: Add a Maven pom.xml project file.
Contributed by Guus der Kinderen <guus.der.kinderen@gmail.com>.
** Fix a link error on MinGW.
** API and ABI is backwards compatible with the previous version.
* Noteworthy changes in release 1.15 (2009-06-08) [alpha]
** libidn: Use c_strcasecmp instead of strcasecmp.
For portability to NetWare CLIB. The specification requires a ASCII
comparison, so it is also more appropriate to use c_strcasecmp.
Reported by Guenter Knauf <gk@gknw.de>.
** java: Fix some Java compiler warnings.
** doc: Improved sections for the info manual.
We now follow the advice given by the texinfo manual on which
directory categories to use. In particular, libidn moved from the
'GNU Libraries' section to the 'Software libraries' and 'Invoking idn'
moved from 'GNU utilities' to 'Localization'.
** New configure parameters to set packaging specific information.
The parameters are --with-packager, --with-packager-version, and
--with-packager-bug-reports. See
<http://article.gmane.org/gmane.comp.lib.gnulib.bugs/17791> for more
details.
** API and ABI is backwards compatible with the previous version.
* Noteworthy changes in release 1.14 (2009-04-03) [alpha]
** libidn: Install a libidn-*.def file when building under MinGW.
The file is useful if you develop programs in Visual Studio that links
to libidn.
** tests/tst_toutf8: Don't crash if stringprep_utf8_to_locale returns NULL.
Reported by Dagobert Michelsen <dam@opencsw.org> in
<http://thread.gmane.org/gmane.comp.gnu.libidn.general/192>.
** API and ABI is backwards compatible with the previous version.
* Noteworthy changes in release 1.13 (2009-03-06) [alpha]
** libidn: Use a LD version script on platforms where it is supported.
Currently only GNU LD and the Solaris linker supports it. This helps
Debian package tools to produce better dependencies. Before we used
Libtool -export-symbols-regex that created an anonymous version tag.
Libidn uses -export-symbols-regex if the system does not support LD
version scripts, but that only affect symbol visibility.
** libidn: Compiled with -fvisibility=hidden by default if supported.
Currently only GCC supports it for ELF targets. This hides internal
symbols and has other advantages, see
<http://gcc.gnu.org/wiki/Visibility>.
** libidn: Compiled with warning flags only when GCC is used.
This avoids the problem that some flags confuse non-GCC compilers, for
example -fdiagnostics-show-option. Reported by
jens.rehsack@bayerbbs.com.
** doc: The idn_free function is now documented.
Suggested by "Sisyphus" <sisyphus1@optusnet.com.au>.
** API and ABI is backwards compatible with the previous version.
* Noteworthy changes in release 1.12 (2009-01-23) [alpha]
** idn: New parameter --no-tld to deprecate the old parameter --tld.
The new parameter --no-tld disable TLD checking of the input string.
The --tld parameter was broken; it behaved opposite to its documented
behaviour. To avoid confusion over what --tld means, we decided to
deprecate it. Now --tld is not printed in the idn --help output, but
will continue to work as before.
** doc: Modernize doxygen configuration.
** doc: Change license on the manual to GFDLv1.3+.
** doc: Improve JavaDoc output.
** Update gnulib files and translations.
** Build with more warnings.
** API and ABI is backwards compatible with the previous version.
* Noteworthy changes in release 1.11 (2008-10-28) [alpha]
** libidn: New WARN_CFLAGS configure variable.
It is used internally to add -Werror and other warnings flags, to
catch coding mistakes before releases.
** Win32: Perl is no longer required to build Libidn in Visual Studio.
** Win32: Functions in idna.h are also exported.
Reported by Adam Strzelecki <adam.strzelecki@java.pl>.
** doc: Included cyclomatic code complexity charts of the library code.
See doc/cyclo/.
** tests: Add more self-tests to get more self-test code coverage.
** tests: New 'make coverage' command to generate code coverage reports.
The output is created in doc/coverage/. Requires the LCOV tools. See
https://www.gnu.org/software/libidn/coverage/ for a pre-generated copy.
** Clarify copyright and license for gdoc, man pages, and C# port.
** Update gnulib files and translations.
** API and ABI is backwards compatible with the previous version.
* Noteworthy changes in release 1.10 (2008-08-27) [alpha]
** idn: accept -n as short form for --nfkc.
Before '-k' was used as the short form, but all documentation has said
'-n'. We now accept both short forms, and -n remains the documented
short form. Reported by John McGowan <jmcgowan@inch.com> in
<http://lists.gnu.org/archive/html/help-libidn/2008-08/msg00000.html>.
** Fix compiler warnings.
** Update gnulib files.
** Update translations.
** API and ABI is backwards compatible with the previous version.
* Noteworthy changes in release 1.9 (2008-07-01) [alpha]
** idn: fix error message when NFKC fails, and some other translation fixes.
Reported by Benno Schulenberg <coordinator@translationproject.org>.
** C# Libidn.dll: Work around bug that cause a failure during C# compilation.
See <https://bugzilla.novell.com/show_bug.cgi?id=372483>.
** Remove more non-free text from doc/specifications/rfc3454.txt.
The remaining data tables are not copyrightable.
** Update gnulib files, and include gnulib self-tests.
** Update translations.
** API and ABI is backwards compatible with the previous version.
* Noteworthy changes in release 1.8 (2008-04-23) [alpha]
** Translations files not stored directly in git to avoid merge conflicts.
This allows us to avoid use of --no-location which makes the
translation teams happier.
** Update gnulib files.
** API and ABI is backwards compatible with the previous version.
* Noteworthy changes in release 1.7 (2008-04-10) [alpha]
** idn: new parameter --nfkc to process string with Unicode v3.2 NFKC.
** Minor build fix for native Win32 builds.
** Update gnulib files.
** API and ABI is backwards compatible with the previous version.
* Noteworthy changes in release 1.6 (2008-03-19) [alpha]
** Add native Windows Visual Studio project files.
Contributed by Adam Strzelecki <ono@java.pl>.
** Remove non-free portions of RFC 3454 in doc/specifications/rfc3454.txt.
** Update gnulib files.
** Doc fixes in IDNA to clarify that some functions operate on
** just one domain labels and some operate on domain name (which
** can contain several domain labels).
** API and ABI is backwards compatible with the previous version.
* Noteworthy changes in release 1.5 (2008-02-19) [alpha]
** Don't include wchar.h in idn-int.h.
Fixes problems on uClibc systems which lack a wchar.h. Reported by
Mike Frysinger <vapier@gentoo.org>, see
<http://thread.gmane.org/gmane.comp.gnu.libidn.general/118>.
** Added appendix 'On Label Separators' to the manual.
Thanks to Erik van der Poel <erikv@google.com> for bringing the issue
to our attention and for discussing the matter. See
<http://thread.gmane.org/gmane.comp.gnu.libidn.general/96>.
** Improved rendering of non-ASCII in the info manual.
Done by adding a @documentencoding UTF-8. This affect how the
examples are encoded, the files examples/*.c are now encoded using
UTF-8 instead of a mix of ISO-8859-1 and ISO-8859-15.
** Fix non-portable use of brace expansion in makefiles.
** Update translations.
** Update gnulib files.
** API and ABI is backwards compatible with the previous version.
* Noteworthy changes in release 1.4 (2008-01-09) [alpha]
** Fixes to make the C# port compile under Mono.
** Update gnulib files.
** Improve idn --version and --help output to conform to GNU standards.
This also enables translations of --help output.
** Update translations.
Added Finish translation, thanks to Jorma Karvonen. Updated Dutch and
Vietnamese.
** API and ABI is backwards compatible with the previous version.
* Noteworthy changes in release 1.3 (2007-12-11) [alpha]
** Some hints on Windows installation in the manual.
** Update translations.
Added Czech translation, thanks to Petr Pisar.
** Use gettext 0.17.
** Update gnulib files.
Top-level gnulib files are now distributed under GPLv3+. (The gnulib
files used by the core library are still under LGPLv2.1+.)
** API and ABI is backwards compatible with the previous version.
* Noteworthy changes in release 1.2 (2007-10-01) [alpha]
** Development git tree moved to savannah.
See <https://savannah.gnu.org/projects/libidn/>.
** Update gnulib files.
Including mono detection fixes.
** Update translations.
** API and ABI is backwards compatible with the previous version.
* Noteworthy changes in release 1.1 (2007-09-01) [alpha]
** Fix compilation error in idn-int.h.
The error would typically be 'error: no include path in which to
search for stdint.h'. Reported by Remko van der Vossen
<wich@stack.nl>, see
<http://thread.gmane.org/gmane.comp.gnu.libidn.general/65> and
<http://bugs.sourcemage.org/show_bug.cgi?id=13857>.
** Declare external variables with __declspec(import) for Windows.
Apparently this is required for variables in DLL's on Windows. This
is enabled if __DECLSPEC_SUPPORTED is defined (MinGW), or if _MSC_VER
and_DLL is defined (MSVC).
** Update gnulib files.
** Update translations.
** API and ABI is backwards compatible with the previous version.
* Noteworthy changes in release 1.0 (2007-07-31) [alpha]
** Command-line tools, examples, etc are now licensed under GPL version 3.
The library is still licensed under LGPL v2.1 for compatibility
reasons (it is included in glibc).
** Updated documentation as per license change.
** Update gnulib files.
** Update translations.
** API and ABI is backwards compatible with the previous version.
* Noteworthy changes in release 0.6.14 (2007-05-31) [alpha]
** Libidn is now developed using Git instead of CVS.
A public git mirror is available from
<http://repo.or.cz/w/libidn.git>. If you have pulled from this
repository before this release, you need to erase your clone because
it has been re-generated from scratch.
** API and ABI is backwards compatible with the previous version.
* Noteworthy changes in release 0.6.13 (2007-05-31) [alpha]
** Documentation fixes.
Clarify that the C# and Java libraries are licensed under the LGPL.
Earlier, some places incorrectly said that these were licensed under
the GPL. If you encounter other places that still suggest that GPL
applies to the C# and Java library, please let me know.
** Updated Polish and Vietnamese translations.
Thanks to Jakub Bogusz <qboosh@pld-linux.org> and Clytie Siddall
<clytie@riverland.net.au>.
** Install images for the manual in $infodir.
This fixes the broken image in the info manual. Image files will be
called libidn-*.png to avoid namespace collisions with images from
other info manuals.
** Update gnulib files.
** API and ABI is backwards compatible with the previous version.
* Noteworthy changes in release 0.6.12 (2007-04-25) [alpha]
** Use AM_JAVACFLAGS instead of JAVACFLAGS in java/misc/Makefile.am.
Reported by Petteri Räty <betelgeuse@gentoo.org>.
** Update gnulib files.
** API and ABI is backwards compatible with the previous version.
* Noteworthy changes in release 0.6.11 (2007-03-13) [alpha]
** Update of the C# Libidn port, by Alexander Gnauck.
The code has been refactored and the namespace has been modified to
comply with .NET naming conventions. An IDNA bug was fixed.
** Update gnulib files.
We now use the "striconv" module instead of the "iconvme", which
causes a slight increase of code size (from 303kb to 319kb with
debugging symbols on i386). The reason is the use of a new locale
independent strcasecmp, which may cause faster operation in some
locales where, e.g., "ASCII" and "ascii" are not treated as the same.
** API and ABI is backwards compatible with the previous version.
* Noteworthy changes in release 0.6.10 (2007-01-04) [alpha]
** Corrected year in copyright notices.
** Update gnulib files.
Including the code to convert strings between different encodings
(noted in case this introduces problems).
** API and ABI is backwards compatible with the previous version.
* Noteworthy changes in release 0.6.9 (2006-11-30) [alpha]
** The Java code is fixed to properly translate any non-ASCII dot into '.'.
Reported and fixed by "Stephane Mikaty" <mikaty@ecircle-ag.com>.
** Update gnulib files.
** Bump tool versions to autoconf 2.61, automake 1.10, and gettext 0.16.
** Old versions of iconv.m4, codeset.m4 and lib-link.m4 removed from m4/.
Modern versions are part of gnulib.
** API and ABI is backwards compatible with the previous version.
* Noteworthy changes in release 0.6.8 (2006-10-18) [alpha]
** The gnulib directory is separated into two directories.
One gnulib directory (lib/gl/) for the LGPL library in lib/, and one
gnulib directory (gl/) for the GPL tools in src/. This allows the
GPL'd tools to use more gnulib modules than before, since earlier all
gnulib files had to be LGPL.
** Update gnulib files.
** Some minor cleanups, like assuming locale.h and setlocale().
** API and ABI is backwards compatible with the previous version.
* Noteworthy changes in release 0.6.7 (2006-09-13) [alpha]
** Fix build failure of idn-int.h on C99 platforms.
Reported by Paul Howarth <paul@city-fan.org>.
** The manual includes the GPL license, for the command-line tools.
** The function, variable and concept index is moved to the end of the manual.
** Update gnulib files.
** API and ABI is backwards compatible with the previous version.
* Noteworthy changes in release 0.6.6 (2006-08-23) [alpha]
** Instead of AX_CREATE_STDINT_H, use the stdint gnulib module, for idn-int.h.
This solves building on some HPPA systems. Note that the generated
idn-int.h is specific to the build environment that libidn was built
under, and is not generally usable by any other compiler (if any) on
the host. This was true before too.
** Update gnulib files.
** API and ABI is backwards compatible with the previous version.
* Noteworthy changes in release 0.6.5 (2006-06-07) [alpha]
** Link the library with external libintl, for gettext.
This fixes building on FreeBSD, reported by Kirill Ponomarew
<krion@voodoo.bawue.com>.
** Update doxygen config file to version 1.4.7.
** API and ABI is backwards compatible with the previous version.
* Noteworthy changes in release 0.6.4 (2006-06-07) [alpha]
** Fix translation of error messages.
Thanks to Joe Orton <jorton@redhat.com>.
** Fix warnings on 64-bit platforms.
Thanks to Joe Orton <jorton@redhat.com>.
** The tests are run under valgrind, if it is installed.
Use --disable-valgrind-tests to unconditionally disable this. It is
disabled by default for cross compiles.
** API and ABI is backwards compatible with the previous version.
* Noteworthy changes in release 0.6.3 (2006-03-08) [alpha]
** Fixes for the build environment.
** API and ABI is backwards compatible with the previous version.
* Noteworthy changes in release 0.6.2 (2006-02-07) [alpha]
** Fix objdir != srcdir builds for the Java documentation.
Thanks to Bernard Leak <bernard@brenda-arkle.demon.co.uk>.
** Update of gnulib files.
** API and ABI is backwards compatible with the previous version.
* Noteworthy changes in release 0.6.1 (2006-01-20) [alpha]
** Make it possible to cross-compile to mingw32.
You can build Libidn for Windows by invoking `./configure
--host=i586-mingw32msvc' (or similar).
** Minor changes in how the C# code is built.
** Update of gnulib files.
** API and ABI is backwards compatible with the previous version.
* Noteworthy changes in release 0.6.0 (2005-12-03) [alpha]
** A C# port of Libidn has been contributed by Alexander Gnauck.
The port resides in the csharp/ directory. Configure will build it if
a working C# compiler can be found. Mono's "mcs" compiler is known to
work (available in Debian in the "mono-mcs" package), but PNET's
"cscc" compiler should also work (available in Debian in the "pnet"
package). The port is licensed under the GPL. Some Microsoft Visual
Studio project files are also present in the csharp/ directory, which
may be useful when building the port under Windows. The C# API is
currently not documented, improvements are gratefully accepted.
** Support shared libraries on Cygwin and Mingw32, thanks to Yaakov S.
** Fix memory leak.
** API and ABI is backwards compatible with the previous version.
* Noteworthy changes in release 0.5.20 (2005-10-23) [alpha]
** The header file pr29.h is now installed by 'make install'.
** Translation updates.
** Update of gnulib files.
** API and ABI is backwards compatible with the previous version.
* Noteworthy changes in release 0.5.19 (2005-09-19) [alpha]
** The test for setlocale and nl_langinfo has now been separated.
The autoconf script now test for locale.h, setlocale and
nl_langinfo(CODESET) independently.
** Gnulib updates, fixes for getopt.
** Java manuals in doc/java/ are now generated by Gjdoc from GNU Classpath.
** Kaffe is used to link the pre-built libidn-*.jar file.
** Translation updates.
** API and ABI is backwards compatible with the previous version.
* Noteworthy changes in release 0.5.18 (2005-07-16) [alpha]
** The macro AX_CREATE_STDINT_H that is used to create idn-int.h
** has been updated.
** Fix use of 'head -1' in configure script (should be 'head -n -1'),
** thanks to Carsten Lohrke.
** Announce the help-libidn mailing list in documentation and README.
** Translation updates.
** API and ABI is backwards compatible with the previous version.
* Noteworthy changes in release 0.5.17 (2005-05-26) [alpha]
** The gnulib portability files were updated.
** The license template in files were updated with the new address.
** Translation updated.
** API and ABI is backwards compatible with the previous version.
* Noteworthy changes in release 0.5.16 (2005-05-06) [alpha]
** Mark static PR29 data tables as 'const', thanks to Joe Orton.
** Kinyarwanda translations added, thanks to Steve Murphy.
** API and ABI is backwards compatible with the previous version.
* Noteworthy changes in release 0.5.15 (2005-03-19) [alpha]
** Improvements to code to convert data between character sets.
The license template was changed to the LGPL, from the GPL template
that was mistakenly used in the previous two releases. Document here
that cleaning up this code has solved memory allocation and arithmetic
overflow problems.
** API and ABI is backwards compatible with the previous version.
* Noteworthy changes in release 0.5.14 (2005-03-19) [alpha]
** Building for srcdir != objdir from CVS now work, thanks to Linus Nordberg.
** Simplified Chinese translations added, thanks to Meng Jie.
** Vietnamese translation added, thanks to Clytie Siddall.
** API and ABI is backwards compatible with the previous version.
* Noteworthy changes in release 0.5.13 (2005-01-29) [alpha]
** The code to convert data between character encodings have been cleaned up.
The stringprep_convert function has been added to gnulib, under the
name iconv_string, and is now used by libidn. This should not have
any user-visible consequences, though.
** It is now possible to bootstrap with unmodified Automake installations.
** Italian translation added, thanks to Marco Colombo.
** Swedish translation updated.
** API and ABI is backwards compatible with the previous version.
* Noteworthy changes in release 0.5.12 (2004-12-04) [alpha]
** Java code now support the XMPP NodePrep and ResourcePrep profiles.
** Bug fixes and improvements to Java code.
The allowUnassigned flag is now respected properly. The prohibited
code points check now works. Arguments are now checked. Convenience
method with allowUnassigned set to false was added.
** Update getopt from gnulib.
** API and ABI is backwards compatible with the previous version.
* Noteworthy changes in release 0.5.11 (2004-11-21) [alpha]
** Fix formatting of man pages, based on warnings from Doclifter.
** Update of gnulib files to fix potential getopt problem on ELF systems.
** API and ABI is backwards compatible with the previous version.
* Noteworthy changes in release 0.5.10 (2004-11-08) [alpha]
** Libtool's -export-symbols-regex is now used to only export official APIs.
Before, applications might accidentally access internal functions.
Note that this is not supported on all platforms, so you must still
make sure you are not using undocumented symbols in Libidn.
** API and ABI is backwards compatible with the previous version.
* Noteworthy changes in release 0.5.9 (2004-11-07) [alpha]
** Align GTK-DOC build infrastructure with GTK-DOC official recommendations.
This mean that you can now browse the Libidn API manual using Devhelp.
** Update of gnulib files to fix potential problem in getopt on BSD.
** Documentation improvements.
** API and ABI is backwards compatible with the previous version.
* Noteworthy changes in release 0.5.8 (2004-10-12) [alpha]
** BidiMirroring-3.2.0.txt is now included, not only the generated source code.
This allow builds to succeed after 'make realclean'.
** Generated files now have consistent 'DO NOT EDIT!' comments.
** API and ABI is backwards compatible with the previous version.
* Noteworthy changes in release 0.5.7 (2004-10-12) [alpha]
** Shared library version incremented, because new APIs were added.
This was forgotten in the last release.
** French translation updated.
** Minor bug fixes.
** API and ABI is backwards compatible with the previous version.
* Noteworthy changes in release 0.5.6 (2004-10-02) [alpha]
** Added functions to convert return codes to human readable text.
** Now using GNULib in command line front end (src/) for portability code.
See <https://www.gnu.org/software/gnulib/> for more information on
GNULib. This should make the code easier to read and maintain.
** API and ABI is backwards compatible with the previous version.
idna_strerror: ADD.
pr29_strerror: ADD.
punycode_strerror: ADD.
stringprep_strerror: ADD.
tld_strerror: ADD.
TLD_NO_TLD: ADD. Replaces TLD_NOTLD.
TLD_NOTLD: DEPRECATED. Use TLD_NO_TLD instead.
* Noteworthy changes in release 0.5.5 (2004-09-13) [alpha]
** Hide accidentally exported variable g_utf8_skip, by marking it as static.
** Various fixes.
** API and ABI is backwards compatible with the previous version.
g_utf8_skip: REMOVED. (But never meant to be used.)
* Noteworthy changes in release 0.5.4 (2004-08-08) [alpha]
** Translation updates.
** API and ABI is backwards compatible with the previous version.
* Noteworthy changes in release 0.5.3 (2004-08-05) [alpha]
** Fix crash in `idn --tld' command line tool.
** API and ABI is backwards compatible with the previous version.
* Noteworthy changes in release 0.5.2 (2004-07-14) [alpha]
** Java "make install" rules are now DESTDIR compatible.
** API and ABI is backwards compatible with the previous version.
* Noteworthy changes in release 0.5.1 (2004-07-09) [alpha]
** Cross compile builds should work.
It should work for any sane cross compile target, but the only tested
platform is uClibc/uClinux on Motorola Coldfire.
** The example programs now correctly invoke `setlocale (LC_ALL, "")'.
** API and ABI is backwards compatible with the previous version.
* Noteworthy changes in release 0.5.0 (2004-06-26) [alpha]
** Functions to detect "normalization problem sequences" as per PR-29 added.
See the new chapter "PR29 Functions" in the manual
(doc/libidn.{ps,pdf,html}) for more information and the background
story. An external link that discuss the problem is
<http://www.unicode.org/review/pr-29.html>.
** More translations.
Added Esperanto (by Edmund GRIMLEY EVANS).
** API and ABI is backwards compatible with the previous version.
pr29.h: ADD. Prototypes for PR29 types and functions.
pr29_4, pr29_4z, pr29_8z: ADD. New API entry points for PR29 functions.
Pr29_rc: ADD. New error code enum type for PR29 functions.
* Noteworthy changes in release 0.4.9 (2004-06-11) [alpha]
** The Java library (java/libidn-*.jar) is included in the distribution.
** JavaDoc manuals (doc/javadoc/) are included.
** API and ABI is backwards compatible with the previous version.
* Noteworthy changes in release 0.4.8 (2004-06-01) [alpha]
** The Java source code is actually included in the distribution.
** API and ABI is backwards compatible with the previous version.
* Noteworthy changes in release 0.4.7 (2004-05-31) [alpha]
** The Java port should now be functional, contributed by Oliver Hitz.
See the new section "Java API" in the manual for more information.
** API and ABI is backwards compatible with the previous version.
* Noteworthy changes in release 0.4.6 (2004-05-24) [alpha]
** The header file idn-free.h is actually installed by 'make install'.
** API and ABI is backwards compatible with the previous version.
* Noteworthy changes in release 0.4.5 (2004-05-21) [alpha]
** In IDNA ToUnicode, a `free' on a stale pointer fixed by Ulrich Drepper.
** Several memory leaks fixed by Ulrich Drepper.
** Added more SASLPrep and NFKC test vectors.
** Automake 1.8.4 is used.
** API and ABI is backwards compatible with the previous version.
idn_free: ADD. Wrapper around system `free'.
idn-free.h: ADD. Prototype for `idn_free'.
See idn-free.h for discussion. The interface is
currently not documented. Comments and feedback is
appreciated.
* Noteworthy changes in release 0.4.4 (2004-04-29) [alpha]
** Fixed two bugs in iSCSI definition, syncing with newly published RFC 3722.
The first bug was an omission of prohibiting the characters in C.1.1,
C.1.2 and C.7 (space characters and characters that are inappropriate
for canonical representation). The second was a bug in the definition
of the table, causing the entire table to be skipped, of the special
prohibited output character table defined in RFC 3722 (see section 6,
the characters in the table are various ASCII characters and U+3002).
** A few test vectors for iSCSI were added.
** The self tests are linked with libtool -no-install to avoid wrapper script.
** Separated self test utilities into a separate library, shared by all tests.
** More translations.
Added Romanian (by Laurentiu Buzdugan).
** API and ABI is backwards compatible with the previous version.
* Noteworthy changes in release 0.4.3 (2004-04-22) [alpha]
** Fixed a bug in table processing code to prohibit control characters.
The problem was that the code used a code point of 0 to indicate end
of table, but if (as for table C.2.1) a range starts with 0, this
logic would fail. The end-of-table test is now that both the start
and end code points of the range is 0. Table C.2.1 is responsible for
prohibiting non-ASCII control characters, i.e. ASCII 0-31 and 127.
Before, libidn silently accepted such strings without complaining.
** A few test vectors for SASLprep were added.
** The pkg-config script no longer include a -R parameter.
** More translations.
Added Dutch (by Elros Cyriatan), and German (by Roland Illig).
** API and ABI is backwards compatible with the previous version.
* Noteworthy changes in release 0.4.2 (2004-03-20) [alpha]
** A Punycode implementation in Java was added, by Oliver Hitz.
Eventually hopefully a StringPrep, Nameprep and IDNA implementation
will be added as well. Currently you need to specify --enable-java to
enable the Java interface. The Java sources (below java/) are
compiled into byte-code (not native code) into a JAR library.
** More translations.
Added Danish (by Morten Bo Johansen), French (by Michel Robitaille),
Polish (by Jakub Bogusz), and Serbian (by Aleksandar Jelenak).
** Norwegian TLD table added, by Thomas Jacob.
** API and ABI is backwards compatible with the previous version.
* Noteworthy changes in release 0.4.1 (2004-03-08) [alpha]
** The user messages from the command line utility are now translated.
Currently English and Swedish is supported.
** Logic of stringprep_locale_charset modified.
Future versions will use, in order, $CHARSET iff defined, nl_langinfo
(CODESET) iff working, or fall back to returning "ASCII". Earlier it
attempted to guess the system locale, in contrast with the current
application's locale, via some setlocale save/set/reset magic. This
change may require you to invoke setlocale() in your application,
which is (should be) required for non-ASCII to work anyway. Based on
discussion with Ulrich Drepper.
** The command-line utility now invoke setlocale (LC_ALL, "") at startup.
** Fixed SASLprep tables to prohibit non-ASCII space in output.
Non-ASCII space has always been mapped to ASCII space, so it is not
clear this really have any effect, but the specification require it.
** Building Libidn as part of GLIBC has been updated.
Refer to libc/README for more information. Incidentally, GLIBC in CVS
now include a copy of Libidn.
** API and ABI is backwards compatible with the previous version.
IDNA_DLOPEN_ERROR: ADD. Only used internally by Libidn in libc.
* Noteworthy changes in release 0.4.0 (2004-02-28) [alpha]
** Support for TLD restrictions on IDN strings, contributed by Thomas Jacob.
Many TLDs restrict the set of characters that can be used, from the
full Unicode 3.2 range that is normally available. This contribution
make it possible for you to test strings for TLD conformance locally.
The code can be disabled by --disable-tld. If enabled (the default),
the new API "tld.h" is installed which can be used to check a string
for conformance to TLD specific rules. This add a new self test, and
a new chapter in the manual. People responsible for maintaining TLD
tables are hereby encouraged to contribute them (under reasonable
licensing terms) for inclusion in future versions of Libidn. Be
warned that the API for TLD checking may change throughout the 0.4.x
series as we get feedback on it.
** Kerberos 5 stringprep profile macro is no longer documented.
The macro itself will probably be removed in the future, if the
specification is dropped from the Kerberos WG agenda.
** API and ABI is backwards compatible with the previous version.
stringprep_kerberos5: DEPRECATED.
Tld_table_element:
Tld_table:
Tld_rc: ADD. New data types.
tld_get_4:
tld_get_4z:
tld_get_z: ADD. New functions to extract TLD from string.
tld_get_table:
tld_default_table: ADD. New functions to get TLD table from TLD name.
tld_check_4t:
tld_check_4tz: ADD. New function to provide core TLD operations.
tld_check_4:
tld_check_4z:
tld_check_8z:
tld_check_lz: ADD. New functions that combine all TLD operations in one call.
* Noteworthy changes in release 0.3.7 (2004-01-22) [alpha]
** The command line parameter '--' idiom is documented.
** The iSCSI stringprep profile now recognized as "iSCSI".
The earlier name "ISCSIprep" is still recognized, for backwards
compatibility.
** DocBook manuals no longer included (the tools are too unstable).
** API and ABI is backwards compatible with the previous version.
* Noteworthy changes in release 0.3.6 (2004-01-06) [alpha]
** The manual now contain a troubleshooting section for the command line tool.
** The PHP interface pass the string directly on the command line.
** The macro that create 'idn-int.h' has been updated to latest version.
** API and ABI is backwards compatible with the previous version.
* Noteworthy changes in release 0.3.5 (2003-12-15) [alpha]
** The program 'idn' accepts input strings directly on the command line.
** The program 'idn' defaults to --idna-to-ascii if no parameter is given.
** The program 'idn' now print user instructions before waiting for input.
** DocBook HTML output not included any longer.
The reason is that the filenames generated by docbook2html appear to
be rather random, so it is difficult to maintain the Makefile.am rules
for them.
** Autoconf 2.59, automake 1.8 and libtool from CVS is used.
** API and ABI is backwards compatible with the previous version.
IDNA_CONTAINS_NON_LDH: ADD. Same integer value as IDNA_CONTAINS_LDH.
IDNA_CONTAINS_LDH: DEPRECATED. LDH (letter-digits-hyphens) characters
are not an error, but non-LDH characters are, when
IDNA_USE_STD3_ASCII_RULES is used. The logic of the
mnemonic name of this error constant was reversed.
* Noteworthy changes in release 0.3.4 (2003-11-09) [alpha]
** DocBook manuals in XML, PDF, PostScript, ASCII and HTML formats included.
* Noteworthy changes in release 0.3.3 (2003-10-18) [alpha]
** Fixed list of Stringprep profiles in 'idn --help' and 'idn.php'.
** Fixed debug information in 'idn'.
** Internal improvements.
Leads to reduced heap memory usage. Simplified inter-dependency among
files in lib/* to make it easier to copy them into your project.
** Debugging stringprep profile 'generic' removed.
** Punycode implementation updated to rfc3492bis-00.
** API and ABI is backwards compatible with the previous version.
stringprep_4i: NEW.
stringprep_4zi: NEW.
stringprep: CHANGED. 'profile' is marked as 'const'.
stringprep_profile: CHANGED. 'profile' is marked as 'const'.
stringprep_generic: REMOVED. Never meant for public use.
* Noteworthy changes in release 0.3.2 (2003-10-07) [alpha]
** SASL ANONYMOUS stringprep profile "trace" added.
It is equivalent to the already supported "plain" SASL ANONYMOUS
stringprep profile, except for the name.
** API and ABI is backwards compatible with the previous version.
The 'in' parameter to stringprep_profile was changed from 'char*' to
'const char*'.
* Noteworthy changes in release 0.3.1 (2003-10-02) [alpha]
** Fixed handling of implicit and explicit zero-length root labels in ToASCII.
** Fixed support for Hangul Syllables during Unicode NFKC normalization.
** Fixed Unicode NFKC normalization of (some) BMP code points.
This was done by syncing the NFKC code with latest GLIB, and may have
fixed other bugs in the earlier versions of the updated functions.
** Added more IDNA test vectors.
** Emacs Lisp IDNA implementation now set the UseSTD3ASCIIRules flag.
This is the appropriate setting for mail-related uses of IDNA.
** API and ABI is backwards compatible with the previous version.
* Noteworthy changes in release 0.3.0 (2003-09-23) [alpha]
** Ported to Mac OS X.
** Gnulib code removed, we now assume a C89 compatible environment.
** Building libidn as a libc add-on now works again.
** Man pages for all public API functions are included.
** Fixed bug in SASLprep profile.
** API and ABI is NOT backwards compatible with the previous version.
All previously labeled (since 0.1.x) obsolete functions have been dropped.
The use of 'enum' types instead of 'int' added in 0.2.3 reverted, it
confused documentation generators and wasn't all that common practice.
* Noteworthy changes in release 0.2.3 (2003-08-26) [alpha]
** Example 4 was the same as example 3, now changed to demo ToUnicode.
** Documentation improvements.
** Prototype cleanups.
The proper enum types (Stringprep_rc, Idna_rc, etc) are now used in
several places where plain int where used before. String lengths are
handled by (s)size_t instead of int.
** API and ABI is backwards compatible with the previous version.
* Noteworthy changes in release 0.2.2 (2003-08-13) [alpha]
** Fixed problem with strings longer than 4GB in punycode functions.
The punycode code cannot handle strings longer than 4GB. The code now
return PUNYCODE_BAD_INPUT on too long input, instead of failing in an
unknown way.
** The "idn --idna-to-unicode" command now output locale encoded strings.
** Build fixes, bug fixes.
** API and ABI is backwards compatible with the previous version.
* Noteworthy changes in release 0.2.1 (2003-07-04) [alpha]
** Don't reject zero-length trailing labels as in, e.g., "www.example.org.".
The IDNA RFC is not clear on this topic, zero-length labels in general
are forbidden by the ToASCII algorithm in section 4.1 step 8, but the
terminology section define, inside a parenthesis, that the zero-length
root label is in fact not considered a label at all in IDNA.
** Bug fixes.
** API and ABI is backwards compatible with the previous version.
* Noteworthy changes in release 0.2.0 (2003-06-19) [alpha]
** Unicode code point data is now uint32_t, defined in "idn-int.h".
A header file "idn-int.h" is generated and installed to make sure the
"uint32_t" data type is available on all platforms. The reason for
this change is that on 64-bit platforms, the application was required
to convert 32 bit integers (which is how Unicode code points are
typically represented) into 64 bit integers before calling libidn
functions.
** New idna_*() functions have improved flags handling.
The allowunassigned and usestd3asciirules parameters were collapsed
into a flags parameter, that can take on the IDNA_ALLOW_UNASSIGNED and
IDNA_USE_STD3_ASCII_RULES values. This allows for easier extensions
to support, e.g., Unicode 4.0 or RFC 952 ASCII rules checking. Note
that the old entry points are unmodified (in this regard), and new
entry points with this modification were added.
** The manual was moved into a separate directory doc/.
** Bugfixes.
** API and ABI is not backwards compatible.
In punycode.h and stringprep.h the "unsigned long" data type was
changed into "uint32_t", which cause a API and ABI mismatch. For
idna.h, the old entry points that used "unsigned long" still exist,
and new entry points that uses "uint32_t" was added. To update your
application, you probably only need to change "unsigned long" to
"uint32_t". As a result of these changes, the shared object version
has been increased.
* Noteworthy changes in release 0.1.15 (2003-06-07) [alpha]
** Bugfixes.
** API and ABI is backwards compatible with the previous version.
* Noteworthy changes in release 0.1.14 (2003-05-10) [alpha]
** Experimental documentation generation in contrib/doxygen/.
Simply invoke "doxygen" in that directory and it should build the
documentation.
** Lisp API bug fixes.
** API and ABI is backwards compatible with the previous version.
* Noteworthy changes in release 0.1.13 (2003-03-13) [alpha]
** Unfinished Java *.class files implementing the libidn API.
See the contrib/java/ directory. It is implemented using the Java
Native Interface, and light initial testing indicate interoperability
between GCJ, IBM's JDK and Sun's JDK.
** Building is now silent when gengetopt is not present.
** Bug fixes.
** API and ABI is backwards compatible with the previous version.
* Noteworthy changes in release 0.1.12 (2003-03-06) [alpha]
** Building libidn doesn't require gengetopt.
Warnings are still printed though. Gengetopt will be replaced by argp
eventually.
** Command line tool "idn" supports stringprep too.
** New stringprep API entry point: stringprep_profile().
It takes a name of the stringprep profile as an argument instead of
the stringprep table structure.
** stringprep_*.h are deprecated and will be removed in the future.
All symbols have been moved to stringprep.h. The reasons are that (1)
the files typically only defined one CPP macro and exported one symbol
definition, which is wasteful as it generates too much work in the
manual, and (2) using one header file for all profiles allows easier
access to all stringprep profiles during runtime. Note that the files
are still installed, but they only #include stringprep.h now, for
backwards compatibility.
** GNU Libc add-on build instructions updated to GNU Libc 2.3.2.
** SASLprep stringprep profile added.
** An online interface to libidn written in PHP added to contrib/web/.
** API and ABI is backwards compatible with the previous version.
* Noteworthy changes in release 0.1.11 (2003-02-26) [alpha]
** Command line application "idn" is included.
A simple wrapper around the library that allows you to invoke punycode
encoding/decoding and IDNA ToASCII/ToUnicode on the command line.
** Emacs Lisp interface for punycode and IDNA included.
See punycode.el and idna.el.
** API and ABI is backwards compatible with the previous version.
* Noteworthy changes in release 0.1.10 (2003-02-21) [alpha]
** idna_*_to_ace() and idna_*ace_to_*() are deprecated in favor of
** idna_to_ascii_from_*() and idna_to_unicode_*_from_*() respectively.
The reason was that the old interfaces did not accept the
AllowUnassigned and UseSTD3ASCIIRules flags. Note that the old
functions are not removed, but will be in the future.
** IPS iSCSI stringprep profile added.
** A new contrib/ directory added.
Currently it contains a Python interface to Libidn, contributed by
Stephane Bortzmeyer.
** idna.h and punycode.h are now installed by "make install".
** API and ABI is backwards compatible with the previous version.
* Noteworthy changes in release 0.1.9 (2003-02-20) [alpha]
** SASL ANONYMOUS "plain" stringprep profile added.
** XMPP nodeprep profile fixed.
** API and ABI is backwards compatible with the previous version.
For future releases, the NEWS entry will specifically mention whether
the C header API or library ABI backwards compatibility is affected.
* Noteworthy changes in release 0.1.8 (2003-02-14) [alpha]
** Portability fixes.
This includes not building the API Reference Manual with GTK-DOC by
default, if you want it use configure parameter --enable-gtk-doc after
making sure your gtkdoc-mkdb accept the --tmpl-dir parameter.
** The type for string length variables is now (s)size_t.
Unfortunately this means binary shared library binary backwards
compatible is lost.
** New nameprep test vectors.
* Noteworthy changes in release 0.1.7 (2003-02-12) [alpha]
** Uses official IDNA ACE prefix.
* Noteworthy changes in release 0.1.6 (2003-02-11) [alpha]
** Uses tentative IDNA ACE prefix.
** Added XMPP Node/Resource Identifiers stringprep profiles.
** Fixed prohibited character checks for bidi.
* Noteworthy changes in release 0.1.5 (2003-01-28) [alpha]
** The library can now be built as part of GNU Libc.
This is experimental and only tested against GNU Libc version 2.3.1.
See the libc/ directory, and libc/README in particular.
** Bug fixes.
* Noteworthy changes in release 0.1.4 (2003-01-15) [alpha]
** Documentation fixes.
** Portability fixes.
** Bug fixes.
* Noteworthy changes in release 0.1.3 (2003-01-15) [alpha]
** Added texinfo manual.
* Noteworthy changes in release 0.1.2 (2003-01-08) [alpha]
** Added high-level IDNA API.
** Added example3.c and example4.c demonstrating the high-level IDNA API.
* Noteworthy changes in release 0.1.1 (2003-01-08) [alpha]
** Added documentation using GTK-DOC.
** The obsolete stringprep_utf8_to_ucs4_fast API entry point was removed.
By accident it was never removed in 0.1.0.
* Noteworthy changes in release 0.1.0 (2003-01-05) [alpha]
** Official GNU project.
** Renamed from libstringprep to libidn.
** Supports punycode and IDNA. Caveat emptor: I don't use it myself.
** Uses "unsigned long" for Unicode code points instead of "long".
Long is guaranteed to be at least 32 bits by C standards so it is
always sufficiently large, no need to use uint32_t and the like.
** The obsolete stringprep_utf8_to_ucs4_fast API entry point was removed.
* Noteworthy changes in release 0.0.8 (2002-12-13) [alpha]
** Portability fixes (now works under Cygwin on Windows 2000).
** Bug fixes.
* Noteworthy changes in release 0.0.7 (2002-12-09) [alpha]
** Apply all tables to entire strings, not just first hit.
** Fix bidi infloop.
* Noteworthy changes in release 0.0.5 (2002-12-07) [alpha]
** Fix prohibited characters handling.
** Fix bidi.
** Renamed type (struct) stringprep_table_element to Stringprep_table_element.
** Renamed type stringprep_profile to Stringprep_profile.
** Renamed type (struct) stringprep_table to Stringprep_table.
** Added more self-tests.
* Noteworthy changes in release 0.0.4 (2002-12-06) [alpha]
** Add unassigned code point handling, including self test cases.
** Portability fixes.
* Noteworthy changes in release 0.0.3 (2002-11-30) [alpha]
** Exported utility function `stringprep_utf8_to_unichar', complementary
to existing `stringprep_unichar_to_utf8'.
** Renamed `stringprep_utf8_to_ucs4_fast' to `stringprep_utf8_to_ucs4' to
clean up API. The old entry point is maintained for binary backwards
compatibility though.
** The distribution is from now on signed using GnuPG.
** Bug fixes.
* Noteworthy changes in release 0.0.2 (2002-11-07) [alpha]
** NFKC self test.
** Bug fixes.
* Noteworthy changes in release 0.0.1 (2002-11-06) [alpha]
** Add utility functions stringprep_locale_charset(), stringprep_convert()
and stringprep_locale_to_utf8 () that can be used to convert text from
system's locale into UTF-8, which should be done before invoking
stringprep(). The functions requires iconv() in the operating system.
** An example program (example.c) that illustrates how libstringprep can be
used is included.
** The pkg-config --libs output should now include necessary -R options.
* Noteworthy changes in release 0.0.0 (2002-11-05) [alpha]
** Initial release
----------------------------------------------------------------------
Copyright (C) 2002-2025 Simon Josefsson
Copying and distribution of this file, with or without modification,
are permitted in any medium without royalty provided the copyright
notice and this notice are preserved.
|