Skip to content

ICU4X 2.0.0

Latest
Compare
Choose a tag to compare
@robertbastian robertbastian released this 07 May 21:21
· 118 commits to main since this release
5e40474

The ICU4X Technical Committee is happy to announce ICU4X 2.0, a major update to our modular, portable, and secure i18n library.

Important changes since ICU4X 1.5 include:

  1. Preference Objects: Instead of directly passing Locale objects to formatters, most constructors now accept "preference bags." These can be derived from locales but also constructed directly with type-safe enums, and they are more efficient.

  2. Date, Time, and Time Zone Rewrite: The icu::datetime component underwent a complete rewrite with APIs that improve performance and make it easier to do the right thing. The new icu::time component replaces icu::timezone and handles i18n-focused date, time, and time zone representations.

  3. FFI Overhaul: C++ namespaces, improvements to function versioning, and idiomatic improvements in all languages, such as getters/setters, iterators, and constructors.

  4. Borrowed variants: More types have separate owned and borrowed variants, which improves performance. This also enables more components to be compiled without an allocator, making some crates fully #[no_std].

  5. Compiled data updated: All components ship with the latest versions of CLDR (47.0) and Unicode (16.0).

Thanks to everyone who tried the 2.0 Beta releases. We have used your feedback to improve the 2.0 release.