• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1
2
3<!--
4 Copyright © 2019 and later: Unicode, Inc. and others.
5 License & terms of use: http://www.unicode.org/copyright.html
6-->
7
8# ICU4C API Comparison: ICU 75 with ICU 76
9
10> _Note_ Markdown format of this document is new for ICU 65.
11
12- [Removed from ICU 75](#removed)
13- [Deprecated or Obsoleted in ICU 76](#deprecated)
14- [Changed in  ICU 76](#changed)
15- [Promoted to stable in ICU 76](#promoted)
16- [Added in ICU 76](#added)
17- [Other existing drafts in ICU 76](#other)
18- [Signature Simplifications](#simplifications)
19
20## Removed
21
22Removed from ICU 75
23
24| File | API | ICU 75 | ICU 76 |
25|---|---|---|---|
26| messageformat2_data_model.h | Builder&amp; icu::message2::MFDataModel::Builder::addUnsupportedStatement(UnsupportedStatement&amp;&amp;, UErrorCode&amp;) |  InternalICU 75 | (missing)
27| messageformat2_data_model.h | Builder&amp; icu::message2::data_model::Operator::Builder::setReserved(Reserved&amp;&amp;) |  InternalICU 75 | (missing)
28| messageformat2_data_model.h | Builder&amp; icu::message2::data_model::Reserved::Builder::add(Literal&amp;&amp;, UErrorCode&amp;) |  InternalICU 75 | (missing)
29| messageformat2_data_model.h | Builder&amp; icu::message2::data_model::Reserved::Builder::operator=(Builder&amp;&amp;)=delete |   _untagged _  | (missing)
30| messageformat2_data_model.h | Builder&amp; icu::message2::data_model::Reserved::Builder::operator=(const Builder&amp;)=delete |   _untagged _  | (missing)
31| messageformat2_data_model.h | Builder&amp; icu::message2::data_model::UnsupportedStatement::Builder::addExpression(Expression&amp;&amp;, UErrorCode&amp;) |  InternalICU 75 | (missing)
32| messageformat2_data_model.h | Builder&amp; icu::message2::data_model::UnsupportedStatement::Builder::operator=(Builder&amp;&amp;)=delete |   _untagged _  | (missing)
33| messageformat2_data_model.h | Builder&amp; icu::message2::data_model::UnsupportedStatement::Builder::operator=(const Builder&amp;)=delete |   _untagged _  | (missing)
34| messageformat2_data_model.h | Builder&amp; icu::message2::data_model::UnsupportedStatement::Builder::setBody(Reserved&amp;&amp;) |  InternalICU 75 | (missing)
35| messageformat2_data_model.h | Builder&amp; icu::message2::data_model::UnsupportedStatement::Builder::setKeyword(const UnicodeString&amp;) |  InternalICU 75 | (missing)
36| messageformat2_data_model.h | Reserved icu::message2::data_model::Reserved::Builder::build(UErrorCode&amp;) const |  InternalICU 75 | (missing)
37| messageformat2_data_model.h | Reserved&amp; icu::message2::data_model::Reserved::operator=(Reserved) |  InternalICU 75 | (missing)
38| messageformat2_data_model.h | UnsupportedStatement icu::message2::data_model::UnsupportedStatement::Builder::build(UErrorCode&amp;) const |  InternalICU 75 | (missing)
39| messageformat2_data_model.h | UnsupportedStatement&amp; icu::message2::data_model::UnsupportedStatement::operator=(UnsupportedStatement) |  InternalICU 75 | (missing)
40| messageformat2_data_model.h | bool icu::message2::data_model::Expression::isReserved() const |  InternalICU 75 | (missing)
41| messageformat2_data_model.h | const Literal&amp; icu::message2::data_model::Reserved::getPart(int32_t) const |  InternalICU 75 | (missing)
42| messageformat2_data_model.h | const Reserved* icu::message2::data_model::UnsupportedStatement::getBody(UErrorCode&amp;) const |  InternalICU 75 | (missing)
43| messageformat2_data_model.h | const UnicodeString &amp; icu::message2::data_model::UnsupportedStatement::getKeyword() const |  InternalICU 75 | (missing)
44| messageformat2_data_model.h | icu::message2::data_model::Reserved::Builder::Builder(Builder&amp;&amp;)=delete |   _untagged _  | (missing)
45| messageformat2_data_model.h | icu::message2::data_model::Reserved::Builder::Builder(UErrorCode&amp;) |  InternalICU 75 | (missing)
46| messageformat2_data_model.h | icu::message2::data_model::Reserved::Builder::Builder(const Builder&amp;)=delete |   _untagged _  | (missing)
47| messageformat2_data_model.h | icu::message2::data_model::Reserved::Builder::~Builder() |  InternalICU 75 | (missing)
48| messageformat2_data_model.h | icu::message2::data_model::Reserved::Reserved() |  InternalICU 75 | (missing)
49| messageformat2_data_model.h | icu::message2::data_model::Reserved::Reserved(const Reserved&amp;) |  InternalICU 75 | (missing)
50| messageformat2_data_model.h | icu::message2::data_model::Reserved::~Reserved() |  InternalICU 75 | (missing)
51| messageformat2_data_model.h | icu::message2::data_model::UnsupportedStatement::Builder::Builder(Builder&amp;&amp;)=delete |   _untagged _  | (missing)
52| messageformat2_data_model.h | icu::message2::data_model::UnsupportedStatement::Builder::Builder(UErrorCode&amp;) |  InternalICU 75 | (missing)
53| messageformat2_data_model.h | icu::message2::data_model::UnsupportedStatement::Builder::Builder(const Builder&amp;)=delete |   _untagged _  | (missing)
54| messageformat2_data_model.h | icu::message2::data_model::UnsupportedStatement::Builder::~Builder() |  InternalICU 75 | (missing)
55| messageformat2_data_model.h | icu::message2::data_model::UnsupportedStatement::UnsupportedStatement() |  InternalICU 75 | (missing)
56| messageformat2_data_model.h | icu::message2::data_model::UnsupportedStatement::UnsupportedStatement(const UnsupportedStatement&amp;) |  InternalICU 75 | (missing)
57| messageformat2_data_model.h | icu::message2::data_model::UnsupportedStatement::~UnsupportedStatement() |  InternalICU 75 | (missing)
58| messageformat2_data_model.h | int32_t icu::message2::data_model::Reserved::numParts() const |  InternalICU 75 | (missing)
59| messageformat2_data_model.h | std::vector&lt; Expression &gt; icu::message2::data_model::UnsupportedStatement::getExpressions() const |  InternalICU 75 | (missing)
60| simplenumberformatter.h | void icu::number::SimpleNumber::truncateStart(uint32_t, UErrorCode&amp;) |  DeprecatedICU 75 | (missing)
61| unistr.h | UNISTR_FROM_STRING_EXPLICIT icu::UnicodeString::UnicodeString(const char16_t*) |  StableICU 2.0 | (missing)
62| unistr.h | UNISTR_FROM_STRING_EXPLICIT icu::UnicodeString::UnicodeString(const uint16_t*) |  StableICU 59 | (missing)
63| unistr.h | UNISTR_FROM_STRING_EXPLICIT icu::UnicodeString::UnicodeString(const wchar_t*) |  StableICU 59 | (missing)
64| unistr.h | UnicodeString&amp; icu::UnicodeString::remove(int32_t, int32_t length=(int32_t)) |  StableICU 2.0 | (missing)
65| unistr.h | UnicodeString&amp; icu::UnicodeString::removeBetween(int32_t, int32_t limit=(int32_t)) |  StableICU 2.0 | (missing)
66| usimplenumberformatter.h | void usnum_truncateStart(USimpleNumber*, int32_t, UErrorCode*) |  DeprecatedICU 75 | (missing)
67| utypes.h | <tt>enum</tt> UErrorCode::U_MF_UNSUPPORTED_EXPRESSION_ERROR |  InternalICU 75 | (missing)
68| utypes.h | <tt>enum</tt> UErrorCode::U_MF_UNSUPPORTED_STATEMENT_ERROR |  InternalICU 75 | (missing)
69
70## Deprecated
71
72Deprecated or Obsoleted in ICU 76
73
74| File | API | ICU 75 | ICU 76 |
75|---|---|---|---|
76
77## Changed
78
79Changed in  ICU 76 (old, new)
80
81
82
83| File | API | ICU 75 | ICU 76 |
84|---|---|---|---|
85| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getGasolineEnergyDensity() |  Draft→StableICU 74
86| measunit.h | <tt>static</tt> MeasureUnit* icu::MeasureUnit::createGasolineEnergyDensity(UErrorCode&amp;) |  Draft→StableICU 74
87| measure.h | bool icu::Measure::operator!=(const UObject&amp;) const |  Draft→StableICU 74
88| normalizer2.h | <tt>static</tt> const Normalizer2* icu::Normalizer2::getNFKCSimpleCasefoldInstance(UErrorCode&amp;) |  Draft→StableICU 74
89| timezone.h | <tt>static</tt> UnicodeString&amp; icu::TimeZone::getIanaID(const UnicodeString&amp;, UnicodeString&amp;, UErrorCode&amp;) |  Draft→StableICU 74
90| ucal.h | int32_t ucal_getIanaTimeZoneID(const UChar*, int32_t, UChar*, int32_t, UErrorCode*) |  Draft→StableICU 74
91| uchar.h | <tt>enum</tt> UProperty::UCHAR_IDS_UNARY_OPERATOR |  Draft→StableICU 74
92| uchar.h | <tt>enum</tt> UProperty::UCHAR_ID_COMPAT_MATH_CONTINUE |  Draft→StableICU 74
93| uchar.h | <tt>enum</tt> UProperty::UCHAR_ID_COMPAT_MATH_START |  Draft→StableICU 74
94| ulocale.h | UEnumeration* ulocale_getKeywords(const ULocale*, UErrorCode*) |  Draft→StableICU 74
95| ulocale.h | UEnumeration* ulocale_getUnicodeKeywords(const ULocale*, UErrorCode*) |  Draft→StableICU 74
96| ulocale.h | ULocale* ulocale_openForLanguageTag(const char*, int32_t, UErrorCode*) |  Draft→StableICU 74
97| ulocale.h | ULocale* ulocale_openForLocaleID(const char*, int32_t, UErrorCode*) |  Draft→StableICU 74
98| ulocale.h | bool ulocale_isBogus(const ULocale*) |  Draft→StableICU 74
99| ulocale.h | const char* ulocale_getBaseName(const ULocale*) |  Draft→StableICU 74
100| ulocale.h | const char* ulocale_getLanguage(const ULocale*) |  Draft→StableICU 74
101| ulocale.h | const char* ulocale_getLocaleID(const ULocale*) |  Draft→StableICU 74
102| ulocale.h | const char* ulocale_getRegion(const ULocale*) |  Draft→StableICU 74
103| ulocale.h | const char* ulocale_getScript(const ULocale*) |  Draft→StableICU 74
104| ulocale.h | const char* ulocale_getVariant(const ULocale*) |  Draft→StableICU 74
105| ulocale.h | int32_t ulocale_getKeywordValue(const ULocale*, const char*, int32_t, char*, int32_t, UErrorCode*) |  Draft→StableICU 74
106| ulocale.h | int32_t ulocale_getUnicodeKeywordValue(const ULocale*, const char*, int32_t, char*, int32_t, UErrorCode*) |  Draft→StableICU 74
107| ulocale.h | void ulocale_close(ULocale*) |  Draft→StableICU 74
108| ulocbuilder.h | ULocale* ulocbld_buildULocale(ULocaleBuilder*, UErrorCode*) |  Draft→StableICU 74
109| ulocbuilder.h | ULocaleBuilder* ulocbld_open() |  Draft→StableICU 74
110| ulocbuilder.h | bool ulocbld_copyErrorTo(const ULocaleBuilder*, UErrorCode*) |  Draft→StableICU 74
111| ulocbuilder.h | int32_t ulocbld_buildLanguageTag(ULocaleBuilder*, char*, int32_t, UErrorCode*) |  Draft→StableICU 74
112| ulocbuilder.h | int32_t ulocbld_buildLocaleID(ULocaleBuilder*, char*, int32_t, UErrorCode*) |  Draft→StableICU 74
113| ulocbuilder.h | void ulocbld_addUnicodeLocaleAttribute(ULocaleBuilder*, const char*, int32_t) |  Draft→StableICU 74
114| ulocbuilder.h | void ulocbld_adoptULocale(ULocaleBuilder*, ULocale*) |  Draft→StableICU 74
115| ulocbuilder.h | void ulocbld_clear(ULocaleBuilder*) |  Draft→StableICU 74
116| ulocbuilder.h | void ulocbld_clearExtensions(ULocaleBuilder*) |  Draft→StableICU 74
117| ulocbuilder.h | void ulocbld_close(ULocaleBuilder*) |  Draft→StableICU 74
118| ulocbuilder.h | void ulocbld_removeUnicodeLocaleAttribute(ULocaleBuilder*, const char*, int32_t) |  Draft→StableICU 74
119| ulocbuilder.h | void ulocbld_setExtension(ULocaleBuilder*, char, const char*, int32_t) |  Draft→StableICU 74
120| ulocbuilder.h | void ulocbld_setLanguage(ULocaleBuilder*, const char*, int32_t) |  Draft→StableICU 74
121| ulocbuilder.h | void ulocbld_setLanguageTag(ULocaleBuilder*, const char*, int32_t) |  Draft→StableICU 74
122| ulocbuilder.h | void ulocbld_setLocale(ULocaleBuilder*, const char*, int32_t) |  Draft→StableICU 74
123| ulocbuilder.h | void ulocbld_setRegion(ULocaleBuilder*, const char*, int32_t) |  Draft→StableICU 74
124| ulocbuilder.h | void ulocbld_setScript(ULocaleBuilder*, const char*, int32_t) |  Draft→StableICU 74
125| ulocbuilder.h | void ulocbld_setUnicodeLocaleKeyword(ULocaleBuilder*, const char*, int32_t, const char*, int32_t) |  Draft→StableICU 74
126| ulocbuilder.h | void ulocbld_setVariant(ULocaleBuilder*, const char*, int32_t) |  Draft→StableICU 74
127| unorm2.h | const UNormalizer2* unorm2_getNFKCSimpleCasefoldInstance(UErrorCode*) |  Draft→StableICU 74
128| uspoof.h | icu::UnicodeString&amp; uspoof_getBidiSkeletonUnicodeString(const USpoofChecker*, UBiDiDirection, const icu::UnicodeString&amp;, icu::UnicodeString&amp;, UErrorCode*) |  Draft→StableICU 74
129| uspoof.h | int32_t uspoof_getBidiSkeleton(const USpoofChecker*, UBiDiDirection, const UChar*, int32_t, UChar*, int32_t, UErrorCode*) |  Draft→StableICU 74
130| uspoof.h | int32_t uspoof_getBidiSkeletonUTF8(const USpoofChecker*, UBiDiDirection, const char*, int32_t, char*, int32_t, UErrorCode*) |  Draft→StableICU 74
131| uspoof.h | uint32_t uspoof_areBidiConfusable(const USpoofChecker*, UBiDiDirection, const UChar*, int32_t, const UChar*, int32_t, UErrorCode*) |  Draft→StableICU 74
132| uspoof.h | uint32_t uspoof_areBidiConfusableUTF8(const USpoofChecker*, UBiDiDirection, const char*, int32_t, const char*, int32_t, UErrorCode*) |  Draft→StableICU 74
133| uspoof.h | uint32_t uspoof_areBidiConfusableUnicodeString(const USpoofChecker*, UBiDiDirection, const icu::UnicodeString&amp;, const icu::UnicodeString&amp;, UErrorCode*) |  Draft→StableICU 74
134
135## Promoted
136
137Promoted to stable in ICU 76
138
139| File | API | ICU 75 | ICU 76 |
140|---|---|---|---|
141| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getGasolineEnergyDensity() |  Draft→StableICU 74
142| measunit.h | <tt>static</tt> MeasureUnit* icu::MeasureUnit::createGasolineEnergyDensity(UErrorCode&amp;) |  Draft→StableICU 74
143| measure.h | bool icu::Measure::operator!=(const UObject&amp;) const |  Draft→StableICU 74
144| normalizer2.h | <tt>static</tt> const Normalizer2* icu::Normalizer2::getNFKCSimpleCasefoldInstance(UErrorCode&amp;) |  Draft→StableICU 74
145| timezone.h | <tt>static</tt> UnicodeString&amp; icu::TimeZone::getIanaID(const UnicodeString&amp;, UnicodeString&amp;, UErrorCode&amp;) |  Draft→StableICU 74
146| ucal.h | int32_t ucal_getIanaTimeZoneID(const UChar*, int32_t, UChar*, int32_t, UErrorCode*) |  Draft→StableICU 74
147| uchar.h | <tt>enum</tt> UBlockCode::UBLOCK_EGYPTIAN_HIEROGLYPHS_EXTENDED_A |  (missing) | StableICU 76| *(Born Stable)* |
148| uchar.h | <tt>enum</tt> UBlockCode::UBLOCK_GARAY |  (missing) | StableICU 76| *(Born Stable)* |
149| uchar.h | <tt>enum</tt> UBlockCode::UBLOCK_GURUNG_KHEMA |  (missing) | StableICU 76| *(Born Stable)* |
150| uchar.h | <tt>enum</tt> UBlockCode::UBLOCK_KIRAT_RAI |  (missing) | StableICU 76| *(Born Stable)* |
151| uchar.h | <tt>enum</tt> UBlockCode::UBLOCK_MYANMAR_EXTENDED_C |  (missing) | StableICU 76| *(Born Stable)* |
152| uchar.h | <tt>enum</tt> UBlockCode::UBLOCK_OL_ONAL |  (missing) | StableICU 76| *(Born Stable)* |
153| uchar.h | <tt>enum</tt> UBlockCode::UBLOCK_SUNUWAR |  (missing) | StableICU 76| *(Born Stable)* |
154| uchar.h | <tt>enum</tt> UBlockCode::UBLOCK_SYMBOLS_FOR_LEGACY_COMPUTING_SUPPLEMENT |  (missing) | StableICU 76| *(Born Stable)* |
155| uchar.h | <tt>enum</tt> UBlockCode::UBLOCK_TODHRI |  (missing) | StableICU 76| *(Born Stable)* |
156| uchar.h | <tt>enum</tt> UBlockCode::UBLOCK_TULU_TIGALARI |  (missing) | StableICU 76| *(Born Stable)* |
157| uchar.h | <tt>enum</tt> UIndicSyllabicCategory::U_INSC_REORDERING_KILLER |  (missing) | StableICU 76| *(Born Stable)* |
158| uchar.h | <tt>enum</tt> UJoiningGroup::U_JG_KASHMIRI_YEH |  (missing) | StableICU 76| *(Born Stable)* |
159| uchar.h | <tt>enum</tt> UProperty::UCHAR_IDS_UNARY_OPERATOR |  Draft→StableICU 74
160| uchar.h | <tt>enum</tt> UProperty::UCHAR_ID_COMPAT_MATH_CONTINUE |  Draft→StableICU 74
161| uchar.h | <tt>enum</tt> UProperty::UCHAR_ID_COMPAT_MATH_START |  Draft→StableICU 74
162| ulocale.h | UEnumeration* ulocale_getKeywords(const ULocale*, UErrorCode*) |  Draft→StableICU 74
163| ulocale.h | UEnumeration* ulocale_getUnicodeKeywords(const ULocale*, UErrorCode*) |  Draft→StableICU 74
164| ulocale.h | ULocale* ulocale_openForLanguageTag(const char*, int32_t, UErrorCode*) |  Draft→StableICU 74
165| ulocale.h | ULocale* ulocale_openForLocaleID(const char*, int32_t, UErrorCode*) |  Draft→StableICU 74
166| ulocale.h | bool ulocale_isBogus(const ULocale*) |  Draft→StableICU 74
167| ulocale.h | const char* ulocale_getBaseName(const ULocale*) |  Draft→StableICU 74
168| ulocale.h | const char* ulocale_getLanguage(const ULocale*) |  Draft→StableICU 74
169| ulocale.h | const char* ulocale_getLocaleID(const ULocale*) |  Draft→StableICU 74
170| ulocale.h | const char* ulocale_getRegion(const ULocale*) |  Draft→StableICU 74
171| ulocale.h | const char* ulocale_getScript(const ULocale*) |  Draft→StableICU 74
172| ulocale.h | const char* ulocale_getVariant(const ULocale*) |  Draft→StableICU 74
173| ulocale.h | int32_t ulocale_getKeywordValue(const ULocale*, const char*, int32_t, char*, int32_t, UErrorCode*) |  Draft→StableICU 74
174| ulocale.h | int32_t ulocale_getUnicodeKeywordValue(const ULocale*, const char*, int32_t, char*, int32_t, UErrorCode*) |  Draft→StableICU 74
175| ulocale.h | void ulocale_close(ULocale*) |  Draft→StableICU 74
176| ulocbuilder.h | ULocale* ulocbld_buildULocale(ULocaleBuilder*, UErrorCode*) |  Draft→StableICU 74
177| ulocbuilder.h | ULocaleBuilder* ulocbld_open() |  Draft→StableICU 74
178| ulocbuilder.h | bool ulocbld_copyErrorTo(const ULocaleBuilder*, UErrorCode*) |  Draft→StableICU 74
179| ulocbuilder.h | int32_t ulocbld_buildLanguageTag(ULocaleBuilder*, char*, int32_t, UErrorCode*) |  Draft→StableICU 74
180| ulocbuilder.h | int32_t ulocbld_buildLocaleID(ULocaleBuilder*, char*, int32_t, UErrorCode*) |  Draft→StableICU 74
181| ulocbuilder.h | void ulocbld_addUnicodeLocaleAttribute(ULocaleBuilder*, const char*, int32_t) |  Draft→StableICU 74
182| ulocbuilder.h | void ulocbld_adoptULocale(ULocaleBuilder*, ULocale*) |  Draft→StableICU 74
183| ulocbuilder.h | void ulocbld_clear(ULocaleBuilder*) |  Draft→StableICU 74
184| ulocbuilder.h | void ulocbld_clearExtensions(ULocaleBuilder*) |  Draft→StableICU 74
185| ulocbuilder.h | void ulocbld_close(ULocaleBuilder*) |  Draft→StableICU 74
186| ulocbuilder.h | void ulocbld_removeUnicodeLocaleAttribute(ULocaleBuilder*, const char*, int32_t) |  Draft→StableICU 74
187| ulocbuilder.h | void ulocbld_setExtension(ULocaleBuilder*, char, const char*, int32_t) |  Draft→StableICU 74
188| ulocbuilder.h | void ulocbld_setLanguage(ULocaleBuilder*, const char*, int32_t) |  Draft→StableICU 74
189| ulocbuilder.h | void ulocbld_setLanguageTag(ULocaleBuilder*, const char*, int32_t) |  Draft→StableICU 74
190| ulocbuilder.h | void ulocbld_setLocale(ULocaleBuilder*, const char*, int32_t) |  Draft→StableICU 74
191| ulocbuilder.h | void ulocbld_setRegion(ULocaleBuilder*, const char*, int32_t) |  Draft→StableICU 74
192| ulocbuilder.h | void ulocbld_setScript(ULocaleBuilder*, const char*, int32_t) |  Draft→StableICU 74
193| ulocbuilder.h | void ulocbld_setUnicodeLocaleKeyword(ULocaleBuilder*, const char*, int32_t, const char*, int32_t) |  Draft→StableICU 74
194| ulocbuilder.h | void ulocbld_setVariant(ULocaleBuilder*, const char*, int32_t) |  Draft→StableICU 74
195| unistr.h | UnicodeString&amp; icu::UnicodeString::remove(int32_t, int32_t length=static_cast&lt; int32_t &gt;(INT32_MAX)) |  (missing) | StableICU 2.0
196| unistr.h | UnicodeString&amp; icu::UnicodeString::removeBetween(int32_t, int32_t limit=static_cast&lt; int32_t &gt;(INT32_MAX)) |  (missing) | StableICU 2.0
197| unorm2.h | const UNormalizer2* unorm2_getNFKCSimpleCasefoldInstance(UErrorCode*) |  Draft→StableICU 74
198| uscript.h | <tt>enum</tt> UScriptCode::USCRIPT_GARAY |  (missing) | StableICU 76| *(Born Stable)* |
199| uscript.h | <tt>enum</tt> UScriptCode::USCRIPT_GURUNG_KHEMA |  (missing) | StableICU 76| *(Born Stable)* |
200| uscript.h | <tt>enum</tt> UScriptCode::USCRIPT_KIRAT_RAI |  (missing) | StableICU 76| *(Born Stable)* |
201| uscript.h | <tt>enum</tt> UScriptCode::USCRIPT_OL_ONAL |  (missing) | StableICU 76| *(Born Stable)* |
202| uscript.h | <tt>enum</tt> UScriptCode::USCRIPT_SUNUWAR |  (missing) | StableICU 76| *(Born Stable)* |
203| uscript.h | <tt>enum</tt> UScriptCode::USCRIPT_TODHRI |  (missing) | StableICU 76| *(Born Stable)* |
204| uscript.h | <tt>enum</tt> UScriptCode::USCRIPT_TULU_TIGALARI |  (missing) | StableICU 76| *(Born Stable)* |
205| uspoof.h | icu::UnicodeString&amp; uspoof_getBidiSkeletonUnicodeString(const USpoofChecker*, UBiDiDirection, const icu::UnicodeString&amp;, icu::UnicodeString&amp;, UErrorCode*) |  Draft→StableICU 74
206| uspoof.h | int32_t uspoof_getBidiSkeleton(const USpoofChecker*, UBiDiDirection, const UChar*, int32_t, UChar*, int32_t, UErrorCode*) |  Draft→StableICU 74
207| uspoof.h | int32_t uspoof_getBidiSkeletonUTF8(const USpoofChecker*, UBiDiDirection, const char*, int32_t, char*, int32_t, UErrorCode*) |  Draft→StableICU 74
208| uspoof.h | uint32_t uspoof_areBidiConfusable(const USpoofChecker*, UBiDiDirection, const UChar*, int32_t, const UChar*, int32_t, UErrorCode*) |  Draft→StableICU 74
209| uspoof.h | uint32_t uspoof_areBidiConfusableUTF8(const USpoofChecker*, UBiDiDirection, const char*, int32_t, const char*, int32_t, UErrorCode*) |  Draft→StableICU 74
210| uspoof.h | uint32_t uspoof_areBidiConfusableUnicodeString(const USpoofChecker*, UBiDiDirection, const icu::UnicodeString&amp;, const icu::UnicodeString&amp;, UErrorCode*) |  Draft→StableICU 74
211
212## Added
213
214Added in ICU 76
215
216| File | API | ICU 75 | ICU 76 |
217|---|---|---|---|
218| coll.h | auto icu::Collator::equal_to() const |  (missing) | DraftICU 76
219| coll.h | auto icu::Collator::greater() const |  (missing) | DraftICU 76
220| coll.h | auto icu::Collator::greater_equal() const |  (missing) | DraftICU 76
221| coll.h | auto icu::Collator::less() const |  (missing) | DraftICU 76
222| coll.h | auto icu::Collator::less_equal() const |  (missing) | DraftICU 76
223| coll.h | auto icu::Collator::not_equal_to() const |  (missing) | DraftICU 76
224| messageformat2.h | Builder&amp; icu::message2::MessageFormatter::Builder::setErrorHandlingBehavior(UMFErrorHandlingBehavior) |  (missing) | InternalICU 76
225| messageformat2.h | <tt>enum</tt>  							icu::message2::MessageFormatter::UMFErrorHandlingBehavior {} |  (missing) | InternalICU 76
226| messageformat2.h | <tt>enum</tt>  							icu::message2::MessageFormatter::UMFErrorHandlingBehavior::U_MF_BEST_EFFORT |  (missing) | InternalICU 76
227| messageformat2.h | <tt>enum</tt>  							icu::message2::MessageFormatter::UMFErrorHandlingBehavior::U_MF_STRICT |  (missing) | InternalICU 76
228| stringpiece.h | icu::StringPiece::operator std::string_view() const |  (missing) | Internal
229| uchar.h | <tt>enum</tt> UBlockCode::UBLOCK_EGYPTIAN_HIEROGLYPHS_EXTENDED_A |  (missing) | StableICU 76| *(Born Stable)* |
230| uchar.h | <tt>enum</tt> UBlockCode::UBLOCK_GARAY |  (missing) | StableICU 76| *(Born Stable)* |
231| uchar.h | <tt>enum</tt> UBlockCode::UBLOCK_GURUNG_KHEMA |  (missing) | StableICU 76| *(Born Stable)* |
232| uchar.h | <tt>enum</tt> UBlockCode::UBLOCK_KIRAT_RAI |  (missing) | StableICU 76| *(Born Stable)* |
233| uchar.h | <tt>enum</tt> UBlockCode::UBLOCK_MYANMAR_EXTENDED_C |  (missing) | StableICU 76| *(Born Stable)* |
234| uchar.h | <tt>enum</tt> UBlockCode::UBLOCK_OL_ONAL |  (missing) | StableICU 76| *(Born Stable)* |
235| uchar.h | <tt>enum</tt> UBlockCode::UBLOCK_SUNUWAR |  (missing) | StableICU 76| *(Born Stable)* |
236| uchar.h | <tt>enum</tt> UBlockCode::UBLOCK_SYMBOLS_FOR_LEGACY_COMPUTING_SUPPLEMENT |  (missing) | StableICU 76| *(Born Stable)* |
237| uchar.h | <tt>enum</tt> UBlockCode::UBLOCK_TODHRI |  (missing) | StableICU 76| *(Born Stable)* |
238| uchar.h | <tt>enum</tt> UBlockCode::UBLOCK_TULU_TIGALARI |  (missing) | StableICU 76| *(Born Stable)* |
239| uchar.h | <tt>enum</tt> UIndicConjunctBreak::U_INCB_CONSONANT |  (missing) | DraftICU 76
240| uchar.h | <tt>enum</tt> UIndicConjunctBreak::U_INCB_EXTEND |  (missing) | DraftICU 76
241| uchar.h | <tt>enum</tt> UIndicConjunctBreak::U_INCB_LINKER |  (missing) | DraftICU 76
242| uchar.h | <tt>enum</tt> UIndicConjunctBreak::U_INCB_NONE |  (missing) | DraftICU 76
243| uchar.h | <tt>enum</tt> UIndicSyllabicCategory::U_INSC_REORDERING_KILLER |  (missing) | StableICU 76| *(Born Stable)* |
244| uchar.h | <tt>enum</tt> UJoiningGroup::U_JG_KASHMIRI_YEH |  (missing) | StableICU 76| *(Born Stable)* |
245| uchar.h | <tt>enum</tt> UProperty::UCHAR_INDIC_CONJUNCT_BREAK |  (missing) | DraftICU 76
246| uchar.h | <tt>enum</tt> UProperty::UCHAR_MODIFIER_COMBINING_MARK |  (missing) | DraftICU 76
247| ucol.h | U_HEADER_ONLY_NAMESPACE::collator::internal::Predicate&lt; Compare, result &gt;::Predicate(const UCollator*) |  (missing) | Internal
248| ucol.h | bool U_HEADER_ONLY_NAMESPACE::collator::internal::Predicate&lt; Compare, result &gt;::operator()(const T&amp;, const U&amp;) const |  (missing) | Internal
249| ucol.h | bool U_HEADER_ONLY_NAMESPACE::collator::internal::Predicate&lt; Compare, result &gt;::operator()(std::string_view, std::string_view) const |  (missing) | Internal
250| uniset.h | U_HEADER_NESTED_NAMESPACE::USetCodePoints icu::UnicodeSet::codePoints() const |  (missing) | DraftICU 76
251| uniset.h | U_HEADER_NESTED_NAMESPACE::USetElementIterator icu::UnicodeSet::begin() const |  (missing) | DraftICU 76
252| uniset.h | U_HEADER_NESTED_NAMESPACE::USetElementIterator icu::UnicodeSet::end() const |  (missing) | DraftICU 76
253| uniset.h | U_HEADER_NESTED_NAMESPACE::USetRanges icu::UnicodeSet::ranges() const |  (missing) | DraftICU 76
254| uniset.h | U_HEADER_NESTED_NAMESPACE::USetStrings icu::UnicodeSet::strings() const |  (missing) | DraftICU 76
255| unistr.h | UNISTR_FROM_STRING_EXPLICIT icu::UnicodeString::UnicodeString(const S&amp;) |  (missing) | DraftICU 76
256| unistr.h | UnicodeString&amp; icu::UnicodeString::append(const S&amp;) |  (missing) | DraftICU 76
257| unistr.h | UnicodeString&amp; icu::UnicodeString::operator+=(const S&amp;) |  (missing) | DraftICU 76
258| unistr.h | UnicodeString&amp; icu::UnicodeString::operator=(const S&amp;) |  (missing) | DraftICU 76
259| unistr.h | UnicodeString&amp; icu::UnicodeString::remove(int32_t, int32_t length=static_cast&lt; int32_t &gt;(INT32_MAX)) |  (missing) | StableICU 2.0
260| unistr.h | UnicodeString&amp; icu::UnicodeString::removeBetween(int32_t, int32_t limit=static_cast&lt; int32_t &gt;(INT32_MAX)) |  (missing) | StableICU 2.0
261| unistr.h | bool icu::UnicodeString::operator!=(const S&amp;) const |  (missing) | DraftICU 76
262| unistr.h | bool icu::UnicodeString::operator==(const S&amp;) const |  (missing) | DraftICU 76
263| unistr.h | icu::UnicodeString::operator std::u16string_view() const |  (missing) | DraftICU 76
264| unistr.h | icu::UnicodeString::operator std::wstring_view() const |  (missing) | DraftICU 76
265| unistr.h | <tt>static</tt> UnicodeString icu::UnicodeString::readOnlyAlias(const S&amp;) |  (missing) | DraftICU 76
266| unistr.h | <tt>static</tt> UnicodeString icu::UnicodeString::readOnlyAlias(const UnicodeString&amp;) |  (missing) | DraftICU 76
267| uscript.h | <tt>enum</tt> UScriptCode::USCRIPT_GARAY |  (missing) | StableICU 76| *(Born Stable)* |
268| uscript.h | <tt>enum</tt> UScriptCode::USCRIPT_GURUNG_KHEMA |  (missing) | StableICU 76| *(Born Stable)* |
269| uscript.h | <tt>enum</tt> UScriptCode::USCRIPT_KIRAT_RAI |  (missing) | StableICU 76| *(Born Stable)* |
270| uscript.h | <tt>enum</tt> UScriptCode::USCRIPT_OL_ONAL |  (missing) | StableICU 76| *(Born Stable)* |
271| uscript.h | <tt>enum</tt> UScriptCode::USCRIPT_SUNUWAR |  (missing) | StableICU 76| *(Born Stable)* |
272| uscript.h | <tt>enum</tt> UScriptCode::USCRIPT_TODHRI |  (missing) | StableICU 76| *(Born Stable)* |
273| uscript.h | <tt>enum</tt> UScriptCode::USCRIPT_TULU_TIGALARI |  (missing) | StableICU 76| *(Born Stable)* |
274| uset.h | CodePointRange U_HEADER_ONLY_NAMESPACE::USetRangeIterator::operator* () const |  (missing) | DraftICU 76
275| uset.h | USetCodePointIterator &amp; U_HEADER_ONLY_NAMESPACE::USetCodePointIterator::operator++() |  (missing) | DraftICU 76
276| uset.h | USetCodePointIterator U_HEADER_ONLY_NAMESPACE::USetCodePointIterator::operator++(int) |  (missing) | DraftICU 76
277| uset.h | USetCodePointIterator U_HEADER_ONLY_NAMESPACE::USetCodePoints::begin() const |  (missing) | DraftICU 76
278| uset.h | USetCodePointIterator U_HEADER_ONLY_NAMESPACE::USetCodePoints::end() const |  (missing) | DraftICU 76
279| uset.h | USetElementIterator &amp; U_HEADER_ONLY_NAMESPACE::USetElementIterator::operator++() |  (missing) | DraftICU 76
280| uset.h | USetElementIterator U_HEADER_ONLY_NAMESPACE::USetElementIterator::operator++(int) |  (missing) | DraftICU 76
281| uset.h | USetElementIterator U_HEADER_ONLY_NAMESPACE::USetElements::begin() const |  (missing) | DraftICU 76
282| uset.h | USetElementIterator U_HEADER_ONLY_NAMESPACE::USetElements::end() const |  (missing) | DraftICU 76
283| uset.h | USetRangeIterator &amp; U_HEADER_ONLY_NAMESPACE::USetRangeIterator::operator++() |  (missing) | DraftICU 76
284| uset.h | USetRangeIterator U_HEADER_ONLY_NAMESPACE::USetRangeIterator::operator++(int) |  (missing) | DraftICU 76
285| uset.h | USetRangeIterator U_HEADER_ONLY_NAMESPACE::USetRanges::begin() const |  (missing) | DraftICU 76
286| uset.h | USetRangeIterator U_HEADER_ONLY_NAMESPACE::USetRanges::end() const |  (missing) | DraftICU 76
287| uset.h | USetStringIterator &amp; U_HEADER_ONLY_NAMESPACE::USetStringIterator::operator++() |  (missing) | DraftICU 76
288| uset.h | USetStringIterator U_HEADER_ONLY_NAMESPACE::USetStringIterator::operator++(int) |  (missing) | DraftICU 76
289| uset.h | USetStringIterator U_HEADER_ONLY_NAMESPACE::USetStrings::begin() const |  (missing) | DraftICU 76
290| uset.h | USetStringIterator U_HEADER_ONLY_NAMESPACE::USetStrings::end() const |  (missing) | DraftICU 76
291| uset.h | U_HEADER_ONLY_NAMESPACE::USetCodePointIterator::USetCodePointIterator(const USetCodePointIterator&amp;)=default |  (missing) | DraftICU 76
292| uset.h | U_HEADER_ONLY_NAMESPACE::USetCodePoints::USetCodePoints(const USet*) |  (missing) | DraftICU 76
293| uset.h | U_HEADER_ONLY_NAMESPACE::USetCodePoints::USetCodePoints(const USetCodePoints&amp;)=default |  (missing) | DraftICU 76
294| uset.h | U_HEADER_ONLY_NAMESPACE::USetElementIterator::USetElementIterator(const USetElementIterator&amp;)=default |  (missing) | DraftICU 76
295| uset.h | U_HEADER_ONLY_NAMESPACE::USetElements::USetElements(const USet*) |  (missing) | DraftICU 76
296| uset.h | U_HEADER_ONLY_NAMESPACE::USetElements::USetElements(const USetElements&amp;)=default |  (missing) | DraftICU 76
297| uset.h | U_HEADER_ONLY_NAMESPACE::USetRangeIterator::USetRangeIterator(const USetRangeIterator&amp;)=default |  (missing) | DraftICU 76
298| uset.h | U_HEADER_ONLY_NAMESPACE::USetRanges::USetRanges(const USet*) |  (missing) | DraftICU 76
299| uset.h | U_HEADER_ONLY_NAMESPACE::USetRanges::USetRanges(const USetRanges&amp;)=default |  (missing) | DraftICU 76
300| uset.h | U_HEADER_ONLY_NAMESPACE::USetStringIterator::USetStringIterator(const USetStringIterator&amp;)=default |  (missing) | DraftICU 76
301| uset.h | U_HEADER_ONLY_NAMESPACE::USetStrings::USetStrings(const USet*) |  (missing) | DraftICU 76
302| uset.h | U_HEADER_ONLY_NAMESPACE::USetStrings::USetStrings(const USetStrings&amp;)=default |  (missing) | DraftICU 76
303| uset.h | UnicodeString U_HEADER_ONLY_NAMESPACE::USetElementIterator::operator* () const |  (missing) | DraftICU 76
304| uset.h | bool U_HEADER_ONLY_NAMESPACE::USetCodePointIterator::operator!=(const USetCodePointIterator&amp;) const |  (missing) | DraftICU 76
305| uset.h | bool U_HEADER_ONLY_NAMESPACE::USetCodePointIterator::operator==(const USetCodePointIterator&amp;) const |  (missing) | DraftICU 76
306| uset.h | bool U_HEADER_ONLY_NAMESPACE::USetElementIterator::operator!=(const USetElementIterator&amp;) const |  (missing) | DraftICU 76
307| uset.h | bool U_HEADER_ONLY_NAMESPACE::USetElementIterator::operator==(const USetElementIterator&amp;) const |  (missing) | DraftICU 76
308| uset.h | bool U_HEADER_ONLY_NAMESPACE::USetRangeIterator::operator!=(const USetRangeIterator&amp;) const |  (missing) | DraftICU 76
309| uset.h | bool U_HEADER_ONLY_NAMESPACE::USetRangeIterator::operator==(const USetRangeIterator&amp;) const |  (missing) | DraftICU 76
310| uset.h | bool U_HEADER_ONLY_NAMESPACE::USetStringIterator::operator!=(const USetStringIterator&amp;) const |  (missing) | DraftICU 76
311| uset.h | bool U_HEADER_ONLY_NAMESPACE::USetStringIterator::operator==(const USetStringIterator&amp;) const |  (missing) | DraftICU 76
312| uset.h | UChar32 U_HEADER_ONLY_NAMESPACE::USetCodePointIterator::operator* () const |  (missing) | DraftICU 76
313| uset.h | const UChar* uset_getString(const USet*, int32_t, int32_t*) |  (missing) | DraftICU 76
314| uset.h | int32_t uset_getStringCount(const USet*) |  (missing) | DraftICU 76
315| uset.h | std::u16string_view U_HEADER_ONLY_NAMESPACE::USetStringIterator::operator* () const |  (missing) | DraftICU 76
316| utypes.h | <tt>#define</tt> U_SHOW_CPLUSPLUS_HEADER_API |  (missing) | Internal
317| utypes.h | <tt>enum</tt> UErrorCode::U_MF_DUPLICATE_VARIANT_ERROR |  (missing) | InternalICU 76
318
319## Other
320
321Other existing drafts in ICU 76
322
323| File | API | ICU 75 | ICU 76 |
324|---|---|---|---|
325| measfmt.h |  void icu::MeasureFormat::parseObject(const UnicodeString&amp;, Formattable&amp;, ParsePosition&amp;) const | DraftICU 53 |
326| numberformatter.h |  UnlocalizedNumberFormatter icu::number::LocalizedNumberFormatter::withoutLocale() &amp;&amp; | DraftICU 75 |
327| numberformatter.h |  UnlocalizedNumberFormatter icu::number::LocalizedNumberFormatter::withoutLocale() const &amp; | DraftICU 75 |
328| numberrangeformatter.h |  UnlocalizedNumberRangeFormatter icu::number::LocalizedNumberRangeFormatter::withoutLocale() &amp;&amp; | DraftICU 75 |
329| numberrangeformatter.h |  UnlocalizedNumberRangeFormatter icu::number::LocalizedNumberRangeFormatter::withoutLocale() const &amp; | DraftICU 75 |
330| simplenumberformatter.h |  void icu::number::SimpleNumber::setMaximumIntegerDigits(uint32_t, UErrorCode&amp;) | DraftICU 75 |
331| uchar.h |  bool u_hasIDType(UChar32, UIdentifierType) | DraftICU 75 |
332| uchar.h |  <tt>enum</tt> UIdentifierStatus::U_ID_STATUS_ALLOWED | DraftICU 75 |
333| uchar.h |  <tt>enum</tt> UIdentifierStatus::U_ID_STATUS_RESTRICTED | DraftICU 75 |
334| uchar.h |  <tt>enum</tt> UIdentifierType::U_ID_TYPE_DEFAULT_IGNORABLE | DraftICU 75 |
335| uchar.h |  <tt>enum</tt> UIdentifierType::U_ID_TYPE_DEPRECATED | DraftICU 75 |
336| uchar.h |  <tt>enum</tt> UIdentifierType::U_ID_TYPE_EXCLUSION | DraftICU 75 |
337| uchar.h |  <tt>enum</tt> UIdentifierType::U_ID_TYPE_INCLUSION | DraftICU 75 |
338| uchar.h |  <tt>enum</tt> UIdentifierType::U_ID_TYPE_LIMITED_USE | DraftICU 75 |
339| uchar.h |  <tt>enum</tt> UIdentifierType::U_ID_TYPE_NOT_CHARACTER | DraftICU 75 |
340| uchar.h |  <tt>enum</tt> UIdentifierType::U_ID_TYPE_NOT_NFKC | DraftICU 75 |
341| uchar.h |  <tt>enum</tt> UIdentifierType::U_ID_TYPE_NOT_XID | DraftICU 75 |
342| uchar.h |  <tt>enum</tt> UIdentifierType::U_ID_TYPE_OBSOLETE | DraftICU 75 |
343| uchar.h |  <tt>enum</tt> UIdentifierType::U_ID_TYPE_RECOMMENDED | DraftICU 75 |
344| uchar.h |  <tt>enum</tt> UIdentifierType::U_ID_TYPE_TECHNICAL | DraftICU 75 |
345| uchar.h |  <tt>enum</tt> UIdentifierType::U_ID_TYPE_UNCOMMON_USE | DraftICU 75 |
346| uchar.h |  <tt>enum</tt> UProperty::UCHAR_IDENTIFIER_STATUS | DraftICU 75 |
347| uchar.h |  <tt>enum</tt> UProperty::UCHAR_IDENTIFIER_TYPE | DraftICU 75 |
348| uchar.h |  int32_t u_getIDTypes(UChar32, UIdentifierType*, int32_t, UErrorCode*) | DraftICU 75 |
349| uregex.h |  <tt>enum</tt> URegexpFlag::UREGEX_CANON_EQ | DraftICU 2.4 |
350| usimplenumberformatter.h |  void usnum_setMaximumIntegerDigits(USimpleNumber*, int32_t, UErrorCode*) | DraftICU 75 |
351
352## Simplifications
353
354This section shows cases where the signature was "simplified" for the sake of comparison. The simplified form is in bold, followed by
355    all possible variations in "original" form.
356
357
358## Colophon
359
360Contents generated by StableAPI tool on Tue Sep 24 13:19:44 PDT 2024
361
362Copyright © 2019 and later: Unicode, Inc. and others.
363License & terms of use: http://www.unicode.org/copyright.html
364