1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735 |
- Libidn NEWS -- History of user-visible changes. -*- outline -*-
- * 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-2024 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.
|