ICU 3.4 Archive

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

Use these links to find the source mentioned below:

Download ICU 3.4 release

Description

ICU 3.4 is a major ("reference") release with new features, new and modified APIs.

Major changes in ICU 3.4 include the following:

    • Updates to conform to Unicode 4.1, including new characters properties and values, text segmentation, plus collation updated for Unicode Technical Standard #10 (UCA) and regex updated for Unicode Technical Standard #18.

    • Updates to conform to the Common Locale Data Repository (CLDR), Version 1.3 for the latest locale data. This includes:

        • New data to support localization of timezones, United Nations M.49 regions (including continents and regions), mappings from language to script and territory.

        • Consolidation of inherited data and improved resource aliasing for smaller data footprint

        • Additional locales, and many other fixes and additions of locale data.

    • Charset detection (ICU4J only), with heuristics for detecting the charset for unlabeled sequences of bytes.

    • High-performance text access (ICU4C only), permitting implementations to more efficiently use ICU services with non-UTF-16 encodings and discontiguous text sources (such as HTML). (Technology preview: services limited to segmentation in 3.4.)

    • POSIX migration support: direct API support for all POSIX character classes, implemented according to Unicode recommendations

    • Componentization:

        • Eliminated requirement for explicit library initialization

        • Reduced footprint for collation, for embedded platforms

        • Support for multi-process memory handling

        • Simplified build process for product teams

        • Better modularization

        • Easier incorporation as system-level APIs

        • More efficient data loading

        • Improved support for building ICU4C for Palm OS and other embedded platforms.

    • Functionality and Usability:

        • Accept-Language support (for web sites)

        • Improved date formatting (including timezones)

        • Improved apostrophe handling in MessageFormats

        • New APIs for listing available currencies, accessing CLDR data

        • Conformance to Unicode Pattern_Whitespace in rules

        • Multi-pass transliteration rules in single source

        • In Layout, added kerning; Oriya, Khmer support; reordering of Arabic and Hebrew marks

        • Alternate calendars supported in formatting

        • UTF-8 string toLower() and toUpper() functions

ICU4C Download

Release Date

2006-Feb-28

Source Code Download

Other than via these .tar and .zip files, the code is also tagged in Subversion with release-3-4-1.

The ICU4C 3.4.1 source downloads contain a pre-built .dat package 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.

Note: Due to a packaging error, these files were updated on March 10, 2006. The original packages contained version information to show up as 3.4.0 instead of 3.4.1. These packages correctly contain the version as 3.4.1.

Binary Distribution Download

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

Maintenance Release Notes

ICU4C 3.4.1 is a maintenance release of ICU4C 3.4. The primary features of this release are:

    • Updated timezone data based on Olson 2006a.

        • incorrect historical DST calculation (Ticket 5015)

    • Improved portability to Microsoft Visual Studio .NET 2005, z/OS, Solaris 10 and several other platforms.

    • Improved default codepage and default locale detection.

    • A number of collation bug fixes.

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.

Known Issues, Bugs and Patches

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

Older 3.4 Releases

Here are links to the older 3.4.x.

Version

3.4.0

Description

First release

ICU4J Download

Release Date

2006-Sep-1

Downloads

Other than via the jar files, the code is also tagged in SubVersion with release-3-4-5.

Maintenance Release Notes

ICU4J 3.4.5 is a maintenance release of ICU4J 3.4. The primary features of this release are:

    • Updated timezone data based on Olson 2006j.

    • Use IllegalStatusException instead of InternalError for ordinary run-time exception (Ticket 5286).

    • Improved DateFormat format/parse performance (Ticket 5203).

    • Bug fixes (not a complete list):

        • Runtime error in Collator.getInstance on JRE6 environment (Ticket 5147).

        • TimeZone.getOffset may return wrong offset for time before the first offfset transition (Ticket 5134).

        • Timezone string parsing problem in DateFormat.parse (Ticket 5290).

ICU4J 3.4.5 also contains changes made for former ICU4J 3.4 maintenance releases:

    • Fixes crashing bugs in the data (Ticket 5108).

    • uses Olson 2006a time zone data (in 3.4.4, updated to 2006j in 3.4.5)

    • no longer tags @draft APIs with @deprecated by default

    • provides the option to build ICU4J core classes and tests on Java 1.3 (ICU4J 3.4.2 would run, but not build, on Java 1.3)

    • promotes MessageFormat APIs that parallel Java's to @stable

    • corrects mistakes in CLDR data that went out in 3.4.2

    • Fixes bugs (highlights):

        • DateFormat would use the wrong short month names in some locales (Ticket 5006)

        • StringTokenizer did not match Java's StringTokenizer behavior when returning tokens for delimiters (Ticket 5061)

        • SimpleDateFormat would sometimes throw an exception during construction (Ticket 5054)

        • incorrect historical DST calculation (Ticket 5015)

    • Remove dependency on sun.util.calendar.ZoneInfo (Ticket 4422).

    • Chinese calendar missing constructor call to setTimeInMillis()(Ticket 4555).

    • Provide mechanism for loading Java resources with ULocale(Ticket 4767).

    • Possible rounding bug for currency (Locale=de_CH)(Ticket 4863).

    • ChineseDateFormat.toLocalizedPattern() throws java.lang.IllegalArgumentException. (Ticket 4904).

    • General release related changes.

Platform Installation Notes

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

Known Bugs and Patches

It is likely that the new get Locale API for services will change in the next release.

ICU4JNI Download

Release Date

2005-Aug-01

Source Code Download

Other than via these ZIP files, the code is also tagged in Subversion with release-3-4.

Known Issues, Bugs and Patches

For the list of known issues with ICU4JNI 3.4 please see the readme file

The icu4jni_3_4_patch-01.zip patch contains fixes for memory leaks in 3.4 (Ticket 4762). The instructions on applying this patch are located the ICU patch page.