Download ICU 4.0 release
Description
ICU is the premier library for software internationalization. ICU 4.0 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.0 include the following:
-
Common Changes
- Unicode 5.1 (#5696)
- Locale Data: ICU uses and supports data from
Common Locale
Data Repository (CLDR) 1.6
, which includes many improvements in
quality and quantity of data.
- add/removeLikelySubtags
(#6124)
- Charset
converter file size improvement
(#5987)
- Date Interval Formatting (#6157)
Note: Calendar type supported by this feature is Gregorian only in this release.
- Improved Plural support
-
ICU4C Specific Changes
-
ICU4J Specific Changes
-
Charset
-
Graduated from Technology Preview status
-
ICU2022 Converter (#5791)
-
HZ Converter (#6128)
-
SCSU/BOCU-1 Converter (#2147)
-
Charset Converter Callback (#6144)
- Thai Dictionary break iterator (#5385)
- JDK TimeZone support (#5975)
- Locale Service Provider (#5976)
- More convenient formatting of year+month, day+month, and other
combinations (#6304)
- Simple Duration Formatting (#6303)
- ICU4C Security Fixes
ICU4C 4.0 resolves the vulnerabilities CVE-2007-4770 and CVE-2007-4771
which were found in earlier versions of ICU. The standard ICU tests
verify that these have been corrected, however, the updated versions of
the previous tests may be run by applying the following patch to ICU
4.0: r24324. As well, ICU4C and ICU4J 4.0 resolve the issue underlying CVE-2008-1036.
Release Date
2009-01-15 (version 4.0.1)
Source Code Download
In addition to these .tar and .zip files, the code is also tagged in
SubVersion with release-4-0-1.
Binary Distribution Download
Here are the binary distributions of the ICU libraries on our reference
platforms.
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 4.0 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.
Maintenance Release Notes
ICU4C 4.0.1 is a maintenance release of ICU4C 4.0. The primary changes of this release were:
- Updated time zone data to 2008i
- Technical preview of string search implementation using Boyer-Moore algorithm
(#6286). For detail information, please see the tech note
here.
- #5691 Conversion: consistent illegal sequences
- #6435 Bad @stable ICU4.0 tags
- #6597 TestDisplayNamesMeta failure
- #6670 Test failure in format/TimeZoneTest/TestShortZoneIDs
Older 4.0 Releases
Here are links to the older ICU4C 4.0.x releases.
| Version |
Description |
| 4.0 |
First release (2008-07-02) |
Release Date
2009-08-26 (version 4.0.1.1)
Downloads
In addition to these .jar, the code is also tagged in SubVersion with release-4-0-1-1.
Platform Installation Notes
Please be sure to view the readme.html
that is included in ICU4J. Most installation questions can be answered
there.
Maintenance Release Notes
ICU4J 4.0.1.1 is a maintenance release of ICU4J 4.0. The primary changes of this release were:
- Updated time zone data to 2009l
- #6921 Performance degration in RuleBasedCollator
- #7014 TimeZone.getTimeZone("Asia/Amman") returns GMT with tzdata 2009i
ICU4J 4.0.1.1 also contains changes made for former ICU4J 4.0 maintenance releases:
- #6361 Invalid behavor in MessageFormat for null values
- #6422 DurationFormat.getInstance(ULocale) throws MissingResourcesException
- #6459 ICU4J TimeZone#setDefault messes up historic time zone rules in JDK Calendar
- #6502 Holiday.getDisplayName(); doesn't work
- #6503 DateIntervalFormat creation is too slow
- #6612 ICU4J charset converter should not read source data beyond Buffer.limit()
- #6620 Default locale always taken for lenient parse of RuleBasedNumberFormat
- #6644 getDisplayName problem in ICU4J
- #6672 ULocale#getDefault() strips off keywords
- #6670 Test failure in format/TimeZoneTest/TestShortZoneIDs
Older 4.0 Releases
Here are links to the older ICU4J 4.0.x releases.
| Version |
Description |
| 4.0 |
First release (2008-07-02) |
| 4.0.1 |
Maintenance release 1 (2009-01-15) |
|