$ icu_properties

v2.1.2

Definitions for Unicode properties

Downloads: 156.6M
Recent: 50.5M
Versions: 23
Updated: December 9, 2025

Latest Update Summary

Crate

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

Crate readme

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

Long description ICU4X is fully implemented in the Rust programming language and is designed with a focus on small and modular code, pluggable locale data, and ease of use across multiple programming languages. It provides an ECMA-402-compatible API surface in target client-side platforms, including web, iOS, Android, WearOS, WatchOS, Flutter, and Fuchsia. The project aims to meet the needs of clients wishing to provide client-side internationalization in resource-constrained environments.

Features • ECMA-402-compatible API • Pluggable locale data • Small and modular code • Available in multiple programming languages: Rust, JavaScript, Objective-C, Java, Dart, 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://www.unicode.org/consortium/techchairs.htmlhttps://www.unicode.org/policies/licensing_policy.html

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

Release info

Release version: 2.0

Release description The ICU4X Technical Committee has announced the release of ICU4X 2.0, marking a significant update to the internationalization library. The update introduces several important changes since version 1.5. One of the primary features is the introduction of Preference Objects, which streamline the use of Locale objects by allowing constructors to accept 'preference bags' for improved efficiency. Additionally, the icu::datetime component has been completely rewritten to enhance performance and facilitate better date, time, and timezone representations through the new icu::time component. The Foreign Function Interface (FFI) has also seen an overhaul, with improvements in C++ namespaces and function versioning, as well as enhancements across various programming languages including idiomatic features like getters and setters. The release also introduces more types with separate owned and borrowed variants, allowing more components to be compiled without an allocator, thereby supporting #[no_std] configurations. Finally, the compiled data for all components has been updated to the latest CLDR (47.0) and Unicode (16.0) versions. Feedback from the 2.0 Beta releases has significantly influenced these updates.

Code Examples

Patch update: 2.1.1 → 2.1.2

$ DOWNLOADS TREND

114.8M156.6M

$ VERSION HISTORY

v2.1.2December 9, 2025
v2.1.1October 29, 2025
v2.1.1October 28, 2025
v2.1.0October 28, 2025
v2.0.1May 19, 2025

$ LINKS

$ INSTALL

cargo add icu_properties

Or add to Cargo.toml: icu_properties = "2.1.2"