Downloading ICU‎ > ‎

Download ICU 60

Release Candidate -- not yet released!


ICU is the 
premier library for software internationalization, used by a wide array of companies and organizations.

Release Overview

ICU 60 provides full support for the recent Unicode 10.0 release with many new characters and many property improvements. Locale data is updated to CLDR 32 which adds several languages and many data improvements. A new, more user-friendly number formatting API has been added.

For more details, including migration issues, see below.

Please use the icu-support mailing list and/or ICU Trac for error reports.

List of tickets fixed in ICU 60

Common Changes

  • Unicode 10.0: 8,518 new characters, including four new scripts, 7,494 new Han characters, and 56 new emoji characters.
    • Properties newly supported in ICU: Emoji_Component, Regional_Indicator, Prepended_Concatenation_Mark
  • CLDR 32:
    • Data for several (mostly Asian) new languages, date formatting patterns using colloquial day period formats ("h:mm B" → “1:30 in the afternoon”), and many other data improvements.
    • See the CLDR download page for other CLDR features and migration issues in CLDR 32.
  • NumberFormatter, a new number formatting API: A long-overdue refresh of number formatting in ICU with a focus on usability, robustness, and performance.  The 30+ settings in DecimalFormat are reduced to 8 in NumberFormatter; all NumberFormatter objects are thread-safe and immutable; and the code is efficient in both the client-side (constant locale) and server-side (variable locale) use cases.
  • New options for titlecasing: (#9198)
    • Sentence titlecasing and whole-string titlecasing without custom BreakIterator instances.
    • The default index adjustment has been changed from "find first cased character" to "find first letter, number, or symbol"; a new option is available for selecting the previous adjustment behavior.
      • For example, with the new index adjustment, whole-string titlecasing yields '49ers' and '«丰(abc)»' instead of '49Ers' and '«丰(Abc)»'.
  • Smaller data files for BreakIterator. (#9954)
    • Reverse rules no longer used: Easier updates, easier to conform to Unicode Standard.
    • Old source rule files continue to work, reverse rules are ignored.
    • Rule-based data files: 1.2MB→0.8MB.

ICU4C Specific Changes

    • New API for direct-UTF-8 normalization. (#13197#13271)
      • It also optionally records changes, for source-to-result index mapping and tracking of text metadata.
    • More convenient case mapping API (StringPiece→ByteSink). (#13203)
    • ICU now handles ill-formed UTF-8 byte sequences as specified in the W3C Encoding Standard. (#13311)

    ICU4J Specific Changes

    • By default, CompactDecimalFormat will show all digits before the decimal separator instead of always rounding to 2 significant digits: 123000 becomes "123K" instead of "120K" (#12775)
    • Spacing is now added between letters and numbers in currency formatting according to CLDR rules (#6560)
    • Some DecimalFormat behavior changes introduced in ICU 59 were changed to mimic ICU 58 behavior; see the ticket query link for details. (Component: format_number)
    • New CaseMap convenience methods: apply(CharSequence)→String. (#13247)
    • Java 9 runtime support (#13330, #13372)

    Known Issues

    ICU4C

    • Platform Issues:
      • The new number formatting API is not available on AIX and z/OS (see #13393)
      • IBM z: Test failures (#13095)
      • Solaris:
        • Unicode issues with some test files (#13096) (tests are not able to build)
        • Time zone detection errors (13097)
      • Windows:
        • When using "@compat=host", on versions below Windows 10 version 1703, 6 locales have date and number formatting issues (#13119).
      • Windows using the ICC compiler:
        • Compilation issues. A work-around is known and reported to succeed. (#13190)
        • Source File Encoding. The ICC compiler does not recognize the /utf-8 option. (#13251)
    • The .zip file is larger than it needs to be. This was because the new makedata_uwp target does not build using prebuilt data. (#13126
    • The .tgz file cannot be used to build with Cygwin/MSVC (#13139

    Migration Issues

    • 24 BGN transliterators are no longer available. Workaround: build directly from CLDR data, and allow “provisional” transliterators.

    ICU4C Platform Support

    • All: Compiler support for C++11 is now required for building the ICU libraries.
      • GCC: version 4.8 and later has been tested.
    • AIX: use xlC C/C++ for AIX 13.1.3 or later

    ICU4C Download

    Version: 60rc
    Release Date: 2017-10-11

    (If the list of files does not appear above, see ICU4C Binaries.)


    (If the list of files does not appear above, see ICU4C Source.)

    To extract the source code, use the following command: svn export http://source.icu-project.org/repos/icu/tags/release-60-rc/icu4c

    ICU locale data was generated from CLDR tag release-32-0-1


    ICU4J Download

    Version: 60rc
    Release Date: 2017-10-1
    (If the list of files does not appear above, see ICU4J files.)


    To extract the source code, use the following command: svn export http://source.icu-project.org/repos/icu/tags/release-60-rc/icu4j