ICU 3.8 Archive
NOTE: This is an archive of a very old ICU release.
Use these links to find the source mentioned below:
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
ICU Data Library Customizer: This new online tool provides an easier way customize ICU's data.
ICU4J Demonstrations: These will demonstrate some features of ICU4J, like calendars, transliteration, and several other features.
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.
Binary Distribution Download
Here are the binary distributions of the ICU libraries on our reference platforms.
You can verify the downloads with the following MD5 sum file
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.
Various string search fixes (Tickets 4038 4279 5024 5950 5993).
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.
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.
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.