Downloading ICU‎ > ‎

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 data2014b,  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)

ICU4C Download

Version: 53.1
Release Date: 2014-04-02

(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/icu/tags/release-53-1/

ICU4C Supported Platforms

Here is the status of building ICU on several different platforms.
AIX 7.1 (power, 64-bit) IBM XL C/C++ 12.1
Frequently Tested
AIX 6.1 (power, 64-bit) IBM XL C/C++ 11.1
Frequently Tested
AIX 6.1 (power, 64-bit) gcc 4.2.0
Frequently Tested
HP/UX 11iv3 (ia64, 64-bit) aCC A.06.20 Frequently Tested
MacOSX 10.6 Snow Leopard (x86, 32-bit) gcc 4.2.1 Frequently Tested
MacOSX 10.8 Mountain Lion (x86, 64-bit) gcc 4.2.1 Frequently Tested
Red Hat Enterprise Linux 6.2 (x86, 32-bit) gcc 4.4.6 Frequently Tested
Red Hat Enterprise Linux 6.2 (x86, 64-bit) gcc 4.4.6 Frequently Tested
Red Hat Enterprise Linux 6.2 (x86, 64-bit) icc 11.1 Frequently Tested
Red Hat Enterprise Linux 6.2 (power, 64-bit) gcc 4.4.6
Frequently Tested
Solaris 10 (sparc, 64-bit) Sun Studio 12.3 Frequently Tested
Solaris 10 (sparc, 64-bit) gcc 4.2.1 Frequently Tested
Solaris 11 Express (sparc, 64-bit)
Sun Studio 12.3
Frequently Tested
Solaris 11.1 (x86, 32-bit)
Sun Studio 12.3
Frequently Tested
Solaris 11.1 (x86, 32-bit)
gcc 4.5.2
Frequently Tested
Windows 7 (x86, 32-bit) MS Visual Studio 10
Frequently Tested
Windows Server 2008 (x86, 64-bit) MS Visual Studio 10
Frequently Tested
Windows Server 2008 (x86, 64-bit) MS Visual Studio 10 via Cygwin Frequently Tested
Windows Vista (x86 32-bit)
MS Visual Studio 10
Frequently Tested
Windows Vista (x86, 32-bit) gcc 4.5.2 via MinGW
Frequently Tested
Windows XP Professional (x86, 32-bit) MS Visual Studio 10
Frequently Tested
Windows XP Professional (x86, 32-bit) MS Visual Studio 9 via Cygwin
Frequently Tested
Windows XP Professional (x86, 32-bit) gcc 4.3.4 via Cygwin
Frequently Tested
SuSe Linux 7.2 (x86, 32-bit) icc 9.0 Rarely tested
z/OS 11.1 cxx Tested at Milestones
Linux (power, 64-bit, little endian)
gcc
Tested at Milestones
IBM i family (IBM i, i5/OS, OS/400) iCC Tested at Milestones
NetBSD, OpenBSD, FreeBSD gcc Rarely tested
SUSE Linux Enterprise Server 9 (PowerPC) IBM XL C/C++ 8.0 Rarely tested
QNX gcc Rarely tested
BeOS/Haiku gcc Rarely tested
SGI/IRIX MIPSpro CC Rarely tested
Tru64 (OSF) Compaq's cxx compiler Rarely tested
MP-RAS NCR MP-RAS C/C++ Compiler Rarely tested

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

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
(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/icu4j/tags/release-53-1/