- **NEW**
- Implement `icu::CompactDecimalFormat` class
- Implement `icu::CurrencyPluralInfo` class
- Implement `icu::DecimalFormat` class
- Implement `icu::MessageFormat` class
- Implement `icu::PluralFormat` class
- Implement `icu::PluralRules` class
- Implement `icu::RuleBasedNumberFormat` class
- Implement `icu::SelectFormat` class
- **ADDED**
- Add `icupy.icu.DateFormat.get_number_format()`
- Add `icupy.icu.DateFormat.set_number_format(new_number_format: NumberFormat)`
- **CHANGED**
- Rename `icupy.icu.ICUException` to `icupy.icu.ICUError`
- Change arguments of `icupy.icu.DateFormatSymbols.set_am_pm_strings(ampms: UnicodeStringVector, count: int = None)` → `set_am_pm_strings(ampms: list[UnicodeString], count: int = None)`
- Change arguments of `icupy.icu.DateFormatSymbols.set_era_names(era_names: UnicodeStringVector, count: int = None)` → `set_era_names(era_names: list[UnicodeString], count: int = None)`
- Change arguments of `icupy.icu.DateFormatSymbols.set_eras(eras: UnicodeStringVector, count: int = None)` → `set_eras(eras: list[UnicodeString], count: int = None)`
- Change arguments of `icupy.icu.DateFormatSymbols.set_months(months: UnicodeStringVector, count: int = None)` → `set_months(months: list[UnicodeString], count: int = None)`
- Change arguments of `icupy.icu.DateFormatSymbols.set_months(months: UnicodeStringVector, count: int, context: DateFormatSymbols.DtContextType, width: DateFormatSymbols.DtWidthType)` → `set_months(months: list[UnicodeString], count: int, context: DateFormatSymbols.DtContextType, width: DateFormatSymbols.DtWidthType)`
- Change arguments of `icupy.icu.DateFormatSymbols.set_narrow_eras(narrow_eras: UnicodeStringVector, count: int = None)` → `set_narrow_eras(narrow_eras: list[UnicodeString], count: int = None)`
- Change arguments of `icupy.icu.DateFormatSymbols.set_quarters(quarters: UnicodeStringVector, count: int, context: DateFormatSymbols.DtContextType, width: DateFormatSymbols.DtWidthType)` → `set_quarters(quarters: list[UnicodeString], count: int, context: DateFormatSymbols.DtContextType, width: DateFormatSymbols.DtWidthType)`
- Change arguments of `icupy.icu.DateFormatSymbols.set_short_months(short_months: UnicodeStringVector, count: int = None)` → `set_short_months(short_months: list[UnicodeString], count: int = None)`
- Change arguments of `icupy.icu.DateFormatSymbols.set_short_weekdays(abbrev_weekdays: UnicodeStringVector, count: int = None)` → `set_short_weekdays(abbrev_weekdays: list[UnicodeString], count: int = None)`
- Change arguments of `icupy.icu.DateFormatSymbols.set_weekdays(weekdays: UnicodeStringVector, count: int = None)` → `set_weekdays(weekdays: list[UnicodeString], count: int = None)`
- Change arguments of `icupy.icu.DateFormatSymbols.set_weekdays(weekdays: UnicodeStringVector, count: int, context: DateFormatSymbols.DtContextType, width: DateFormatSymbols.DtWidthType)` → `set_weekdays(weekdays: list[UnicodeString], count: int, context: DateFormatSymbols.DtContextType, width: DateFormatSymbols.DtWidthType)`
- Change arguments of `icupy.icu.DateFormatSymbols.set_year_names(year_names: UnicodeStringVector, count: int, context: DateFormatSymbols.DtContextType, width: DateFormatSymbols.DtWidthType)` → `set_year_names(year_names: list[UnicodeString], count: int, context: DateFormatSymbols.DtContextType, width: DateFormatSymbols.DtWidthType)`
- Change arguments of `icupy.icu.DateFormatSymbols.set_zodiac_names(zodiac_names: UnicodeStringVector, count: int, context: DateFormatSymbols.DtContextType, width: DateFormatSymbols.DtWidthType)` → `set_zodiac_names(zodiac_names: list[UnicodeString], count: int, context: DateFormatSymbols.DtContextType, width: DateFormatSymbols.DtWidthType)`
- Change return type of `icupy.icu.Collator.get_available_locales() -> StringEnumeration` → `list[Locale]`
- Change return type of `icupy.icu.BreakIterator.get_available_locales() -> StringEnumeration` → `list[Locale]`
- **FIXED**
- Add missing inherited methods
- Add `icupy.icu.CompactDecimalFormat.format(...)`
- Add `icupy.icu.DecimalFormat.format(...)`
- Add `icupy.icu.MessageFormat.parse_object(...)`
- **IMPROVED**
- Export enum members into parent scope
- **DEPRECATED**
- `icupy.icu.ICUException` is deprecated and will be removed in a future release. Use `icupy.icu.ICUError` instead