Download ICU 53

Description

ICU is the premier library for software internationalization.

ICU 53 contains major improvements. Collation supports much faster UTF-8 sorting, much smaller data files, improved syntax, and many bug fixes. The latest data from CLDR is incorporated, with many fixes and improvements to locale data. Formatting has been improved significantly, such as the addition of relative times ("3 weeks ago"), and API to format the new measurement units in CLDR (1 meter vs 3 meters). For the more detailed list of features, see below.

Common Changes

    • Data from the CLDR 25 release: Many bug fixes

    • Time zone data: 2014b, including post CLDR 25 time zone data update to CLDR.

    • U+20BD Ruble Sign added (from Unicode 7.0, otherwise ICU 53 still uses Unicode 6.3)

    • MeasureFormat API for new units in CLDR 24 (ICU4J #10268, ICU4C #10640)

    • Hoisted setContext/getContext from SimpleDateFormat to DateFormat (#10591), implement context-sensitive capitalization of relative dates (#10553)

    • Added setContext/getContext methods to NumberFormat (and unum_setContext/unum_getContext for UNumberFormat), implement context-sensitive number formatting (for RBNF spellout). (#10574, #10633)

  • Improved lenient date parsing consistency between ICU4C and ICU4J (#10334), add finer-grained control of date parsing leniency (#10619)

    • Fixed numeric rounding in TimeUnitFormat (#10219, part of #10268)

    • Fixes to Unicode 6.3 bidirectional algorithm implementations to behave exactly like reference implementations (#10647)

    • Improved UTF-16 charset detection (#10532)

    • Collation code re-implemented

    • Many bugs fixed, some enhancements implemented (link for ticket query)

      • Passes full UCA conformance tests now

      • Updated to UCA 6.3/CLDR 24 root collation

      • Performance: string comparisons significantly faster

      • Collation data size (uncompressed) reduced from 4.48MB (ICU 52) to 2.62MB

        • New data format, removed empty files (CLDR #6744), fixed genrb bug (ICU #10810)

      • More APIs function when collation rule strings have been omitted from the data files (e.g., getTailoredSet())

    • Java Collator.compare(Object, Object) now works with CharSequence, not just String

    • Java Collator base class (does not apply to RuleBasedCollator instances): getters for strength, decomposition mode, and locales return hardcoded default values; their setters do nothing

      • Rule syntax and semantics tightened and improved, matching LDML 25 Collation Rule Syntax

        • In particular, rule chains now must start with a reset.

      • Setting of variableTop deprecated, and not supported in rule syntax any more

    • Accounting format supported in NumberFormat (#10601)

    • RelativeDateTimeFormatter class for formatting relative times such as "3 weeks ago" or "next Tuesday." (#8464)

    • Updated Spoof Checker for Unicode Security Standard version 6.3. (#10706)

ICU4C Specific Changes

Note: ICU4C now requires compilers with C99 support.

    • Added utrans_toRules and utrans_getSourceSet, C wrappers for Transliterator methods toRules and getSourceSet/handleGetSourceSet (#10585)

    • Fixed DecimalFormat::setPattern() to completely replace the previous pattern (#10468)

    • Fixed regex segfault when using UText based APIs and uregex_group() is called when no match results are available (#10459)

    • ucstrTextClone did not clear UTEXT_PROVIDER_OWNS_TEXT flag for shallow clones (#10562)

    • Various build fixes (use of #define U_USING_ICU_NAMESPACE 0, use of UCONFIG_NO_FORMATTING=1 and UCONFIG_NO_CONVERSION=1 on Windows, builds on Cygwin/MSVC-10 (#10486, #10500, #10617, #10505).

    • Technology Preview: ULI break iteration skip data, and a BreakIteratorFilterBuilder to take advantage of it (#10286)

    • Deprecated the USearchAttribute USEARCH_CANONICAL_MATCH; setting it to USEARCH_ON has long had no effect. (#10725)

    • unum_open now supports UNUM_CURRENCY_ISO and UNUM_CURRENCY_PLURAL styles. (#10676)

    • SimpleDateFormat format/parse now support the new 'r' pattern character for related Gregorian year (see Date Field Symbol Table). (#10637)

    • MeasureFormat is now a concrete class and supports formatting a variety of measure units in addition to time and currency. (#10640)

    • TimeUnitFormat is deprecated in favor of MeasureFormat (#10703)

ICU4J Specific Changes

  • Made ULocale implement Comparable (#10390)

    • SimpleDateFormat now supports day styles eee, eeee, eeeee, EEEEE as in ICU4C (#10239)

    • Fixed numeric rounding for NumberFormat and for DecimalFormat scientific notation (#10419, #10542)

    • Added setTimeZone/getTImeZone methods to DateIntervalFormat. (#8511)

    • StringSearch code re-implemented

      • Ported ICU4C implementation to ICU4J, replacing the previous implementation

      • Setter/getter for ElementComparisonType added in SearchIterator (#10735)

    • MeasureFormat moved out of technical preview. (#10268)

Known Issues

    • C: In some environments (newer clang, older gcc/libstdc++) ICU may fail to build, see #10272 for workaround.

    • C: DateFormat::setLenient(FALSE) won't force strict date parsing (#10816). The fix for this problem is planned to be included in the next ICU4C official release.

    • C: There are some issues compiling with IBM i (#10917)

    • C: ICU4C does not compile under Microsoft Visual Studio 2015 (#11689) (Affects all versions of ICU before 56)

Updates in ICU 53.2

    • New Japanese era Reiwa (令和) support

    • IANA tzdata2019a

ICU4C Download

Latest ICU 53 Release

Version: 53.2

Release Date: 2019-04-11

Source and binary downloads are available on the git/GitHub tag page: https://github.com/unicode-org/icu/releases/tag/release-53-2

Previous ICU4C 53 Releases

Version: 53.1

Release Date: 2014-04-02

ICU4C Supported Platforms

Key to testing frequency

Frequently tested

ICU will work on these platforms with these compilers

Rarely tested

ICU has been ported to these platforms but may not have been tested there recently

ICU4J Download

Latest ICU 53 Release

Version: 53.2

Release Date: 2019-04-11

    • New Japanese era Reiwa (令和) support

    • IANA tzdata2019a

Source and binary downloads are available on the git/GitHub tag page: https://github.com/unicode-org/icu/releases/tag/release-53-2

Maven dependency:

<dependency>

<groupId>com.ibm.icu</groupId>

<artifactId>icu4j</artifactId>

<version>53.2</version>

</dependency>

Previous ICU4J 53 Releases

Version: 53.1/Java 8 Locale Service Provider support update

Release Date: 2015-06-10

icu4j-localespi-53_1.jar included in 53.1 release (2014-04-02) does not work well on Java 8 (it works fine on Java 6 and 7).

The version below contains the fix (svn tag: release-53-1-localespi-java8-20150610). There are no changes in ICU4J core library code. Please refer ICU Trac ticket #11733 for the details.

Version: 53.1

Release Date: 2014-04-02