Downloading ICU‎ > ‎

ICU 4.2 Archive

NOTE: This is an archive of a very old ICU release.

Use these links to find the source mentioned below:

Download ICU 4.2 release


ICU is the premier library for software internationalization. ICU 4.2 is a major reference release of ICU, with new features, new APIs, and many bug fixes in data and code.

Major changes in ICU 4.2 include the following:

  • Common Changes
    • Locale Data: ICU uses and supports data from Common Locale Data Repository (CLDR) 1.7 , which includes data for 146 languages, 159 territories, 468 locales- 21% more locale data than the previous release.
    • Number system support and the number keyword.
    • Number system override in DateFormat
    • Numerics used by Hebrew Calendar date in Hebrew locale
    • BCP47 (language tag) / Locale transformation
    • BCP47 mapping of LDML keywords
    • Encoding selector: Return a list of charsets that can handle the input text
    • Simple duration: Implementation of CLDR duration format
    • Available/Preferred keywords for a locale (Calendar, Collation, and Currency)
    • StringPrep standard profiles: RFC3491 NAMEPREP, RFC3530 NFS4, RFC3722 iSCSI, RFC3920 NodePrep/ResourcePrep, RFC4011 MIB, RFC4013 SASLprep, RFC4505 trace and RFC4518 LDAPprep
    • Miscellaneous Arabic shaping enhancements
    • UTF-8 friendly internal data structure for Unicode data lookup
    • API to get CLDR version used by ICU
    • ISCII charset converter updates (added Gurumukhi, other updates)
    • Performance improvements in Time Zone Name format/parse, and in DateIntervalFormat construction
  • ICU4C Specific Changes
    • Unicode spoof (confusable) detection (UTS#39)
  • ICU4J Specific Changes
    • LocaleBuilder for building well-formed locales (ICU4J only)
    • MathContext support for BigDecimal formatting in DecimalFormat
    • LMBCS charset converter
Updates in ICU 4.2.1

ICU4C Download

Release Date

2009-07-01 (4.2.1)

(Help with ICU4C Binaries)

Platform Installation Notes

Please be sure to view the readme.html that is included in ICU. Most installation questions can be answered there. The z/OS (OS/390) script is required to unpackage the compressed tar file on z/OS, and the i5/OS (OS/400) script is required to unpackage the compressed file on IBM i.

The ICU4C 4.2 source downloads contains a pre-built .dat data archive with ICU's data rather than the data source files. This is to simplify the build process for the majority of users and to reduce platform porting issues. If you need the data source files for customization, then please download the ICU source code from SubVersion repository. If you need to remove data from ICU's data library, you can also consider using the new icupkg tool to modify the data built into ICU.

Known Issues, Bugs and Patches

  • IBM i Note: At the time of ICU 4.2.1's release, there were known issues in building on IBM i.
    1. #6930 configure will not work on IBM i. Workaround: Extract the contents of either icu4c-42-i-makefiles.tgz or instead of running runConfigureICU. A more complete solution is being investigated.
  • Intel ICC Compiler:
    1. #6888 ICU under ICC 9.0 exhibits a conversion failure if optimization is turned on. Workaround: disable optimization.
    2. #6894 ICU under ICC 11.0 exhibits numerics failures in parsing and formatting.

ICU4C 4.2 Issues Fixed in the Release

  • Renaming disabled on Windows
    #6929 Inadvertently, ICU 4.2 was changed to disable symbol renaming on Windows builds by default.
    (4.2 may be patched with: r26005 or a replacement pwin32.h: icu\source\common\unicode\pwin32.h)
  • IBM i build issues
    #6936 There was an issue with building ICU data on IBM i.
    (4.2 may be patched with: r26018)
  • IBM zOS build issues
    #6925 under ASCII mode, ICU data may fail to build properly.
    (4.2 may be patched with: r26002)

ICU4C 4.2 Issues Fixed in the 4.2.1 Maintenance Release

  • #6905 ICU4C intltest/cintltst failures without data
  • #6908 Numbering Systems - Malayalam missing digit 5
  • #6919 icu-config generation errors
  • #6980 smpdtfmt.h, serious compiler warning

Older ICU4C 4.2 Releases

Here are links to the older ICU4C 4.2.x releases.

4.2First release (2009-05-08) release (2009-06-01)

ICU4J Download

Release Date

2010-04-13 (

Platform Installation Notes

Please be sure to view the readme.html that is included in ICU4J. Most installation questions can be answered there.

ICU4J 4.2 Issues Fixed in the Maintenance Release

  • #7107 Synchronization issue in TimeZone.getDisplayName
  • #7137 ICU4J SimpleDateForamt takes too much time for initializing DateFormatSymbols
  • #7140 SimpleDateFormat constructor takes too much time on initializing NumberingSystem
  • #7169 DateTimePatternGenerator threading problem
  • #7227 BaseTimeZone#getSimpleTimeZoneRulesNear problem

ICU4J 4.2 Issues Fixed in the 4.2.1 Maintenance Release

  • #6918 Date formatting should honor @numbers
  • #7014 TimeZone.getTimeZone("Asia/Amman") returns GMT with tzdata 2009i
  • #7017 ICU4J time zone test failure with tzdata2009i

Older ICU4J 4.2 Releases

Here are links to the older ICU4J 4.2.x releases.

4.2First release (2009-05-08)
4.2.1Maintenance release 1 (2009-07-01)