ICU-21480 Update ICU4C APIChangeReport files
diff --git a/icu4c/APIChangeReport.html b/icu4c/APIChangeReport.html
index 53919cd..a3d1da6 100644
--- a/icu4c/APIChangeReport.html
+++ b/icu4c/APIChangeReport.html
@@ -5,31 +5,31 @@
 	-->
 <head>
 <META http-equiv="Content-Type" content="text/html; charset=utf-8">
-<title>ICU4C API Comparison: ICU 67 with ICU 68</title>
+<title>ICU4C API Comparison: ICU 68 (update #1: 68.2) with ICU 69</title>
 <link type="text/css" href="icu4c.css" rel="stylesheet">
 </head>
 <body>
 <a name="#_top"></a>
-<h1>ICU4C API Comparison: ICU 67 with ICU 68</h1>
+<h1>ICU4C API Comparison: ICU 68 (update #1: 68.2) with ICU 69</h1>
 <div id="toc">
 <ul>
 <li>
-<a href="#removed">Removed from ICU 67</a>
+<a href="#removed">Removed from ICU 68</a>
 </li>
 <li>
-<a href="#deprecated">Deprecated or Obsoleted in ICU 68</a>
+<a href="#deprecated">Deprecated or Obsoleted in ICU 69</a>
 </li>
 <li>
-<a href="#changed">Changed in  ICU 68</a>
+<a href="#changed">Changed in  ICU 69</a>
 </li>
 <li>
-<a href="#promoted">Promoted to stable in ICU 68</a>
+<a href="#promoted">Promoted to stable in ICU 69</a>
 </li>
 <li>
-<a href="#added">Added in ICU 68</a>
+<a href="#added">Added in ICU 69</a>
 </li>
 <li>
-<a href="#other">Other existing drafts in ICU 68</a>
+<a href="#other">Other existing drafts in ICU 69</a>
 </li>
 <li>
 <a href="#simplifications">Signature Simplifications</a>
@@ -38,71 +38,71 @@
 <hr>
 </div>
 <a name="removed"></a>
-<h2>Removed from ICU 67</h2>
+<h2>Removed from ICU 68</h2>
 <table BORDER="1" class="genTable">
 <THEAD>
 <tr>
-<th>File</th><th>API</th><th>ICU 67</th><th>ICU 68</th>
+<th>File</th><th>API</th><th>ICU 68</th><th>ICU 69</th>
 </tr>
 </THEAD>
 <tr class="row1">
-<td class="file">fmtable.h</td><td class="proto">const UFormattable* icu::Formattable::toUFormattable()</td><td class="stabchange">Stable<br>ICU 52</td><td>(missing)<br>
+<td class="file">listformatter.h</td><td class="proto"><tt>static</tt> ListFormatter* icu::ListFormatter::createInstance(const Locale&amp;, const char*, UErrorCode&amp;)</td><td class="">Internal</td><td>(missing)<br>
 <span class=""><span></span></span></td>
 </tr>
 <tr class="row0">
-<td class="file">measunit.h</td><td class="proto">LocalArray&lt;MeasureUnit&gt; icu::MeasureUnit::splitToSingleUnits(int32_t&amp;, UErrorCode&amp;) const</td><td class="">Internal<br>ICU 67</td><td>(missing)<br>
+<td class="file">measunit.h</td><td class="proto">MeasureUnit icu::MeasureUnit::withSIPrefix(UMeasureSIPrefix, UErrorCode&amp;) const</td><td class="">Draft<br>ICU 67</td><td>(missing)<br>
 <span class=""><span></span></span></td>
 </tr>
 <tr class="row1">
-<td class="file">measunit.h</td><td class="proto">int32_t icu::MeasureUnit::getIndex() const</td><td class="">Internal</td><td>(missing)<br>
+<td class="file">measunit.h</td><td class="proto">UMeasureSIPrefix icu::MeasureUnit::getSIPrefix(UErrorCode&amp;) const</td><td class="">Draft<br>ICU 67</td><td>(missing)<br>
 <span class=""><span></span></span></td>
 </tr>
 <tr class="row0">
-<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::resolveUnitPerUnit(const MeasureUnit&amp;, const MeasureUnit&amp;, bool*)</td><td class="">Internal</td><td>(missing)<br>
+<td class="file">numberformatter.h</td><td class="proto">Usage&amp; icu::number::impl::Usage::operator=(Usage&amp;&amp;)</td><td class="">Internal</td><td>(missing)<br>
 <span class=""><span></span></span></td>
 </tr>
 <tr class="row1">
-<td class="file">measunit.h</td><td class="proto"><tt>static</tt> int32_t icu::MeasureUnit::getIndexCount()</td><td class="">Internal</td><td>(missing)<br>
+<td class="file">numberformatter.h</td><td class="proto">Usage&amp; icu::number::impl::Usage::operator=(const Usage&amp;)</td><td class="">Internal</td><td>(missing)<br>
 <span class=""><span></span></span></td>
 </tr>
 <tr class="row0">
-<td class="file">measunit.h</td><td class="proto"><tt>static</tt> int32_t icu::MeasureUnit::internalGetIndexForTypeAndSubtype(const char*, const char*)</td><td class="">Internal</td><td>(missing)<br>
+<td class="file">numberformatter.h</td><td class="proto">bool icu::number::impl::Usage::isSet() const</td><td class="">Internal</td><td>(missing)<br>
 <span class=""><span></span></span></td>
 </tr>
 <tr class="row1">
-<td class="file">nounit.h</td><td class="proto">UClassID icu::NoUnit::getDynamicClassID() const</td><td class="">Draft<br>ICU 60</td><td>(missing)<br>
+<td class="file">numberformatter.h</td><td class="proto">icu::number::impl::Usage::Usage(Usage&amp;&amp;)</td><td class="">Internal</td><td>(missing)<br>
 <span class=""><span></span></span></td>
 </tr>
 <tr class="row0">
-<td class="file">nounit.h</td><td class="proto">icu::NoUnit::NoUnit(const NoUnit&amp;)</td><td class="">Draft<br>ICU 60</td><td>(missing)<br>
+<td class="file">numberformatter.h</td><td class="proto">icu::number::impl::Usage::Usage(const Usage&amp;)</td><td class="">Internal</td><td>(missing)<br>
 <span class=""><span></span></span></td>
 </tr>
 <tr class="row1">
-<td class="file">nounit.h</td><td class="proto">icu::NoUnit::~NoUnit()</td><td class="">Draft<br>ICU 60</td><td>(missing)<br>
+<td class="file">numberformatter.h</td><td class="proto">icu::number::impl::Usage::~Usage()</td><td class="">Internal</td><td>(missing)<br>
 <span class=""><span></span></span></td>
 </tr>
 <tr class="row0">
-<td class="file">nounit.h</td><td class="proto"><tt>static</tt> NoUnit icu::NoUnit::base()</td><td class="">Draft<br>ICU 60</td><td>(missing)<br>
+<td class="file">numberformatter.h</td><td class="proto">int16_t icu::number::impl::Usage::length() const</td><td class="">Internal</td><td>(missing)<br>
 <span class=""><span></span></span></td>
 </tr>
 <tr class="row1">
-<td class="file">nounit.h</td><td class="proto"><tt>static</tt> NoUnit icu::NoUnit::percent()</td><td class="">Draft<br>ICU 60</td><td>(missing)<br>
+<td class="file">numberformatter.h</td><td class="proto">void icu::number::impl::Usage::set(StringPiece)</td><td class="">Internal</td><td>(missing)<br>
 <span class=""><span></span></span></td>
 </tr>
 <tr class="row0">
-<td class="file">nounit.h</td><td class="proto"><tt>static</tt> NoUnit icu::NoUnit::permille()</td><td class="">Draft<br>ICU 60</td><td>(missing)<br>
+<td class="file">numberrangeformatter.h</td><td class="proto">UnicodeString icu::number::FormattedNumberRange::getFirstDecimal(UErrorCode&amp;) const</td><td class="">Deprecated<br>ICU 68</td><td>(missing)<br>
 <span class=""><span></span></span></td>
 </tr>
 <tr class="row1">
-<td class="file">nounit.h</td><td class="proto"><tt>static</tt> UClassID icu::NoUnit::getStaticClassID()</td><td class="">Draft<br>ICU 60</td><td>(missing)<br>
+<td class="file">numberrangeformatter.h</td><td class="proto">UnicodeString icu::number::FormattedNumberRange::getSecondDecimal(UErrorCode&amp;) const</td><td class="">Deprecated<br>ICU 68</td><td>(missing)<br>
 <span class=""><span></span></span></td>
 </tr>
 <tr class="row0">
-<td class="file">nounit.h</td><td class="proto">void* icu::NoUnit::clone() const</td><td class="">Draft<br>ICU 60</td><td>(missing)<br>
+<td class="file">rbtz.h</td><td class="proto">void icu::RuleBasedTimeZone::getOffsetFromLocal(UDate, int32_t, int32_t, int32_t&amp;, int32_t&amp;, UErrorCode&amp;) const</td><td class="">Internal</td><td>(missing)<br>
 <span class=""><span></span></span></td>
 </tr>
 <tr class="row1">
-<td class="file">uniset.h</td><td class="proto">const USet* icu::UnicodeSet::toUSet()</td><td class="stabchange">Stable<br>ICU 4.2</td><td>(missing)<br>
+<td class="file">simpletz.h</td><td class="proto">void icu::SimpleTimeZone::getOffsetFromLocal(UDate, int32_t, int32_t, int32_t&amp;, int32_t&amp;, UErrorCode&amp;) const</td><td class="">Internal</td><td>(missing)<br>
 <span class=""><span></span></span></td>
 </tr>
 </table>
@@ -110,1058 +110,685 @@
 <a href="#_top">(jump back to top)</a>
 <hr>
 <a name="deprecated"></a>
-<h2>Deprecated or Obsoleted in ICU 68</h2>
+<h2>Deprecated or Obsoleted in ICU 69</h2>
 <table BORDER="1" class="genTable">
 <THEAD>
 <tr>
-<th>File</th><th>API</th><th>ICU 67</th><th>ICU 68</th>
+<th>File</th><th>API</th><th>ICU 68</th><th>ICU 69</th>
 </tr>
 </THEAD>
 <tr class="row1">
-<td class="file">numberrangeformatter.h</td><td class="proto">UnicodeString icu::number::FormattedNumberRange::getFirstDecimal(UErrorCode&amp;) const</td><td class="">Draft<br>ICU 63</td><td>Deprecated<br>
-<span class="verchange"><span>ICU 68</span></span></td>
-</tr>
-<tr class="row0">
-<td class="file">numberrangeformatter.h</td><td class="proto">UnicodeString icu::number::FormattedNumberRange::getSecondDecimal(UErrorCode&amp;) const</td><td class="">Draft<br>ICU 63</td><td>Deprecated<br>
-<span class="verchange"><span>ICU 68</span></span></td>
-</tr>
-<tr class="row1">
-<td class="file">umachine.h</td><td class="proto"><tt>#define</tt> FALSE</td><td class="stabchange">Stable<br>ICU 2.0</td><td>Deprecated<br>
-<span class="verchange"><span>ICU 68</span></span></td>
-</tr>
-<tr class="row0">
-<td class="file">umachine.h</td><td class="proto"><tt>#define</tt> TRUE</td><td class="stabchange">Stable<br>ICU 2.0</td><td>Deprecated<br>
-<span class="verchange"><span>ICU 68</span></span></td>
+<td class="file">ubrk.h</td><td class="proto">UBreakIterator* ubrk_safeClone(const UBreakIterator*, void*, int32_t*, UErrorCode*)</td><td class="stabchange">Stable<br>ICU 2.0</td><td>Deprecated<br>
+<span class="verchange"><span>ICU 69</span></span></td>
 </tr>
 </table>
 <P></P>
 <a href="#_top">(jump back to top)</a>
 <hr>
 <a name="changed"></a>
-<h2>Changed in  ICU 68 (old, new)</h2>
+<h2>Changed in  ICU 69 (old, new)</h2>
 <table BORDER="1" class="genTable">
 <THEAD>
 <tr>
-<th>File</th><th>API</th><th>ICU 67</th><th>ICU 68</th>
+<th>File</th><th>API</th><th>ICU 68</th><th>ICU 69</th>
 </tr>
 </THEAD>
 <tr class="row1">
-<td class="file">bytestrie.h</td><td class="proto">BytesTrie&amp; icu::BytesTrie::resetToState64(uint64_t)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 65</td>
+<td class="file">bytestream.h</td><td class="proto">void icu::ByteSink::AppendU8(const char*, int32_t)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 67</td>
 </tr>
 <tr class="row0">
-<td class="file">bytestrie.h</td><td class="proto">uint64_t icu::BytesTrie::getState64() const</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 65</td>
+<td class="file">bytestream.h</td><td class="proto">void icu::ByteSink::AppendU8(const char8_t*, int32_t)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 67</td>
 </tr>
 <tr class="row1">
-<td class="file">listformatter.h</td><td class="proto"><tt>static</tt> ListFormatter* icu::ListFormatter::createInstance(const Locale&amp;, UListFormatterType, UListFormatterWidth, UErrorCode&amp;)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 67</td>
+<td class="file">dtptngen.h</td><td class="proto">UDateFormatHourCycle icu::DateTimePatternGenerator::getDefaultHourCycle(UErrorCode&amp;) const</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 67</td>
 </tr>
 <tr class="row0">
-<td class="file">localebuilder.h</td><td class="proto">UBool icu::LocaleBuilder::copyErrorTo(UErrorCode&amp;) const</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 65</td>
+<td class="file">localematcher.h</td><td class="proto">Builder&amp; icu::LocaleMatcher::Builder::setDirection(ULocMatchDirection)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 67</td>
 </tr>
 <tr class="row1">
-<td class="file">localematcher.h</td><td class="proto">Builder&amp; icu::LocaleMatcher::Builder::addSupportedLocale(const Locale&amp;)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 65</td>
+<td class="file">localematcher.h</td><td class="proto"><tt>enum</tt> ULocMatchDirection::ULOCMATCH_DIRECTION_ONLY_TWO_WAY</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 67</td>
 </tr>
 <tr class="row0">
-<td class="file">localematcher.h</td><td class="proto">Builder&amp; icu::LocaleMatcher::Builder::operator=(Builder&amp;&amp;)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 65</td>
+<td class="file">localematcher.h</td><td class="proto"><tt>enum</tt> ULocMatchDirection::ULOCMATCH_DIRECTION_WITH_ONE_WAY</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 67</td>
 </tr>
 <tr class="row1">
-<td class="file">localematcher.h</td><td class="proto">Builder&amp; icu::LocaleMatcher::Builder::setDefaultLocale(const Locale*)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 65</td>
+<td class="file">locid.h</td><td class="proto">void icu::Locale::canonicalize(UErrorCode&amp;)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 67</td>
 </tr>
 <tr class="row0">
-<td class="file">localematcher.h</td><td class="proto">Builder&amp; icu::LocaleMatcher::Builder::setDemotionPerDesiredLocale(ULocMatchDemotion)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 65</td>
+<td class="file">measunit.h</td><td class="proto">MeasureUnit icu::MeasureUnit::product(const MeasureUnit&amp;, UErrorCode&amp;) const</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 67</td>
 </tr>
 <tr class="row1">
-<td class="file">localematcher.h</td><td class="proto">Builder&amp; icu::LocaleMatcher::Builder::setFavorSubtag(ULocMatchFavorSubtag)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 65</td>
+<td class="file">measunit.h</td><td class="proto">MeasureUnit icu::MeasureUnit::reciprocal(UErrorCode&amp;) const</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 67</td>
 </tr>
 <tr class="row0">
-<td class="file">localematcher.h</td><td class="proto">Builder&amp; icu::LocaleMatcher::Builder::setSupportedLocales(Iter, Iter)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 65</td>
+<td class="file">measunit.h</td><td class="proto">MeasureUnit icu::MeasureUnit::withDimensionality(int32_t, UErrorCode&amp;) const</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 67</td>
 </tr>
 <tr class="row1">
-<td class="file">localematcher.h</td><td class="proto">Builder&amp; icu::LocaleMatcher::Builder::setSupportedLocales(Locale::Iterator&amp;)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 65</td>
+<td class="file">measunit.h</td><td class="proto">MeasureUnit&amp; icu::MeasureUnit::operator=(MeasureUnit&amp;&amp;) noexcept</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 67</td>
 </tr>
 <tr class="row0">
-<td class="file">localematcher.h</td><td class="proto">Builder&amp; icu::LocaleMatcher::Builder::setSupportedLocalesFromListString(StringPiece)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 65</td>
+<td class="file">measunit.h</td><td class="proto">UMeasureUnitComplexity icu::MeasureUnit::getComplexity(UErrorCode&amp;) const</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 67</td>
 </tr>
 <tr class="row1">
-<td class="file">localematcher.h</td><td class="proto">Builder&amp; icu::LocaleMatcher::Builder::setSupportedLocalesViaConverter(Iter, Iter, Conv)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 65</td>
+<td class="file">measunit.h</td><td class="proto">const char* icu::MeasureUnit::getIdentifier() const</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 67</td>
 </tr>
 <tr class="row0">
-<td class="file">localematcher.h</td><td class="proto">Locale icu::LocaleMatcher::Result::makeResolvedLocale(UErrorCode&amp;) const</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 65</td>
+<td class="file">measunit.h</td><td class="proto">icu::MeasureUnit::MeasureUnit(MeasureUnit&amp;&amp;) noexcept</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 67</td>
 </tr>
 <tr class="row1">
-<td class="file">localematcher.h</td><td class="proto">LocaleMatcher icu::LocaleMatcher::Builder::build(UErrorCode&amp;) const</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 65</td>
+<td class="file">measunit.h</td><td class="proto">int32_t icu::MeasureUnit::getDimensionality(UErrorCode&amp;) const</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 67</td>
 </tr>
 <tr class="row0">
-<td class="file">localematcher.h</td><td class="proto">LocaleMatcher&amp; icu::LocaleMatcher::operator=(LocaleMatcher&amp;&amp;)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 65</td>
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::forIdentifier(StringPiece, UErrorCode&amp;)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 67</td>
 </tr>
 <tr class="row1">
-<td class="file">localematcher.h</td><td class="proto">Result icu::LocaleMatcher::getBestMatchResult(Locale::Iterator&amp;, UErrorCode&amp;) const</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 65</td>
+<td class="file">stringpiece.h</td><td class="proto">icu::StringPiece::StringPiece(const char8_t*)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 67</td>
 </tr>
 <tr class="row0">
-<td class="file">localematcher.h</td><td class="proto">Result icu::LocaleMatcher::getBestMatchResult(const Locale&amp;, UErrorCode&amp;) const</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 65</td>
+<td class="file">stringpiece.h</td><td class="proto">icu::StringPiece::StringPiece(const char8_t*, int32_t)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 67</td>
 </tr>
 <tr class="row1">
-<td class="file">localematcher.h</td><td class="proto">Result&amp; icu::LocaleMatcher::Result::operator=(Result&amp;&amp;)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 65</td>
+<td class="file">stringpiece.h</td><td class="proto">icu::StringPiece::StringPiece(const std::u8string&amp;)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 67</td>
 </tr>
 <tr class="row0">
-<td class="file">localematcher.h</td><td class="proto">UBool icu::LocaleMatcher::Builder::copyErrorTo(UErrorCode&amp;) const</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 65</td>
+<td class="file">stringpiece.h</td><td class="proto">icu::StringPiece::StringPiece(std::nullptr_t)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 67</td>
 </tr>
 <tr class="row1">
-<td class="file">localematcher.h</td><td class="proto">const Locale* icu::LocaleMatcher::Result::getDesiredLocale() const</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 65</td>
+<td class="file">stringpiece.h</td><td class="proto">int32_t icu::StringPiece::compare(StringPiece)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 67</td>
 </tr>
 <tr class="row0">
-<td class="file">localematcher.h</td><td class="proto">const Locale* icu::LocaleMatcher::Result::getSupportedLocale() const</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 65</td>
+<td class="file">stringpiece.h</td><td class="proto">int32_t icu::StringPiece::find(StringPiece, int32_t)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 67</td>
 </tr>
 <tr class="row1">
-<td class="file">localematcher.h</td><td class="proto">const Locale* icu::LocaleMatcher::getBestMatch(Locale::Iterator&amp;, UErrorCode&amp;) const</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 65</td>
+<td class="file">stringpiece.h</td><td class="proto">void icu::StringPiece::set(const char8_t*)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 67</td>
 </tr>
 <tr class="row0">
-<td class="file">localematcher.h</td><td class="proto">const Locale* icu::LocaleMatcher::getBestMatch(const Locale&amp;, UErrorCode&amp;) const</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 65</td>
+<td class="file">stringpiece.h</td><td class="proto">void icu::StringPiece::set(const char8_t*, int32_t)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 67</td>
 </tr>
 <tr class="row1">
-<td class="file">localematcher.h</td><td class="proto">const Locale* icu::LocaleMatcher::getBestMatchForListString(StringPiece, UErrorCode&amp;) const</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 65</td>
+<td class="file">translit.h</td><td class="proto">UnicodeSet&amp; icu::Transliterator::getSourceSet(UnicodeSet&amp;) const</td><td class=""><i>(untagged)</i></td><td>Stable<br>
+<span class=""><span>ICU 2.4</span></span></td>
 </tr>
 <tr class="row0">
-<td class="file">localematcher.h</td><td class="proto"><tt>enum</tt> ULocMatchDemotion::ULOCMATCH_DEMOTION_NONE</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 65</td>
+<td class="file">translit.h</td><td class="proto"><tt>static</tt> UnicodeString&amp; icu::Transliterator::getDisplayName(const UnicodeString&amp;, UnicodeString&amp;)</td><td class=""><i>(untagged)</i></td><td>Stable<br>
+<span class=""><span>ICU 2.0</span></span></td>
 </tr>
 <tr class="row1">
-<td class="file">localematcher.h</td><td class="proto"><tt>enum</tt> ULocMatchDemotion::ULOCMATCH_DEMOTION_REGION</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 65</td>
+<td class="file">translit.h</td><td class="proto">void icu::Transliterator::finishTransliteration(Replaceable&amp;, UTransPosition&amp;) const</td><td class=""><i>(untagged)</i></td><td>Stable<br>
+<span class=""><span>ICU 2.0</span></span></td>
 </tr>
 <tr class="row0">
-<td class="file">localematcher.h</td><td class="proto"><tt>enum</tt> ULocMatchFavorSubtag::ULOCMATCH_FAVOR_LANGUAGE</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 65</td>
+<td class="file">translit.h</td><td class="proto">void icu::Transliterator::transliterate(Replaceable&amp;, UTransPosition&amp;, UErrorCode&amp;) const</td><td class=""><i>(untagged)</i></td><td>Stable<br>
+<span class=""><span>ICU 2.0</span></span></td>
 </tr>
 <tr class="row1">
-<td class="file">localematcher.h</td><td class="proto"><tt>enum</tt> ULocMatchFavorSubtag::ULOCMATCH_FAVOR_SCRIPT</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 65</td>
+<td class="file">ubrk.h</td><td class="proto">UBreakIterator* ubrk_safeClone(const UBreakIterator*, void*, int32_t*, UErrorCode*)</td><td class="stabchange">Stable<br>ICU 2.0</td><td>Deprecated<br>
+<span class="verchange"><span>ICU 69</span></span></td>
 </tr>
 <tr class="row0">
-<td class="file">localematcher.h</td><td class="proto">icu::LocaleMatcher::Builder::Builder()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 65</td>
+<td class="file">udat.h</td><td class="proto"><tt>enum</tt> UDateFormatHourCycle::UDAT_HOUR_CYCLE_11</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 67</td>
 </tr>
 <tr class="row1">
-<td class="file">localematcher.h</td><td class="proto">icu::LocaleMatcher::Builder::Builder(Builder&amp;&amp;)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 65</td>
+<td class="file">udat.h</td><td class="proto"><tt>enum</tt> UDateFormatHourCycle::UDAT_HOUR_CYCLE_12</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 67</td>
 </tr>
 <tr class="row0">
-<td class="file">localematcher.h</td><td class="proto">icu::LocaleMatcher::Builder::~Builder()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 65</td>
+<td class="file">udat.h</td><td class="proto"><tt>enum</tt> UDateFormatHourCycle::UDAT_HOUR_CYCLE_23</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 67</td>
 </tr>
 <tr class="row1">
-<td class="file">localematcher.h</td><td class="proto">icu::LocaleMatcher::LocaleMatcher(LocaleMatcher&amp;&amp;)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 65</td>
+<td class="file">udat.h</td><td class="proto"><tt>enum</tt> UDateFormatHourCycle::UDAT_HOUR_CYCLE_24</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 67</td>
 </tr>
 <tr class="row0">
-<td class="file">localematcher.h</td><td class="proto">icu::LocaleMatcher::Result::Result(Result&amp;&amp;)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 65</td>
+<td class="file">udateintervalformat.h</td><td class="proto">void udtitvfmt_formatCalendarToResult(const UDateIntervalFormat*, UCalendar*, UCalendar*, UFormattedDateInterval*, UErrorCode*)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 67</td>
 </tr>
 <tr class="row1">
-<td class="file">localematcher.h</td><td class="proto">icu::LocaleMatcher::Result::~Result()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 65</td>
+<td class="file">udateintervalformat.h</td><td class="proto">void udtitvfmt_formatToResult(const UDateIntervalFormat*, UDate, UDate, UFormattedDateInterval*, UErrorCode*)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 67</td>
 </tr>
 <tr class="row0">
-<td class="file">localematcher.h</td><td class="proto">icu::LocaleMatcher::~LocaleMatcher()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 65</td>
+<td class="file">udatpg.h</td><td class="proto">UDateFormatHourCycle udatpg_getDefaultHourCycle(const UDateTimePatternGenerator*, UErrorCode*)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 67</td>
 </tr>
 <tr class="row1">
-<td class="file">localematcher.h</td><td class="proto">int32_t icu::LocaleMatcher::Result::getDesiredIndex() const</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 65</td>
+<td class="file">utrace.h</td><td class="proto"><tt>enum</tt> UTraceFunctionNumber::UTRACE_UBRK_CREATE_BREAK_ENGINE</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 67</td>
 </tr>
 <tr class="row0">
-<td class="file">localematcher.h</td><td class="proto">int32_t icu::LocaleMatcher::Result::getSupportedIndex() const</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 65</td>
+<td class="file">utrace.h</td><td class="proto"><tt>enum</tt> UTraceFunctionNumber::UTRACE_UBRK_CREATE_CHARACTER</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 67</td>
 </tr>
 <tr class="row1">
-<td class="file">locid.h</td><td class="proto">UBool icu::Locale::ConvertingIterator&lt; Iter, Conv &gt;::hasNext() const override</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 65</td>
+<td class="file">utrace.h</td><td class="proto"><tt>enum</tt> UTraceFunctionNumber::UTRACE_UBRK_CREATE_LINE</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 67</td>
 </tr>
 <tr class="row0">
-<td class="file">locid.h</td><td class="proto">UBool icu::Locale::Iterator::hasNext() const</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 65</td>
+<td class="file">utrace.h</td><td class="proto"><tt>enum</tt> UTraceFunctionNumber::UTRACE_UBRK_CREATE_SENTENCE</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 67</td>
 </tr>
 <tr class="row1">
-<td class="file">locid.h</td><td class="proto">UBool icu::Locale::RangeIterator&lt; Iter &gt;::hasNext() const override</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 65</td>
+<td class="file">utrace.h</td><td class="proto"><tt>enum</tt> UTraceFunctionNumber::UTRACE_UBRK_CREATE_TITLE</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 67</td>
 </tr>
 <tr class="row0">
-<td class="file">locid.h</td><td class="proto">const Locale&amp; icu::Locale::ConvertingIterator&lt; Iter, Conv &gt;::next() override</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 65</td>
+<td class="file">utrace.h</td><td class="proto"><tt>enum</tt> UTraceFunctionNumber::UTRACE_UBRK_CREATE_WORD</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 67</td>
 </tr>
 <tr class="row1">
-<td class="file">locid.h</td><td class="proto">const Locale&amp; icu::Locale::Iterator::next()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 65</td>
-</tr>
-<tr class="row0">
-<td class="file">locid.h</td><td class="proto">const Locale&amp; icu::Locale::RangeIterator&lt; Iter &gt;::next() override</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 65</td>
-</tr>
-<tr class="row1">
-<td class="file">locid.h</td><td class="proto">icu::Locale::ConvertingIterator&lt; Iter, Conv &gt;::ConvertingIterator(Iter, Iter, Conv)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 65</td>
-</tr>
-<tr class="row0">
-<td class="file">locid.h</td><td class="proto">icu::Locale::Iterator::~Iterator()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 65</td>
-</tr>
-<tr class="row1">
-<td class="file">locid.h</td><td class="proto">icu::Locale::RangeIterator&lt; Iter &gt;::RangeIterator(Iter, Iter)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 65</td>
-</tr>
-<tr class="row0">
-<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getBar()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 65</td>
-</tr>
-<tr class="row1">
-<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getDecade()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 65</td>
-</tr>
-<tr class="row0">
-<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getDotPerCentimeter()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 65</td>
-</tr>
-<tr class="row1">
-<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getDotPerInch()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 65</td>
-</tr>
-<tr class="row0">
-<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getEm()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 65</td>
-</tr>
-<tr class="row1">
-<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getMegapixel()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 65</td>
-</tr>
-<tr class="row0">
-<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getPascal()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 65</td>
-</tr>
-<tr class="row1">
-<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getPixel()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 65</td>
-</tr>
-<tr class="row0">
-<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getPixelPerCentimeter()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 65</td>
-</tr>
-<tr class="row1">
-<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getPixelPerInch()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 65</td>
-</tr>
-<tr class="row0">
-<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getThermUs()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 65</td>
-</tr>
-<tr class="row1">
-<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit* icu::MeasureUnit::createBar(UErrorCode&amp;)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 65</td>
-</tr>
-<tr class="row0">
-<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit* icu::MeasureUnit::createDecade(UErrorCode&amp;)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 65</td>
-</tr>
-<tr class="row1">
-<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit* icu::MeasureUnit::createDotPerCentimeter(UErrorCode&amp;)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 65</td>
-</tr>
-<tr class="row0">
-<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit* icu::MeasureUnit::createDotPerInch(UErrorCode&amp;)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 65</td>
-</tr>
-<tr class="row1">
-<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit* icu::MeasureUnit::createEm(UErrorCode&amp;)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 65</td>
-</tr>
-<tr class="row0">
-<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit* icu::MeasureUnit::createMegapixel(UErrorCode&amp;)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 65</td>
-</tr>
-<tr class="row1">
-<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit* icu::MeasureUnit::createPascal(UErrorCode&amp;)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 65</td>
-</tr>
-<tr class="row0">
-<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit* icu::MeasureUnit::createPixel(UErrorCode&amp;)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 65</td>
-</tr>
-<tr class="row1">
-<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit* icu::MeasureUnit::createPixelPerCentimeter(UErrorCode&amp;)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 65</td>
-</tr>
-<tr class="row0">
-<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit* icu::MeasureUnit::createPixelPerInch(UErrorCode&amp;)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 65</td>
-</tr>
-<tr class="row1">
-<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit* icu::MeasureUnit::createThermUs(UErrorCode&amp;)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 65</td>
-</tr>
-<tr class="row0">
-<td class="file">numberformatter.h</td><td class="proto">StringClass icu::number::FormattedNumber::toDecimalNumber(UErrorCode&amp;) const</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 65</td>
-</tr>
-<tr class="row1">
-<td class="file">numberrangeformatter.h</td><td class="proto">UnicodeString icu::number::FormattedNumberRange::getFirstDecimal(UErrorCode&amp;) const</td><td class="">Draft<br>ICU 63</td><td>Deprecated<br>
-<span class="verchange"><span>ICU 68</span></span></td>
-</tr>
-<tr class="row0">
-<td class="file">numberrangeformatter.h</td><td class="proto">UnicodeString icu::number::FormattedNumberRange::getSecondDecimal(UErrorCode&amp;) const</td><td class="">Draft<br>ICU 63</td><td>Deprecated<br>
-<span class="verchange"><span>ICU 68</span></span></td>
-</tr>
-<tr class="row1">
-<td class="file">reldatefmt.h</td><td class="proto"><tt>enum</tt> UDateAbsoluteUnit::UDAT_ABSOLUTE_HOUR</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 65</td>
-</tr>
-<tr class="row0">
-<td class="file">reldatefmt.h</td><td class="proto"><tt>enum</tt> UDateAbsoluteUnit::UDAT_ABSOLUTE_MINUTE</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 65</td>
-</tr>
-<tr class="row1">
-<td class="file">stringpiece.h</td><td class="proto">icu::StringPiece::StringPiece(T)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 65</td>
-</tr>
-<tr class="row0">
-<td class="file">ucal.h</td><td class="proto">int32_t ucal_getHostTimeZone(UChar*, int32_t, UErrorCode*)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 65</td>
-</tr>
-<tr class="row1">
-<td class="file">ucharstrie.h</td><td class="proto">UCharsTrie&amp; icu::UCharsTrie::resetToState64(uint64_t)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 65</td>
-</tr>
-<tr class="row0">
-<td class="file">ucharstrie.h</td><td class="proto">uint64_t icu::UCharsTrie::getState64() const</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 65</td>
-</tr>
-<tr class="row1">
-<td class="file">ulistformatter.h</td><td class="proto">UListFormatter* ulistfmt_openForType(const char*, UListFormatterType, UListFormatterWidth, UErrorCode*)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 67</td>
-</tr>
-<tr class="row0">
-<td class="file">ulistformatter.h</td><td class="proto"><tt>enum</tt> UListFormatterType::ULISTFMT_TYPE_AND</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 67</td>
-</tr>
-<tr class="row1">
-<td class="file">ulistformatter.h</td><td class="proto"><tt>enum</tt> UListFormatterType::ULISTFMT_TYPE_OR</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 67</td>
-</tr>
-<tr class="row0">
-<td class="file">ulistformatter.h</td><td class="proto"><tt>enum</tt> UListFormatterType::ULISTFMT_TYPE_UNITS</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 67</td>
-</tr>
-<tr class="row1">
-<td class="file">ulistformatter.h</td><td class="proto"><tt>enum</tt> UListFormatterWidth::ULISTFMT_WIDTH_NARROW</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 67</td>
-</tr>
-<tr class="row0">
-<td class="file">ulistformatter.h</td><td class="proto"><tt>enum</tt> UListFormatterWidth::ULISTFMT_WIDTH_SHORT</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 67</td>
-</tr>
-<tr class="row1">
-<td class="file">ulistformatter.h</td><td class="proto"><tt>enum</tt> UListFormatterWidth::ULISTFMT_WIDTH_WIDE</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 67</td>
-</tr>
-<tr class="row0">
-<td class="file">uloc.h</td><td class="proto">UEnumeration* uloc_openAvailableByType(ULocAvailableType, UErrorCode*)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 65</td>
-</tr>
-<tr class="row1">
-<td class="file">uloc.h</td><td class="proto"><tt>enum</tt> ULocAvailableType::ULOC_AVAILABLE_DEFAULT</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 65</td>
-</tr>
-<tr class="row0">
-<td class="file">uloc.h</td><td class="proto"><tt>enum</tt> ULocAvailableType::ULOC_AVAILABLE_ONLY_LEGACY_ALIASES</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 65</td>
-</tr>
-<tr class="row1">
-<td class="file">uloc.h</td><td class="proto"><tt>enum</tt> ULocAvailableType::ULOC_AVAILABLE_WITH_LEGACY_ALIASES</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 65</td>
-</tr>
-<tr class="row0">
-<td class="file">umachine.h</td><td class="proto"><tt>#define</tt> FALSE</td><td class="stabchange">Stable<br>ICU 2.0</td><td>Deprecated<br>
-<span class="verchange"><span>ICU 68</span></span></td>
-</tr>
-<tr class="row1">
-<td class="file">umachine.h</td><td class="proto"><tt>#define</tt> TRUE</td><td class="stabchange">Stable<br>ICU 2.0</td><td>Deprecated<br>
-<span class="verchange"><span>ICU 68</span></span></td>
-</tr>
-<tr class="row0">
-<td class="file">utrace.h</td><td class="proto"><tt>enum</tt> UTraceFunctionNumber::UTRACE_UDATA_BUNDLE</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 65</td>
-</tr>
-<tr class="row1">
-<td class="file">utrace.h</td><td class="proto"><tt>enum</tt> UTraceFunctionNumber::UTRACE_UDATA_DATA_FILE</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 65</td>
-</tr>
-<tr class="row0">
-<td class="file">utrace.h</td><td class="proto"><tt>enum</tt> UTraceFunctionNumber::UTRACE_UDATA_RES_FILE</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 65</td>
-</tr>
-<tr class="row1">
-<td class="file">utrace.h</td><td class="proto"><tt>enum</tt> UTraceFunctionNumber::UTRACE_UDATA_START</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 65</td>
+<td class="file">utrace.h</td><td class="proto"><tt>enum</tt> UTraceFunctionNumber::UTRACE_UBRK_START</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 67</td>
 </tr>
 </table>
 <P></P>
 <a href="#_top">(jump back to top)</a>
 <hr>
 <a name="promoted"></a>
-<h2>Promoted to stable in ICU 68</h2>
+<h2>Promoted to stable in ICU 69</h2>
 <table BORDER="1" class="genTable">
 <THEAD>
 <tr>
-<th>File</th><th>API</th><th>ICU 67</th><th>ICU 68</th>
+<th>File</th><th>API</th><th>ICU 68</th><th>ICU 69</th>
 </tr>
 </THEAD>
 <tr class="row1">
-<td class="file">bytestrie.h</td><td class="proto">BytesTrie&amp; icu::BytesTrie::resetToState64(uint64_t)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 65</td>
+<td class="file">bytestream.h</td><td class="proto">void icu::ByteSink::AppendU8(const char*, int32_t)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 67</td>
 </tr>
 <tr class="row0">
-<td class="file">bytestrie.h</td><td class="proto">uint64_t icu::BytesTrie::getState64() const</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 65</td>
+<td class="file">bytestream.h</td><td class="proto">void icu::ByteSink::AppendU8(const char8_t*, int32_t)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 67</td>
 </tr>
 <tr class="row1">
-<td class="file">fmtable.h</td><td class="proto">UFormattable* icu::Formattable::toUFormattable()</td><td class="">(missing)</td><td>Stable<br>
-<span class=""><span>ICU 52</span></span></td>
+<td class="file">dtptngen.h</td><td class="proto">UDateFormatHourCycle icu::DateTimePatternGenerator::getDefaultHourCycle(UErrorCode&amp;) const</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 67</td>
 </tr>
 <tr class="row0">
-<td class="file">listformatter.h</td><td class="proto"><tt>static</tt> ListFormatter* icu::ListFormatter::createInstance(const Locale&amp;, UListFormatterType, UListFormatterWidth, UErrorCode&amp;)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 67</td>
+<td class="file">localematcher.h</td><td class="proto">Builder&amp; icu::LocaleMatcher::Builder::setDirection(ULocMatchDirection)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 67</td>
 </tr>
 <tr class="row1">
-<td class="file">localebuilder.h</td><td class="proto">UBool icu::LocaleBuilder::copyErrorTo(UErrorCode&amp;) const</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 65</td>
+<td class="file">localematcher.h</td><td class="proto"><tt>enum</tt> ULocMatchDirection::ULOCMATCH_DIRECTION_ONLY_TWO_WAY</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 67</td>
 </tr>
 <tr class="row0">
-<td class="file">localematcher.h</td><td class="proto">Builder&amp; icu::LocaleMatcher::Builder::addSupportedLocale(const Locale&amp;)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 65</td>
+<td class="file">localematcher.h</td><td class="proto"><tt>enum</tt> ULocMatchDirection::ULOCMATCH_DIRECTION_WITH_ONE_WAY</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 67</td>
 </tr>
 <tr class="row1">
-<td class="file">localematcher.h</td><td class="proto">Builder&amp; icu::LocaleMatcher::Builder::operator=(Builder&amp;&amp;)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 65</td>
+<td class="file">locid.h</td><td class="proto">void icu::Locale::canonicalize(UErrorCode&amp;)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 67</td>
 </tr>
 <tr class="row0">
-<td class="file">localematcher.h</td><td class="proto">Builder&amp; icu::LocaleMatcher::Builder::setDefaultLocale(const Locale*)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 65</td>
+<td class="file">measunit.h</td><td class="proto">MeasureUnit icu::MeasureUnit::product(const MeasureUnit&amp;, UErrorCode&amp;) const</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 67</td>
 </tr>
 <tr class="row1">
-<td class="file">localematcher.h</td><td class="proto">Builder&amp; icu::LocaleMatcher::Builder::setDemotionPerDesiredLocale(ULocMatchDemotion)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 65</td>
+<td class="file">measunit.h</td><td class="proto">MeasureUnit icu::MeasureUnit::reciprocal(UErrorCode&amp;) const</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 67</td>
 </tr>
 <tr class="row0">
-<td class="file">localematcher.h</td><td class="proto">Builder&amp; icu::LocaleMatcher::Builder::setFavorSubtag(ULocMatchFavorSubtag)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 65</td>
+<td class="file">measunit.h</td><td class="proto">MeasureUnit icu::MeasureUnit::withDimensionality(int32_t, UErrorCode&amp;) const</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 67</td>
 </tr>
 <tr class="row1">
-<td class="file">localematcher.h</td><td class="proto">Builder&amp; icu::LocaleMatcher::Builder::setSupportedLocales(Iter, Iter)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 65</td>
+<td class="file">measunit.h</td><td class="proto">MeasureUnit&amp; icu::MeasureUnit::operator=(MeasureUnit&amp;&amp;) noexcept</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 67</td>
 </tr>
 <tr class="row0">
-<td class="file">localematcher.h</td><td class="proto">Builder&amp; icu::LocaleMatcher::Builder::setSupportedLocales(Locale::Iterator&amp;)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 65</td>
+<td class="file">measunit.h</td><td class="proto">UMeasureUnitComplexity icu::MeasureUnit::getComplexity(UErrorCode&amp;) const</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 67</td>
 </tr>
 <tr class="row1">
-<td class="file">localematcher.h</td><td class="proto">Builder&amp; icu::LocaleMatcher::Builder::setSupportedLocalesFromListString(StringPiece)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 65</td>
+<td class="file">measunit.h</td><td class="proto">const char* icu::MeasureUnit::getIdentifier() const</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 67</td>
 </tr>
 <tr class="row0">
-<td class="file">localematcher.h</td><td class="proto">Builder&amp; icu::LocaleMatcher::Builder::setSupportedLocalesViaConverter(Iter, Iter, Conv)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 65</td>
+<td class="file">measunit.h</td><td class="proto">icu::MeasureUnit::MeasureUnit(MeasureUnit&amp;&amp;) noexcept</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 67</td>
 </tr>
 <tr class="row1">
-<td class="file">localematcher.h</td><td class="proto">Locale icu::LocaleMatcher::Result::makeResolvedLocale(UErrorCode&amp;) const</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 65</td>
+<td class="file">measunit.h</td><td class="proto">int32_t icu::MeasureUnit::getDimensionality(UErrorCode&amp;) const</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 67</td>
 </tr>
 <tr class="row0">
-<td class="file">localematcher.h</td><td class="proto">LocaleMatcher icu::LocaleMatcher::Builder::build(UErrorCode&amp;) const</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 65</td>
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::forIdentifier(StringPiece, UErrorCode&amp;)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 67</td>
 </tr>
 <tr class="row1">
-<td class="file">localematcher.h</td><td class="proto">LocaleMatcher&amp; icu::LocaleMatcher::operator=(LocaleMatcher&amp;&amp;)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 65</td>
+<td class="file">stringpiece.h</td><td class="proto">icu::StringPiece::StringPiece(const char8_t*)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 67</td>
 </tr>
 <tr class="row0">
-<td class="file">localematcher.h</td><td class="proto">Result icu::LocaleMatcher::getBestMatchResult(Locale::Iterator&amp;, UErrorCode&amp;) const</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 65</td>
+<td class="file">stringpiece.h</td><td class="proto">icu::StringPiece::StringPiece(const char8_t*, int32_t)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 67</td>
 </tr>
 <tr class="row1">
-<td class="file">localematcher.h</td><td class="proto">Result icu::LocaleMatcher::getBestMatchResult(const Locale&amp;, UErrorCode&amp;) const</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 65</td>
+<td class="file">stringpiece.h</td><td class="proto">icu::StringPiece::StringPiece(const std::u8string&amp;)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 67</td>
 </tr>
 <tr class="row0">
-<td class="file">localematcher.h</td><td class="proto">Result&amp; icu::LocaleMatcher::Result::operator=(Result&amp;&amp;)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 65</td>
+<td class="file">stringpiece.h</td><td class="proto">icu::StringPiece::StringPiece(std::nullptr_t)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 67</td>
 </tr>
 <tr class="row1">
-<td class="file">localematcher.h</td><td class="proto">UBool icu::LocaleMatcher::Builder::copyErrorTo(UErrorCode&amp;) const</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 65</td>
+<td class="file">stringpiece.h</td><td class="proto">int32_t icu::StringPiece::compare(StringPiece)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 67</td>
 </tr>
 <tr class="row0">
-<td class="file">localematcher.h</td><td class="proto">const Locale* icu::LocaleMatcher::Result::getDesiredLocale() const</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 65</td>
+<td class="file">stringpiece.h</td><td class="proto">int32_t icu::StringPiece::find(StringPiece, int32_t)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 67</td>
 </tr>
 <tr class="row1">
-<td class="file">localematcher.h</td><td class="proto">const Locale* icu::LocaleMatcher::Result::getSupportedLocale() const</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 65</td>
+<td class="file">stringpiece.h</td><td class="proto">void icu::StringPiece::set(const char8_t*)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 67</td>
 </tr>
 <tr class="row0">
-<td class="file">localematcher.h</td><td class="proto">const Locale* icu::LocaleMatcher::getBestMatch(Locale::Iterator&amp;, UErrorCode&amp;) const</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 65</td>
+<td class="file">stringpiece.h</td><td class="proto">void icu::StringPiece::set(const char8_t*, int32_t)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 67</td>
 </tr>
 <tr class="row1">
-<td class="file">localematcher.h</td><td class="proto">const Locale* icu::LocaleMatcher::getBestMatch(const Locale&amp;, UErrorCode&amp;) const</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 65</td>
+<td class="file">translit.h</td><td class="proto">UnicodeSet&amp; icu::Transliterator::getSourceSet(UnicodeSet&amp;) const</td><td class=""><i>(untagged)</i></td><td>Stable<br>
+<span class=""><span>ICU 2.4</span></span></td>
 </tr>
 <tr class="row0">
-<td class="file">localematcher.h</td><td class="proto">const Locale* icu::LocaleMatcher::getBestMatchForListString(StringPiece, UErrorCode&amp;) const</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 65</td>
+<td class="file">translit.h</td><td class="proto"><tt>static</tt> UnicodeString&amp; icu::Transliterator::getDisplayName(const UnicodeString&amp;, UnicodeString&amp;)</td><td class=""><i>(untagged)</i></td><td>Stable<br>
+<span class=""><span>ICU 2.0</span></span></td>
 </tr>
 <tr class="row1">
-<td class="file">localematcher.h</td><td class="proto"><tt>enum</tt> ULocMatchDemotion::ULOCMATCH_DEMOTION_NONE</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 65</td>
+<td class="file">translit.h</td><td class="proto">void icu::Transliterator::finishTransliteration(Replaceable&amp;, UTransPosition&amp;) const</td><td class=""><i>(untagged)</i></td><td>Stable<br>
+<span class=""><span>ICU 2.0</span></span></td>
 </tr>
 <tr class="row0">
-<td class="file">localematcher.h</td><td class="proto"><tt>enum</tt> ULocMatchDemotion::ULOCMATCH_DEMOTION_REGION</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 65</td>
+<td class="file">translit.h</td><td class="proto">void icu::Transliterator::transliterate(Replaceable&amp;, UTransPosition&amp;, UErrorCode&amp;) const</td><td class=""><i>(untagged)</i></td><td>Stable<br>
+<span class=""><span>ICU 2.0</span></span></td>
 </tr>
 <tr class="row1">
-<td class="file">localematcher.h</td><td class="proto"><tt>enum</tt> ULocMatchFavorSubtag::ULOCMATCH_FAVOR_LANGUAGE</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 65</td>
+<td class="file">udat.h</td><td class="proto"><tt>enum</tt> UDateFormatHourCycle::UDAT_HOUR_CYCLE_11</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 67</td>
 </tr>
 <tr class="row0">
-<td class="file">localematcher.h</td><td class="proto"><tt>enum</tt> ULocMatchFavorSubtag::ULOCMATCH_FAVOR_SCRIPT</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 65</td>
+<td class="file">udat.h</td><td class="proto"><tt>enum</tt> UDateFormatHourCycle::UDAT_HOUR_CYCLE_12</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 67</td>
 </tr>
 <tr class="row1">
-<td class="file">localematcher.h</td><td class="proto">icu::LocaleMatcher::Builder::Builder()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 65</td>
+<td class="file">udat.h</td><td class="proto"><tt>enum</tt> UDateFormatHourCycle::UDAT_HOUR_CYCLE_23</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 67</td>
 </tr>
 <tr class="row0">
-<td class="file">localematcher.h</td><td class="proto">icu::LocaleMatcher::Builder::Builder(Builder&amp;&amp;)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 65</td>
+<td class="file">udat.h</td><td class="proto"><tt>enum</tt> UDateFormatHourCycle::UDAT_HOUR_CYCLE_24</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 67</td>
 </tr>
 <tr class="row1">
-<td class="file">localematcher.h</td><td class="proto">icu::LocaleMatcher::Builder::~Builder()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 65</td>
+<td class="file">udateintervalformat.h</td><td class="proto">void udtitvfmt_formatCalendarToResult(const UDateIntervalFormat*, UCalendar*, UCalendar*, UFormattedDateInterval*, UErrorCode*)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 67</td>
 </tr>
 <tr class="row0">
-<td class="file">localematcher.h</td><td class="proto">icu::LocaleMatcher::LocaleMatcher(LocaleMatcher&amp;&amp;)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 65</td>
+<td class="file">udateintervalformat.h</td><td class="proto">void udtitvfmt_formatToResult(const UDateIntervalFormat*, UDate, UDate, UFormattedDateInterval*, UErrorCode*)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 67</td>
 </tr>
 <tr class="row1">
-<td class="file">localematcher.h</td><td class="proto">icu::LocaleMatcher::Result::Result(Result&amp;&amp;)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 65</td>
+<td class="file">udatpg.h</td><td class="proto">UDateFormatHourCycle udatpg_getDefaultHourCycle(const UDateTimePatternGenerator*, UErrorCode*)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 67</td>
 </tr>
 <tr class="row0">
-<td class="file">localematcher.h</td><td class="proto">icu::LocaleMatcher::Result::~Result()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 65</td>
+<td class="file">utrace.h</td><td class="proto"><tt>enum</tt> UTraceFunctionNumber::UTRACE_UBRK_CREATE_BREAK_ENGINE</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 67</td>
 </tr>
 <tr class="row1">
-<td class="file">localematcher.h</td><td class="proto">icu::LocaleMatcher::~LocaleMatcher()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 65</td>
+<td class="file">utrace.h</td><td class="proto"><tt>enum</tt> UTraceFunctionNumber::UTRACE_UBRK_CREATE_CHARACTER</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 67</td>
 </tr>
 <tr class="row0">
-<td class="file">localematcher.h</td><td class="proto">int32_t icu::LocaleMatcher::Result::getDesiredIndex() const</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 65</td>
+<td class="file">utrace.h</td><td class="proto"><tt>enum</tt> UTraceFunctionNumber::UTRACE_UBRK_CREATE_LINE</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 67</td>
 </tr>
 <tr class="row1">
-<td class="file">localematcher.h</td><td class="proto">int32_t icu::LocaleMatcher::Result::getSupportedIndex() const</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 65</td>
+<td class="file">utrace.h</td><td class="proto"><tt>enum</tt> UTraceFunctionNumber::UTRACE_UBRK_CREATE_SENTENCE</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 67</td>
 </tr>
 <tr class="row0">
-<td class="file">locid.h</td><td class="proto">UBool icu::Locale::ConvertingIterator&lt; Iter, Conv &gt;::hasNext() const override</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 65</td>
+<td class="file">utrace.h</td><td class="proto"><tt>enum</tt> UTraceFunctionNumber::UTRACE_UBRK_CREATE_TITLE</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 67</td>
 </tr>
 <tr class="row1">
-<td class="file">locid.h</td><td class="proto">UBool icu::Locale::Iterator::hasNext() const</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 65</td>
+<td class="file">utrace.h</td><td class="proto"><tt>enum</tt> UTraceFunctionNumber::UTRACE_UBRK_CREATE_WORD</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 67</td>
 </tr>
 <tr class="row0">
-<td class="file">locid.h</td><td class="proto">UBool icu::Locale::RangeIterator&lt; Iter &gt;::hasNext() const override</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 65</td>
-</tr>
-<tr class="row1">
-<td class="file">locid.h</td><td class="proto">const Locale&amp; icu::Locale::ConvertingIterator&lt; Iter, Conv &gt;::next() override</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 65</td>
-</tr>
-<tr class="row0">
-<td class="file">locid.h</td><td class="proto">const Locale&amp; icu::Locale::Iterator::next()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 65</td>
-</tr>
-<tr class="row1">
-<td class="file">locid.h</td><td class="proto">const Locale&amp; icu::Locale::RangeIterator&lt; Iter &gt;::next() override</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 65</td>
-</tr>
-<tr class="row0">
-<td class="file">locid.h</td><td class="proto">icu::Locale::ConvertingIterator&lt; Iter, Conv &gt;::ConvertingIterator(Iter, Iter, Conv)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 65</td>
-</tr>
-<tr class="row1">
-<td class="file">locid.h</td><td class="proto">icu::Locale::Iterator::~Iterator()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 65</td>
-</tr>
-<tr class="row0">
-<td class="file">locid.h</td><td class="proto">icu::Locale::RangeIterator&lt; Iter &gt;::RangeIterator(Iter, Iter)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 65</td>
-</tr>
-<tr class="row1">
-<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getBar()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 65</td>
-</tr>
-<tr class="row0">
-<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getDecade()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 65</td>
-</tr>
-<tr class="row1">
-<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getDotPerCentimeter()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 65</td>
-</tr>
-<tr class="row0">
-<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getDotPerInch()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 65</td>
-</tr>
-<tr class="row1">
-<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getEm()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 65</td>
-</tr>
-<tr class="row0">
-<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getMegapixel()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 65</td>
-</tr>
-<tr class="row1">
-<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getPascal()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 65</td>
-</tr>
-<tr class="row0">
-<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getPixel()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 65</td>
-</tr>
-<tr class="row1">
-<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getPixelPerCentimeter()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 65</td>
-</tr>
-<tr class="row0">
-<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getPixelPerInch()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 65</td>
-</tr>
-<tr class="row1">
-<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getThermUs()</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 65</td>
-</tr>
-<tr class="row0">
-<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit* icu::MeasureUnit::createBar(UErrorCode&amp;)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 65</td>
-</tr>
-<tr class="row1">
-<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit* icu::MeasureUnit::createDecade(UErrorCode&amp;)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 65</td>
-</tr>
-<tr class="row0">
-<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit* icu::MeasureUnit::createDotPerCentimeter(UErrorCode&amp;)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 65</td>
-</tr>
-<tr class="row1">
-<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit* icu::MeasureUnit::createDotPerInch(UErrorCode&amp;)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 65</td>
-</tr>
-<tr class="row0">
-<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit* icu::MeasureUnit::createEm(UErrorCode&amp;)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 65</td>
-</tr>
-<tr class="row1">
-<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit* icu::MeasureUnit::createMegapixel(UErrorCode&amp;)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 65</td>
-</tr>
-<tr class="row0">
-<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit* icu::MeasureUnit::createPascal(UErrorCode&amp;)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 65</td>
-</tr>
-<tr class="row1">
-<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit* icu::MeasureUnit::createPixel(UErrorCode&amp;)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 65</td>
-</tr>
-<tr class="row0">
-<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit* icu::MeasureUnit::createPixelPerCentimeter(UErrorCode&amp;)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 65</td>
-</tr>
-<tr class="row1">
-<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit* icu::MeasureUnit::createPixelPerInch(UErrorCode&amp;)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 65</td>
-</tr>
-<tr class="row0">
-<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit* icu::MeasureUnit::createThermUs(UErrorCode&amp;)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 65</td>
-</tr>
-<tr class="row1">
-<td class="file">numberformatter.h</td><td class="proto">StringClass icu::number::FormattedNumber::toDecimalNumber(UErrorCode&amp;) const</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 65</td>
-</tr>
-<tr class="row0">
-<td class="file">reldatefmt.h</td><td class="proto"><tt>enum</tt> UDateAbsoluteUnit::UDAT_ABSOLUTE_HOUR</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 65</td>
-</tr>
-<tr class="row1">
-<td class="file">reldatefmt.h</td><td class="proto"><tt>enum</tt> UDateAbsoluteUnit::UDAT_ABSOLUTE_MINUTE</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 65</td>
-</tr>
-<tr class="row0">
-<td class="file">stringpiece.h</td><td class="proto">icu::StringPiece::StringPiece(T)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 65</td>
-</tr>
-<tr class="row1">
-<td class="file">ucal.h</td><td class="proto">int32_t ucal_getHostTimeZone(UChar*, int32_t, UErrorCode*)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 65</td>
-</tr>
-<tr class="row0">
-<td class="file">ucharstrie.h</td><td class="proto">UCharsTrie&amp; icu::UCharsTrie::resetToState64(uint64_t)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 65</td>
-</tr>
-<tr class="row1">
-<td class="file">ucharstrie.h</td><td class="proto">uint64_t icu::UCharsTrie::getState64() const</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 65</td>
-</tr>
-<tr class="row0">
-<td class="file">ulistformatter.h</td><td class="proto">UListFormatter* ulistfmt_openForType(const char*, UListFormatterType, UListFormatterWidth, UErrorCode*)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 67</td>
-</tr>
-<tr class="row1">
-<td class="file">ulistformatter.h</td><td class="proto"><tt>enum</tt> UListFormatterType::ULISTFMT_TYPE_AND</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 67</td>
-</tr>
-<tr class="row0">
-<td class="file">ulistformatter.h</td><td class="proto"><tt>enum</tt> UListFormatterType::ULISTFMT_TYPE_OR</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 67</td>
-</tr>
-<tr class="row1">
-<td class="file">ulistformatter.h</td><td class="proto"><tt>enum</tt> UListFormatterType::ULISTFMT_TYPE_UNITS</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 67</td>
-</tr>
-<tr class="row0">
-<td class="file">ulistformatter.h</td><td class="proto"><tt>enum</tt> UListFormatterWidth::ULISTFMT_WIDTH_NARROW</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 67</td>
-</tr>
-<tr class="row1">
-<td class="file">ulistformatter.h</td><td class="proto"><tt>enum</tt> UListFormatterWidth::ULISTFMT_WIDTH_SHORT</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 67</td>
-</tr>
-<tr class="row0">
-<td class="file">ulistformatter.h</td><td class="proto"><tt>enum</tt> UListFormatterWidth::ULISTFMT_WIDTH_WIDE</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 67</td>
-</tr>
-<tr class="row1">
-<td class="file">uloc.h</td><td class="proto">UEnumeration* uloc_openAvailableByType(ULocAvailableType, UErrorCode*)</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 65</td>
-</tr>
-<tr class="row0">
-<td class="file">uloc.h</td><td class="proto"><tt>enum</tt> ULocAvailableType::ULOC_AVAILABLE_DEFAULT</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 65</td>
-</tr>
-<tr class="row1">
-<td class="file">uloc.h</td><td class="proto"><tt>enum</tt> ULocAvailableType::ULOC_AVAILABLE_ONLY_LEGACY_ALIASES</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 65</td>
-</tr>
-<tr class="row0">
-<td class="file">uloc.h</td><td class="proto"><tt>enum</tt> ULocAvailableType::ULOC_AVAILABLE_WITH_LEGACY_ALIASES</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 65</td>
-</tr>
-<tr class="row1">
-<td class="file">uniset.h</td><td class="proto">USet* icu::UnicodeSet::toUSet()</td><td class="">(missing)</td><td>Stable<br>
-<span class=""><span>ICU 4.2</span></span></td>
-</tr>
-<tr class="row0">
-<td class="file">utrace.h</td><td class="proto"><tt>enum</tt> UTraceFunctionNumber::UTRACE_UDATA_BUNDLE</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 65</td>
-</tr>
-<tr class="row1">
-<td class="file">utrace.h</td><td class="proto"><tt>enum</tt> UTraceFunctionNumber::UTRACE_UDATA_DATA_FILE</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 65</td>
-</tr>
-<tr class="row0">
-<td class="file">utrace.h</td><td class="proto"><tt>enum</tt> UTraceFunctionNumber::UTRACE_UDATA_RES_FILE</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 65</td>
-</tr>
-<tr class="row1">
-<td class="file">utrace.h</td><td class="proto"><tt>enum</tt> UTraceFunctionNumber::UTRACE_UDATA_START</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 65</td>
+<td class="file">utrace.h</td><td class="proto"><tt>enum</tt> UTraceFunctionNumber::UTRACE_UBRK_START</td><td class="" colspan="2" align="center">Draft&rarr;Stable<br>ICU 67</td>
 </tr>
 </table>
 <P></P>
 <a href="#_top">(jump back to top)</a>
 <hr>
 <a name="added"></a>
-<h2>Added in ICU 68</h2>
+<h2>Added in ICU 69</h2>
 <table BORDER="1" class="genTable">
 <THEAD>
 <tr>
-<th>File</th><th>API</th><th>ICU 67</th><th>ICU 68</th>
+<th>File</th><th>API</th><th>ICU 68</th><th>ICU 69</th>
 </tr>
 </THEAD>
 <tr class="row1">
-<td class="file">dtitvfmt.h</td><td class="proto">UDisplayContext icu::DateIntervalFormat::getContext(UDisplayContextType, UErrorCode&amp;) const</td><td class="">(missing)</td><td>Draft<br>
-<span class=""><span>ICU 68</span></span></td>
+<td class="file">basictz.h</td><td class="proto">void icu::BasicTimeZone::getOffsetFromLocal(UDate, UTimeZoneLocalOption, UTimeZoneLocalOption, int32_t&amp;, int32_t&amp;, UErrorCode&amp;) const</td><td class="">(missing)</td><td>Draft<br>
+<span class=""><span>ICU 69</span></span></td>
 </tr>
 <tr class="row0">
-<td class="file">dtitvfmt.h</td><td class="proto">void icu::DateIntervalFormat::setContext(UDisplayContext, UErrorCode&amp;)</td><td class="">(missing)</td><td>Draft<br>
-<span class=""><span>ICU 68</span></span></td>
+<td class="file">measunit.h</td><td class="proto">MeasureUnit icu::MeasureUnit::withPrefix(UMeasurePrefix, UErrorCode&amp;) const</td><td class="">(missing)</td><td>Draft<br>
+<span class=""><span>ICU 69</span></span></td>
 </tr>
 <tr class="row1">
-<td class="file">dtptngen.h</td><td class="proto"><tt>static</tt> DateTimePatternGenerator* icu::DateTimePatternGenerator::createInstanceNoStdPat(const Locale&amp;, UErrorCode&amp;)</td><td class="">(missing)</td><td>Internal<br>
-<span class=""><span></span></span></td>
+<td class="file">measunit.h</td><td class="proto">UMeasurePrefix icu::MeasureUnit::getPrefix(UErrorCode&amp;) const</td><td class="">(missing)</td><td>Draft<br>
+<span class=""><span>ICU 69</span></span></td>
 </tr>
 <tr class="row0">
-<td class="file">fmtable.h</td><td class="proto">UFormattable* icu::Formattable::toUFormattable()</td><td class="">(missing)</td><td>Stable<br>
-<span class=""><span>ICU 52</span></span></td>
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getMilligramOfglucosePerDeciliter()</td><td class="">(missing)</td><td>Draft<br>
+<span class=""><span>ICU 69</span></span></td>
 </tr>
 <tr class="row1">
-<td class="file">localematcher.h</td><td class="proto">Builder&amp; icu::LocaleMatcher::Builder::setMaxDistance(const Locale&amp;, const Locale&amp;)</td><td class="">(missing)</td><td>Draft<br>
-<span class=""><span>ICU 68</span></span></td>
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit* icu::MeasureUnit::createMilligramOfglucosePerDeciliter(UErrorCode&amp;)</td><td class="">(missing)</td><td>Draft<br>
+<span class=""><span>ICU 69</span></span></td>
 </tr>
 <tr class="row0">
-<td class="file">localematcher.h</td><td class="proto">Builder&amp; icu::LocaleMatcher::Builder::setNoDefaultLocale()</td><td class="">(missing)</td><td>Draft<br>
-<span class=""><span>ICU 68</span></span></td>
+<td class="file">numberformatter.h</td><td class="proto">Derived icu::number::NumberFormatterSettings&lt; Derived &gt;::unitDisplayCase(StringPiece) const&amp;</td><td class="">(missing)</td><td>Internal<br>
+<span class=""><span>ICU 69</span></span></td>
 </tr>
 <tr class="row1">
-<td class="file">localematcher.h</td><td class="proto">UBool icu::LocaleMatcher::isMatch(const Locale&amp;, const Locale&amp;, UErrorCode&amp;) const</td><td class="">(missing)</td><td>Draft<br>
-<span class=""><span>ICU 68</span></span></td>
+<td class="file">numberformatter.h</td><td class="proto">Derived icu::number::NumberFormatterSettings&lt; Derived &gt;::unitDisplayCase(StringPiece)&amp;&amp;</td><td class="">(missing)</td><td>Internal<br>
+<span class=""><span>ICU 69</span></span></td>
 </tr>
 <tr class="row0">
-<td class="file">measunit.h</td><td class="proto">int32_t icu::MeasureUnit::getOffset() const</td><td class="">(missing)</td><td>Internal<br>
+<td class="file">numberformatter.h</td><td class="proto">Precision icu::number::FractionPrecision::withSignificantDigits(int32_t, int32_t, UNumberRoundingPriority) const</td><td class="">(missing)</td><td>Draft<br>
+<span class=""><span>ICU 69</span></span></td>
+</tr>
+<tr class="row1">
+<td class="file">numberformatter.h</td><td class="proto">Precision icu::number::Precision::trailingZeroDisplay(UNumberTrailingZeroDisplay) const</td><td class="">(missing)</td><td>Draft<br>
+<span class=""><span>ICU 69</span></span></td>
+</tr>
+<tr class="row0">
+<td class="file">numberformatter.h</td><td class="proto">StringProp&amp; icu::number::impl::StringProp::operator=(StringProp&amp;&amp;)</td><td class="">(missing)</td><td>Internal<br>
 <span class=""><span></span></span></td>
 </tr>
 <tr class="row1">
-<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getCandela()</td><td class="">(missing)</td><td>Draft<br>
-<span class=""><span>ICU 68</span></span></td>
-</tr>
-<tr class="row0">
-<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getDessertSpoon()</td><td class="">(missing)</td><td>Draft<br>
-<span class=""><span>ICU 68</span></span></td>
-</tr>
-<tr class="row1">
-<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getDessertSpoonImperial()</td><td class="">(missing)</td><td>Draft<br>
-<span class=""><span>ICU 68</span></span></td>
-</tr>
-<tr class="row0">
-<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getDot()</td><td class="">(missing)</td><td>Draft<br>
-<span class=""><span>ICU 68</span></span></td>
-</tr>
-<tr class="row1">
-<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getDram()</td><td class="">(missing)</td><td>Draft<br>
-<span class=""><span>ICU 68</span></span></td>
-</tr>
-<tr class="row0">
-<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getDrop()</td><td class="">(missing)</td><td>Draft<br>
-<span class=""><span>ICU 68</span></span></td>
-</tr>
-<tr class="row1">
-<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getEarthRadius()</td><td class="">(missing)</td><td>Draft<br>
-<span class=""><span>ICU 68</span></span></td>
-</tr>
-<tr class="row0">
-<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getGrain()</td><td class="">(missing)</td><td>Draft<br>
-<span class=""><span>ICU 68</span></span></td>
-</tr>
-<tr class="row1">
-<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getJigger()</td><td class="">(missing)</td><td>Draft<br>
-<span class=""><span>ICU 68</span></span></td>
-</tr>
-<tr class="row0">
-<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getLumen()</td><td class="">(missing)</td><td>Draft<br>
-<span class=""><span>ICU 68</span></span></td>
-</tr>
-<tr class="row1">
-<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getPinch()</td><td class="">(missing)</td><td>Draft<br>
-<span class=""><span>ICU 68</span></span></td>
-</tr>
-<tr class="row0">
-<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getQuartImperial()</td><td class="">(missing)</td><td>Draft<br>
-<span class=""><span>ICU 68</span></span></td>
-</tr>
-<tr class="row1">
-<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit* icu::MeasureUnit::createCandela(UErrorCode&amp;)</td><td class="">(missing)</td><td>Draft<br>
-<span class=""><span>ICU 68</span></span></td>
-</tr>
-<tr class="row0">
-<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit* icu::MeasureUnit::createDessertSpoon(UErrorCode&amp;)</td><td class="">(missing)</td><td>Draft<br>
-<span class=""><span>ICU 68</span></span></td>
-</tr>
-<tr class="row1">
-<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit* icu::MeasureUnit::createDessertSpoonImperial(UErrorCode&amp;)</td><td class="">(missing)</td><td>Draft<br>
-<span class=""><span>ICU 68</span></span></td>
-</tr>
-<tr class="row0">
-<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit* icu::MeasureUnit::createDot(UErrorCode&amp;)</td><td class="">(missing)</td><td>Draft<br>
-<span class=""><span>ICU 68</span></span></td>
-</tr>
-<tr class="row1">
-<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit* icu::MeasureUnit::createDram(UErrorCode&amp;)</td><td class="">(missing)</td><td>Draft<br>
-<span class=""><span>ICU 68</span></span></td>
-</tr>
-<tr class="row0">
-<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit* icu::MeasureUnit::createDrop(UErrorCode&amp;)</td><td class="">(missing)</td><td>Draft<br>
-<span class=""><span>ICU 68</span></span></td>
-</tr>
-<tr class="row1">
-<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit* icu::MeasureUnit::createEarthRadius(UErrorCode&amp;)</td><td class="">(missing)</td><td>Draft<br>
-<span class=""><span>ICU 68</span></span></td>
-</tr>
-<tr class="row0">
-<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit* icu::MeasureUnit::createGrain(UErrorCode&amp;)</td><td class="">(missing)</td><td>Draft<br>
-<span class=""><span>ICU 68</span></span></td>
-</tr>
-<tr class="row1">
-<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit* icu::MeasureUnit::createJigger(UErrorCode&amp;)</td><td class="">(missing)</td><td>Draft<br>
-<span class=""><span>ICU 68</span></span></td>
-</tr>
-<tr class="row0">
-<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit* icu::MeasureUnit::createLumen(UErrorCode&amp;)</td><td class="">(missing)</td><td>Draft<br>
-<span class=""><span>ICU 68</span></span></td>
-</tr>
-<tr class="row1">
-<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit* icu::MeasureUnit::createPinch(UErrorCode&amp;)</td><td class="">(missing)</td><td>Draft<br>
-<span class=""><span>ICU 68</span></span></td>
-</tr>
-<tr class="row0">
-<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit* icu::MeasureUnit::createQuartImperial(UErrorCode&amp;)</td><td class="">(missing)</td><td>Draft<br>
-<span class=""><span>ICU 68</span></span></td>
-</tr>
-<tr class="row1">
-<td class="file">measunit.h</td><td class="proto">std::pair&lt; LocalArray&lt; MeasureUnit &gt;, int32_t &gt; icu::MeasureUnit::splitToSingleUnits(UErrorCode&amp;) const</td><td class="">(missing)</td><td>Draft<br>
-<span class=""><span>ICU 68</span></span></td>
-</tr>
-<tr class="row0">
-<td class="file">numberformatter.h</td><td class="proto">Derived icu::number::NumberFormatterSettings&lt; Derived &gt;::usage(StringPiece) const&amp;</td><td class="">(missing)</td><td>Draft<br>
-<span class=""><span>ICU 68</span></span></td>
-</tr>
-<tr class="row1">
-<td class="file">numberformatter.h</td><td class="proto">Derived icu::number::NumberFormatterSettings&lt; Derived &gt;::usage(StringPiece)&amp;&amp;</td><td class="">(missing)</td><td>Draft<br>
-<span class=""><span>ICU 68</span></span></td>
-</tr>
-<tr class="row0">
-<td class="file">numberformatter.h</td><td class="proto">MeasureUnit icu::number::FormattedNumber::getOutputUnit(UErrorCode&amp;) const</td><td class="">(missing)</td><td>Draft<br>
-<span class=""><span>ICU 68</span></span></td>
-</tr>
-<tr class="row1">
-<td class="file">numberformatter.h</td><td class="proto">Usage&amp; icu::number::impl::Usage::operator=(Usage&amp;&amp;)</td><td class="">(missing)</td><td>Internal<br>
+<td class="file">numberformatter.h</td><td class="proto">StringProp&amp; icu::number::impl::StringProp::operator=(const StringProp&amp;)</td><td class="">(missing)</td><td>Internal<br>
 <span class=""><span></span></span></td>
 </tr>
 <tr class="row0">
-<td class="file">numberformatter.h</td><td class="proto">Usage&amp; icu::number::impl::Usage::operator=(const Usage&amp;)</td><td class="">(missing)</td><td>Internal<br>
+<td class="file">numberformatter.h</td><td class="proto">bool icu::number::impl::StringProp::isSet() const</td><td class="">(missing)</td><td>Internal<br>
 <span class=""><span></span></span></td>
 </tr>
 <tr class="row1">
-<td class="file">numberformatter.h</td><td class="proto">bool icu::number::impl::Usage::isSet() const</td><td class="">(missing)</td><td>Internal<br>
-<span class=""><span></span></span></td>
+<td class="file">numberformatter.h</td><td class="proto">const char* icu::number::FormattedNumber::getGender(UErrorCode&amp;) const</td><td class="">(missing)</td><td>Internal<br>
+<span class=""><span>ICU 69</span></span></td>
 </tr>
 <tr class="row0">
-<td class="file">numberformatter.h</td><td class="proto">icu::number::impl::Usage::Usage(Usage&amp;&amp;)</td><td class="">(missing)</td><td>Internal<br>
+<td class="file">numberformatter.h</td><td class="proto">icu::number::impl::StringProp::StringProp(StringProp&amp;&amp;)</td><td class="">(missing)</td><td>Internal<br>
 <span class=""><span></span></span></td>
 </tr>
 <tr class="row1">
-<td class="file">numberformatter.h</td><td class="proto">icu::number::impl::Usage::Usage(const Usage&amp;)</td><td class="">(missing)</td><td>Internal<br>
+<td class="file">numberformatter.h</td><td class="proto">icu::number::impl::StringProp::StringProp(const StringProp&amp;)</td><td class="">(missing)</td><td>Internal<br>
 <span class=""><span></span></span></td>
 </tr>
 <tr class="row0">
-<td class="file">numberformatter.h</td><td class="proto">icu::number::impl::Usage::~Usage()</td><td class="">(missing)</td><td>Internal<br>
+<td class="file">numberformatter.h</td><td class="proto">icu::number::impl::StringProp::~StringProp()</td><td class="">(missing)</td><td>Internal<br>
 <span class=""><span></span></span></td>
 </tr>
 <tr class="row1">
-<td class="file">numberformatter.h</td><td class="proto">int16_t icu::number::impl::Usage::length() const</td><td class="">(missing)</td><td>Internal<br>
+<td class="file">numberformatter.h</td><td class="proto">int16_t icu::number::impl::StringProp::length() const</td><td class="">(missing)</td><td>Internal<br>
 <span class=""><span></span></span></td>
 </tr>
 <tr class="row0">
-<td class="file">numberformatter.h</td><td class="proto">void icu::number::impl::Usage::set(StringPiece)</td><td class="">(missing)</td><td>Internal<br>
+<td class="file">numberformatter.h</td><td class="proto">void icu::number::impl::StringProp::set(StringPiece)</td><td class="">(missing)</td><td>Internal<br>
 <span class=""><span></span></span></td>
 </tr>
 <tr class="row1">
-<td class="file">numberrangeformatter.h</td><td class="proto">std::pair&lt; StringClass, StringClass &gt; icu::number::FormattedNumberRange::getDecimalNumbers(UErrorCode&amp;) const</td><td class="">(missing)</td><td>Draft<br>
-<span class=""><span>ICU 68</span></span></td>
+<td class="file">rbtz.h</td><td class="proto">void icu::RuleBasedTimeZone::getOffsetFromLocal(UDate, UTimeZoneLocalOption, UTimeZoneLocalOption, int32_t&amp;, int32_t&amp;, UErrorCode&amp;) const</td><td class="">(missing)</td><td>Draft<br>
+<span class=""><span>ICU 69</span></span></td>
 </tr>
 <tr class="row0">
-<td class="file">plurrule.h</td><td class="proto">UnicodeString icu::PluralRules::select(const number::FormattedNumberRange&amp;, UErrorCode&amp;) const</td><td class="">(missing)</td><td>Draft<br>
-<span class=""><span>ICU 68</span></span></td>
+<td class="file">simpletz.h</td><td class="proto">void icu::SimpleTimeZone::getOffsetFromLocal(UDate, UTimeZoneLocalOption, UTimeZoneLocalOption, int32_t&amp;, int32_t&amp;, UErrorCode&amp;) const</td><td class="">(missing)</td><td>Draft<br>
+<span class=""><span>ICU 69</span></span></td>
 </tr>
 <tr class="row1">
-<td class="file">plurrule.h</td><td class="proto">UnicodeString icu::PluralRules::select(const number::impl::UFormattedNumberRangeData*, UErrorCode&amp;) const</td><td class="">(missing)</td><td>Internal<br>
-<span class=""><span></span></span></td>
+<td class="file">ubrk.h</td><td class="proto">UBreakIterator* ubrk_clone(const UBreakIterator*, UErrorCode*)</td><td class="">(missing)</td><td>Draft<br>
+<span class=""><span>ICU 69</span></span></td>
 </tr>
 <tr class="row0">
-<td class="file">plurrule.h</td><td class="proto">int32_t icu::PluralRules::getSamples(const UnicodeString&amp;, FixedDecimal*, int32_t, UErrorCode&amp;)</td><td class="">(missing)</td><td>Internal<br>
-<span class=""><span></span></span></td>
+<td class="file">ucal.h</td><td class="proto"><tt>enum</tt> UTimeZoneLocalOption::UCAL_TZ_LOCAL_DAYLIGHT_FORMER</td><td class="">(missing)</td><td>Draft<br>
+<span class=""><span>ICU 69</span></span></td>
 </tr>
 <tr class="row1">
-<td class="file">timezone.h</td><td class="proto"><tt>static</tt> TimeZone* icu::TimeZone::forLocaleOrDefault(const Locale&amp;)</td><td class="">(missing)</td><td>Internal<br>
-<span class=""><span></span></span></td>
+<td class="file">ucal.h</td><td class="proto"><tt>enum</tt> UTimeZoneLocalOption::UCAL_TZ_LOCAL_DAYLIGHT_LATTER</td><td class="">(missing)</td><td>Draft<br>
+<span class=""><span>ICU 69</span></span></td>
 </tr>
 <tr class="row0">
-<td class="file">ucurr.h</td><td class="proto"><tt>enum</tt> UCurrNameStyle::UCURR_FORMAL_SYMBOL_NAME</td><td class="">(missing)</td><td>Draft<br>
-<span class=""><span>ICU 68</span></span></td>
+<td class="file">ucal.h</td><td class="proto"><tt>enum</tt> UTimeZoneLocalOption::UCAL_TZ_LOCAL_FORMER</td><td class="">(missing)</td><td>Draft<br>
+<span class=""><span>ICU 69</span></span></td>
 </tr>
 <tr class="row1">
-<td class="file">ucurr.h</td><td class="proto"><tt>enum</tt> UCurrNameStyle::UCURR_VARIANT_SYMBOL_NAME</td><td class="">(missing)</td><td>Draft<br>
-<span class=""><span>ICU 68</span></span></td>
+<td class="file">ucal.h</td><td class="proto"><tt>enum</tt> UTimeZoneLocalOption::UCAL_TZ_LOCAL_LATTER</td><td class="">(missing)</td><td>Draft<br>
+<span class=""><span>ICU 69</span></span></td>
 </tr>
 <tr class="row0">
-<td class="file">udateintervalformat.h</td><td class="proto">UDisplayContext udtitvfmt_getContext(const UDateIntervalFormat*, UDisplayContextType, UErrorCode*)</td><td class="">(missing)</td><td>Draft<br>
-<span class=""><span>ICU 68</span></span></td>
+<td class="file">ucal.h</td><td class="proto"><tt>enum</tt> UTimeZoneLocalOption::UCAL_TZ_LOCAL_STANDARD_FORMER</td><td class="">(missing)</td><td>Draft<br>
+<span class=""><span>ICU 69</span></span></td>
 </tr>
 <tr class="row1">
-<td class="file">udateintervalformat.h</td><td class="proto">void udtitvfmt_setContext(UDateIntervalFormat*, UDisplayContext, UErrorCode*)</td><td class="">(missing)</td><td>Draft<br>
-<span class=""><span>ICU 68</span></span></td>
+<td class="file">ucal.h</td><td class="proto"><tt>enum</tt> UTimeZoneLocalOption::UCAL_TZ_LOCAL_STANDARD_LATTER</td><td class="">(missing)</td><td>Draft<br>
+<span class=""><span>ICU 69</span></span></td>
 </tr>
 <tr class="row0">
-<td class="file">umachine.h</td><td class="proto"><tt>#define</tt> U_DEFINE_FALSE_AND_TRUE</td><td class="">(missing)</td><td>Internal<br>
-<span class=""><span>ICU 68</span></span></td>
+<td class="file">ucal.h</td><td class="proto">void ucal_getTimeZoneOffsetFromLocal(const UCalendar*, UTimeZoneLocalOption, UTimeZoneLocalOption, int32_t*, int32_t*, UErrorCode*)</td><td class="">(missing)</td><td>Draft<br>
+<span class=""><span>ICU 69</span></span></td>
 </tr>
 <tr class="row1">
-<td class="file">uniset.h</td><td class="proto">USet* icu::UnicodeSet::toUSet()</td><td class="">(missing)</td><td>Stable<br>
-<span class=""><span>ICU 4.2</span></span></td>
+<td class="file">uformattedvalue.h</td><td class="proto"><tt>enum</tt> UFieldCategory::UFIELD_CATEGORY_NUMBER_RANGE_SPAN</td><td class="">(missing)</td><td>Draft<br>
+<span class=""><span>ICU 69</span></span></td>
 </tr>
 <tr class="row0">
-<td class="file">unum.h</td><td class="proto"><tt>enum</tt> UNumberFormatMinimumGroupingDigits::UNUM_MINIMUM_GROUPING_DIGITS_AUTO</td><td class="">(missing)</td><td>Draft<br>
-<span class=""><span>ICU 68</span></span></td>
+<td class="file">uniset.h</td><td class="proto">UnicodeSet&amp; icu::UnicodeSet::retain(const UnicodeString&amp;)</td><td class="">(missing)</td><td>Draft<br>
+<span class=""><span>ICU 69</span></span></td>
 </tr>
 <tr class="row1">
-<td class="file">unum.h</td><td class="proto"><tt>enum</tt> UNumberFormatMinimumGroupingDigits::UNUM_MINIMUM_GROUPING_DIGITS_MIN2</td><td class="">(missing)</td><td>Draft<br>
-<span class=""><span>ICU 68</span></span></td>
+<td class="file">unum.h</td><td class="proto"><tt>enum</tt> UNumberFormatRoundingMode::UNUM_ROUND_HALF_CEILING</td><td class="">(missing)</td><td>Draft<br>
+<span class=""><span>ICU 69</span></span></td>
 </tr>
 <tr class="row0">
-<td class="file">unumberformatter.h</td><td class="proto"><tt>enum</tt> UNumberUnitWidth::UNUM_UNIT_WIDTH_FORMAL</td><td class="">(missing)</td><td>Draft<br>
-<span class=""><span>ICU 68</span></span></td>
+<td class="file">unum.h</td><td class="proto"><tt>enum</tt> UNumberFormatRoundingMode::UNUM_ROUND_HALF_FLOOR</td><td class="">(missing)</td><td>Draft<br>
+<span class=""><span>ICU 69</span></span></td>
 </tr>
 <tr class="row1">
-<td class="file">unumberformatter.h</td><td class="proto"><tt>enum</tt> UNumberUnitWidth::UNUM_UNIT_WIDTH_VARIANT</td><td class="">(missing)</td><td>Draft<br>
-<span class=""><span>ICU 68</span></span></td>
+<td class="file">unum.h</td><td class="proto"><tt>enum</tt> UNumberFormatRoundingMode::UNUM_ROUND_HALF_ODD</td><td class="">(missing)</td><td>Draft<br>
+<span class=""><span>ICU 69</span></span></td>
 </tr>
 <tr class="row0">
-<td class="file">unumberformatter.h</td><td class="proto">int32_t unumf_resultToDecimalNumber(const UFormattedNumber*, char*, int32_t, UErrorCode*)</td><td class="">(missing)</td><td>Draft<br>
-<span class=""><span>ICU 68</span></span></td>
+<td class="file">unumberformatter.h</td><td class="proto"><tt>enum</tt> UNumberRoundingPriority::UNUM_ROUNDING_PRIORITY_RELAXED</td><td class="">(missing)</td><td>Draft<br>
+<span class=""><span>ICU 69</span></span></td>
 </tr>
 <tr class="row1">
-<td class="file">unumberrangeformatter.h</td><td class="proto">UFormattedNumberRange* unumrf_openResult(UErrorCode*)</td><td class="">(missing)</td><td>Draft<br>
-<span class=""><span>ICU 68</span></span></td>
+<td class="file">unumberformatter.h</td><td class="proto"><tt>enum</tt> UNumberRoundingPriority::UNUM_ROUNDING_PRIORITY_STRICT</td><td class="">(missing)</td><td>Draft<br>
+<span class=""><span>ICU 69</span></span></td>
 </tr>
 <tr class="row0">
-<td class="file">unumberrangeformatter.h</td><td class="proto">UNumberRangeFormatter* unumrf_openForSkeletonWithCollapseAndIdentityFallback(const UChar*, int32_t, UNumberRangeCollapse, UNumberRangeIdentityFallback, const char*, UParseError*, UErrorCode*)</td><td class="">(missing)</td><td>Draft<br>
-<span class=""><span>ICU 68</span></span></td>
+<td class="file">unumberformatter.h</td><td class="proto"><tt>enum</tt> UNumberSignDisplay::UNUM_SIGN_ACCOUNTING_NEGATIVE</td><td class="">(missing)</td><td>Draft<br>
+<span class=""><span>ICU 69</span></span></td>
 </tr>
 <tr class="row1">
-<td class="file">unumberrangeformatter.h</td><td class="proto">UNumberRangeIdentityResult unumrf_resultGetIdentityResult(const UFormattedNumberRange*, UErrorCode*)</td><td class="">(missing)</td><td>Draft<br>
-<span class=""><span>ICU 68</span></span></td>
+<td class="file">unumberformatter.h</td><td class="proto"><tt>enum</tt> UNumberSignDisplay::UNUM_SIGN_NEGATIVE</td><td class="">(missing)</td><td>Draft<br>
+<span class=""><span>ICU 69</span></span></td>
 </tr>
 <tr class="row0">
-<td class="file">unumberrangeformatter.h</td><td class="proto">const UFormattedValue* unumrf_resultAsValue(const UFormattedNumberRange*, UErrorCode*)</td><td class="">(missing)</td><td>Draft<br>
-<span class=""><span>ICU 68</span></span></td>
+<td class="file">unumberformatter.h</td><td class="proto"><tt>enum</tt> UNumberTrailingZeroDisplay::UNUM_TRAILING_ZERO_AUTO</td><td class="">(missing)</td><td>Draft<br>
+<span class=""><span>ICU 69</span></span></td>
 </tr>
 <tr class="row1">
-<td class="file">unumberrangeformatter.h</td><td class="proto">int32_t unumrf_resultGetFirstDecimalNumber(const UFormattedNumberRange*, char*, int32_t, UErrorCode*)</td><td class="">(missing)</td><td>Draft<br>
-<span class=""><span>ICU 68</span></span></td>
+<td class="file">unumberformatter.h</td><td class="proto"><tt>enum</tt> UNumberTrailingZeroDisplay::UNUM_TRAILING_ZERO_HIDE_IF_WHOLE</td><td class="">(missing)</td><td>Draft<br>
+<span class=""><span>ICU 69</span></span></td>
 </tr>
 <tr class="row0">
-<td class="file">unumberrangeformatter.h</td><td class="proto">int32_t unumrf_resultGetSecondDecimalNumber(const UFormattedNumberRange*, char*, int32_t, UErrorCode*)</td><td class="">(missing)</td><td>Draft<br>
-<span class=""><span>ICU 68</span></span></td>
+<td class="file">uset.h</td><td class="proto">void uset_complementAllCodePoints(USet*, const UChar*, int32_t)</td><td class="">(missing)</td><td>Draft<br>
+<span class=""><span>ICU 69</span></span></td>
 </tr>
 <tr class="row1">
-<td class="file">unumberrangeformatter.h</td><td class="proto">void unumrf_close(UNumberRangeFormatter*)</td><td class="">(missing)</td><td>Draft<br>
-<span class=""><span>ICU 68</span></span></td>
+<td class="file">uset.h</td><td class="proto">void uset_complementRange(USet*, UChar32, UChar32)</td><td class="">(missing)</td><td>Draft<br>
+<span class=""><span>ICU 69</span></span></td>
 </tr>
 <tr class="row0">
-<td class="file">unumberrangeformatter.h</td><td class="proto">void unumrf_closeResult(UFormattedNumberRange*)</td><td class="">(missing)</td><td>Draft<br>
-<span class=""><span>ICU 68</span></span></td>
+<td class="file">uset.h</td><td class="proto">void uset_complementString(USet*, const UChar*, int32_t)</td><td class="">(missing)</td><td>Draft<br>
+<span class=""><span>ICU 69</span></span></td>
 </tr>
 <tr class="row1">
-<td class="file">unumberrangeformatter.h</td><td class="proto">void unumrf_formatDecimalRange(const UNumberRangeFormatter*, const char*, int32_t, const char*, int32_t, UFormattedNumberRange*, UErrorCode*)</td><td class="">(missing)</td><td>Draft<br>
-<span class=""><span>ICU 68</span></span></td>
+<td class="file">uset.h</td><td class="proto">void uset_removeAllCodePoints(USet*, const UChar*, int32_t)</td><td class="">(missing)</td><td>Draft<br>
+<span class=""><span>ICU 69</span></span></td>
 </tr>
 <tr class="row0">
-<td class="file">unumberrangeformatter.h</td><td class="proto">void unumrf_formatDoubleRange(const UNumberRangeFormatter*, double, double, UFormattedNumberRange*, UErrorCode*)</td><td class="">(missing)</td><td>Draft<br>
-<span class=""><span>ICU 68</span></span></td>
+<td class="file">uset.h</td><td class="proto">void uset_retainAllCodePoints(USet*, const UChar*, int32_t)</td><td class="">(missing)</td><td>Draft<br>
+<span class=""><span>ICU 69</span></span></td>
 </tr>
 <tr class="row1">
-<td class="file">upluralrules.h</td><td class="proto">int32_t uplrules_selectForRange(const UPluralRules*, const struct UFormattedNumberRange*, UChar*, int32_t, UErrorCode*)</td><td class="">(missing)</td><td>Draft<br>
-<span class=""><span>ICU 68</span></span></td>
+<td class="file">uset.h</td><td class="proto">void uset_retainString(USet*, const UChar*, int32_t)</td><td class="">(missing)</td><td>Draft<br>
+<span class=""><span>ICU 69</span></span></td>
+</tr>
+<tr class="row0">
+<td class="file">vtzone.h</td><td class="proto">void icu::VTimeZone::getOffsetFromLocal(UDate, UTimeZoneLocalOption, UTimeZoneLocalOption, int32_t&amp;, int32_t&amp;, UErrorCode&amp;) const</td><td class="">(missing)</td><td>Draft<br>
+<span class=""><span>ICU 69</span></span></td>
 </tr>
 </table>
 <P></P>
 <a href="#_top">(jump back to top)</a>
 <hr>
 <a name="other"></a>
-<h2>Other existing drafts in ICU 68</h2>
+<h2>Other existing drafts in ICU 69</h2>
 <div class="other">
 <table BORDER="1" class="genTable">
 <THEAD>
 <tr>
-<th>File</th><th>API</th><th>ICU 67</th><th>ICU 68</th>
+<th>File</th><th>API</th><th>ICU 68</th><th>ICU 69</th>
 </tr>
 </THEAD>
 <tr class="row1">
-<td class="file">bytestream.h</td><td class="proto">void icu::ByteSink::AppendU8(const char*, int32_t)</td><td class="" colspan="2" align="center">Draft<br>ICU 67</td>
+<td class="file">dtitvfmt.h</td><td class="proto">UDisplayContext icu::DateIntervalFormat::getContext(UDisplayContextType, UErrorCode&amp;) const</td><td class="" colspan="2" align="center">Draft<br>ICU 68</td>
 </tr>
 <tr class="row0">
-<td class="file">bytestream.h</td><td class="proto">void icu::ByteSink::AppendU8(const char8_t*, int32_t)</td><td class="" colspan="2" align="center">Draft<br>ICU 67</td>
+<td class="file">dtitvfmt.h</td><td class="proto">void icu::DateIntervalFormat::setContext(UDisplayContext, UErrorCode&amp;)</td><td class="" colspan="2" align="center">Draft<br>ICU 68</td>
 </tr>
 <tr class="row1">
-<td class="file">dtptngen.h</td><td class="proto">UDateFormatHourCycle icu::DateTimePatternGenerator::getDefaultHourCycle(UErrorCode&amp;) const</td><td class="" colspan="2" align="center">Draft<br>ICU 67</td>
+<td class="file">localematcher.h</td><td class="proto">Builder&amp; icu::LocaleMatcher::Builder::setMaxDistance(const Locale&amp;, const Locale&amp;)</td><td class="" colspan="2" align="center">Draft<br>ICU 68</td>
 </tr>
 <tr class="row0">
-<td class="file">localematcher.h</td><td class="proto">Builder&amp; icu::LocaleMatcher::Builder::setDirection(ULocMatchDirection)</td><td class="" colspan="2" align="center">Draft<br>ICU 67</td>
+<td class="file">localematcher.h</td><td class="proto">Builder&amp; icu::LocaleMatcher::Builder::setNoDefaultLocale()</td><td class="" colspan="2" align="center">Draft<br>ICU 68</td>
 </tr>
 <tr class="row1">
-<td class="file">localematcher.h</td><td class="proto"><tt>enum</tt> ULocMatchDirection::ULOCMATCH_DIRECTION_ONLY_TWO_WAY</td><td class="" colspan="2" align="center">Draft<br>ICU 67</td>
-</tr>
-<tr class="row0">
-<td class="file">localematcher.h</td><td class="proto"><tt>enum</tt> ULocMatchDirection::ULOCMATCH_DIRECTION_WITH_ONE_WAY</td><td class="" colspan="2" align="center">Draft<br>ICU 67</td>
-</tr>
-<tr class="row1">
-<td class="file">locid.h</td><td class="proto">void icu::Locale::canonicalize(UErrorCode&amp;)</td><td class="" colspan="2" align="center">Draft<br>ICU 67</td>
+<td class="file">localematcher.h</td><td class="proto">UBool icu::LocaleMatcher::isMatch(const Locale&amp;, const Locale&amp;, UErrorCode&amp;) const</td><td class="" colspan="2" align="center">Draft<br>ICU 68</td>
 </tr>
 <tr class="row0">
 <td class="file">measfmt.h</td><td class="proto">void icu::MeasureFormat::parseObject(const UnicodeString&amp;, Formattable&amp;, ParsePosition&amp;) const</td><td class="" colspan="2" align="center">Draft<br>ICU 53</td>
 </tr>
 <tr class="row1">
-<td class="file">measunit.h</td><td class="proto">MeasureUnit icu::MeasureUnit::product(const MeasureUnit&amp;, UErrorCode&amp;) const</td><td class="" colspan="2" align="center">Draft<br>ICU 67</td>
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getCandela()</td><td class="" colspan="2" align="center">Draft<br>ICU 68</td>
 </tr>
 <tr class="row0">
-<td class="file">measunit.h</td><td class="proto">MeasureUnit icu::MeasureUnit::reciprocal(UErrorCode&amp;) const</td><td class="" colspan="2" align="center">Draft<br>ICU 67</td>
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getDessertSpoon()</td><td class="" colspan="2" align="center">Draft<br>ICU 68</td>
 </tr>
 <tr class="row1">
-<td class="file">measunit.h</td><td class="proto">MeasureUnit icu::MeasureUnit::withDimensionality(int32_t, UErrorCode&amp;) const</td><td class="" colspan="2" align="center">Draft<br>ICU 67</td>
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getDessertSpoonImperial()</td><td class="" colspan="2" align="center">Draft<br>ICU 68</td>
 </tr>
 <tr class="row0">
-<td class="file">measunit.h</td><td class="proto">MeasureUnit icu::MeasureUnit::withSIPrefix(UMeasureSIPrefix, UErrorCode&amp;) const</td><td class="" colspan="2" align="center">Draft<br>ICU 67</td>
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getDot()</td><td class="" colspan="2" align="center">Draft<br>ICU 68</td>
 </tr>
 <tr class="row1">
-<td class="file">measunit.h</td><td class="proto">MeasureUnit&amp; icu::MeasureUnit::operator=(MeasureUnit&amp;&amp;) noexcept</td><td class="" colspan="2" align="center">Draft<br>ICU 67</td>
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getDram()</td><td class="" colspan="2" align="center">Draft<br>ICU 68</td>
 </tr>
 <tr class="row0">
-<td class="file">measunit.h</td><td class="proto">UMeasureSIPrefix icu::MeasureUnit::getSIPrefix(UErrorCode&amp;) const</td><td class="" colspan="2" align="center">Draft<br>ICU 67</td>
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getDrop()</td><td class="" colspan="2" align="center">Draft<br>ICU 68</td>
 </tr>
 <tr class="row1">
-<td class="file">measunit.h</td><td class="proto">UMeasureUnitComplexity icu::MeasureUnit::getComplexity(UErrorCode&amp;) const</td><td class="" colspan="2" align="center">Draft<br>ICU 67</td>
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getEarthRadius()</td><td class="" colspan="2" align="center">Draft<br>ICU 68</td>
 </tr>
 <tr class="row0">
-<td class="file">measunit.h</td><td class="proto">const char* icu::MeasureUnit::getIdentifier() const</td><td class="" colspan="2" align="center">Draft<br>ICU 67</td>
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getGrain()</td><td class="" colspan="2" align="center">Draft<br>ICU 68</td>
 </tr>
 <tr class="row1">
-<td class="file">measunit.h</td><td class="proto">icu::MeasureUnit::MeasureUnit(MeasureUnit&amp;&amp;) noexcept</td><td class="" colspan="2" align="center">Draft<br>ICU 67</td>
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getJigger()</td><td class="" colspan="2" align="center">Draft<br>ICU 68</td>
 </tr>
 <tr class="row0">
-<td class="file">measunit.h</td><td class="proto">int32_t icu::MeasureUnit::getDimensionality(UErrorCode&amp;) const</td><td class="" colspan="2" align="center">Draft<br>ICU 67</td>
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getLumen()</td><td class="" colspan="2" align="center">Draft<br>ICU 68</td>
 </tr>
 <tr class="row1">
-<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::forIdentifier(StringPiece, UErrorCode&amp;)</td><td class="" colspan="2" align="center">Draft<br>ICU 67</td>
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getPinch()</td><td class="" colspan="2" align="center">Draft<br>ICU 68</td>
 </tr>
 <tr class="row0">
-<td class="file">stringpiece.h</td><td class="proto">icu::StringPiece::StringPiece(const char8_t*)</td><td class="" colspan="2" align="center">Draft<br>ICU 67</td>
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit icu::MeasureUnit::getQuartImperial()</td><td class="" colspan="2" align="center">Draft<br>ICU 68</td>
 </tr>
 <tr class="row1">
-<td class="file">stringpiece.h</td><td class="proto">icu::StringPiece::StringPiece(const char8_t*, int32_t)</td><td class="" colspan="2" align="center">Draft<br>ICU 67</td>
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit* icu::MeasureUnit::createCandela(UErrorCode&amp;)</td><td class="" colspan="2" align="center">Draft<br>ICU 68</td>
 </tr>
 <tr class="row0">
-<td class="file">stringpiece.h</td><td class="proto">icu::StringPiece::StringPiece(const std::u8string&amp;)</td><td class="" colspan="2" align="center">Draft<br>ICU 67</td>
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit* icu::MeasureUnit::createDessertSpoon(UErrorCode&amp;)</td><td class="" colspan="2" align="center">Draft<br>ICU 68</td>
 </tr>
 <tr class="row1">
-<td class="file">stringpiece.h</td><td class="proto">icu::StringPiece::StringPiece(std::nullptr_t)</td><td class="" colspan="2" align="center">Draft<br>ICU 67</td>
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit* icu::MeasureUnit::createDessertSpoonImperial(UErrorCode&amp;)</td><td class="" colspan="2" align="center">Draft<br>ICU 68</td>
 </tr>
 <tr class="row0">
-<td class="file">stringpiece.h</td><td class="proto">int32_t icu::StringPiece::compare(StringPiece)</td><td class="" colspan="2" align="center">Draft<br>ICU 67</td>
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit* icu::MeasureUnit::createDot(UErrorCode&amp;)</td><td class="" colspan="2" align="center">Draft<br>ICU 68</td>
 </tr>
 <tr class="row1">
-<td class="file">stringpiece.h</td><td class="proto">int32_t icu::StringPiece::find(StringPiece, int32_t)</td><td class="" colspan="2" align="center">Draft<br>ICU 67</td>
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit* icu::MeasureUnit::createDram(UErrorCode&amp;)</td><td class="" colspan="2" align="center">Draft<br>ICU 68</td>
 </tr>
 <tr class="row0">
-<td class="file">stringpiece.h</td><td class="proto">void icu::StringPiece::set(const char8_t*)</td><td class="" colspan="2" align="center">Draft<br>ICU 67</td>
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit* icu::MeasureUnit::createDrop(UErrorCode&amp;)</td><td class="" colspan="2" align="center">Draft<br>ICU 68</td>
 </tr>
 <tr class="row1">
-<td class="file">stringpiece.h</td><td class="proto">void icu::StringPiece::set(const char8_t*, int32_t)</td><td class="" colspan="2" align="center">Draft<br>ICU 67</td>
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit* icu::MeasureUnit::createEarthRadius(UErrorCode&amp;)</td><td class="" colspan="2" align="center">Draft<br>ICU 68</td>
 </tr>
 <tr class="row0">
-<td class="file">udat.h</td><td class="proto"><tt>enum</tt> UDateFormatHourCycle::UDAT_HOUR_CYCLE_11</td><td class="" colspan="2" align="center">Draft<br>ICU 67</td>
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit* icu::MeasureUnit::createGrain(UErrorCode&amp;)</td><td class="" colspan="2" align="center">Draft<br>ICU 68</td>
 </tr>
 <tr class="row1">
-<td class="file">udat.h</td><td class="proto"><tt>enum</tt> UDateFormatHourCycle::UDAT_HOUR_CYCLE_12</td><td class="" colspan="2" align="center">Draft<br>ICU 67</td>
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit* icu::MeasureUnit::createJigger(UErrorCode&amp;)</td><td class="" colspan="2" align="center">Draft<br>ICU 68</td>
 </tr>
 <tr class="row0">
-<td class="file">udat.h</td><td class="proto"><tt>enum</tt> UDateFormatHourCycle::UDAT_HOUR_CYCLE_23</td><td class="" colspan="2" align="center">Draft<br>ICU 67</td>
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit* icu::MeasureUnit::createLumen(UErrorCode&amp;)</td><td class="" colspan="2" align="center">Draft<br>ICU 68</td>
 </tr>
 <tr class="row1">
-<td class="file">udat.h</td><td class="proto"><tt>enum</tt> UDateFormatHourCycle::UDAT_HOUR_CYCLE_24</td><td class="" colspan="2" align="center">Draft<br>ICU 67</td>
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit* icu::MeasureUnit::createPinch(UErrorCode&amp;)</td><td class="" colspan="2" align="center">Draft<br>ICU 68</td>
 </tr>
 <tr class="row0">
-<td class="file">udateintervalformat.h</td><td class="proto">void udtitvfmt_formatCalendarToResult(const UDateIntervalFormat*, UCalendar*, UCalendar*, UFormattedDateInterval*, UErrorCode*)</td><td class="" colspan="2" align="center">Draft<br>ICU 67</td>
+<td class="file">measunit.h</td><td class="proto"><tt>static</tt> MeasureUnit* icu::MeasureUnit::createQuartImperial(UErrorCode&amp;)</td><td class="" colspan="2" align="center">Draft<br>ICU 68</td>
 </tr>
 <tr class="row1">
-<td class="file">udateintervalformat.h</td><td class="proto">void udtitvfmt_formatToResult(const UDateIntervalFormat*, UDate, UDate, UFormattedDateInterval*, UErrorCode*)</td><td class="" colspan="2" align="center">Draft<br>ICU 67</td>
+<td class="file">measunit.h</td><td class="proto">std::pair&lt; LocalArray&lt; MeasureUnit &gt;, int32_t &gt; icu::MeasureUnit::splitToSingleUnits(UErrorCode&amp;) const</td><td class="" colspan="2" align="center">Draft<br>ICU 68</td>
 </tr>
 <tr class="row0">
-<td class="file">udatpg.h</td><td class="proto">UDateFormatHourCycle udatpg_getDefaultHourCycle(const UDateTimePatternGenerator*, UErrorCode*)</td><td class="" colspan="2" align="center">Draft<br>ICU 67</td>
+<td class="file">numberformatter.h</td><td class="proto">Derived icu::number::NumberFormatterSettings&lt; Derived &gt;::usage(StringPiece) const&amp;</td><td class="" colspan="2" align="center">Draft<br>ICU 68</td>
+</tr>
+<tr class="row1">
+<td class="file">numberformatter.h</td><td class="proto">Derived icu::number::NumberFormatterSettings&lt; Derived &gt;::usage(StringPiece)&amp;&amp;</td><td class="" colspan="2" align="center">Draft<br>ICU 68</td>
+</tr>
+<tr class="row0">
+<td class="file">numberformatter.h</td><td class="proto">MeasureUnit icu::number::FormattedNumber::getOutputUnit(UErrorCode&amp;) const</td><td class="" colspan="2" align="center">Draft<br>ICU 68</td>
+</tr>
+<tr class="row1">
+<td class="file">numberrangeformatter.h</td><td class="proto">std::pair&lt; StringClass, StringClass &gt; icu::number::FormattedNumberRange::getDecimalNumbers(UErrorCode&amp;) const</td><td class="" colspan="2" align="center">Draft<br>ICU 68</td>
+</tr>
+<tr class="row0">
+<td class="file">plurrule.h</td><td class="proto">UnicodeString icu::PluralRules::select(const number::FormattedNumberRange&amp;, UErrorCode&amp;) const</td><td class="" colspan="2" align="center">Draft<br>ICU 68</td>
+</tr>
+<tr class="row1">
+<td class="file">ucurr.h</td><td class="proto"><tt>enum</tt> UCurrNameStyle::UCURR_FORMAL_SYMBOL_NAME</td><td class="" colspan="2" align="center">Draft<br>ICU 68</td>
+</tr>
+<tr class="row0">
+<td class="file">ucurr.h</td><td class="proto"><tt>enum</tt> UCurrNameStyle::UCURR_VARIANT_SYMBOL_NAME</td><td class="" colspan="2" align="center">Draft<br>ICU 68</td>
+</tr>
+<tr class="row1">
+<td class="file">udateintervalformat.h</td><td class="proto">UDisplayContext udtitvfmt_getContext(const UDateIntervalFormat*, UDisplayContextType, UErrorCode*)</td><td class="" colspan="2" align="center">Draft<br>ICU 68</td>
+</tr>
+<tr class="row0">
+<td class="file">udateintervalformat.h</td><td class="proto">void udtitvfmt_setContext(UDateIntervalFormat*, UDisplayContext, UErrorCode*)</td><td class="" colspan="2" align="center">Draft<br>ICU 68</td>
+</tr>
+<tr class="row1">
+<td class="file">unum.h</td><td class="proto"><tt>enum</tt> UNumberFormatMinimumGroupingDigits::UNUM_MINIMUM_GROUPING_DIGITS_AUTO</td><td class="" colspan="2" align="center">Draft<br>ICU 68</td>
+</tr>
+<tr class="row0">
+<td class="file">unum.h</td><td class="proto"><tt>enum</tt> UNumberFormatMinimumGroupingDigits::UNUM_MINIMUM_GROUPING_DIGITS_MIN2</td><td class="" colspan="2" align="center">Draft<br>ICU 68</td>
+</tr>
+<tr class="row1">
+<td class="file">unumberformatter.h</td><td class="proto"><tt>enum</tt> UNumberUnitWidth::UNUM_UNIT_WIDTH_FORMAL</td><td class="" colspan="2" align="center">Draft<br>ICU 68</td>
+</tr>
+<tr class="row0">
+<td class="file">unumberformatter.h</td><td class="proto"><tt>enum</tt> UNumberUnitWidth::UNUM_UNIT_WIDTH_VARIANT</td><td class="" colspan="2" align="center">Draft<br>ICU 68</td>
+</tr>
+<tr class="row1">
+<td class="file">unumberformatter.h</td><td class="proto">int32_t unumf_resultToDecimalNumber(const UFormattedNumber*, char*, int32_t, UErrorCode*)</td><td class="" colspan="2" align="center">Draft<br>ICU 68</td>
+</tr>
+<tr class="row0">
+<td class="file">unumberrangeformatter.h</td><td class="proto">UFormattedNumberRange* unumrf_openResult(UErrorCode*)</td><td class="" colspan="2" align="center">Draft<br>ICU 68</td>
+</tr>
+<tr class="row1">
+<td class="file">unumberrangeformatter.h</td><td class="proto">UNumberRangeFormatter* unumrf_openForSkeletonWithCollapseAndIdentityFallback(const UChar*, int32_t, UNumberRangeCollapse, UNumberRangeIdentityFallback, const char*, UParseError*, UErrorCode*)</td><td class="" colspan="2" align="center">Draft<br>ICU 68</td>
+</tr>
+<tr class="row0">
+<td class="file">unumberrangeformatter.h</td><td class="proto">UNumberRangeIdentityResult unumrf_resultGetIdentityResult(const UFormattedNumberRange*, UErrorCode*)</td><td class="" colspan="2" align="center">Draft<br>ICU 68</td>
+</tr>
+<tr class="row1">
+<td class="file">unumberrangeformatter.h</td><td class="proto">const UFormattedValue* unumrf_resultAsValue(const UFormattedNumberRange*, UErrorCode*)</td><td class="" colspan="2" align="center">Draft<br>ICU 68</td>
+</tr>
+<tr class="row0">
+<td class="file">unumberrangeformatter.h</td><td class="proto">int32_t unumrf_resultGetFirstDecimalNumber(const UFormattedNumberRange*, char*, int32_t, UErrorCode*)</td><td class="" colspan="2" align="center">Draft<br>ICU 68</td>
+</tr>
+<tr class="row1">
+<td class="file">unumberrangeformatter.h</td><td class="proto">int32_t unumrf_resultGetSecondDecimalNumber(const UFormattedNumberRange*, char*, int32_t, UErrorCode*)</td><td class="" colspan="2" align="center">Draft<br>ICU 68</td>
+</tr>
+<tr class="row0">
+<td class="file">unumberrangeformatter.h</td><td class="proto">void unumrf_close(UNumberRangeFormatter*)</td><td class="" colspan="2" align="center">Draft<br>ICU 68</td>
+</tr>
+<tr class="row1">
+<td class="file">unumberrangeformatter.h</td><td class="proto">void unumrf_closeResult(UFormattedNumberRange*)</td><td class="" colspan="2" align="center">Draft<br>ICU 68</td>
+</tr>
+<tr class="row0">
+<td class="file">unumberrangeformatter.h</td><td class="proto">void unumrf_formatDecimalRange(const UNumberRangeFormatter*, const char*, int32_t, const char*, int32_t, UFormattedNumberRange*, UErrorCode*)</td><td class="" colspan="2" align="center">Draft<br>ICU 68</td>
+</tr>
+<tr class="row1">
+<td class="file">unumberrangeformatter.h</td><td class="proto">void unumrf_formatDoubleRange(const UNumberRangeFormatter*, double, double, UFormattedNumberRange*, UErrorCode*)</td><td class="" colspan="2" align="center">Draft<br>ICU 68</td>
+</tr>
+<tr class="row0">
+<td class="file">upluralrules.h</td><td class="proto">int32_t uplrules_selectForRange(const UPluralRules*, const struct UFormattedNumberRange*, UChar*, int32_t, UErrorCode*)</td><td class="" colspan="2" align="center">Draft<br>ICU 68</td>
 </tr>
 <tr class="row1">
 <td class="file">uregex.h</td><td class="proto"><tt>enum</tt> URegexpFlag::UREGEX_CANON_EQ</td><td class="" colspan="2" align="center">Draft<br>ICU 2.4</td>
 </tr>
-<tr class="row0">
-<td class="file">utrace.h</td><td class="proto"><tt>enum</tt> UTraceFunctionNumber::UTRACE_UBRK_CREATE_BREAK_ENGINE</td><td class="" colspan="2" align="center">Draft<br>ICU 67</td>
-</tr>
-<tr class="row1">
-<td class="file">utrace.h</td><td class="proto"><tt>enum</tt> UTraceFunctionNumber::UTRACE_UBRK_CREATE_CHARACTER</td><td class="" colspan="2" align="center">Draft<br>ICU 67</td>
-</tr>
-<tr class="row0">
-<td class="file">utrace.h</td><td class="proto"><tt>enum</tt> UTraceFunctionNumber::UTRACE_UBRK_CREATE_LINE</td><td class="" colspan="2" align="center">Draft<br>ICU 67</td>
-</tr>
-<tr class="row1">
-<td class="file">utrace.h</td><td class="proto"><tt>enum</tt> UTraceFunctionNumber::UTRACE_UBRK_CREATE_SENTENCE</td><td class="" colspan="2" align="center">Draft<br>ICU 67</td>
-</tr>
-<tr class="row0">
-<td class="file">utrace.h</td><td class="proto"><tt>enum</tt> UTraceFunctionNumber::UTRACE_UBRK_CREATE_TITLE</td><td class="" colspan="2" align="center">Draft<br>ICU 67</td>
-</tr>
-<tr class="row1">
-<td class="file">utrace.h</td><td class="proto"><tt>enum</tt> UTraceFunctionNumber::UTRACE_UBRK_CREATE_WORD</td><td class="" colspan="2" align="center">Draft<br>ICU 67</td>
-</tr>
-<tr class="row0">
-<td class="file">utrace.h</td><td class="proto"><tt>enum</tt> UTraceFunctionNumber::UTRACE_UBRK_START</td><td class="" colspan="2" align="center">Draft<br>ICU 67</td>
-</tr>
 </table>
 </div>
 <P></P>
@@ -1178,7 +805,7 @@
 <a href="#_top">(jump back to top)</a>
 <hr>
 <p>
-<i><font size="-1">Contents generated by StableAPI tool on Fri Oct 23 11:35:16 PDT 2020<br>
+<i><font size="-1">Contents generated by StableAPI tool on Thu Mar 11 15:54:11 PST 2021<br>
         Copyright &copy; 2017 and later: Unicode, Inc. and others.<br>
         License &amp; terms of use: http://www.unicode.org/copyright.html
     </font></i>
diff --git a/icu4c/APIChangeReport.md b/icu4c/APIChangeReport.md
index 5385904..9184c42 100644
--- a/icu4c/APIChangeReport.md
+++ b/icu4c/APIChangeReport.md
@@ -5,381 +5,265 @@
  License & terms of use: http://www.unicode.org/copyright.html
 -->
 
-# ICU4C API Comparison: ICU 67 with ICU 68
+# ICU4C API Comparison: ICU 68 (update #1: 68.2) with ICU 69
 
 > _Note_ Markdown format of this document is new for ICU 65.
 
-- [Removed from ICU 67](#removed)
-- [Deprecated or Obsoleted in ICU 68](#deprecated)
-- [Changed in  ICU 68](#changed)
-- [Promoted to stable in ICU 68](#promoted)
-- [Added in ICU 68](#added)
-- [Other existing drafts in ICU 68](#other)
+- [Removed from ICU 68](#removed)
+- [Deprecated or Obsoleted in ICU 69](#deprecated)
+- [Changed in  ICU 69](#changed)
+- [Promoted to stable in ICU 69](#promoted)
+- [Added in ICU 69](#added)
+- [Other existing drafts in ICU 69](#other)
 - [Signature Simplifications](#simplifications)
 
 ## Removed
 
-Removed from ICU 67
+Removed from ICU 68
   
-| File | API | ICU 67 | ICU 68 |
+| File | API | ICU 68 | ICU 69 |
 |---|---|---|---|
-| fmtable.h | const UFormattable* icu::Formattable::toUFormattable() |  StableICU 52 | (missing)
-| measunit.h | LocalArray&lt;MeasureUnit&gt; icu::MeasureUnit::splitToSingleUnits(int32_t&amp;, UErrorCode&amp;) const |  InternalICU 67 | (missing)
-| measunit.h | int32_t icu::MeasureUnit::getIndex() const |  Internal | (missing)
-| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::resolveUnitPerUnit(const MeasureUnit&amp;, const MeasureUnit&amp;, bool*) |  Internal | (missing)
-| measunit.h | <tt>static</tt> int32_t icu::MeasureUnit::getIndexCount() |  Internal | (missing)
-| measunit.h | <tt>static</tt> int32_t icu::MeasureUnit::internalGetIndexForTypeAndSubtype(const char*, const char*) |  Internal | (missing)
-| nounit.h | UClassID icu::NoUnit::getDynamicClassID() const |  DraftICU 60 | (missing)
-| nounit.h | icu::NoUnit::NoUnit(const NoUnit&amp;) |  DraftICU 60 | (missing)
-| nounit.h | icu::NoUnit::~NoUnit() |  DraftICU 60 | (missing)
-| nounit.h | <tt>static</tt> NoUnit icu::NoUnit::base() |  DraftICU 60 | (missing)
-| nounit.h | <tt>static</tt> NoUnit icu::NoUnit::percent() |  DraftICU 60 | (missing)
-| nounit.h | <tt>static</tt> NoUnit icu::NoUnit::permille() |  DraftICU 60 | (missing)
-| nounit.h | <tt>static</tt> UClassID icu::NoUnit::getStaticClassID() |  DraftICU 60 | (missing)
-| nounit.h | void* icu::NoUnit::clone() const |  DraftICU 60 | (missing)
-| uniset.h | const USet* icu::UnicodeSet::toUSet() |  StableICU 4.2 | (missing)
+| listformatter.h | <tt>static</tt> ListFormatter* icu::ListFormatter::createInstance(const Locale&amp;, const char*, UErrorCode&amp;) |  Internal | (missing)
+| measunit.h | MeasureUnit icu::MeasureUnit::withSIPrefix(UMeasureSIPrefix, UErrorCode&amp;) const |  DraftICU 67 | (missing)
+| measunit.h | UMeasureSIPrefix icu::MeasureUnit::getSIPrefix(UErrorCode&amp;) const |  DraftICU 67 | (missing)
+| numberformatter.h | Usage&amp; icu::number::impl::Usage::operator=(Usage&amp;&amp;) |  Internal | (missing)
+| numberformatter.h | Usage&amp; icu::number::impl::Usage::operator=(const Usage&amp;) |  Internal | (missing)
+| numberformatter.h | bool icu::number::impl::Usage::isSet() const |  Internal | (missing)
+| numberformatter.h | icu::number::impl::Usage::Usage(Usage&amp;&amp;) |  Internal | (missing)
+| numberformatter.h | icu::number::impl::Usage::Usage(const Usage&amp;) |  Internal | (missing)
+| numberformatter.h | icu::number::impl::Usage::~Usage() |  Internal | (missing)
+| numberformatter.h | int16_t icu::number::impl::Usage::length() const |  Internal | (missing)
+| numberformatter.h | void icu::number::impl::Usage::set(StringPiece) |  Internal | (missing)
+| numberrangeformatter.h | UnicodeString icu::number::FormattedNumberRange::getFirstDecimal(UErrorCode&amp;) const |  DeprecatedICU 68 | (missing)
+| numberrangeformatter.h | UnicodeString icu::number::FormattedNumberRange::getSecondDecimal(UErrorCode&amp;) const |  DeprecatedICU 68 | (missing)
+| rbtz.h | void icu::RuleBasedTimeZone::getOffsetFromLocal(UDate, int32_t, int32_t, int32_t&amp;, int32_t&amp;, UErrorCode&amp;) const |  Internal | (missing)
+| simpletz.h | void icu::SimpleTimeZone::getOffsetFromLocal(UDate, int32_t, int32_t, int32_t&amp;, int32_t&amp;, UErrorCode&amp;) const |  Internal | (missing)
 
 ## Deprecated
 
-Deprecated or Obsoleted in ICU 68
+Deprecated or Obsoleted in ICU 69
   
-| File | API | ICU 67 | ICU 68 |
+| File | API | ICU 68 | ICU 69 |
 |---|---|---|---|
-| numberrangeformatter.h | UnicodeString icu::number::FormattedNumberRange::getFirstDecimal(UErrorCode&amp;) const |  DraftICU 63 | DeprecatedICU 68
-| numberrangeformatter.h | UnicodeString icu::number::FormattedNumberRange::getSecondDecimal(UErrorCode&amp;) const |  DraftICU 63 | DeprecatedICU 68
-| umachine.h | <tt>#define</tt> FALSE |  StableICU 2.0 | DeprecatedICU 68
-| umachine.h | <tt>#define</tt> TRUE |  StableICU 2.0 | DeprecatedICU 68
+| ubrk.h | UBreakIterator* ubrk_safeClone(const UBreakIterator*, void*, int32_t*, UErrorCode*) |  StableICU 2.0 | DeprecatedICU 69
 
 ## Changed
 
-Changed in  ICU 68 (old, new)
+Changed in  ICU 69 (old, new)
 
 
   
-| File | API | ICU 67 | ICU 68 |
+| File | API | ICU 68 | ICU 69 |
 |---|---|---|---|
-| bytestrie.h | BytesTrie&amp; icu::BytesTrie::resetToState64(uint64_t) |  Draft→StableICU 65
-| bytestrie.h | uint64_t icu::BytesTrie::getState64() const |  Draft→StableICU 65
-| listformatter.h | <tt>static</tt> ListFormatter* icu::ListFormatter::createInstance(const Locale&amp;, UListFormatterType, UListFormatterWidth, UErrorCode&amp;) |  Draft→StableICU 67
-| localebuilder.h | UBool icu::LocaleBuilder::copyErrorTo(UErrorCode&amp;) const |  Draft→StableICU 65
-| localematcher.h | Builder&amp; icu::LocaleMatcher::Builder::addSupportedLocale(const Locale&amp;) |  Draft→StableICU 65
-| localematcher.h | Builder&amp; icu::LocaleMatcher::Builder::operator=(Builder&amp;&amp;) |  Draft→StableICU 65
-| localematcher.h | Builder&amp; icu::LocaleMatcher::Builder::setDefaultLocale(const Locale*) |  Draft→StableICU 65
-| localematcher.h | Builder&amp; icu::LocaleMatcher::Builder::setDemotionPerDesiredLocale(ULocMatchDemotion) |  Draft→StableICU 65
-| localematcher.h | Builder&amp; icu::LocaleMatcher::Builder::setFavorSubtag(ULocMatchFavorSubtag) |  Draft→StableICU 65
-| localematcher.h | Builder&amp; icu::LocaleMatcher::Builder::setSupportedLocales(Iter, Iter) |  Draft→StableICU 65
-| localematcher.h | Builder&amp; icu::LocaleMatcher::Builder::setSupportedLocales(Locale::Iterator&amp;) |  Draft→StableICU 65
-| localematcher.h | Builder&amp; icu::LocaleMatcher::Builder::setSupportedLocalesFromListString(StringPiece) |  Draft→StableICU 65
-| localematcher.h | Builder&amp; icu::LocaleMatcher::Builder::setSupportedLocalesViaConverter(Iter, Iter, Conv) |  Draft→StableICU 65
-| localematcher.h | Locale icu::LocaleMatcher::Result::makeResolvedLocale(UErrorCode&amp;) const |  Draft→StableICU 65
-| localematcher.h | LocaleMatcher icu::LocaleMatcher::Builder::build(UErrorCode&amp;) const |  Draft→StableICU 65
-| localematcher.h | LocaleMatcher&amp; icu::LocaleMatcher::operator=(LocaleMatcher&amp;&amp;) |  Draft→StableICU 65
-| localematcher.h | Result icu::LocaleMatcher::getBestMatchResult(Locale::Iterator&amp;, UErrorCode&amp;) const |  Draft→StableICU 65
-| localematcher.h | Result icu::LocaleMatcher::getBestMatchResult(const Locale&amp;, UErrorCode&amp;) const |  Draft→StableICU 65
-| localematcher.h | Result&amp; icu::LocaleMatcher::Result::operator=(Result&amp;&amp;) |  Draft→StableICU 65
-| localematcher.h | UBool icu::LocaleMatcher::Builder::copyErrorTo(UErrorCode&amp;) const |  Draft→StableICU 65
-| localematcher.h | const Locale* icu::LocaleMatcher::Result::getDesiredLocale() const |  Draft→StableICU 65
-| localematcher.h | const Locale* icu::LocaleMatcher::Result::getSupportedLocale() const |  Draft→StableICU 65
-| localematcher.h | const Locale* icu::LocaleMatcher::getBestMatch(Locale::Iterator&amp;, UErrorCode&amp;) const |  Draft→StableICU 65
-| localematcher.h | const Locale* icu::LocaleMatcher::getBestMatch(const Locale&amp;, UErrorCode&amp;) const |  Draft→StableICU 65
-| localematcher.h | const Locale* icu::LocaleMatcher::getBestMatchForListString(StringPiece, UErrorCode&amp;) const |  Draft→StableICU 65
-| localematcher.h | <tt>enum</tt> ULocMatchDemotion::ULOCMATCH_DEMOTION_NONE |  Draft→StableICU 65
-| localematcher.h | <tt>enum</tt> ULocMatchDemotion::ULOCMATCH_DEMOTION_REGION |  Draft→StableICU 65
-| localematcher.h | <tt>enum</tt> ULocMatchFavorSubtag::ULOCMATCH_FAVOR_LANGUAGE |  Draft→StableICU 65
-| localematcher.h | <tt>enum</tt> ULocMatchFavorSubtag::ULOCMATCH_FAVOR_SCRIPT |  Draft→StableICU 65
-| localematcher.h | icu::LocaleMatcher::Builder::Builder() |  Draft→StableICU 65
-| localematcher.h | icu::LocaleMatcher::Builder::Builder(Builder&amp;&amp;) |  Draft→StableICU 65
-| localematcher.h | icu::LocaleMatcher::Builder::~Builder() |  Draft→StableICU 65
-| localematcher.h | icu::LocaleMatcher::LocaleMatcher(LocaleMatcher&amp;&amp;) |  Draft→StableICU 65
-| localematcher.h | icu::LocaleMatcher::Result::Result(Result&amp;&amp;) |  Draft→StableICU 65
-| localematcher.h | icu::LocaleMatcher::Result::~Result() |  Draft→StableICU 65
-| localematcher.h | icu::LocaleMatcher::~LocaleMatcher() |  Draft→StableICU 65
-| localematcher.h | int32_t icu::LocaleMatcher::Result::getDesiredIndex() const |  Draft→StableICU 65
-| localematcher.h | int32_t icu::LocaleMatcher::Result::getSupportedIndex() const |  Draft→StableICU 65
-| locid.h | UBool icu::Locale::ConvertingIterator&lt; Iter, Conv &gt;::hasNext() const override |  Draft→StableICU 65
-| locid.h | UBool icu::Locale::Iterator::hasNext() const |  Draft→StableICU 65
-| locid.h | UBool icu::Locale::RangeIterator&lt; Iter &gt;::hasNext() const override |  Draft→StableICU 65
-| locid.h | const Locale&amp; icu::Locale::ConvertingIterator&lt; Iter, Conv &gt;::next() override |  Draft→StableICU 65
-| locid.h | const Locale&amp; icu::Locale::Iterator::next() |  Draft→StableICU 65
-| locid.h | const Locale&amp; icu::Locale::RangeIterator&lt; Iter &gt;::next() override |  Draft→StableICU 65
-| locid.h | icu::Locale::ConvertingIterator&lt; Iter, Conv &gt;::ConvertingIterator(Iter, Iter, Conv) |  Draft→StableICU 65
-| locid.h | icu::Locale::Iterator::~Iterator() |  Draft→StableICU 65
-| locid.h | icu::Locale::RangeIterator&lt; Iter &gt;::RangeIterator(Iter, Iter) |  Draft→StableICU 65
-| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getBar() |  Draft→StableICU 65
-| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getDecade() |  Draft→StableICU 65
-| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getDotPerCentimeter() |  Draft→StableICU 65
-| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getDotPerInch() |  Draft→StableICU 65
-| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getEm() |  Draft→StableICU 65
-| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getMegapixel() |  Draft→StableICU 65
-| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getPascal() |  Draft→StableICU 65
-| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getPixel() |  Draft→StableICU 65
-| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getPixelPerCentimeter() |  Draft→StableICU 65
-| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getPixelPerInch() |  Draft→StableICU 65
-| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getThermUs() |  Draft→StableICU 65
-| measunit.h | <tt>static</tt> MeasureUnit* icu::MeasureUnit::createBar(UErrorCode&amp;) |  Draft→StableICU 65
-| measunit.h | <tt>static</tt> MeasureUnit* icu::MeasureUnit::createDecade(UErrorCode&amp;) |  Draft→StableICU 65
-| measunit.h | <tt>static</tt> MeasureUnit* icu::MeasureUnit::createDotPerCentimeter(UErrorCode&amp;) |  Draft→StableICU 65
-| measunit.h | <tt>static</tt> MeasureUnit* icu::MeasureUnit::createDotPerInch(UErrorCode&amp;) |  Draft→StableICU 65
-| measunit.h | <tt>static</tt> MeasureUnit* icu::MeasureUnit::createEm(UErrorCode&amp;) |  Draft→StableICU 65
-| measunit.h | <tt>static</tt> MeasureUnit* icu::MeasureUnit::createMegapixel(UErrorCode&amp;) |  Draft→StableICU 65
-| measunit.h | <tt>static</tt> MeasureUnit* icu::MeasureUnit::createPascal(UErrorCode&amp;) |  Draft→StableICU 65
-| measunit.h | <tt>static</tt> MeasureUnit* icu::MeasureUnit::createPixel(UErrorCode&amp;) |  Draft→StableICU 65
-| measunit.h | <tt>static</tt> MeasureUnit* icu::MeasureUnit::createPixelPerCentimeter(UErrorCode&amp;) |  Draft→StableICU 65
-| measunit.h | <tt>static</tt> MeasureUnit* icu::MeasureUnit::createPixelPerInch(UErrorCode&amp;) |  Draft→StableICU 65
-| measunit.h | <tt>static</tt> MeasureUnit* icu::MeasureUnit::createThermUs(UErrorCode&amp;) |  Draft→StableICU 65
-| numberformatter.h | StringClass icu::number::FormattedNumber::toDecimalNumber(UErrorCode&amp;) const |  Draft→StableICU 65
-| numberrangeformatter.h | UnicodeString icu::number::FormattedNumberRange::getFirstDecimal(UErrorCode&amp;) const |  DraftICU 63 | DeprecatedICU 68
-| numberrangeformatter.h | UnicodeString icu::number::FormattedNumberRange::getSecondDecimal(UErrorCode&amp;) const |  DraftICU 63 | DeprecatedICU 68
-| reldatefmt.h | <tt>enum</tt> UDateAbsoluteUnit::UDAT_ABSOLUTE_HOUR |  Draft→StableICU 65
-| reldatefmt.h | <tt>enum</tt> UDateAbsoluteUnit::UDAT_ABSOLUTE_MINUTE |  Draft→StableICU 65
-| stringpiece.h | icu::StringPiece::StringPiece(T) |  Draft→StableICU 65
-| ucal.h | int32_t ucal_getHostTimeZone(UChar*, int32_t, UErrorCode*) |  Draft→StableICU 65
-| ucharstrie.h | UCharsTrie&amp; icu::UCharsTrie::resetToState64(uint64_t) |  Draft→StableICU 65
-| ucharstrie.h | uint64_t icu::UCharsTrie::getState64() const |  Draft→StableICU 65
-| ulistformatter.h | UListFormatter* ulistfmt_openForType(const char*, UListFormatterType, UListFormatterWidth, UErrorCode*) |  Draft→StableICU 67
-| ulistformatter.h | <tt>enum</tt> UListFormatterType::ULISTFMT_TYPE_AND |  Draft→StableICU 67
-| ulistformatter.h | <tt>enum</tt> UListFormatterType::ULISTFMT_TYPE_OR |  Draft→StableICU 67
-| ulistformatter.h | <tt>enum</tt> UListFormatterType::ULISTFMT_TYPE_UNITS |  Draft→StableICU 67
-| ulistformatter.h | <tt>enum</tt> UListFormatterWidth::ULISTFMT_WIDTH_NARROW |  Draft→StableICU 67
-| ulistformatter.h | <tt>enum</tt> UListFormatterWidth::ULISTFMT_WIDTH_SHORT |  Draft→StableICU 67
-| ulistformatter.h | <tt>enum</tt> UListFormatterWidth::ULISTFMT_WIDTH_WIDE |  Draft→StableICU 67
-| uloc.h | UEnumeration* uloc_openAvailableByType(ULocAvailableType, UErrorCode*) |  Draft→StableICU 65
-| uloc.h | <tt>enum</tt> ULocAvailableType::ULOC_AVAILABLE_DEFAULT |  Draft→StableICU 65
-| uloc.h | <tt>enum</tt> ULocAvailableType::ULOC_AVAILABLE_ONLY_LEGACY_ALIASES |  Draft→StableICU 65
-| uloc.h | <tt>enum</tt> ULocAvailableType::ULOC_AVAILABLE_WITH_LEGACY_ALIASES |  Draft→StableICU 65
-| umachine.h | <tt>#define</tt> FALSE |  StableICU 2.0 | DeprecatedICU 68
-| umachine.h | <tt>#define</tt> TRUE |  StableICU 2.0 | DeprecatedICU 68
-| utrace.h | <tt>enum</tt> UTraceFunctionNumber::UTRACE_UDATA_BUNDLE |  Draft→StableICU 65
-| utrace.h | <tt>enum</tt> UTraceFunctionNumber::UTRACE_UDATA_DATA_FILE |  Draft→StableICU 65
-| utrace.h | <tt>enum</tt> UTraceFunctionNumber::UTRACE_UDATA_RES_FILE |  Draft→StableICU 65
-| utrace.h | <tt>enum</tt> UTraceFunctionNumber::UTRACE_UDATA_START |  Draft→StableICU 65
+| bytestream.h | void icu::ByteSink::AppendU8(const char*, int32_t) |  Draft→StableICU 67
+| bytestream.h | void icu::ByteSink::AppendU8(const char8_t*, int32_t) |  Draft→StableICU 67
+| dtptngen.h | UDateFormatHourCycle icu::DateTimePatternGenerator::getDefaultHourCycle(UErrorCode&amp;) const |  Draft→StableICU 67
+| localematcher.h | Builder&amp; icu::LocaleMatcher::Builder::setDirection(ULocMatchDirection) |  Draft→StableICU 67
+| localematcher.h | <tt>enum</tt> ULocMatchDirection::ULOCMATCH_DIRECTION_ONLY_TWO_WAY |  Draft→StableICU 67
+| localematcher.h | <tt>enum</tt> ULocMatchDirection::ULOCMATCH_DIRECTION_WITH_ONE_WAY |  Draft→StableICU 67
+| locid.h | void icu::Locale::canonicalize(UErrorCode&amp;) |  Draft→StableICU 67
+| measunit.h | MeasureUnit icu::MeasureUnit::product(const MeasureUnit&amp;, UErrorCode&amp;) const |  Draft→StableICU 67
+| measunit.h | MeasureUnit icu::MeasureUnit::reciprocal(UErrorCode&amp;) const |  Draft→StableICU 67
+| measunit.h | MeasureUnit icu::MeasureUnit::withDimensionality(int32_t, UErrorCode&amp;) const |  Draft→StableICU 67
+| measunit.h | MeasureUnit&amp; icu::MeasureUnit::operator=(MeasureUnit&amp;&amp;) noexcept |  Draft→StableICU 67
+| measunit.h | UMeasureUnitComplexity icu::MeasureUnit::getComplexity(UErrorCode&amp;) const |  Draft→StableICU 67
+| measunit.h | const char* icu::MeasureUnit::getIdentifier() const |  Draft→StableICU 67
+| measunit.h | icu::MeasureUnit::MeasureUnit(MeasureUnit&amp;&amp;) noexcept |  Draft→StableICU 67
+| measunit.h | int32_t icu::MeasureUnit::getDimensionality(UErrorCode&amp;) const |  Draft→StableICU 67
+| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::forIdentifier(StringPiece, UErrorCode&amp;) |  Draft→StableICU 67
+| stringpiece.h | icu::StringPiece::StringPiece(const char8_t*) |  Draft→StableICU 67
+| stringpiece.h | icu::StringPiece::StringPiece(const char8_t*, int32_t) |  Draft→StableICU 67
+| stringpiece.h | icu::StringPiece::StringPiece(const std::u8string&amp;) |  Draft→StableICU 67
+| stringpiece.h | icu::StringPiece::StringPiece(std::nullptr_t) |  Draft→StableICU 67
+| stringpiece.h | int32_t icu::StringPiece::compare(StringPiece) |  Draft→StableICU 67
+| stringpiece.h | int32_t icu::StringPiece::find(StringPiece, int32_t) |  Draft→StableICU 67
+| stringpiece.h | void icu::StringPiece::set(const char8_t*) |  Draft→StableICU 67
+| stringpiece.h | void icu::StringPiece::set(const char8_t*, int32_t) |  Draft→StableICU 67
+| translit.h | UnicodeSet&amp; icu::Transliterator::getSourceSet(UnicodeSet&amp;) const |   _untagged _  | StableICU 2.4
+| translit.h | <tt>static</tt> UnicodeString&amp; icu::Transliterator::getDisplayName(const UnicodeString&amp;, UnicodeString&amp;) |   _untagged _  | StableICU 2.0
+| translit.h | void icu::Transliterator::finishTransliteration(Replaceable&amp;, UTransPosition&amp;) const |   _untagged _  | StableICU 2.0
+| translit.h | void icu::Transliterator::transliterate(Replaceable&amp;, UTransPosition&amp;, UErrorCode&amp;) const |   _untagged _  | StableICU 2.0
+| ubrk.h | UBreakIterator* ubrk_safeClone(const UBreakIterator*, void*, int32_t*, UErrorCode*) |  StableICU 2.0 | DeprecatedICU 69
+| udat.h | <tt>enum</tt> UDateFormatHourCycle::UDAT_HOUR_CYCLE_11 |  Draft→StableICU 67
+| udat.h | <tt>enum</tt> UDateFormatHourCycle::UDAT_HOUR_CYCLE_12 |  Draft→StableICU 67
+| udat.h | <tt>enum</tt> UDateFormatHourCycle::UDAT_HOUR_CYCLE_23 |  Draft→StableICU 67
+| udat.h | <tt>enum</tt> UDateFormatHourCycle::UDAT_HOUR_CYCLE_24 |  Draft→StableICU 67
+| udateintervalformat.h | void udtitvfmt_formatCalendarToResult(const UDateIntervalFormat*, UCalendar*, UCalendar*, UFormattedDateInterval*, UErrorCode*) |  Draft→StableICU 67
+| udateintervalformat.h | void udtitvfmt_formatToResult(const UDateIntervalFormat*, UDate, UDate, UFormattedDateInterval*, UErrorCode*) |  Draft→StableICU 67
+| udatpg.h | UDateFormatHourCycle udatpg_getDefaultHourCycle(const UDateTimePatternGenerator*, UErrorCode*) |  Draft→StableICU 67
+| utrace.h | <tt>enum</tt> UTraceFunctionNumber::UTRACE_UBRK_CREATE_BREAK_ENGINE |  Draft→StableICU 67
+| utrace.h | <tt>enum</tt> UTraceFunctionNumber::UTRACE_UBRK_CREATE_CHARACTER |  Draft→StableICU 67
+| utrace.h | <tt>enum</tt> UTraceFunctionNumber::UTRACE_UBRK_CREATE_LINE |  Draft→StableICU 67
+| utrace.h | <tt>enum</tt> UTraceFunctionNumber::UTRACE_UBRK_CREATE_SENTENCE |  Draft→StableICU 67
+| utrace.h | <tt>enum</tt> UTraceFunctionNumber::UTRACE_UBRK_CREATE_TITLE |  Draft→StableICU 67
+| utrace.h | <tt>enum</tt> UTraceFunctionNumber::UTRACE_UBRK_CREATE_WORD |  Draft→StableICU 67
+| utrace.h | <tt>enum</tt> UTraceFunctionNumber::UTRACE_UBRK_START |  Draft→StableICU 67
 
 ## Promoted
 
-Promoted to stable in ICU 68
+Promoted to stable in ICU 69
   
-| File | API | ICU 67 | ICU 68 |
+| File | API | ICU 68 | ICU 69 |
 |---|---|---|---|
-| bytestrie.h | BytesTrie&amp; icu::BytesTrie::resetToState64(uint64_t) |  Draft→StableICU 65
-| bytestrie.h | uint64_t icu::BytesTrie::getState64() const |  Draft→StableICU 65
-| fmtable.h | UFormattable* icu::Formattable::toUFormattable() |  (missing) | StableICU 52
-| listformatter.h | <tt>static</tt> ListFormatter* icu::ListFormatter::createInstance(const Locale&amp;, UListFormatterType, UListFormatterWidth, UErrorCode&amp;) |  Draft→StableICU 67
-| localebuilder.h | UBool icu::LocaleBuilder::copyErrorTo(UErrorCode&amp;) const |  Draft→StableICU 65
-| localematcher.h | Builder&amp; icu::LocaleMatcher::Builder::addSupportedLocale(const Locale&amp;) |  Draft→StableICU 65
-| localematcher.h | Builder&amp; icu::LocaleMatcher::Builder::operator=(Builder&amp;&amp;) |  Draft→StableICU 65
-| localematcher.h | Builder&amp; icu::LocaleMatcher::Builder::setDefaultLocale(const Locale*) |  Draft→StableICU 65
-| localematcher.h | Builder&amp; icu::LocaleMatcher::Builder::setDemotionPerDesiredLocale(ULocMatchDemotion) |  Draft→StableICU 65
-| localematcher.h | Builder&amp; icu::LocaleMatcher::Builder::setFavorSubtag(ULocMatchFavorSubtag) |  Draft→StableICU 65
-| localematcher.h | Builder&amp; icu::LocaleMatcher::Builder::setSupportedLocales(Iter, Iter) |  Draft→StableICU 65
-| localematcher.h | Builder&amp; icu::LocaleMatcher::Builder::setSupportedLocales(Locale::Iterator&amp;) |  Draft→StableICU 65
-| localematcher.h | Builder&amp; icu::LocaleMatcher::Builder::setSupportedLocalesFromListString(StringPiece) |  Draft→StableICU 65
-| localematcher.h | Builder&amp; icu::LocaleMatcher::Builder::setSupportedLocalesViaConverter(Iter, Iter, Conv) |  Draft→StableICU 65
-| localematcher.h | Locale icu::LocaleMatcher::Result::makeResolvedLocale(UErrorCode&amp;) const |  Draft→StableICU 65
-| localematcher.h | LocaleMatcher icu::LocaleMatcher::Builder::build(UErrorCode&amp;) const |  Draft→StableICU 65
-| localematcher.h | LocaleMatcher&amp; icu::LocaleMatcher::operator=(LocaleMatcher&amp;&amp;) |  Draft→StableICU 65
-| localematcher.h | Result icu::LocaleMatcher::getBestMatchResult(Locale::Iterator&amp;, UErrorCode&amp;) const |  Draft→StableICU 65
-| localematcher.h | Result icu::LocaleMatcher::getBestMatchResult(const Locale&amp;, UErrorCode&amp;) const |  Draft→StableICU 65
-| localematcher.h | Result&amp; icu::LocaleMatcher::Result::operator=(Result&amp;&amp;) |  Draft→StableICU 65
-| localematcher.h | UBool icu::LocaleMatcher::Builder::copyErrorTo(UErrorCode&amp;) const |  Draft→StableICU 65
-| localematcher.h | const Locale* icu::LocaleMatcher::Result::getDesiredLocale() const |  Draft→StableICU 65
-| localematcher.h | const Locale* icu::LocaleMatcher::Result::getSupportedLocale() const |  Draft→StableICU 65
-| localematcher.h | const Locale* icu::LocaleMatcher::getBestMatch(Locale::Iterator&amp;, UErrorCode&amp;) const |  Draft→StableICU 65
-| localematcher.h | const Locale* icu::LocaleMatcher::getBestMatch(const Locale&amp;, UErrorCode&amp;) const |  Draft→StableICU 65
-| localematcher.h | const Locale* icu::LocaleMatcher::getBestMatchForListString(StringPiece, UErrorCode&amp;) const |  Draft→StableICU 65
-| localematcher.h | <tt>enum</tt> ULocMatchDemotion::ULOCMATCH_DEMOTION_NONE |  Draft→StableICU 65
-| localematcher.h | <tt>enum</tt> ULocMatchDemotion::ULOCMATCH_DEMOTION_REGION |  Draft→StableICU 65
-| localematcher.h | <tt>enum</tt> ULocMatchFavorSubtag::ULOCMATCH_FAVOR_LANGUAGE |  Draft→StableICU 65
-| localematcher.h | <tt>enum</tt> ULocMatchFavorSubtag::ULOCMATCH_FAVOR_SCRIPT |  Draft→StableICU 65
-| localematcher.h | icu::LocaleMatcher::Builder::Builder() |  Draft→StableICU 65
-| localematcher.h | icu::LocaleMatcher::Builder::Builder(Builder&amp;&amp;) |  Draft→StableICU 65
-| localematcher.h | icu::LocaleMatcher::Builder::~Builder() |  Draft→StableICU 65
-| localematcher.h | icu::LocaleMatcher::LocaleMatcher(LocaleMatcher&amp;&amp;) |  Draft→StableICU 65
-| localematcher.h | icu::LocaleMatcher::Result::Result(Result&amp;&amp;) |  Draft→StableICU 65
-| localematcher.h | icu::LocaleMatcher::Result::~Result() |  Draft→StableICU 65
-| localematcher.h | icu::LocaleMatcher::~LocaleMatcher() |  Draft→StableICU 65
-| localematcher.h | int32_t icu::LocaleMatcher::Result::getDesiredIndex() const |  Draft→StableICU 65
-| localematcher.h | int32_t icu::LocaleMatcher::Result::getSupportedIndex() const |  Draft→StableICU 65
-| locid.h | UBool icu::Locale::ConvertingIterator&lt; Iter, Conv &gt;::hasNext() const override |  Draft→StableICU 65
-| locid.h | UBool icu::Locale::Iterator::hasNext() const |  Draft→StableICU 65
-| locid.h | UBool icu::Locale::RangeIterator&lt; Iter &gt;::hasNext() const override |  Draft→StableICU 65
-| locid.h | const Locale&amp; icu::Locale::ConvertingIterator&lt; Iter, Conv &gt;::next() override |  Draft→StableICU 65
-| locid.h | const Locale&amp; icu::Locale::Iterator::next() |  Draft→StableICU 65
-| locid.h | const Locale&amp; icu::Locale::RangeIterator&lt; Iter &gt;::next() override |  Draft→StableICU 65
-| locid.h | icu::Locale::ConvertingIterator&lt; Iter, Conv &gt;::ConvertingIterator(Iter, Iter, Conv) |  Draft→StableICU 65
-| locid.h | icu::Locale::Iterator::~Iterator() |  Draft→StableICU 65
-| locid.h | icu::Locale::RangeIterator&lt; Iter &gt;::RangeIterator(Iter, Iter) |  Draft→StableICU 65
-| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getBar() |  Draft→StableICU 65
-| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getDecade() |  Draft→StableICU 65
-| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getDotPerCentimeter() |  Draft→StableICU 65
-| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getDotPerInch() |  Draft→StableICU 65
-| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getEm() |  Draft→StableICU 65
-| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getMegapixel() |  Draft→StableICU 65
-| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getPascal() |  Draft→StableICU 65
-| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getPixel() |  Draft→StableICU 65
-| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getPixelPerCentimeter() |  Draft→StableICU 65
-| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getPixelPerInch() |  Draft→StableICU 65
-| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getThermUs() |  Draft→StableICU 65
-| measunit.h | <tt>static</tt> MeasureUnit* icu::MeasureUnit::createBar(UErrorCode&amp;) |  Draft→StableICU 65
-| measunit.h | <tt>static</tt> MeasureUnit* icu::MeasureUnit::createDecade(UErrorCode&amp;) |  Draft→StableICU 65
-| measunit.h | <tt>static</tt> MeasureUnit* icu::MeasureUnit::createDotPerCentimeter(UErrorCode&amp;) |  Draft→StableICU 65
-| measunit.h | <tt>static</tt> MeasureUnit* icu::MeasureUnit::createDotPerInch(UErrorCode&amp;) |  Draft→StableICU 65
-| measunit.h | <tt>static</tt> MeasureUnit* icu::MeasureUnit::createEm(UErrorCode&amp;) |  Draft→StableICU 65
-| measunit.h | <tt>static</tt> MeasureUnit* icu::MeasureUnit::createMegapixel(UErrorCode&amp;) |  Draft→StableICU 65
-| measunit.h | <tt>static</tt> MeasureUnit* icu::MeasureUnit::createPascal(UErrorCode&amp;) |  Draft→StableICU 65
-| measunit.h | <tt>static</tt> MeasureUnit* icu::MeasureUnit::createPixel(UErrorCode&amp;) |  Draft→StableICU 65
-| measunit.h | <tt>static</tt> MeasureUnit* icu::MeasureUnit::createPixelPerCentimeter(UErrorCode&amp;) |  Draft→StableICU 65
-| measunit.h | <tt>static</tt> MeasureUnit* icu::MeasureUnit::createPixelPerInch(UErrorCode&amp;) |  Draft→StableICU 65
-| measunit.h | <tt>static</tt> MeasureUnit* icu::MeasureUnit::createThermUs(UErrorCode&amp;) |  Draft→StableICU 65
-| numberformatter.h | StringClass icu::number::FormattedNumber::toDecimalNumber(UErrorCode&amp;) const |  Draft→StableICU 65
-| reldatefmt.h | <tt>enum</tt> UDateAbsoluteUnit::UDAT_ABSOLUTE_HOUR |  Draft→StableICU 65
-| reldatefmt.h | <tt>enum</tt> UDateAbsoluteUnit::UDAT_ABSOLUTE_MINUTE |  Draft→StableICU 65
-| stringpiece.h | icu::StringPiece::StringPiece(T) |  Draft→StableICU 65
-| ucal.h | int32_t ucal_getHostTimeZone(UChar*, int32_t, UErrorCode*) |  Draft→StableICU 65
-| ucharstrie.h | UCharsTrie&amp; icu::UCharsTrie::resetToState64(uint64_t) |  Draft→StableICU 65
-| ucharstrie.h | uint64_t icu::UCharsTrie::getState64() const |  Draft→StableICU 65
-| ulistformatter.h | UListFormatter* ulistfmt_openForType(const char*, UListFormatterType, UListFormatterWidth, UErrorCode*) |  Draft→StableICU 67
-| ulistformatter.h | <tt>enum</tt> UListFormatterType::ULISTFMT_TYPE_AND |  Draft→StableICU 67
-| ulistformatter.h | <tt>enum</tt> UListFormatterType::ULISTFMT_TYPE_OR |  Draft→StableICU 67
-| ulistformatter.h | <tt>enum</tt> UListFormatterType::ULISTFMT_TYPE_UNITS |  Draft→StableICU 67
-| ulistformatter.h | <tt>enum</tt> UListFormatterWidth::ULISTFMT_WIDTH_NARROW |  Draft→StableICU 67
-| ulistformatter.h | <tt>enum</tt> UListFormatterWidth::ULISTFMT_WIDTH_SHORT |  Draft→StableICU 67
-| ulistformatter.h | <tt>enum</tt> UListFormatterWidth::ULISTFMT_WIDTH_WIDE |  Draft→StableICU 67
-| uloc.h | UEnumeration* uloc_openAvailableByType(ULocAvailableType, UErrorCode*) |  Draft→StableICU 65
-| uloc.h | <tt>enum</tt> ULocAvailableType::ULOC_AVAILABLE_DEFAULT |  Draft→StableICU 65
-| uloc.h | <tt>enum</tt> ULocAvailableType::ULOC_AVAILABLE_ONLY_LEGACY_ALIASES |  Draft→StableICU 65
-| uloc.h | <tt>enum</tt> ULocAvailableType::ULOC_AVAILABLE_WITH_LEGACY_ALIASES |  Draft→StableICU 65
-| uniset.h | USet* icu::UnicodeSet::toUSet() |  (missing) | StableICU 4.2
-| utrace.h | <tt>enum</tt> UTraceFunctionNumber::UTRACE_UDATA_BUNDLE |  Draft→StableICU 65
-| utrace.h | <tt>enum</tt> UTraceFunctionNumber::UTRACE_UDATA_DATA_FILE |  Draft→StableICU 65
-| utrace.h | <tt>enum</tt> UTraceFunctionNumber::UTRACE_UDATA_RES_FILE |  Draft→StableICU 65
-| utrace.h | <tt>enum</tt> UTraceFunctionNumber::UTRACE_UDATA_START |  Draft→StableICU 65
+| bytestream.h | void icu::ByteSink::AppendU8(const char*, int32_t) |  Draft→StableICU 67
+| bytestream.h | void icu::ByteSink::AppendU8(const char8_t*, int32_t) |  Draft→StableICU 67
+| dtptngen.h | UDateFormatHourCycle icu::DateTimePatternGenerator::getDefaultHourCycle(UErrorCode&amp;) const |  Draft→StableICU 67
+| localematcher.h | Builder&amp; icu::LocaleMatcher::Builder::setDirection(ULocMatchDirection) |  Draft→StableICU 67
+| localematcher.h | <tt>enum</tt> ULocMatchDirection::ULOCMATCH_DIRECTION_ONLY_TWO_WAY |  Draft→StableICU 67
+| localematcher.h | <tt>enum</tt> ULocMatchDirection::ULOCMATCH_DIRECTION_WITH_ONE_WAY |  Draft→StableICU 67
+| locid.h | void icu::Locale::canonicalize(UErrorCode&amp;) |  Draft→StableICU 67
+| measunit.h | MeasureUnit icu::MeasureUnit::product(const MeasureUnit&amp;, UErrorCode&amp;) const |  Draft→StableICU 67
+| measunit.h | MeasureUnit icu::MeasureUnit::reciprocal(UErrorCode&amp;) const |  Draft→StableICU 67
+| measunit.h | MeasureUnit icu::MeasureUnit::withDimensionality(int32_t, UErrorCode&amp;) const |  Draft→StableICU 67
+| measunit.h | MeasureUnit&amp; icu::MeasureUnit::operator=(MeasureUnit&amp;&amp;) noexcept |  Draft→StableICU 67
+| measunit.h | UMeasureUnitComplexity icu::MeasureUnit::getComplexity(UErrorCode&amp;) const |  Draft→StableICU 67
+| measunit.h | const char* icu::MeasureUnit::getIdentifier() const |  Draft→StableICU 67
+| measunit.h | icu::MeasureUnit::MeasureUnit(MeasureUnit&amp;&amp;) noexcept |  Draft→StableICU 67
+| measunit.h | int32_t icu::MeasureUnit::getDimensionality(UErrorCode&amp;) const |  Draft→StableICU 67
+| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::forIdentifier(StringPiece, UErrorCode&amp;) |  Draft→StableICU 67
+| stringpiece.h | icu::StringPiece::StringPiece(const char8_t*) |  Draft→StableICU 67
+| stringpiece.h | icu::StringPiece::StringPiece(const char8_t*, int32_t) |  Draft→StableICU 67
+| stringpiece.h | icu::StringPiece::StringPiece(const std::u8string&amp;) |  Draft→StableICU 67
+| stringpiece.h | icu::StringPiece::StringPiece(std::nullptr_t) |  Draft→StableICU 67
+| stringpiece.h | int32_t icu::StringPiece::compare(StringPiece) |  Draft→StableICU 67
+| stringpiece.h | int32_t icu::StringPiece::find(StringPiece, int32_t) |  Draft→StableICU 67
+| stringpiece.h | void icu::StringPiece::set(const char8_t*) |  Draft→StableICU 67
+| stringpiece.h | void icu::StringPiece::set(const char8_t*, int32_t) |  Draft→StableICU 67
+| translit.h | UnicodeSet&amp; icu::Transliterator::getSourceSet(UnicodeSet&amp;) const |   _untagged _  | StableICU 2.4
+| translit.h | <tt>static</tt> UnicodeString&amp; icu::Transliterator::getDisplayName(const UnicodeString&amp;, UnicodeString&amp;) |   _untagged _  | StableICU 2.0
+| translit.h | void icu::Transliterator::finishTransliteration(Replaceable&amp;, UTransPosition&amp;) const |   _untagged _  | StableICU 2.0
+| translit.h | void icu::Transliterator::transliterate(Replaceable&amp;, UTransPosition&amp;, UErrorCode&amp;) const |   _untagged _  | StableICU 2.0
+| udat.h | <tt>enum</tt> UDateFormatHourCycle::UDAT_HOUR_CYCLE_11 |  Draft→StableICU 67
+| udat.h | <tt>enum</tt> UDateFormatHourCycle::UDAT_HOUR_CYCLE_12 |  Draft→StableICU 67
+| udat.h | <tt>enum</tt> UDateFormatHourCycle::UDAT_HOUR_CYCLE_23 |  Draft→StableICU 67
+| udat.h | <tt>enum</tt> UDateFormatHourCycle::UDAT_HOUR_CYCLE_24 |  Draft→StableICU 67
+| udateintervalformat.h | void udtitvfmt_formatCalendarToResult(const UDateIntervalFormat*, UCalendar*, UCalendar*, UFormattedDateInterval*, UErrorCode*) |  Draft→StableICU 67
+| udateintervalformat.h | void udtitvfmt_formatToResult(const UDateIntervalFormat*, UDate, UDate, UFormattedDateInterval*, UErrorCode*) |  Draft→StableICU 67
+| udatpg.h | UDateFormatHourCycle udatpg_getDefaultHourCycle(const UDateTimePatternGenerator*, UErrorCode*) |  Draft→StableICU 67
+| utrace.h | <tt>enum</tt> UTraceFunctionNumber::UTRACE_UBRK_CREATE_BREAK_ENGINE |  Draft→StableICU 67
+| utrace.h | <tt>enum</tt> UTraceFunctionNumber::UTRACE_UBRK_CREATE_CHARACTER |  Draft→StableICU 67
+| utrace.h | <tt>enum</tt> UTraceFunctionNumber::UTRACE_UBRK_CREATE_LINE |  Draft→StableICU 67
+| utrace.h | <tt>enum</tt> UTraceFunctionNumber::UTRACE_UBRK_CREATE_SENTENCE |  Draft→StableICU 67
+| utrace.h | <tt>enum</tt> UTraceFunctionNumber::UTRACE_UBRK_CREATE_TITLE |  Draft→StableICU 67
+| utrace.h | <tt>enum</tt> UTraceFunctionNumber::UTRACE_UBRK_CREATE_WORD |  Draft→StableICU 67
+| utrace.h | <tt>enum</tt> UTraceFunctionNumber::UTRACE_UBRK_START |  Draft→StableICU 67
 
 ## Added
 
-Added in ICU 68
+Added in ICU 69
   
-| File | API | ICU 67 | ICU 68 |
+| File | API | ICU 68 | ICU 69 |
 |---|---|---|---|
-| dtitvfmt.h | UDisplayContext icu::DateIntervalFormat::getContext(UDisplayContextType, UErrorCode&amp;) const |  (missing) | DraftICU 68
-| dtitvfmt.h | void icu::DateIntervalFormat::setContext(UDisplayContext, UErrorCode&amp;) |  (missing) | DraftICU 68
-| dtptngen.h | <tt>static</tt> DateTimePatternGenerator* icu::DateTimePatternGenerator::createInstanceNoStdPat(const Locale&amp;, UErrorCode&amp;) |  (missing) | Internal
-| fmtable.h | UFormattable* icu::Formattable::toUFormattable() |  (missing) | StableICU 52
-| localematcher.h | Builder&amp; icu::LocaleMatcher::Builder::setMaxDistance(const Locale&amp;, const Locale&amp;) |  (missing) | DraftICU 68
-| localematcher.h | Builder&amp; icu::LocaleMatcher::Builder::setNoDefaultLocale() |  (missing) | DraftICU 68
-| localematcher.h | UBool icu::LocaleMatcher::isMatch(const Locale&amp;, const Locale&amp;, UErrorCode&amp;) const |  (missing) | DraftICU 68
-| measunit.h | int32_t icu::MeasureUnit::getOffset() const |  (missing) | Internal
-| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getCandela() |  (missing) | DraftICU 68
-| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getDessertSpoon() |  (missing) | DraftICU 68
-| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getDessertSpoonImperial() |  (missing) | DraftICU 68
-| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getDot() |  (missing) | DraftICU 68
-| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getDram() |  (missing) | DraftICU 68
-| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getDrop() |  (missing) | DraftICU 68
-| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getEarthRadius() |  (missing) | DraftICU 68
-| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getGrain() |  (missing) | DraftICU 68
-| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getJigger() |  (missing) | DraftICU 68
-| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getLumen() |  (missing) | DraftICU 68
-| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getPinch() |  (missing) | DraftICU 68
-| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getQuartImperial() |  (missing) | DraftICU 68
-| measunit.h | <tt>static</tt> MeasureUnit* icu::MeasureUnit::createCandela(UErrorCode&amp;) |  (missing) | DraftICU 68
-| measunit.h | <tt>static</tt> MeasureUnit* icu::MeasureUnit::createDessertSpoon(UErrorCode&amp;) |  (missing) | DraftICU 68
-| measunit.h | <tt>static</tt> MeasureUnit* icu::MeasureUnit::createDessertSpoonImperial(UErrorCode&amp;) |  (missing) | DraftICU 68
-| measunit.h | <tt>static</tt> MeasureUnit* icu::MeasureUnit::createDot(UErrorCode&amp;) |  (missing) | DraftICU 68
-| measunit.h | <tt>static</tt> MeasureUnit* icu::MeasureUnit::createDram(UErrorCode&amp;) |  (missing) | DraftICU 68
-| measunit.h | <tt>static</tt> MeasureUnit* icu::MeasureUnit::createDrop(UErrorCode&amp;) |  (missing) | DraftICU 68
-| measunit.h | <tt>static</tt> MeasureUnit* icu::MeasureUnit::createEarthRadius(UErrorCode&amp;) |  (missing) | DraftICU 68
-| measunit.h | <tt>static</tt> MeasureUnit* icu::MeasureUnit::createGrain(UErrorCode&amp;) |  (missing) | DraftICU 68
-| measunit.h | <tt>static</tt> MeasureUnit* icu::MeasureUnit::createJigger(UErrorCode&amp;) |  (missing) | DraftICU 68
-| measunit.h | <tt>static</tt> MeasureUnit* icu::MeasureUnit::createLumen(UErrorCode&amp;) |  (missing) | DraftICU 68
-| measunit.h | <tt>static</tt> MeasureUnit* icu::MeasureUnit::createPinch(UErrorCode&amp;) |  (missing) | DraftICU 68
-| measunit.h | <tt>static</tt> MeasureUnit* icu::MeasureUnit::createQuartImperial(UErrorCode&amp;) |  (missing) | DraftICU 68
-| measunit.h | std::pair&lt; LocalArray&lt; MeasureUnit &gt;, int32_t &gt; icu::MeasureUnit::splitToSingleUnits(UErrorCode&amp;) const |  (missing) | DraftICU 68
-| numberformatter.h | Derived icu::number::NumberFormatterSettings&lt; Derived &gt;::usage(StringPiece) const&amp; |  (missing) | DraftICU 68
-| numberformatter.h | Derived icu::number::NumberFormatterSettings&lt; Derived &gt;::usage(StringPiece)&amp;&amp; |  (missing) | DraftICU 68
-| numberformatter.h | MeasureUnit icu::number::FormattedNumber::getOutputUnit(UErrorCode&amp;) const |  (missing) | DraftICU 68
-| numberformatter.h | Usage&amp; icu::number::impl::Usage::operator=(Usage&amp;&amp;) |  (missing) | Internal
-| numberformatter.h | Usage&amp; icu::number::impl::Usage::operator=(const Usage&amp;) |  (missing) | Internal
-| numberformatter.h | bool icu::number::impl::Usage::isSet() const |  (missing) | Internal
-| numberformatter.h | icu::number::impl::Usage::Usage(Usage&amp;&amp;) |  (missing) | Internal
-| numberformatter.h | icu::number::impl::Usage::Usage(const Usage&amp;) |  (missing) | Internal
-| numberformatter.h | icu::number::impl::Usage::~Usage() |  (missing) | Internal
-| numberformatter.h | int16_t icu::number::impl::Usage::length() const |  (missing) | Internal
-| numberformatter.h | void icu::number::impl::Usage::set(StringPiece) |  (missing) | Internal
-| numberrangeformatter.h | std::pair&lt; StringClass, StringClass &gt; icu::number::FormattedNumberRange::getDecimalNumbers(UErrorCode&amp;) const |  (missing) | DraftICU 68
-| plurrule.h | UnicodeString icu::PluralRules::select(const number::FormattedNumberRange&amp;, UErrorCode&amp;) const |  (missing) | DraftICU 68
-| plurrule.h | UnicodeString icu::PluralRules::select(const number::impl::UFormattedNumberRangeData*, UErrorCode&amp;) const |  (missing) | Internal
-| plurrule.h | int32_t icu::PluralRules::getSamples(const UnicodeString&amp;, FixedDecimal*, int32_t, UErrorCode&amp;) |  (missing) | Internal
-| timezone.h | <tt>static</tt> TimeZone* icu::TimeZone::forLocaleOrDefault(const Locale&amp;) |  (missing) | Internal
-| ucurr.h | <tt>enum</tt> UCurrNameStyle::UCURR_FORMAL_SYMBOL_NAME |  (missing) | DraftICU 68
-| ucurr.h | <tt>enum</tt> UCurrNameStyle::UCURR_VARIANT_SYMBOL_NAME |  (missing) | DraftICU 68
-| udateintervalformat.h | UDisplayContext udtitvfmt_getContext(const UDateIntervalFormat*, UDisplayContextType, UErrorCode*) |  (missing) | DraftICU 68
-| udateintervalformat.h | void udtitvfmt_setContext(UDateIntervalFormat*, UDisplayContext, UErrorCode*) |  (missing) | DraftICU 68
-| umachine.h | <tt>#define</tt> U_DEFINE_FALSE_AND_TRUE |  (missing) | InternalICU 68
-| uniset.h | USet* icu::UnicodeSet::toUSet() |  (missing) | StableICU 4.2
-| unum.h | <tt>enum</tt> UNumberFormatMinimumGroupingDigits::UNUM_MINIMUM_GROUPING_DIGITS_AUTO |  (missing) | DraftICU 68
-| unum.h | <tt>enum</tt> UNumberFormatMinimumGroupingDigits::UNUM_MINIMUM_GROUPING_DIGITS_MIN2 |  (missing) | DraftICU 68
-| unumberformatter.h | <tt>enum</tt> UNumberUnitWidth::UNUM_UNIT_WIDTH_FORMAL |  (missing) | DraftICU 68
-| unumberformatter.h | <tt>enum</tt> UNumberUnitWidth::UNUM_UNIT_WIDTH_VARIANT |  (missing) | DraftICU 68
-| unumberformatter.h | int32_t unumf_resultToDecimalNumber(const UFormattedNumber*, char*, int32_t, UErrorCode*) |  (missing) | DraftICU 68
-| unumberrangeformatter.h | UFormattedNumberRange* unumrf_openResult(UErrorCode*) |  (missing) | DraftICU 68
-| unumberrangeformatter.h | UNumberRangeFormatter* unumrf_openForSkeletonWithCollapseAndIdentityFallback(const UChar*, int32_t, UNumberRangeCollapse, UNumberRangeIdentityFallback, const char*, UParseError*, UErrorCode*) |  (missing) | DraftICU 68
-| unumberrangeformatter.h | UNumberRangeIdentityResult unumrf_resultGetIdentityResult(const UFormattedNumberRange*, UErrorCode*) |  (missing) | DraftICU 68
-| unumberrangeformatter.h | const UFormattedValue* unumrf_resultAsValue(const UFormattedNumberRange*, UErrorCode*) |  (missing) | DraftICU 68
-| unumberrangeformatter.h | int32_t unumrf_resultGetFirstDecimalNumber(const UFormattedNumberRange*, char*, int32_t, UErrorCode*) |  (missing) | DraftICU 68
-| unumberrangeformatter.h | int32_t unumrf_resultGetSecondDecimalNumber(const UFormattedNumberRange*, char*, int32_t, UErrorCode*) |  (missing) | DraftICU 68
-| unumberrangeformatter.h | void unumrf_close(UNumberRangeFormatter*) |  (missing) | DraftICU 68
-| unumberrangeformatter.h | void unumrf_closeResult(UFormattedNumberRange*) |  (missing) | DraftICU 68
-| unumberrangeformatter.h | void unumrf_formatDecimalRange(const UNumberRangeFormatter*, const char*, int32_t, const char*, int32_t, UFormattedNumberRange*, UErrorCode*) |  (missing) | DraftICU 68
-| unumberrangeformatter.h | void unumrf_formatDoubleRange(const UNumberRangeFormatter*, double, double, UFormattedNumberRange*, UErrorCode*) |  (missing) | DraftICU 68
-| upluralrules.h | int32_t uplrules_selectForRange(const UPluralRules*, const struct UFormattedNumberRange*, UChar*, int32_t, UErrorCode*) |  (missing) | DraftICU 68
+| basictz.h | void icu::BasicTimeZone::getOffsetFromLocal(UDate, UTimeZoneLocalOption, UTimeZoneLocalOption, int32_t&amp;, int32_t&amp;, UErrorCode&amp;) const |  (missing) | DraftICU 69
+| measunit.h | MeasureUnit icu::MeasureUnit::withPrefix(UMeasurePrefix, UErrorCode&amp;) const |  (missing) | DraftICU 69
+| measunit.h | UMeasurePrefix icu::MeasureUnit::getPrefix(UErrorCode&amp;) const |  (missing) | DraftICU 69
+| measunit.h | <tt>static</tt> MeasureUnit icu::MeasureUnit::getMilligramOfglucosePerDeciliter() |  (missing) | DraftICU 69
+| measunit.h | <tt>static</tt> MeasureUnit* icu::MeasureUnit::createMilligramOfglucosePerDeciliter(UErrorCode&amp;) |  (missing) | DraftICU 69
+| numberformatter.h | Derived icu::number::NumberFormatterSettings&lt; Derived &gt;::unitDisplayCase(StringPiece) const&amp; |  (missing) | InternalICU 69
+| numberformatter.h | Derived icu::number::NumberFormatterSettings&lt; Derived &gt;::unitDisplayCase(StringPiece)&amp;&amp; |  (missing) | InternalICU 69
+| numberformatter.h | Precision icu::number::FractionPrecision::withSignificantDigits(int32_t, int32_t, UNumberRoundingPriority) const |  (missing) | DraftICU 69
+| numberformatter.h | Precision icu::number::Precision::trailingZeroDisplay(UNumberTrailingZeroDisplay) const |  (missing) | DraftICU 69
+| numberformatter.h | StringProp&amp; icu::number::impl::StringProp::operator=(StringProp&amp;&amp;) |  (missing) | Internal
+| numberformatter.h | StringProp&amp; icu::number::impl::StringProp::operator=(const StringProp&amp;) |  (missing) | Internal
+| numberformatter.h | bool icu::number::impl::StringProp::isSet() const |  (missing) | Internal
+| numberformatter.h | const char* icu::number::FormattedNumber::getGender(UErrorCode&amp;) const |  (missing) | InternalICU 69
+| numberformatter.h | icu::number::impl::StringProp::StringProp(StringProp&amp;&amp;) |  (missing) | Internal
+| numberformatter.h | icu::number::impl::StringProp::StringProp(const StringProp&amp;) |  (missing) | Internal
+| numberformatter.h | icu::number::impl::StringProp::~StringProp() |  (missing) | Internal
+| numberformatter.h | int16_t icu::number::impl::StringProp::length() const |  (missing) | Internal
+| numberformatter.h | void icu::number::impl::StringProp::set(StringPiece) |  (missing) | Internal
+| rbtz.h | void icu::RuleBasedTimeZone::getOffsetFromLocal(UDate, UTimeZoneLocalOption, UTimeZoneLocalOption, int32_t&amp;, int32_t&amp;, UErrorCode&amp;) const |  (missing) | DraftICU 69
+| simpletz.h | void icu::SimpleTimeZone::getOffsetFromLocal(UDate, UTimeZoneLocalOption, UTimeZoneLocalOption, int32_t&amp;, int32_t&amp;, UErrorCode&amp;) const |  (missing) | DraftICU 69
+| ubrk.h | UBreakIterator* ubrk_clone(const UBreakIterator*, UErrorCode*) |  (missing) | DraftICU 69
+| ucal.h | <tt>enum</tt> UTimeZoneLocalOption::UCAL_TZ_LOCAL_DAYLIGHT_FORMER |  (missing) | DraftICU 69
+| ucal.h | <tt>enum</tt> UTimeZoneLocalOption::UCAL_TZ_LOCAL_DAYLIGHT_LATTER |  (missing) | DraftICU 69
+| ucal.h | <tt>enum</tt> UTimeZoneLocalOption::UCAL_TZ_LOCAL_FORMER |  (missing) | DraftICU 69
+| ucal.h | <tt>enum</tt> UTimeZoneLocalOption::UCAL_TZ_LOCAL_LATTER |  (missing) | DraftICU 69
+| ucal.h | <tt>enum</tt> UTimeZoneLocalOption::UCAL_TZ_LOCAL_STANDARD_FORMER |  (missing) | DraftICU 69
+| ucal.h | <tt>enum</tt> UTimeZoneLocalOption::UCAL_TZ_LOCAL_STANDARD_LATTER |  (missing) | DraftICU 69
+| ucal.h | void ucal_getTimeZoneOffsetFromLocal(const UCalendar*, UTimeZoneLocalOption, UTimeZoneLocalOption, int32_t*, int32_t*, UErrorCode*) |  (missing) | DraftICU 69
+| uformattedvalue.h | <tt>enum</tt> UFieldCategory::UFIELD_CATEGORY_NUMBER_RANGE_SPAN |  (missing) | DraftICU 69
+| uniset.h | UnicodeSet&amp; icu::UnicodeSet::retain(const UnicodeString&amp;) |  (missing) | DraftICU 69
+| unum.h | <tt>enum</tt> UNumberFormatRoundingMode::UNUM_ROUND_HALF_CEILING |  (missing) | DraftICU 69
+| unum.h | <tt>enum</tt> UNumberFormatRoundingMode::UNUM_ROUND_HALF_FLOOR |  (missing) | DraftICU 69
+| unum.h | <tt>enum</tt> UNumberFormatRoundingMode::UNUM_ROUND_HALF_ODD |  (missing) | DraftICU 69
+| unumberformatter.h | <tt>enum</tt> UNumberRoundingPriority::UNUM_ROUNDING_PRIORITY_RELAXED |  (missing) | DraftICU 69
+| unumberformatter.h | <tt>enum</tt> UNumberRoundingPriority::UNUM_ROUNDING_PRIORITY_STRICT |  (missing) | DraftICU 69
+| unumberformatter.h | <tt>enum</tt> UNumberSignDisplay::UNUM_SIGN_ACCOUNTING_NEGATIVE |  (missing) | DraftICU 69
+| unumberformatter.h | <tt>enum</tt> UNumberSignDisplay::UNUM_SIGN_NEGATIVE |  (missing) | DraftICU 69
+| unumberformatter.h | <tt>enum</tt> UNumberTrailingZeroDisplay::UNUM_TRAILING_ZERO_AUTO |  (missing) | DraftICU 69
+| unumberformatter.h | <tt>enum</tt> UNumberTrailingZeroDisplay::UNUM_TRAILING_ZERO_HIDE_IF_WHOLE |  (missing) | DraftICU 69
+| uset.h | void uset_complementAllCodePoints(USet*, const UChar*, int32_t) |  (missing) | DraftICU 69
+| uset.h | void uset_complementRange(USet*, UChar32, UChar32) |  (missing) | DraftICU 69
+| uset.h | void uset_complementString(USet*, const UChar*, int32_t) |  (missing) | DraftICU 69
+| uset.h | void uset_removeAllCodePoints(USet*, const UChar*, int32_t) |  (missing) | DraftICU 69
+| uset.h | void uset_retainAllCodePoints(USet*, const UChar*, int32_t) |  (missing) | DraftICU 69
+| uset.h | void uset_retainString(USet*, const UChar*, int32_t) |  (missing) | DraftICU 69
+| vtzone.h | void icu::VTimeZone::getOffsetFromLocal(UDate, UTimeZoneLocalOption, UTimeZoneLocalOption, int32_t&amp;, int32_t&amp;, UErrorCode&amp;) const |  (missing) | DraftICU 69
 
 ## Other
 
-Other existing drafts in ICU 68
+Other existing drafts in ICU 69
 
-| File | API | ICU 67 | ICU 68 |
+| File | API | ICU 68 | ICU 69 |
 |---|---|---|---|
-| bytestream.h |  void icu::ByteSink::AppendU8(const char*, int32_t) | DraftICU 67 | 
-| bytestream.h |  void icu::ByteSink::AppendU8(const char8_t*, int32_t) | DraftICU 67 | 
-| dtptngen.h |  UDateFormatHourCycle icu::DateTimePatternGenerator::getDefaultHourCycle(UErrorCode&amp;) const | DraftICU 67 | 
-| localematcher.h |  Builder&amp; icu::LocaleMatcher::Builder::setDirection(ULocMatchDirection) | DraftICU 67 | 
-| localematcher.h |  <tt>enum</tt> ULocMatchDirection::ULOCMATCH_DIRECTION_ONLY_TWO_WAY | DraftICU 67 | 
-| localematcher.h |  <tt>enum</tt> ULocMatchDirection::ULOCMATCH_DIRECTION_WITH_ONE_WAY | DraftICU 67 | 
-| locid.h |  void icu::Locale::canonicalize(UErrorCode&amp;) | DraftICU 67 | 
+| dtitvfmt.h |  UDisplayContext icu::DateIntervalFormat::getContext(UDisplayContextType, UErrorCode&amp;) const | DraftICU 68 | 
+| dtitvfmt.h |  void icu::DateIntervalFormat::setContext(UDisplayContext, UErrorCode&amp;) | DraftICU 68 | 
+| localematcher.h |  Builder&amp; icu::LocaleMatcher::Builder::setMaxDistance(const Locale&amp;, const Locale&amp;) | DraftICU 68 | 
+| localematcher.h |  Builder&amp; icu::LocaleMatcher::Builder::setNoDefaultLocale() | DraftICU 68 | 
+| localematcher.h |  UBool icu::LocaleMatcher::isMatch(const Locale&amp;, const Locale&amp;, UErrorCode&amp;) const | DraftICU 68 | 
 | measfmt.h |  void icu::MeasureFormat::parseObject(const UnicodeString&amp;, Formattable&amp;, ParsePosition&amp;) const | DraftICU 53 | 
-| measunit.h |  MeasureUnit icu::MeasureUnit::product(const MeasureUnit&amp;, UErrorCode&amp;) const | DraftICU 67 | 
-| measunit.h |  MeasureUnit icu::MeasureUnit::reciprocal(UErrorCode&amp;) const | DraftICU 67 | 
-| measunit.h |  MeasureUnit icu::MeasureUnit::withDimensionality(int32_t, UErrorCode&amp;) const | DraftICU 67 | 
-| measunit.h |  MeasureUnit icu::MeasureUnit::withSIPrefix(UMeasureSIPrefix, UErrorCode&amp;) const | DraftICU 67 | 
-| measunit.h |  MeasureUnit&amp; icu::MeasureUnit::operator=(MeasureUnit&amp;&amp;) noexcept | DraftICU 67 | 
-| measunit.h |  UMeasureSIPrefix icu::MeasureUnit::getSIPrefix(UErrorCode&amp;) const | DraftICU 67 | 
-| measunit.h |  UMeasureUnitComplexity icu::MeasureUnit::getComplexity(UErrorCode&amp;) const | DraftICU 67 | 
-| measunit.h |  const char* icu::MeasureUnit::getIdentifier() const | DraftICU 67 | 
-| measunit.h |  icu::MeasureUnit::MeasureUnit(MeasureUnit&amp;&amp;) noexcept | DraftICU 67 | 
-| measunit.h |  int32_t icu::MeasureUnit::getDimensionality(UErrorCode&amp;) const | DraftICU 67 | 
-| measunit.h |  <tt>static</tt> MeasureUnit icu::MeasureUnit::forIdentifier(StringPiece, UErrorCode&amp;) | DraftICU 67 | 
-| stringpiece.h |  icu::StringPiece::StringPiece(const char8_t*) | DraftICU 67 | 
-| stringpiece.h |  icu::StringPiece::StringPiece(const char8_t*, int32_t) | DraftICU 67 | 
-| stringpiece.h |  icu::StringPiece::StringPiece(const std::u8string&amp;) | DraftICU 67 | 
-| stringpiece.h |  icu::StringPiece::StringPiece(std::nullptr_t) | DraftICU 67 | 
-| stringpiece.h |  int32_t icu::StringPiece::compare(StringPiece) | DraftICU 67 | 
-| stringpiece.h |  int32_t icu::StringPiece::find(StringPiece, int32_t) | DraftICU 67 | 
-| stringpiece.h |  void icu::StringPiece::set(const char8_t*) | DraftICU 67 | 
-| stringpiece.h |  void icu::StringPiece::set(const char8_t*, int32_t) | DraftICU 67 | 
-| udat.h |  <tt>enum</tt> UDateFormatHourCycle::UDAT_HOUR_CYCLE_11 | DraftICU 67 | 
-| udat.h |  <tt>enum</tt> UDateFormatHourCycle::UDAT_HOUR_CYCLE_12 | DraftICU 67 | 
-| udat.h |  <tt>enum</tt> UDateFormatHourCycle::UDAT_HOUR_CYCLE_23 | DraftICU 67 | 
-| udat.h |  <tt>enum</tt> UDateFormatHourCycle::UDAT_HOUR_CYCLE_24 | DraftICU 67 | 
-| udateintervalformat.h |  void udtitvfmt_formatCalendarToResult(const UDateIntervalFormat*, UCalendar*, UCalendar*, UFormattedDateInterval*, UErrorCode*) | DraftICU 67 | 
-| udateintervalformat.h |  void udtitvfmt_formatToResult(const UDateIntervalFormat*, UDate, UDate, UFormattedDateInterval*, UErrorCode*) | DraftICU 67 | 
-| udatpg.h |  UDateFormatHourCycle udatpg_getDefaultHourCycle(const UDateTimePatternGenerator*, UErrorCode*) | DraftICU 67 | 
+| measunit.h |  <tt>static</tt> MeasureUnit icu::MeasureUnit::getCandela() | DraftICU 68 | 
+| measunit.h |  <tt>static</tt> MeasureUnit icu::MeasureUnit::getDessertSpoon() | DraftICU 68 | 
+| measunit.h |  <tt>static</tt> MeasureUnit icu::MeasureUnit::getDessertSpoonImperial() | DraftICU 68 | 
+| measunit.h |  <tt>static</tt> MeasureUnit icu::MeasureUnit::getDot() | DraftICU 68 | 
+| measunit.h |  <tt>static</tt> MeasureUnit icu::MeasureUnit::getDram() | DraftICU 68 | 
+| measunit.h |  <tt>static</tt> MeasureUnit icu::MeasureUnit::getDrop() | DraftICU 68 | 
+| measunit.h |  <tt>static</tt> MeasureUnit icu::MeasureUnit::getEarthRadius() | DraftICU 68 | 
+| measunit.h |  <tt>static</tt> MeasureUnit icu::MeasureUnit::getGrain() | DraftICU 68 | 
+| measunit.h |  <tt>static</tt> MeasureUnit icu::MeasureUnit::getJigger() | DraftICU 68 | 
+| measunit.h |  <tt>static</tt> MeasureUnit icu::MeasureUnit::getLumen() | DraftICU 68 | 
+| measunit.h |  <tt>static</tt> MeasureUnit icu::MeasureUnit::getPinch() | DraftICU 68 | 
+| measunit.h |  <tt>static</tt> MeasureUnit icu::MeasureUnit::getQuartImperial() | DraftICU 68 | 
+| measunit.h |  <tt>static</tt> MeasureUnit* icu::MeasureUnit::createCandela(UErrorCode&amp;) | DraftICU 68 | 
+| measunit.h |  <tt>static</tt> MeasureUnit* icu::MeasureUnit::createDessertSpoon(UErrorCode&amp;) | DraftICU 68 | 
+| measunit.h |  <tt>static</tt> MeasureUnit* icu::MeasureUnit::createDessertSpoonImperial(UErrorCode&amp;) | DraftICU 68 | 
+| measunit.h |  <tt>static</tt> MeasureUnit* icu::MeasureUnit::createDot(UErrorCode&amp;) | DraftICU 68 | 
+| measunit.h |  <tt>static</tt> MeasureUnit* icu::MeasureUnit::createDram(UErrorCode&amp;) | DraftICU 68 | 
+| measunit.h |  <tt>static</tt> MeasureUnit* icu::MeasureUnit::createDrop(UErrorCode&amp;) | DraftICU 68 | 
+| measunit.h |  <tt>static</tt> MeasureUnit* icu::MeasureUnit::createEarthRadius(UErrorCode&amp;) | DraftICU 68 | 
+| measunit.h |  <tt>static</tt> MeasureUnit* icu::MeasureUnit::createGrain(UErrorCode&amp;) | DraftICU 68 | 
+| measunit.h |  <tt>static</tt> MeasureUnit* icu::MeasureUnit::createJigger(UErrorCode&amp;) | DraftICU 68 | 
+| measunit.h |  <tt>static</tt> MeasureUnit* icu::MeasureUnit::createLumen(UErrorCode&amp;) | DraftICU 68 | 
+| measunit.h |  <tt>static</tt> MeasureUnit* icu::MeasureUnit::createPinch(UErrorCode&amp;) | DraftICU 68 | 
+| measunit.h |  <tt>static</tt> MeasureUnit* icu::MeasureUnit::createQuartImperial(UErrorCode&amp;) | DraftICU 68 | 
+| measunit.h |  std::pair&lt; LocalArray&lt; MeasureUnit &gt;, int32_t &gt; icu::MeasureUnit::splitToSingleUnits(UErrorCode&amp;) const | DraftICU 68 | 
+| numberformatter.h |  Derived icu::number::NumberFormatterSettings&lt; Derived &gt;::usage(StringPiece) const&amp; | DraftICU 68 | 
+| numberformatter.h |  Derived icu::number::NumberFormatterSettings&lt; Derived &gt;::usage(StringPiece)&amp;&amp; | DraftICU 68 | 
+| numberformatter.h |  MeasureUnit icu::number::FormattedNumber::getOutputUnit(UErrorCode&amp;) const | DraftICU 68 | 
+| numberrangeformatter.h |  std::pair&lt; StringClass, StringClass &gt; icu::number::FormattedNumberRange::getDecimalNumbers(UErrorCode&amp;) const | DraftICU 68 | 
+| plurrule.h |  UnicodeString icu::PluralRules::select(const number::FormattedNumberRange&amp;, UErrorCode&amp;) const | DraftICU 68 | 
+| ucurr.h |  <tt>enum</tt> UCurrNameStyle::UCURR_FORMAL_SYMBOL_NAME | DraftICU 68 | 
+| ucurr.h |  <tt>enum</tt> UCurrNameStyle::UCURR_VARIANT_SYMBOL_NAME | DraftICU 68 | 
+| udateintervalformat.h |  UDisplayContext udtitvfmt_getContext(const UDateIntervalFormat*, UDisplayContextType, UErrorCode*) | DraftICU 68 | 
+| udateintervalformat.h |  void udtitvfmt_setContext(UDateIntervalFormat*, UDisplayContext, UErrorCode*) | DraftICU 68 | 
+| unum.h |  <tt>enum</tt> UNumberFormatMinimumGroupingDigits::UNUM_MINIMUM_GROUPING_DIGITS_AUTO | DraftICU 68 | 
+| unum.h |  <tt>enum</tt> UNumberFormatMinimumGroupingDigits::UNUM_MINIMUM_GROUPING_DIGITS_MIN2 | DraftICU 68 | 
+| unumberformatter.h |  <tt>enum</tt> UNumberUnitWidth::UNUM_UNIT_WIDTH_FORMAL | DraftICU 68 | 
+| unumberformatter.h |  <tt>enum</tt> UNumberUnitWidth::UNUM_UNIT_WIDTH_VARIANT | DraftICU 68 | 
+| unumberformatter.h |  int32_t unumf_resultToDecimalNumber(const UFormattedNumber*, char*, int32_t, UErrorCode*) | DraftICU 68 | 
+| unumberrangeformatter.h |  UFormattedNumberRange* unumrf_openResult(UErrorCode*) | DraftICU 68 | 
+| unumberrangeformatter.h |  UNumberRangeFormatter* unumrf_openForSkeletonWithCollapseAndIdentityFallback(const UChar*, int32_t, UNumberRangeCollapse, UNumberRangeIdentityFallback, const char*, UParseError*, UErrorCode*) | DraftICU 68 | 
+| unumberrangeformatter.h |  UNumberRangeIdentityResult unumrf_resultGetIdentityResult(const UFormattedNumberRange*, UErrorCode*) | DraftICU 68 | 
+| unumberrangeformatter.h |  const UFormattedValue* unumrf_resultAsValue(const UFormattedNumberRange*, UErrorCode*) | DraftICU 68 | 
+| unumberrangeformatter.h |  int32_t unumrf_resultGetFirstDecimalNumber(const UFormattedNumberRange*, char*, int32_t, UErrorCode*) | DraftICU 68 | 
+| unumberrangeformatter.h |  int32_t unumrf_resultGetSecondDecimalNumber(const UFormattedNumberRange*, char*, int32_t, UErrorCode*) | DraftICU 68 | 
+| unumberrangeformatter.h |  void unumrf_close(UNumberRangeFormatter*) | DraftICU 68 | 
+| unumberrangeformatter.h |  void unumrf_closeResult(UFormattedNumberRange*) | DraftICU 68 | 
+| unumberrangeformatter.h |  void unumrf_formatDecimalRange(const UNumberRangeFormatter*, const char*, int32_t, const char*, int32_t, UFormattedNumberRange*, UErrorCode*) | DraftICU 68 | 
+| unumberrangeformatter.h |  void unumrf_formatDoubleRange(const UNumberRangeFormatter*, double, double, UFormattedNumberRange*, UErrorCode*) | DraftICU 68 | 
+| upluralrules.h |  int32_t uplrules_selectForRange(const UPluralRules*, const struct UFormattedNumberRange*, UChar*, int32_t, UErrorCode*) | DraftICU 68 | 
 | uregex.h |  <tt>enum</tt> URegexpFlag::UREGEX_CANON_EQ | DraftICU 2.4 | 
-| utrace.h |  <tt>enum</tt> UTraceFunctionNumber::UTRACE_UBRK_CREATE_BREAK_ENGINE | DraftICU 67 | 
-| utrace.h |  <tt>enum</tt> UTraceFunctionNumber::UTRACE_UBRK_CREATE_CHARACTER | DraftICU 67 | 
-| utrace.h |  <tt>enum</tt> UTraceFunctionNumber::UTRACE_UBRK_CREATE_LINE | DraftICU 67 | 
-| utrace.h |  <tt>enum</tt> UTraceFunctionNumber::UTRACE_UBRK_CREATE_SENTENCE | DraftICU 67 | 
-| utrace.h |  <tt>enum</tt> UTraceFunctionNumber::UTRACE_UBRK_CREATE_TITLE | DraftICU 67 | 
-| utrace.h |  <tt>enum</tt> UTraceFunctionNumber::UTRACE_UBRK_CREATE_WORD | DraftICU 67 | 
-| utrace.h |  <tt>enum</tt> UTraceFunctionNumber::UTRACE_UBRK_START | DraftICU 67 | 
 
 ## Simplifications
 
@@ -389,7 +273,7 @@
 
 ## Colophon
 
-Contents generated by StableAPI tool on Fri Oct 23 11:32:42 PDT 2020
+Contents generated by StableAPI tool on Thu Mar 11 16:09:31 PST 2021
 
 Copyright © 2019 and later: Unicode, Inc. and others.
 License & terms of use: http://www.unicode.org/copyright.html