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
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.
Updates in ICU 51.3- New Japanese era Reiwa (令和) support
- IANA tzdata2019a
ICU4C Download
Version: 51.3
Release Date: 2019-04-11
Previous ICU4J 51 Releases
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
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.3
Release Date: 2019-04-11
Maven dependency: <dependency>
<groupId>com.ibm.icu</groupId>
<artifactId>icu4j</artifactId>
<version>51.3</version>
</dependency>
Previous ICU4J 51 Releases
Version: 51.2 Release Date: 2013-05-23- #10063 Proper Collection support in ListFormatter
- #10110 ClassCastException problem in SimpleDateFormat
- #10136 LocaleData delimiter problem
Release Date: 2013-03-22
|