Skip to content

Releases: miute/icupy

v0.20.0

27 Oct 07:44
3c2e0c1
Compare
Choose a tag to compare
  • Breaking Changes
    • Change the return type of icupy.icu.UnicodeSet.__getitem__(index: int) from int to icupy.icu.UnicodeString
    • Remove icupy.icu.UnicodeSet.__getitem__(slice: slice)
  • NEW
    • Add support for ICU 76.1 (#93, #95)
      • Add icupy.icu.Collator.equal_to(source: UnicodeString | str, target: UnicodeString | str)
      • Add icupy.icu.Collator.greater_equal(source: UnicodeString | str, target: UnicodeString | str)
      • Add icupy.icu.Collator.less_equal(source: UnicodeString | str, target: UnicodeString | str)
      • Add icupy.icu.Collator.less(source: UnicodeString | str, target: UnicodeString | str)
      • Add icupy.icu.Collator.not_equal_to(source: UnicodeString | str, target: UnicodeString | str)
      • Add icupy.icu.MeasureUnit.create_light_speed()
      • Add icupy.icu.MeasureUnit.create_night()
      • Add icupy.icu.MeasureUnit.get_light_speed()
      • Add icupy.icu.MeasureUnit.get_night()
      • Add icupy.icu.UBlockCode.UBLOCK_EGYPTIAN_HIEROGLYPHS_EXTENDED_A
      • Add icupy.icu.UBlockCode.UBLOCK_GARAY
      • Add icupy.icu.UBlockCode.UBLOCK_GURUNG_KHEMA
      • Add icupy.icu.UBlockCode.UBLOCK_KIRAT_RAI
      • Add icupy.icu.UBlockCode.UBLOCK_MYANMAR_EXTENDED_C
      • Add icupy.icu.UBlockCode.UBLOCK_OL_ONAL
      • Add icupy.icu.UBlockCode.UBLOCK_SUNUWAR
      • Add icupy.icu.UBlockCode.UBLOCK_SYMBOLS_FOR_LEGACY_COMPUTING_SUPPLEMENT
      • Add icupy.icu.UBlockCode.UBLOCK_TODHRI
      • Add icupy.icu.UBlockCode.UBLOCK_TULU_TIGALARI
      • Add icupy.icu.UIndicConjunctBreak.U_INCB_CONSONANT
      • Add icupy.icu.UIndicConjunctBreak.U_INCB_EXTEND
      • Add icupy.icu.UIndicConjunctBreak.U_INCB_LINKER
      • Add icupy.icu.UIndicConjunctBreak.U_INCB_NONE
      • Add icupy.icu.UIndicSyllabicCategory.U_INSC_REORDERING_KILLER
      • Add icupy.icu.UJoiningGroup.U_JG_KASHMIRI_YEH
      • Add icupy.icu.UnicodeSet.__iter__()
      • Add icupy.icu.UnicodeSet.code_points()
      • Add icupy.icu.UnicodeSet.ranges()
      • Add icupy.icu.UnicodeSet.strings()
      • Add icupy.icu.UProperty.UCHAR_INDIC_CONJUNCT_BREAK
      • Add icupy.icu.UProperty.UCHAR_MODIFIER_COMBINING_MARK
      • Add icupy.icu.UScriptCode.USCRIPT_GARAY
      • Add icupy.icu.UScriptCode.USCRIPT_GURUNG_KHEMA
      • Add icupy.icu.UScriptCode.USCRIPT_KIRAT_RAI
      • Add icupy.icu.UScriptCode.USCRIPT_OL_ONAL
      • Add icupy.icu.UScriptCode.USCRIPT_SUNUWAR
      • Add icupy.icu.UScriptCode.USCRIPT_TODHRI
      • Add icupy.icu.UScriptCode.USCRIPT_TULU_TIGALARI
      • Remove icupy.icu.number.SimpleNumber.truncate_start(maximum_integer_digits: int)
    • Add support for Python 3.13
  • CHANGED
    • Update pybind11 from 2.12.0 to 2.13.6
  • REMOVED
    • Drop support for Python 3.8

Note: Pre-built packages will only work with ICU 76.1.

v0.20.0a1

18 Oct 14:01
f88acac
Compare
Choose a tag to compare
v0.20.0a1 Pre-release
Pre-release
  • Breaking Changes
    • Change the return type of icupy.icu.UnicodeSet.__getitem__(index: int) from int to icupy.icu.UnicodeString
    • Remove icupy.icu.UnicodeSet.__getitem__(slice: slice)
  • NEW
    • Add support for ICU 76 (#93)
    • Add support for Python 3.13
  • CHANGED
    • Update pybind11 from 2.12.0 to 2.13.6
  • REMOVED
    • Drop support for Python 3.8

Note: Pre-built packages will only work with ICU 76 RC.

v0.19.0

02 May 13:51
f4eca74
Compare
Choose a tag to compare
  • NEW
    • Add support for ICU 75 (#73, #74)
      • Add icupy.icu.number.LocalizedNumberFormatter.without_locale()
      • Add icupy.icu.number.LocalizedNumberRangeFormatter.without_locale()
      • Add icupy.icu.number.SimpleNumber.set_maximum_integer_digits(maximum_integer_digits: int)
      • Add icupy.icu.u_get_id_types(c: int)
      • Add icupy.icu.u_has_id_type(c: int, type_: icupy.icu.UIdentifierType)
      • Add icupy.icu.UIdentifierStatus enum
      • Add icupy.icu.UIdentifierType enum
      • Add icupy.icu.UProperty.UCHAR_IDENTIFIER_STATUS
      • Add icupy.icu.UProperty.UCHAR_IDENTIFIER_TYPE
      • Add icupy.icu.UScriptCode.USCRIPT_ARABIC_NASTALIQ
  • CHANGED
    • Update pybind11 from 2.11.1 to 2.12.0

Note: Pre-built packages will only work with ICU 75.1.

v0.19.0a1

04 Apr 14:37
953930c
Compare
Choose a tag to compare
v0.19.0a1 Pre-release
Pre-release
  • NEW
    • Add support for ICU 75 (#73, #74)
  • CHANGED
    • Update pybind11 from 2.11.1 to 2.12.0

Note: Pre-built packages will only work with ICU 75 RC.

v0.18.0

02 Nov 02:03
379831a
Compare
Choose a tag to compare
  • NEW
    • Add support for Python 3.12
    • Add support for ICU 74 (partial) (#53)
      • Add icupy.icu.Measure.__ne__(other: UObject)
      • Add icupy.icu.MeasureUnit.create_gasoline_energy_density()
      • Add icupy.icu.MeasureUnit.get_gasoline_energy_density()
      • Add icupy.icu.Normalizer2.get_nfkc_simple_casefold_instance()
      • Add icupy.icu.TimeZone.get_iana_id(id_: UnicodeString | str, iana_id: UnicodeString)
      • Add icupy.icu.UBlockCode.UBLOCK_CJK_UNIFIED_IDEOGRAPHS_EXTENSION_I
      • Add icupy.icu.ULineBreak.U_LB_AKSARA_PREBASE
      • Add icupy.icu.ULineBreak.U_LB_AKSARA_START
      • Add icupy.icu.ULineBreak.U_LB_AKSARA
      • Add icupy.icu.ULineBreak.U_LB_VIRAMA_FINAL
      • Add icupy.icu.ULineBreak.U_LB_VIRAMA
      • Add icupy.icu.UProperty.UCHAR_ID_COMPAT_MATH_CONTINUE
      • Add icupy.icu.UProperty.UCHAR_ID_COMPAT_MATH_START
      • Add icupy.icu.UProperty.UCHAR_IDS_UNARY_OPERATOR
      • Add icupy.icu.uspoof_are_bidi_confusable_unicode_string(sc: _USpoofCheckerPtr, direction: UBiDiDirection, s1: UnicodeString | str, s2: UnicodeString | str)
      • Add icupy.icu.uspoof_are_bidi_confusable_utf8(sc: _USpoofCheckerPtr, direction: UBiDiDirection, id1: bytes, length1: int, id2: bytes, length2: int)
      • Add icupy.icu.uspoof_are_bidi_confusable(sc: _USpoofCheckerPtr, direction: UBiDiDirection, id1: str, length1: int, id2: str, length2: int)
      • Add icupy.icu.uspoof_get_bidi_skeleton_unicode_string(sc: _USpoofCheckerPtr, direction: UBiDiDirection, id_: UnicodeString | str, dest: UnicodeString)
      • Add icupy.icu.uspoof_get_bidi_skeleton_utf8(sc: _USpoofCheckerPtr, direction: UBiDiDirection, id_: bytes, length: int = -1)
      • Add icupy.icu.uspoof_get_bidi_skeleton(sc: _USpoofCheckerPtr, direction: UBiDiDirection, id_: str, length: int = -1)
    • Implement icu::number::SimpleNumberFormatter class (#55)
      • Add icupy.icu.number.SimpleNumber class
      • Add icupy.icu.number.SimpleNumberFormatter class
      • Add icupy.icu.USimpleNumberSign enum
  • CHANGED
    • Update pybind11 from 2.10.4 to 2.11.1
    • Change the argument type from str to bytes
      • icupy.icu.UnicodeString.from_utf8(utf8: str)icupy.icu.UnicodeString.from_utf8(utf8: bytes)
      • icupy.icu.uspoof_are_confusable_utf8(sc: _USpoofCheckerPtr, id1: str, length1: int, id2: str, length2: int)icupy.icu.uspoof_are_confusable_utf8(sc: _USpoofCheckerPtr, id1: bytes, length1: int, id2: bytes, length2: int)
      • icupy.icu.uspoof_check_utf8(sc: _USpoofCheckerPtr, id_: str, length: int = -1)icupy.icu.uspoof_check_utf8(sc: _USpoofCheckerPtr, id_: bytes, length: int = -1)
      • icupy.icu.uspoof_check2_utf8(sc: _USpoofCheckerPtr, id_: str, length: int, check_result: _USpoofCheckerPtr | None = None)icupy.icu.uspoof_check2_utf8(sc: _USpoofCheckerPtr, id_: bytes, length: int, check_result: _USpoofCheckerPtr | None = None)
      • icupy.icu.uspoof_get_skeleton_utf8(sc: _USpoofCheckerPtr, type_: int, id_: str, length: int = -1) -> stricupy.icu.uspoof_get_skeleton_utf8(sc: _USpoofCheckerPtr, type_: int, id_: bytes, length: int = -1) -> bytes
      • icupy.icu.utext_open_utf8(ut: _UTextPtr | None, s: str, length: int)icupy.icu.utext_open_utf8(ut: _UTextPtr | None, s: bytes, length: int = -1)
  • FIXED
    • Add missing methods for UTF-8 strings (#56)
      • Add icupy.icu.Collator.compare_utf8(source: bytes, target: bytes)
      • Add icupy.icu.IDNA.label_to_ascii_utf8(label: bytes, info: IDNAInfo)
      • Add icupy.icu.IDNA.label_to_unicode_utf8(label: bytes, info: IDNAInfo)
      • Add icupy.icu.IDNA.name_to_ascii_utf8(name: bytes, info: IDNAInfo)
      • Add icupy.icu.IDNA.name_to_unicode_utf8(name: bytes, info: IDNAInfo)
      • Add icupy.icu.Normalizer2.is_normalized_utf8(b: bytes)
      • Add icupy.icu.Normalizer2.normalize_utf8(options: int, src: bytes, edits: Edits | None = None)
      • Add icupy.icu.UnicodeSet.span_utf8(b: bytes, length: int, span_condition: USetSpanCondition)
    • Change the return/argument type of the C/C++ UBool type from int to bool (#59)
    • Change the argument type from UnicodeString to UnicodeString | str
      • icupy.icu.uspoof_are_confusable_unicode_string(sc: _USpoofCheckerPtr, s1: UnicodeString, s2: UnicodeString)icupy.icu.uspoof_are_confusable_unicode_string(sc: _USpoofCheckerPtr, s1: UnicodeString | str, s2: UnicodeString | str)
      • icupy.icu.uspoof_check2_unicode_string(sc: _USpoofCheckerPtr, id_: UnicodeString, check_result: _USpoofCheckResultPtr | None = None)icupy.icu.uspoof_check2_unicode_string(sc: _USpoofCheckerPtr, id_: UnicodeString | str, check_result: _USpoofCheckResultPtr | None = None)
      • icupy.icu.uspoof_check_unicode_string(sc: _USpoofCheckerPtr, id_: UnicodeString)icupy.icu.uspoof_check_unicode_string(sc: _USpoofCheckerPtr, id_: UnicodeString | str)
      • icupy.icu.uspoof_get_skeleton_unicode_string(sc: _USpoofCheckerPtr, type_: int, id_: UnicodeString, dest: UnicodeString)icupy.icu.uspoof_get_skeleton_unicode_string(sc: _USpoofCheckerPtr, type_: int, id_: UnicodeString | str, dest: UnicodeString)
    • Change an argument (Fix a typo)
      • icupy.icu.DecimalFormatSymbols.set_symbol(symbol: ENumberFormatSymbol, value: UnicodeString | str, bool: propogate_digits = True)icupy.icu.DecimalFormatSymbols.set_symbol(symbol: ENumberFormatSymbol, value: UnicodeString | str, bool: propagate_digits = True)

Note: Pre-built packages will only work with ICU 74.1.

v0.17.0

10 Jul 10:56
Compare
Choose a tag to compare
  • FIXED
    • Add icupy.icu.FormattedRelativeDateTime.__init__()
    • Add icupy.icu.MeasureUnit.create_milligram_ofglucose_per_deciliter()
    • Add icupy.icu.MeasureUnit.get_milligram_ofglucose_per_deciliter()
    • Add icupy.icu.MessageFormat.get_locale(type_: ULocDataLocaleType)
    • Add icupy.icu.number.FormattedNumber.__init__()
    • Add icupy.icu.number.FormattedNumberRange.__init__()
  • IMPROVED
    • Refactoring
  • REMOVED
    • Drop support for Python 3.7

Note: Pre-built packages will only work with ICU 73.2.

v0.16.0

18 Apr 07:05
Compare
Choose a tag to compare
  • NEW
    • Add support for ICU 73 (partial)
      • Add icupy.icu.Calendar.get_temporal_month_code()
      • Add icupy.icu.Calendar.in_daylight_time()
      • Add icupy.icu.Calendar.in_temporal_leap_year()
      • Add icupy.icu.Calendar.set_temporal_month_code(temporal_month: str)
      • Add icupy.icu.MeasureUnit.create_beaufort()
      • Add icupy.icu.MeasureUnit.get_beaufort()
      • Add icupy.icu.NumberFormat.ERoundingMode.ROUND_HALF_CEILING
      • Add icupy.icu.NumberFormat.ERoundingMode.ROUND_HALF_FLOOR
      • Add icupy.icu.NumberFormat.ERoundingMode.ROUND_HALF_ODD
      • Add icupy.icu.UCalendarDateFields.UCAL_ORDINAL_MONTH
      • Add icupy.icu.USET_SIMPLE_CASE_INSENSITIVE
      • Remove icupy.icu.GregorianCalendar.in_daylight_time()
  • CHANGED
    • Update pybind11 from 2.10.0 to 2.10.4
  • FIXED
    • Move get_actual_maximum(field: UCalendarDateFields) of icupy.icu.GregorianCalendar class to icupy.icu.Calendar class
    • Move get_actual_minimum(field: UCalendarDateFields) of icupy.icu.GregorianCalendar class to icupy.icu.Calendar class
    • Move roll(field: UCalendarDateFields, amount: int) of icupy.icu.GregorianCalendar class to icupy.icu.Calendar class
  • REMOVED
    • Remove icupy.number module

Note: Pre-built packages will only work with ICU 73.1.

v0.15.0

21 Oct 17:15
Compare
Choose a tag to compare
  • NEW
    • Add support for Python 3.11
    • Add support for ICU 72
      • Add icupy.icu.UBlockCode.UBLOCK_ARABIC_EXTENDED_C
      • Add icupy.icu.UBlockCode.UBLOCK_CJK_UNIFIED_IDEOGRAPHS_EXTENSION_H
      • Add icupy.icu.UBlockCode.UBLOCK_CYRILLIC_EXTENDED_D
      • Add icupy.icu.UBlockCode.UBLOCK_DEVANAGARI_EXTENDED_A
      • Add icupy.icu.UBlockCode.UBLOCK_KAKTOVIK_NUMERALS
      • Add icupy.icu.UBlockCode.UBLOCK_KAWI
      • Add icupy.icu.UBlockCode.UBLOCK_NAG_MUNDARI
      • Add icupy.icu.UScriptCode.USCRIPT_KAWI
      • Add icupy.icu.UScriptCode.USCRIPT_NAG_MUNDARI
      • Add icupy.icu.MeasureUnit.create_quarter()
      • Add icupy.icu.MeasureUnit.create_tonne()
      • Add icupy.icu.MeasureUnit.get_quarter()
      • Add icupy.icu.MeasureUnit.get_tonne()
      • Add icupy.icu.number.LocalizedNumberFormatter.display_options(display_options: DisplayOptions)
      • Add icupy.icu.number.UnlocalizedNumberFormatter.display_options(display_options: DisplayOptions)
      • Implement icu::DisplayOptions class
        • Add icupy.icu.DisplayOptions class
      • Implement Display options API (udisplayoptions)
        • Add icupy.icu.UDisplayOptionsCapitalization enum
        • Add icupy.icu.UDisplayOptionsDisplayLength enum
        • Add icupy.icu.UDisplayOptionsGrammaticalCase enum
        • Add icupy.icu.UDisplayOptionsNameStyle enum
        • Add icupy.icu.UDisplayOptionsNounClass enum
        • Add icupy.icu.UDisplayOptionsPluralCategory enum
        • Add icupy.icu.UDisplayOptionsSubstituteHandling enum
        • Add icupy.icu.udispopt_from_grammatical_case_identifier(identifier: str)
        • Add icupy.icu.udispopt_from_noun_class_identifier(identifier: str)
        • Add icupy.icu.udispopt_from_plural_category_identifier(identifier: str)
        • Add icupy.icu.udispopt_get_grammatical_case_identifier(grammatical_case: UDisplayOptionsGrammaticalCase)
        • Add icupy.icu.udispopt_get_noun_class_identifier(noun_class: UDisplayOptionsNounClass)
        • Add icupy.icu.udispopt_get_plural_category_identifier(plural_category: UDisplayOptionsPluralCategory)
  • FIXED
    • Fix return type of icupy.icu.number.FormattedNumber.get_noun_class()

Note: Pre-built packages will only work with ICU 72.1.