Skip to main content

International Components for Unicode

Download ICU 3.8 release


Description

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

Major changes in ICU 3.8 include the following:

  • Common Changes
    • Locale Data: ICU uses and supports data from Common Locale Data Repository (CLDR) 1.5.0.1, which includes many improvements in quality and quantity of data.
    • Rule Based Time Zone: This set of classes provides the ability to read and write time zone data in RFC2445 VTIMEZONE format. This also provides access Olson timezone transitions.
    • Timezone Formatting: This has changed to give more human readable results.
    • Relative Date/Time Formatting: A draft of the relative date/time format class has been added. This functionality can be accessed through the DateFormat::createDateInstance or DateFormat.getInstance factory method. It provides the ability to format localized dates in terms of "yesterday", "today" and "tomorrow", instead of a specific only date or time.
    • Demonstrations and Tools
  • ICU4C Specific Changes
    • Flexible Date/Time Formatting: A draft of flexible date/time format generator has been added. This allows multiple date and time format patterns to be generated that are valid for specific locales. This funtionality can be accessed through the DateTimePatternGenerator API.
    • Time Zones: The default time zone is detected more accurately on Unix machines.
    • Additional Calendars
      • @calendar=taiwan: This calendar is a variant of the Gregorian calendar used in Taiwan.
      • @calendar=indian: This is the Indian national calendar.
      • @calendar=persian: This is the Persian calendar. It is also known as the Jalāli Calendar. It is used in several Arabic countries.
    • UnicodeSet
      • The Freezable design pattern is now supported, which can improve performance for the contains() and span() methods on frozen UnicodeSet objects.
      • A span function was added for iterating through strings.
      • The containsAll(string) and containsNone(string) now support set strings, instead of only codepoints.
    • Performance
      • Charset conversion performance has been enhanced. The amount of improvement varies depending on the converter being used and platform being used.
      • Rule based transliterator construction performance has been improved.
  • ICU4J Specific Changes
    • Additional Calendars
      • @calendar=taiwan: This calendar is a variant of the Gregorian calendar used in Taiwan.
      • @calendar=indian: This is the Indian national calendar.
    • Charset Conversion
      • The ICU4J implementation of java.nio.charset.Charset is included as a Technology Preview. Use with caution.
      • CESU-8, UTF-7 and ISCII converters have been ported from ICU4C to ICU4J.
      • Several bugs involving proper mapping of characters to or from a charset have been fixed.
      • Performance has been improved for several converters.
    • BiDi: A new BiDi implementation was added.
    • PluralFormat: This new MessageFormat type was added. This functionality is helpful for Eastern European languages that have different plural inflections of a word at regular intervals of a described quantity.
    • DurationFormat: This new implementation can format a duration in time such as "2 hours, 46 minutes, and 40 seconds".
    • MessageFormat named arguments: Arguments can now be named in MessageFormat.

ICU4C Download

Release Date

2007-Dec-12 (version 3.8.1)

Source Code Download

In addition to these .tar and .zip files, the code is also tagged in SubVersion with release-3-8-1.

File Size Description
icu4c-3_8_1-src.zip 11.4 MB ZIP file for Windows platforms
icu4c-3_8_1-src.tgz 10.7 MB gzipped tar archive for Unix and other platforms
icu4c-3_8-docs.zip 3.9 MB ZIP file with the API documentation
icu-3_8-userguide.zip 2.5 MB ZIP file with the User Guide documentation

Binary Distribution Download

Here are the binary distributions of the ICU libraries on our reference platforms.

File Size Platform
icu4c-3_8_1-AIX5_3-VA8.tgz 7.8MB AIX 5.3 (PowerPC 64-bit) VisualAge 8
icu4c-3_8_1-HPUX11iv2-aCC.tgz 8.9MB HP-UX 11i v2 (B.11.23) (Itanium 64-bit) aCC A.06.10
icu4c-3_8_1-RHEL5-gcc4_1_1.tgz 6.4MB Red Hat Enterprise Linux 5 (x86 32-bit) gcc 4.1.1
icu4c-3_8_1-Solaris10-CC.tgz 7.4MB Solaris 10 (Sparc 64-bit) Forte 11
icu4c-3_8_1-Win32-msvc8.zip 6.6MB Windows (win32 x86 32-bit) Visual Studio 2005 (MSVC 8.0)

You can verify the downloads with the following MD5 sum file

3.8.1.md5

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) unpax-icu.sh script is required to unpackage the compressed tar file on z/OS, and the i5/OS (OS/400) unpax-icu.sh script is required to unpackage the compressed file on i5/OS.

The ICU4C 3.8 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

As a byproduct, the behavior of date formatting and parsing has changed in ways that may requiring recoding on your part depending on your usage. For more information, see Formatting Dates and Times in the User Guide.

For the list of known issues with ICU4C 3.8 please see the readme file.

Maintenance Release Notes

ICU4C 3.8.1 is a maintenance release of ICU4C 3.8. The primary changes of this release were:

  • Updated time zone data to Olson 2007j.
  • Updated to CLDR 1.5.1 data (Tickets 6010 6047).
  • Various string search fixes (Tickets 4038 4279 5024 5950 5993).
  • Various collation fixes (Tickets 5913 6004).
  • Various time zone parsing, formatting and calculation fixes (Tickets 5934 5965 5971 5990).
  • Various font layout engine fixes (Tickets 5906 5923 5991 6006 6007).
  • Various platform specific fixes (Tickets 5951 5985 5992 5994 6054).
  • Improved BiDi implementation to handle multiple levels (Ticket 6032).

Older 3.8 Releases

Here are links to the older 3.8.x releases.

Version Description
3.8.0 First release

ICU4J Download

Release Date

2007-Dec-12 (version 3.8.1)

Downloads

In addition to these .jar, the code is also tagged in SubVersion with release-3-8-1.

File Size Description
icu4j-3_8_1.jar 4.4 MB Jar file containing binaries.
icu4j-charsets-3_8_1.jar 2.4 MB Jar file containing binaries for charsets.
icu4j-3_8_1-src.jar 13.4 MB Jar file containing the sources.
icu4j-3_8_1-docs.jar 1.4 MB Jar file containing the documentation.

Platform Installation Notes

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

Known Issues, Bugs and Patches

As a byproduct, the behavior of date formatting and parsing has changed in ways that may requiring recoding on your part depending on your usage. For more information, see Formatting Dates and Times in the User Guide.

Starting in 2008 one of ICU4J's tests started failing. The failing test (ICU/Duration/ICUDurationTest/TestBasics) does not affect library code. To fix the failing test, you can patch your copy of ICU4J with this patch to the test.

The ICU4J implementation of java.nio.charset.Charset is included as a Technology Preview. Not all functionality from the java.nio.Charset interfaces is operational, and some converters are known to mis-handle Unicode supplementary characters. Use with caution.

For the list of known issues with ICU4J 3.8 please see the readme file.

Maintenance Release Notes

ICU4J 3.8.1 is a maintenance release of ICU4J 3.8. The primary changes of this release were:

Older 3.8 Releases

Here are links to the older 3.8.x releases.

Version Description
3.8.0 First release