Navigation

Downloading ICU‎ > ‎

Download ICU 51

Description

ICU is the premier library for software internationalization. ICU 51.2 is a maintenance release to ICU 51, see information below.

ICU 51.1 was a major release of ICU, with new features, new APIs and many bug fixes in data and code.

Major changes since ICU 50 include the following:

Common Changes

  • CLDR 23: Collation tailorings put native script first; non-Gregorian calendar formats are more consistent; much improved data for Armenian (hy), Georgian (ka), Mongolian (mn), and Welsh (cy); … [#9890, #9840, #9876#9925]
  • Time zone data: 2013b
  • Date format/parse now supports CLDR short weekday names ("EEEEEE", "cccccc"). [#9497]
  • Support DisplayContext for date formatting, locale display names. [#9643]
  • DateTimePatternGenerator behavior is now much more consistent between C and J. [#9965 and others]
  • Support new timezone pattern characters in LDML spec: X+, x+, O, OOOO, V, VV, VVV. [#9867]
  • Updated  SpoofChecker for v5 of UTS#39. [#9440]
  • AlphabeticIndex enhancements:
    • New thread-safe ImmutableIndex sub-API [#9880]
    • Build an index for a custom Collator. [#9842]
    • Make data-driven for Chinese collations. [#9854]
  • New API for CLDR script metadata. [#9538, #7016]

ICU4C Specific Changes

  • Support for “dangi” Korean luni-solar calendar (already in ICU4J). [#9616]
  • Add CompactDecimalFormat (already in ICU4J). [#9543]
  • Add TerritoryContainment APIs (already in ICU4J). [#8451]
  • UnicodeString default constructor and destructor now inline. [#9635]
  • Layout engine now supports 'morx' tables. [#9868]
  • Fixed some ICU 50 regressions:
    • Affixes set with e.g. DecimalFormat::setPositivePrefix were ignored for parse. [#9677]
    • UNUM_PARSE_INT_ONLY no longer handled grouping separator. [#9780]
  • Add ucal_getTimeZoneID. [#9735]
  • The C++ AlphabeticIndex implementation is now on par with Java, including full support for all Chinese collation tailorings.
  • U8_NEXT() and similar low-level macros now support NUL-terminated UTF-8 strings. [#9664]230
  • New macros like U8_NEXT_OR_FFFD() return U+FFFD for an ill-formed sequence. [#9662]
  • Conversion: New "good one-way" mapping type, for example for Variation Selector sequences. [#9602]

ICU4J Specific Changes

Known Issues

  • ICU4C:
    • [Fixed in 51.2] enumset.h not copied to include folder when building with Visual Studio  [#10047]

    • [Fixed in 51.2] 2013-Apr-18: Security Vulnerabilities in the Layout Engine. [#10107]  (ALL prior versions)
      Applications which use fonts from untrusted sources are vulnerable to security issues.
      • Scope: These issues do not affect applications which don't use the ICU Layout Engine. These issues would primarily affect applications which process fonts from untrusted sources, such as webfonts.
      • NOTE: Applications must implement LEFontInstance::getFontTable(LETag, size_t &length)  in their LEFontInstance subclasses, so that ICU can properly bounds-check font tables.
      • Cross Reference: The following RedHat Bug #s, CVEs, and Oracle Java bug#s are fixed by the following patch, which is synchronized with the Java 1.7 u update 21:

        • RH# 952656 - CVE-2013-2419 OpenJDK: font processing errors (2D, Java #8001031)
        • RH# 952708 - CVE-2013-2383 OpenJDK: font layout and glyph table errors (2D, Java #8004986)
        • RH# 952709 - CVE-2013-2384 OpenJDK: font layout and glyph table errors (2D, Java #8004987)
        • RH# 952711 - CVE-2013-1569 OpenJDK: font layout and glyph table errors (2D, Java #8004994)
      • Patch: Please download and overlay the following patches (this will replace your source/layout directory ).  
      • HarfBuzz: users of ICU Layout are strongly encouraged to consider the HarfBuzz project as a replacement for the ICU Layout Engine.  An ICU team member responsible for the Layout Engine is contributing fixes and features to HarfBuzz, and a drop in wrapper is available to allow use of HarfBuzz as a direct replacement for the ICU layout engine. See: http://www.freedesktop.org/wiki/Software/HarfBuzz

Updates in ICU 51.2
Note: See following sections for ICU4C and ICU4J specific changes. Also, see the ICU trac 51.2 milestone page for the full description of the changes.

ICU4C Download

Version: 51.2
Release Date: 2013-05-23

ICU4C Specific Changes since 51.1 (See the ICU trac 51.2 milestone page for more details)

  • #9904 / #10047 fix for enumset.h not being installed on Windows
  • #9996 zOS pkgdata fix
  • #10013 Test fixes
  • #10030 Region enumeration fix
  • #10081 make stable sort faster
  • #10098 host failures for DateFormatTest
  • #10107 LayoutEngine security patches (see above)
  • #10120 ubrk fix for word_POSIX infinite loop
  • #10143 fix memory leak/crash in LayoutEngine
  • #10147 fix header guard typo in layout/TibetanReordering.h



(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-51-2/


Previous ICU4J 51 Releases

Release Date: 2013-03-22

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
IBM i family (IBM i, i5/OS, OS/400) iCC Rarely tested
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: 51.2
Release Date: 2013-05-23
ICU4J Specific Changes since 51.1 (See the ICU trac 51.2 milestone page for more details)
  • #10063 Proper Collection support in ListFormatter
  • #10110 ClassCastException problem in SimpleDateFormat
  • #10136 LocaleData delimiter problem


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


Previous ICU4J 51 Releases

Release Date: 2013-03-22
Comments