$ icu_collections

v2.2.0MAJOR UPDATE

Collection of API for use in ICU libraries.

Downloads: 256.3M
Recent: 88.0M
Versions: 14
Updated: April 1, 2026

Latest Update Summary

Crate

Name: icu_collections New version: 2.1.0 Release date: 2025-05-07T21:21:21Z

Crate readme

Short description ICU4X provides components enabling wide range of software internationalization.

Long description ICU4X is fully implemented in the Rust programming language and is designed to be small and modular. It features pluggable locale data and is aimed at availability and ease of use across multiple programming languages. The ICU4X project intends to facilitate client-side internationalization for modern platforms including web, iOS, Android, and more, while adhering to best practices in internationalization.

Features • Small and modular code • Pluggable locale data • Availability and ease of use in multiple programming languages • ECMA-402-compatible API surface • Supported in programming languages including Rust, JavaScript, Objective-C, Java, Dart, and C++

Code Examples Add to Cargo.toml

 [dependencies]
icu = "2.0.0"

Basic usage

 use icu::calendar::Date;
use icu::datetime::{DateTimeFormatter, fieldsets::YMD};
use icu::locale::locale;

let dtf = DateTimeFormatter::try_new(
    locale!("es").into(),
    YMD::long()
)
.expect("locale should be present in compiled data");

let date = Date::try_new_iso(2020, 9, 12).expect("date should be valid");

let formatted_date = dtf.format(&date).to_string();
assert_eq!(
    formatted_date,
    "12 de septiembre de 2020"
);

Linkshttps://icu4x.unicode.orghttps://crates.io/crates/icuhttps://github.com/unicode-org/icu4xhttps://unicode.org/consortium/techchairs.htmlhttps://www.unicode.org/license.txthttps://www.unicode.org/policies/licensing_policy.htmlhttps://www.unicode.org/copyright.html

https://api.github.com/repos/unicode-org/icu4x/releases/217170091

Release info

Release version: 2.0

Release description ICU4X 2.0 introduces several significant updates to the library. A notable change is the introduction of Preference Objects, which replace the direct use of Locale objects in formatters, allowing for the creation of preference bags that utilize type-safe enums for better efficiency. The icu::datetime component has been completely rewritten into a new icu::time component, enhancing performance and providing more accurate i18n date, time, and time zone representations. The FFI has also seen an overhaul, including updates to C++ namespaces and function versioning, aimed at making APIs more idiomatic across languages. Additionally, the introduction of borrowed variants improves performance by distinguishing between owned and borrowed types, reducing the need for an allocator in some crates, allowing them to operate in #[no_std] environments. Finally, all components now include updated data compliant with the latest versions of CLDR (47.0) and Unicode (16.0).

Code Examples

Minor update: 2.1.1 → 2.2.0

$ DOWNLOADS TREND

114.3M256.3M

$ VERSION HISTORY

v2.2.0April 1, 2026
v2.1.1October 28, 2025
v2.1.0October 28, 2025
v2.0.0May 7, 2025

$ LINKS

$ INSTALL

cargo add icu_collections

Or add to Cargo.toml: icu_collections = "2.2.0"