Skip to content

Commit

Permalink
ICU-22723 start ICU 76 download page
Browse files Browse the repository at this point in the history
  • Loading branch information
markusicu committed Aug 25, 2024
1 parent 9bb4536 commit 7c66c5c
Showing 1 changed file with 127 additions and 0 deletions.
127 changes: 127 additions & 0 deletions docs/download/76.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,127 @@
---
layout: default
title: ICU 76
nav_order: 9999
has_children: false
---

<!--
© 2024 and later: Unicode, Inc. and others.
License & terms of use: http://www.unicode.org/copyright.html
-->

<!-- TODO: fix nav_order, add download/index.html, hook into docs/index.md -->

# ICU 76

ICU is the [premier library for software internationalization](https://icu.unicode.org/#h.i33fakvpjb7o), used by a [wide array of companies and organizations](https://icu.unicode.org/#h.f9qwubthqabj).

## Release Overview

ICU 76 updates to [Unicode 16](https://www.unicode.org/versions/Unicode16.0.0/) (TODO: link to blog),
including new characters and scripts, emoji, collation & IDNA changes, and corresponding APIs and implementations.
It also updates to [CLDR 46](https://github.com/unicode-org/cldr/blob/main/docs/site/downloads/cldr-46.md) (TODO: link to blog) locale data with new locales and various additions and corrections.

There are some new APIs to make ICU easier to use with modern C++ and Java patterns.

The Java and C++ technology preview implementations of the (also in [tech preview](https://github.com/unicode-org/message-format-wg?tab=readme-ov-file#messageformat-2-technical-preview)) CLDR MessageFormat 2.0 specification have been updated to match recent changes.

For more details, including migration issues, see below.

Please use the [icu-support mailing list](https://icu.unicode.org/contacts) and/or [find/submit error reports](https://icu.unicode.org/bugs).

### Version Number

The initial release has library version number 76.1.

* Release date: 2024-10-TODO
* [List of tickets fixed in ICU 76](https://unicode-org.atlassian.net/issues/?jql=project%20%3D%20ICU%20AND%20status%20%3D%20Done%20AND%20resolution%20in%20%28Fixed%2C%20%22Fixed%20by%20Other%20Ticket%22%29%20AND%20fixVersion%20%3D%2076.1%20ORDER%20BY%20component%20ASC%2C%20created%20DESC)

If there are maintenance releases, they will be 76.2, 76.3, etc. (During ICU 76 development, the library version number was 76.0.x.)

Note: There may be additional commits on the [maint/maint-76](https://github.com/unicode-org/icu/tree/maint/maint-76) branch that are not included in the prepackaged download files.

## Common Changes

* [Unicode 16](https://www.unicode.org/versions/Unicode16.0.0/) (TODO: link to blog):
* TODO
* [CLDR 46](https://github.com/unicode-org/cldr/blob/main/docs/site/downloads/cldr-46.md) (TODO: link to blog):
* TODO: new stuff
* TODO: below is from 45
* MessageFormat 2.0 tech preview being included into LDML.
* Structural “under the hood” work and limited data bug fixes, but no new data collection.
* Some time zones deprecated following IANA TZ database changes.
* TODO: new stuff
* TODO: below is from 75
* New Unicode properties APIs for Identifier_Status and Identifier_Type, defined by UTS \#39 Unicode Security Mechanisms, [General Security Profile for Identifiers](https://www.unicode.org/reports/tr39/#General_Security_Profile). ([ICU-11396](https://unicode-org.atlassian.net/browse/ICU-11396))
* Time zone data (tzdata) version 2024a (2024-jan). Note that pre-1970 data for a number of time zones has been removed, as has been the case in the upstream [tzdata](https://www.iana.org/time-zones) release since 2021b.

## ICU4C Specific Changes

* [API changes since ICU4C 75 (Markdown)](https://github.com/unicode-org/icu/blob/maint/maint-76/icu4c/APIChangeReport.md) / [(HTML)](https://htmlpreview.github.io/?https://github.com/unicode-org/icu/blob/maint/maint-76/icu4c/APIChangeReport.html)
* TODO: new stuff
* TODO: below is from 75
* MessageFormat 2.0 tech preview new API ([ICU-22261](https://unicode-org.atlassian.net/browse/ICU-22261))
* C: Require C11 (up from C99)
* C++: Require C++17 (up from C++11)
* Many changes for more robust string and buffer handling.

## ICU4J Specific Changes

* [API Changes since ICU4J 75](https://htmlpreview.github.io/?https://github.com/unicode-org/icu/blob/maint/maint-76/icu4j/APIChangeReport.html)
* TODO: new stuff
* TODO: below is from 75
* MessageFormat 2.0 tech preview update ([ICU-22690](https://unicode-org.atlassian.net/browse/ICU-22690))
* Performance (multi-threading / lock contention) improvement for BreakIterator.clone() and ULocale.getDefault(). ([ICU-22582](https://unicode-org.atlassian.net/browse/ICU-22582))

## Known Issues

* TODO: new stuff
* TODO: below is from 75
* [ICU-22729](https://unicode-org.atlassian.net/browse/ICU-22729) udatpg_getBestPattern requires exact skeleton match in ICU 76
* Due to a combination of an ICU bug fix and issues with CLDR availableFormats data, some skeletons in some languages yield inconsistent data/time formatting patterns.

## Migration Issues

* See [CLDR 46 migration issues](https://github.com/unicode-org/cldr/blob/main/docs/site/downloads/cldr-46.md#migration)
* TODO: new stuff
* TODO: below is from 75
* ICU4C behavior for ill-formed locale IDs/language tags: uloc_getName(), uloc_getLanguage() and similar functions (and functions that rely on them) may fail with a U_ILLEGAL_ARGUMENT_ERROR when they used to fail only with a U_BUFFER_OVERFLOW_ERROR. (due to changes for [ICU-22520](https://unicode-org.atlassian.net/browse/ICU-22520))
* On Linux, the configure script now defaults to "cc" rather than preferring "clang". If you want to choose clang, then configure for "Linux/clang". ([ICU-22556](https://unicode-org.atlassian.net/browse/ICU-22556))

## ICU4C Platform Support

ICU4C requires C++17 and has been tested with up to C++20.

We routinely test on recent versions of Linux, macOS, and Windows.

We accept patches for other platforms.

Windows: The minimum supported version is Windows 7. (See [How To Build And Install On Windows](../userguide/icu4c/build.html#how-to-build-and-install-on-windows) for more details.)

## ICU4J Platform Support

ICU4J works on Java 8..17 (at least).

ICU4J should work on Android API level 21 and later but may require “[library desugaring](https://developer.android.com/studio/write/java8-support#library-desugaring)”.

## Download

Source and binary downloads are available on the git/GitHub tag page: TODO: https://github.com/unicode-org/icu/releases/tag/release-76-1

See the [Source Code Setup](../devsetup/source/) page for how to download the ICU file tree directly from GitHub.

ICU locale data was generated from CLDR data equivalent to:

* TODO: fix/update
* https://github.com/unicode-org/cldr/releases/tag/release-46-beta4
* https://github.com/unicode-org/cldr-staging/releases/tag/release-46-beta4

TODO: Maven dependency:
```
<dependency>
<groupId>com.ibm.icu</groupId>
<artifactId>icu4j</artifactId>
<version>76.1</version>
</dependency>
```

0 comments on commit 7c66c5c

Please sign in to comment.