ICU4C API Comparison: ICU 70 with ICU 71

Note Markdown format of this document is new for ICU 65.

Removed

Removed from ICU 70

FileAPIICU 70ICU 71

Deprecated

Deprecated or Obsoleted in ICU 71

FileAPIICU 70ICU 71
numberformatter.hconst char* icu::number::FormattedNumber::getGender(UErrorCode&) constInternalICU 69Deprecated
ucnv.hUConverter* ucnv_safeClone(const UConverter*, void*, int32_t*, UErrorCode*)StableICU 2.0DeprecatedICU 71
ucol.hUCollator* ucol_safeClone(const UCollator*, void*, int32_t*, UErrorCode*)StableICU 2.0DeprecatedICU 71

Changed

Changed in ICU 71 (old, new)

FileAPIICU 70ICU 71
basictz.hvoid icu::BasicTimeZone::getOffsetFromLocal(UDate, UTimeZoneLocalOption, UTimeZoneLocalOption, int32_t&, int32_t&, UErrorCode&) constDraft→StableICU 69
measunit.hMeasureUnit icu::MeasureUnit::withPrefix(UMeasurePrefix, UErrorCode&) constDraft→StableICU 69
measunit.hUMeasurePrefix icu::MeasureUnit::getPrefix(UErrorCode&) constDraft→StableICU 69
measunit.hstatic MeasureUnit icu::MeasureUnit::getMilligramOfglucosePerDeciliter()Draft→StableICU 69
measunit.hstatic MeasureUnit* icu::MeasureUnit::createMilligramOfglucosePerDeciliter(UErrorCode&)Draft→StableICU 69
numberformatter.hPrecision icu::number::FractionPrecision::withSignificantDigits(int32_t, int32_t, UNumberRoundingPriority) constDraft→StableICU 69
numberformatter.hPrecision icu::number::Precision::trailingZeroDisplay(UNumberTrailingZeroDisplay) constDraft→StableICU 69
numberformatter.hconst char* icu::number::FormattedNumber::getGender(UErrorCode&) constInternalICU 69Deprecated
rbtz.hvoid icu::RuleBasedTimeZone::getOffsetFromLocal(UDate, UTimeZoneLocalOption, UTimeZoneLocalOption, int32_t&, int32_t&, UErrorCode&) constDraft→StableICU 69
simpletz.hvoid icu::SimpleTimeZone::getOffsetFromLocal(UDate, UTimeZoneLocalOption, UTimeZoneLocalOption, int32_t&, int32_t&, UErrorCode&) constDraft→StableICU 69
ubrk.hUBreakIterator* ubrk_clone(const UBreakIterator*, UErrorCode*)Draft→StableICU 69
ucal.henum UTimeZoneLocalOption::UCAL_TZ_LOCAL_DAYLIGHT_FORMERDraft→StableICU 69
ucal.henum UTimeZoneLocalOption::UCAL_TZ_LOCAL_DAYLIGHT_LATTERDraft→StableICU 69
ucal.henum UTimeZoneLocalOption::UCAL_TZ_LOCAL_FORMERDraft→StableICU 69
ucal.henum UTimeZoneLocalOption::UCAL_TZ_LOCAL_LATTERDraft→StableICU 69
ucal.henum UTimeZoneLocalOption::UCAL_TZ_LOCAL_STANDARD_FORMERDraft→StableICU 69
ucal.henum UTimeZoneLocalOption::UCAL_TZ_LOCAL_STANDARD_LATTERDraft→StableICU 69
ucal.hvoid ucal_getTimeZoneOffsetFromLocal(const UCalendar*, UTimeZoneLocalOption, UTimeZoneLocalOption, int32_t*, int32_t*, UErrorCode*)Draft→StableICU 69
ucnv.hUConverter* ucnv_safeClone(const UConverter*, void*, int32_t*, UErrorCode*)StableICU 2.0DeprecatedICU 71
ucol.hUCollator* ucol_safeClone(const UCollator*, void*, int32_t*, UErrorCode*)StableICU 2.0DeprecatedICU 71
uniset.hUnicodeSet& icu::UnicodeSet::retain(const UnicodeString&)Draft→StableICU 69
unum.henum UNumberFormatRoundingMode::UNUM_ROUND_HALF_CEILINGDraft→StableICU 69
unum.henum UNumberFormatRoundingMode::UNUM_ROUND_HALF_FLOORDraft→StableICU 69
unum.henum UNumberFormatRoundingMode::UNUM_ROUND_HALF_ODDDraft→StableICU 69
unumberformatter.henum UNumberRoundingPriority::UNUM_ROUNDING_PRIORITY_RELAXEDDraft→StableICU 69
unumberformatter.henum UNumberRoundingPriority::UNUM_ROUNDING_PRIORITY_STRICTDraft→StableICU 69
unumberformatter.henum UNumberSignDisplay::UNUM_SIGN_ACCOUNTING_NEGATIVEDraft→StableICU 69
unumberformatter.henum UNumberSignDisplay::UNUM_SIGN_NEGATIVEDraft→StableICU 69
unumberformatter.henum UNumberTrailingZeroDisplay::UNUM_TRAILING_ZERO_AUTODraft→StableICU 69
unumberformatter.henum UNumberTrailingZeroDisplay::UNUM_TRAILING_ZERO_HIDE_IF_WHOLEDraft→StableICU 69
uset.hvoid uset_complementAllCodePoints(USet*, const UChar*, int32_t)Draft→StableICU 69
uset.hvoid uset_complementRange(USet*, UChar32, UChar32)Draft→StableICU 69
uset.hvoid uset_complementString(USet*, const UChar*, int32_t)Draft→StableICU 69
uset.hvoid uset_removeAllCodePoints(USet*, const UChar*, int32_t)Draft→StableICU 69
uset.hvoid uset_retainAllCodePoints(USet*, const UChar*, int32_t)Draft→StableICU 69
uset.hvoid uset_retainString(USet*, const UChar*, int32_t)Draft→StableICU 69
vtzone.hvoid icu::VTimeZone::getOffsetFromLocal(UDate, UTimeZoneLocalOption, UTimeZoneLocalOption, int32_t&, int32_t&, UErrorCode&) constDraft→StableICU 69

Promoted

Promoted to stable in ICU 71

FileAPIICU 70ICU 71
basictz.hvoid icu::BasicTimeZone::getOffsetFromLocal(UDate, UTimeZoneLocalOption, UTimeZoneLocalOption, int32_t&, int32_t&, UErrorCode&) constDraft→StableICU 69
measunit.hMeasureUnit icu::MeasureUnit::withPrefix(UMeasurePrefix, UErrorCode&) constDraft→StableICU 69
measunit.hUMeasurePrefix icu::MeasureUnit::getPrefix(UErrorCode&) constDraft→StableICU 69
measunit.hstatic MeasureUnit icu::MeasureUnit::getMilligramOfglucosePerDeciliter()Draft→StableICU 69
measunit.hstatic MeasureUnit* icu::MeasureUnit::createMilligramOfglucosePerDeciliter(UErrorCode&)Draft→StableICU 69
numberformatter.hPrecision icu::number::FractionPrecision::withSignificantDigits(int32_t, int32_t, UNumberRoundingPriority) constDraft→StableICU 69
numberformatter.hPrecision icu::number::Precision::trailingZeroDisplay(UNumberTrailingZeroDisplay) constDraft→StableICU 69
rbtz.hvoid icu::RuleBasedTimeZone::getOffsetFromLocal(UDate, UTimeZoneLocalOption, UTimeZoneLocalOption, int32_t&, int32_t&, UErrorCode&) constDraft→StableICU 69
simpletz.hvoid icu::SimpleTimeZone::getOffsetFromLocal(UDate, UTimeZoneLocalOption, UTimeZoneLocalOption, int32_t&, int32_t&, UErrorCode&) constDraft→StableICU 69
ubrk.hUBreakIterator* ubrk_clone(const UBreakIterator*, UErrorCode*)Draft→StableICU 69
ucal.henum UTimeZoneLocalOption::UCAL_TZ_LOCAL_DAYLIGHT_FORMERDraft→StableICU 69
ucal.henum UTimeZoneLocalOption::UCAL_TZ_LOCAL_DAYLIGHT_LATTERDraft→StableICU 69
ucal.henum UTimeZoneLocalOption::UCAL_TZ_LOCAL_FORMERDraft→StableICU 69
ucal.henum UTimeZoneLocalOption::UCAL_TZ_LOCAL_LATTERDraft→StableICU 69
ucal.henum UTimeZoneLocalOption::UCAL_TZ_LOCAL_STANDARD_FORMERDraft→StableICU 69
ucal.henum UTimeZoneLocalOption::UCAL_TZ_LOCAL_STANDARD_LATTERDraft→StableICU 69
ucal.hvoid ucal_getTimeZoneOffsetFromLocal(const UCalendar*, UTimeZoneLocalOption, UTimeZoneLocalOption, int32_t*, int32_t*, UErrorCode*)Draft→StableICU 69
ucnv.hUConverter* ucnv_clone(const UConverter*, UErrorCode*)(missing)StableICU 71
ucol.hUCollator* ucol_clone(const UCollator*, UErrorCode*)(missing)StableICU 71
uniset.hUnicodeSet& icu::UnicodeSet::retain(const UnicodeString&)Draft→StableICU 69
unum.henum UNumberFormatRoundingMode::UNUM_ROUND_HALF_CEILINGDraft→StableICU 69
unum.henum UNumberFormatRoundingMode::UNUM_ROUND_HALF_FLOORDraft→StableICU 69
unum.henum UNumberFormatRoundingMode::UNUM_ROUND_HALF_ODDDraft→StableICU 69
unumberformatter.henum UNumberRoundingPriority::UNUM_ROUNDING_PRIORITY_RELAXEDDraft→StableICU 69
unumberformatter.henum UNumberRoundingPriority::UNUM_ROUNDING_PRIORITY_STRICTDraft→StableICU 69
unumberformatter.henum UNumberSignDisplay::UNUM_SIGN_ACCOUNTING_NEGATIVEDraft→StableICU 69
unumberformatter.henum UNumberSignDisplay::UNUM_SIGN_NEGATIVEDraft→StableICU 69
unumberformatter.henum UNumberTrailingZeroDisplay::UNUM_TRAILING_ZERO_AUTODraft→StableICU 69
unumberformatter.henum UNumberTrailingZeroDisplay::UNUM_TRAILING_ZERO_HIDE_IF_WHOLEDraft→StableICU 69
uset.hvoid uset_complementAllCodePoints(USet*, const UChar*, int32_t)Draft→StableICU 69
uset.hvoid uset_complementRange(USet*, UChar32, UChar32)Draft→StableICU 69
uset.hvoid uset_complementString(USet*, const UChar*, int32_t)Draft→StableICU 69
uset.hvoid uset_removeAllCodePoints(USet*, const UChar*, int32_t)Draft→StableICU 69
uset.hvoid uset_retainAllCodePoints(USet*, const UChar*, int32_t)Draft→StableICU 69
uset.hvoid uset_retainString(USet*, const UChar*, int32_t)Draft→StableICU 69
vtzone.hvoid icu::VTimeZone::getOffsetFromLocal(UDate, UTimeZoneLocalOption, UTimeZoneLocalOption, int32_t&, int32_t&, UErrorCode&) constDraft→StableICU 69

Added

Added in ICU 71

FileAPIICU 70ICU 71
dtptngen.hconst UnicodeString& icu::DateTimePatternGenerator::getDateTimeFormat(UDateFormatStyle, UErrorCode&) const(missing)DraftICU 71
dtptngen.hvoid icu::DateTimePatternGenerator::setDateTimeFormat(UDateFormatStyle, const UnicodeString&, UErrorCode&)(missing)DraftICU 71
numberformatter.hNounClass icu::number::FormattedNumber::getNounClass(UErrorCode&) const(missing)DraftICU 71
numberformatter.hstatic IncrementPrecision icu::number::Precision::incrementExact(uint64_t, int16_t)(missing)DraftICU 71
ucnv.hUConverter* ucnv_clone(const UConverter*, UErrorCode*)(missing)StableICU 71
ucol.hUCollator* ucol_clone(const UCollator*, UErrorCode*)(missing)StableICU 71
udatpg.hconst UChar* udatpg_getDateTimeFormatForStyle(const UDateTimePatternGenerator*, UDateFormatStyle, int32_t*, UErrorCode*)(missing)DraftICU 71
udatpg.hvoid udatpg_setDateTimeFormatForStyle(UDateTimePatternGenerator*, UDateFormatStyle, const UChar*, int32_t, UErrorCode*)(missing)DraftICU 71
unum.henum UNumberFormatFields::UNUM_APPROXIMATELY_SIGN_FIELD(missing)DraftICU 71

Other

Other existing drafts in ICU 71

FileAPIICU 70ICU 71
measfmt.hvoid icu::MeasureFormat::parseObject(const UnicodeString&, Formattable&, ParsePosition&) constDraftICU 53
measunit.hstatic MeasureUnit icu::MeasureUnit::getItem()DraftICU 70
measunit.hstatic MeasureUnit icu::MeasureUnit::getKilowattHourPer100Kilometer()DraftICU 70
measunit.hstatic MeasureUnit* icu::MeasureUnit::createItem(UErrorCode&)DraftICU 70
measunit.hstatic MeasureUnit* icu::MeasureUnit::createKilowattHourPer100Kilometer(UErrorCode&)DraftICU 70
numberrangeformatter.hicu::number::FormattedNumberRange::FormattedNumberRange()DraftICU 70
uchar.hbool u_stringHasBinaryProperty(const UChar*, int32_t, UProperty)DraftICU 70
uchar.henum UProperty::UCHAR_BASIC_EMOJIDraftICU 70
uchar.henum UProperty::UCHAR_EMOJI_KEYCAP_SEQUENCEDraftICU 70
uchar.henum UProperty::UCHAR_RGI_EMOJI_FLAG_SEQUENCEDraftICU 70
uchar.henum UProperty::UCHAR_RGI_EMOJI_MODIFIER_SEQUENCEDraftICU 70
uchar.henum UProperty::UCHAR_RGI_EMOJI_TAG_SEQUENCEDraftICU 70
uchar.henum UProperty::UCHAR_RGI_EMOJI_ZWJ_SEQUENCEDraftICU 70
uchar.henum UProperty::UCHAR_RGI_EMOJIDraftICU 70
udat.henum UDateFormatSymbolType::UDAT_NARROW_QUARTERSDraftICU 70
udat.henum UDateFormatSymbolType::UDAT_STANDALONE_NARROW_QUARTERSDraftICU 70
uformattedvalue.henum UFieldCategory::UFIELD_CATEGORY_NUMBER_RANGE_SPANDraftICU 69
uniset.hbool icu::UnicodeSet::hasStrings() constDraftICU 70
uregex.henum URegexpFlag::UREGEX_CANON_EQDraftICU 2.4
uset.hbool uset_hasStrings(const USet*)DraftICU 70
uset.hint32_t uset_getRangeCount(const USet*)DraftICU 70
usetiter.hUnicodeSetIterator& icu::UnicodeSetIterator::skipToStrings()DraftICU 70

Simplifications

This section shows cases where the signature was “simplified” for the sake of comparison. The simplified form is in bold, followed by all possible variations in “original” form.

Colophon

Contents generated by StableAPI tool on Thu Mar 10 11:13:13 PST 2022

Copyright © 2019 and later: Unicode, Inc. and others. License & terms of use: http://www.unicode.org/copyright.html