Edit

thodg/libiconv/NEWS

Branch :

  • Show log

    Commit

  • Author : Bruno Haible
    Date : 2024-12-15 10:37:13
    Hash : ef2f457f
    Message : Support multiple suffixes in iconv_open, like glibc does. * lib/iconv_open1.h: Use a loop when looking for the common suffixes. * tests/test-discard.c: New file. * tests/Makefile.in (check): Run test-discard. (test-discard, test-discard.@OBJEXT@): New targets. (clean): Remove test-discard. (SOURCE_FILES): Add test-discard.c. * NEWS: Mention the change.

  • NEWS
  • New in 1.18:
    * Many more transliterations, in particular also of Emoji characters.
    * The iconv_open function and the iconv program now support multiple suffixes,
      such as //TRANSLIT//IGNORE, not only one.
    * GB18030 is now an alias for GB18030:2005. A new converter for GB18030:2022
      is added. Since this encoding merely cleans up a few private-use-area
      mappings, you can continue to use the GB18030 converter, for backward
      compatibility. Its Unicode to GB18030 conversion direction has been
      enhanced, to help transitioning away from PUA code points.
    * When converting from/to an EBCDIC encoding, a non-standard way of
      converting newlines can be requested
        - at the C level, by calling iconvctl with argument ICONV_SET_FROM_SURFACE
          or ICONV_SET_TO_SURFACE, or
        - from the iconv program, by setting the environment variable
          ICONV_EBCDIC_ZOS_UNIX to a non-empty value.
    * Special support for z/OS: The iconv program adds a charset metadata tag to
      its output file. (Contributed by Mike Fulton.)
    * For conversions from UCS-2, UCS-4, UTF-16, UTF-32, invoking
      iconv(cd,NULL,NULL,...) now preserves the byte order state.
    
    New in 1.17:
    * The libiconv library is now licensed under the LGPL version 2.1, instead of
      the LGPL version 2.0. The iconv program continues to be licensed under GPL
      version 3.
    * Added converters for many single-byte EBCDIC encodings:
      IBM-{037,273,277,278,280,282,284,285,297,423,424,425,500,838,870,871,875},
      IBM-{880,905,924,1025,1026,1047,1097,1112,1122,1123,1130,1132,1137,1140},
      IBM-{1141,1142,1143,1144,1145,1146,1147,1148,1149,1153,1154,1155,1156,1157},
      IBM-{1158,1160,1164,1165,1166,4971,12712,16804}.
      They are available through the configure option '--enable-extra-encodings'.
    
    New in 1.16:
    * The preloadable library has been removed.
    
    New in 1.15:
    * The UTF-8 converter now rejects surrogates and out-of-range code points.
    * Added ISO-2022-JP-MS converter.
    * Updated the CP1255 converter to map one more character.
    * The functions now support strings longer than 2 GB.
    
    New in 1.14:
    * The 'iconv' program now produces its output as soon as it can. It no longer
      unnecessarily waits for more input.
    * Updated the GB18030 converter to map 25 characters to code points that have
      been to Unicode since 2000, rather than to code points in the Private Use
      Area.
    * Updated the BIG5-HKSCS converter. The old BIG5-HKSCS converter is renamed to
      BIG5-HKSCS:2004. A new converter BIG5-HKSCS:2008 is added. BIG5-HKSCS is now
      an alias for BIG5-HKSCS:2008.
    * Fixed a bug in the conversion to wchar_t.
    * Fixed a small bug in the CP1258 converter.
    
    New in 1.13:
    * The library and the iconv program now understand platform dependent aliases,
      for better compatibility with the platform's own iconv_open function.
      Examples: "646" on Solaris, "iso88591" on HP-UX, "IBM-1252" on AIX.
    * For stateful encodings, when the input ends with a shift sequence followed
      by invalid input, the iconv function now increments the input pointer past
      the shift sequence before returning (size_t)(-1) with errno = EILSEQ. This
      is also like GNU libc's iconv() behaves.
    * The library exports a new function iconv_open_into() that stores the
      conversion descriptor in pre-allocated memory, rather than allocating fresh
      memory for it.
    * Added CP1131 converter.
    
    New in 1.12:
    * The iconv program is now licensed under the GPL version 3, instead of the
      GPL version 2. The libiconv library continues to be licensed under LGPL.
    * Added RK1048 converter.
    * On AIX, an existing system libiconv no longer causes setlocale() to fail.
    * Upgraded EUC-KR, JOHAB to include the Korean postal code sign.
    
    New in 1.11:
    * The iconv program has new options --unicode-subst, --byte-subst,
      --widechar-subst that allow to specify substitutions for characters that
      cannot be converted.
    * The iconv program now understands long options:
        long option    equivalent to
        --from-code    -f
        --to-code      -t
        --list         -l
        --silent       -s
    * The CP936 converter is now different from the GBK converter: it has changed
      to include the Euro sign and private area characters. CP936 is no longer an
      alias of GBK.
    * Updated GB18030 converter to include all private area characters.
    * Updated CP950 converter to include the Euro sign and private area characters.
    * Updated CP949 converter to include private area characters.
    * Updated the BIG5-HKSCS converter. The old BIG5-HKSCS converter is renamed to
      BIG5-HKSCS:1999 and updated to Unicode 4. New converters BIG5-HKSCS:2001 and
      BIG5-HKSCS:2004 are added. BIG5-HKSCS is now an alias for BIG5-HKSCS:2004.
    * Added a few irreversible mappings to the CP932 converter.
    * Tidy up the list of symbols exported from libiconv (assumes gcc >= 4.0).
    
    New in 1.10:
    * Added ISO-8859-11 converter.
    * Updated the ISO-8859-7 converter.
    * Added ATARIST converter, available through --enable-extra-encodings.
    * Added BIG5-2003 converter (experimental), available through
      --enable-extra-encodings.
    * Updated EUC-TW converter to include the Euro sign.
    * The preloadable library has been renamed from libiconv_plug.so to
      preloadable_libiconv.so.
    * Portability to mingw.
    
    New in 1.9:
    * Many more transliterations.
    * New configuration option --enable-relocatable.  See the INSTALL.generic file
      for details.
    
    New in 1.8:
    * The iconv program has new options -l, -c, -s.
    * The iconv program is internationalized.
    * Added C99 converter.
    * Added KOI8-T converter.
    * New configuration option --enable-extra-encodings that enables a bunch of
      additional encodings; see the README for details.
    * Updated the ISO-8859-16 converter.
    * Upgraded BIG5-HKSCS, EUC-TW, ISO-2022-CN, ISO-2022-CN-EXT converters to
      Unicode 3.2.
    * Upgraded EUC-KR, CP949, JOHAB converters to include the Euro sign.
    * Changed the ARMSCII-8 converter.
    * Extended the EUC-JP encoder so that YEN SIGN characters don't cause failures
      in Shift_JIS to EUC-JP conversion.
    * The JAVA converter now handles characters outside the Unicode BMP correctly.
    * Fixed a bug in the CP1255, CP1258, TCVN decoders: The base characters of
      combining characters could be dropped at the end of the conversion buffer.
    * Fixed a bug in the transliteration that could lead to excessive memory
      allocations in libintl when transliteration was needed.
    * Portability to BSD/OS and SCO 3.2.5.
    
    New in 1.7:
    * Added UTF-32, UTF-32BE, UTF-32LE converters.
    * Changed CP1255, CP1258 and TCVN converters to handle combining characters.
    * Changed EUC-JP, SHIFT_JIS, CP932, ISO-2022-JP, ISO-2022-JP-2, ISO-2022-JP-1
      converters to use fullwidth Yen sign instead of halfwidth Yen sign, and
      fullwidth tilde instead of halfwidth tilde.
    * Upgraded EUC-TW, ISO-2022-CN, ISO-2022-CN-EXT converters to Unicode 3.1.
    * Changed the GB18030 converter to not reject unassigned and private-use
      Unicode characters.
    * Fixed a bug in the byte order mark treatment of the UCS-4 decoder.
    * The manual pages are now distributed also in HTML format.
    
    New in 1.6:
    * The iconv program's -f and -t options are now optional.
    * Many more transliterations.
    * Added CP862 converter.
    * Changed the GB18030 converter.
    * Portability to DOS with DJGPP.
    
    New in 1.5:
    * Added an iconv(1) program.
    * New locale dependent encodings "char", "wchar_t".
    * Transliteration is now off by default. Use a //TRANSLIT suffix to enable it.
    * The JOHAB encoding is documented again.
    * Changed a few mappings in the CP950 converter.
    
    New in 1.4:
    * Added GB18030, BIG5HKSCS converters.
    * Portability to OS/2 with emx+gcc.
    
    New in 1.3:
    * Added UCS-2BE, UCS-2LE, UCS-4BE, UCS-4LE converters.
    * Fixed the definition of EILSEQ on SunOS4.
    * Fixed a build problem on OSF/1.
    * Support for building as a shared library on Woe32.
    
    New in 1.2:
    * Added UTF-16BE and UTF-16LE converters.
    * Changed the UTF-16 encoder.
    * Fixed the treatment of tab characters in the UTF-7 converter.
    * Fixed an internal error when output buffer was not large enough.
    
    New in 1.1:
    * Added ISO-8859-16 converter.
    * Added CP932 converter, a variant of SHIFT_JIS.
    * Added CP949 converter, a variant of EUC-KR.
    * Improved the ISO-2022-CN-EXT converter: It now covers the ISO-IR-165 range.
    * Updated the ISO-8859-8 conversion table.
    * The JOHAB encoding is deprecated and not documented any more.
    * Fixed two build problems: 1. "make -n check" failed. 2. When libiconv was
      already installed, "make" failed.
    
    New in 1.0:
    * Added transliteration facilities.
    * Added a test suite.
    * Fixed the iconv(3) manual page and function: the return value was not
      described correctly.
    * Fixed a bug in the CP1258 decoder: invalid bytes now yield EILSEQ instead of
      U+FFFD.
    * Fixed a bug in the Georgian-PS encoder: accept U+00E6.
    * Fixed a bug in the EUC-JP encoder: reject 0x8E5C and 0x8E7E.
    * Fixed a bug in the KSC5601 and JOHAB converters: they recognized some Hangul
      characters at some invalid code positions.
    * Fixed a bug in the EUC-TW decoder; it was severely broken.
    * Fixed a bug in the CP950 converter: it recognized a dubious BIG5 range.
    
    New in 0.3:
    * Reduced the size of the tables needed for the JOHAB converter.
    * Portability to Woe32.
    
    New in 0.2:
    * Added KOI8-RU, CP850, CP866, CP874, CP950, ISO-2022-CN-EXT, GBK and
      ISO-2022-JP-1 converters.
    * Added MACINTOSH as an alias for MAC-ROMAN.
    * Added ASMO-708 as an alias for ISO-8859-6.
    * Added ELOT_928 as an alias for ISO-8859-7.
    * Improved the EUC-TW converter: Treat CNS 11643 plane 3.
    * Improved the ISO-2022-KR and EUC-KR converters: Hangul characters are
      decomposed into Jamo when needed.
    * Improved the CP932 converter.
    * Updated the CP1133, MULELAO-1 and ARMSCII-8 mappings.
    * The EUC-JP and SHIFT_JIS converters now cover the user-defined range.
    * Fixed a possible buffer overrun in the JOHAB converter.
    * Fixed a bug in the UTF-7, ISO-2022-*, HZ decoders: a shift sequence a the
      end of the input no longer gives an error.
    * The HZ encoder now always terminates its output in the ASCII state.
    * Use a perfect hash table for looking up the aliases.
    
    New in 0.1:
    * Portability to Linux/glibc-2.0.x, Linux/libc5, OSF/1, FreeBSD.
    * Fixed a bug in the EUC-JP decoder. Extended the ISO-2022-JP-2 converter.
    * Made TIS-620 mapping consistent with glibc-2.1.