<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>ICU4J API Comparison: ICU4J 55.1 with ICU4J 56.0.1</title>
<!-- Copyright 2015, IBM, All Rights Reserved. -->
</head>
<body>
<h1>ICU4J API Comparison: ICU4J 55.1 with ICU4J 56.0.1</h1>

<hr/>
<h2>Removed from ICU4J 55.1</h2>
<p>(no API removed)</p>

<hr/>
<h2>Deprecated or Obsoleted in ICU4J 56.0.1</h2>
<p>(no API obsoleted)</p>

<hr/>
<h2>Changed in ICU4J 56.0.1 (old, new)</h2>
<p>(no API changed)</p>

<hr/>
<h2>Promoted to stable in ICU4J 56.0.1</h2>
<p>(no API promoted to stable)</p>

<hr/>
<h2>Added in ICU4J 56.0.1</h2>

<h3>Package com.ibm.icu.lang</h3>
<ul>
UCharacter.UnicodeBlock
<ul>
<li><span style='color:green'>(stable)</span> public static final UCharacter.UnicodeBlock AHOM</li>
<li><span style='color:green'>(stable)</span> public static final int AHOM_ID</li>
<li><span style='color:green'>(stable)</span> public static final UCharacter.UnicodeBlock ANATOLIAN_HIEROGLYPHS</li>
<li><span style='color:green'>(stable)</span> public static final int ANATOLIAN_HIEROGLYPHS_ID</li>
<li><span style='color:green'>(stable)</span> public static final UCharacter.UnicodeBlock CHEROKEE_SUPPLEMENT</li>
<li><span style='color:green'>(stable)</span> public static final int CHEROKEE_SUPPLEMENT_ID</li>
<li><span style='color:green'>(stable)</span> public static final UCharacter.UnicodeBlock CJK_UNIFIED_IDEOGRAPHS_EXTENSION_E</li>
<li><span style='color:green'>(stable)</span> public static final int CJK_UNIFIED_IDEOGRAPHS_EXTENSION_E_ID</li>
<li><span style='color:green'>(stable)</span> public static final UCharacter.UnicodeBlock EARLY_DYNASTIC_CUNEIFORM</li>
<li><span style='color:green'>(stable)</span> public static final int EARLY_DYNASTIC_CUNEIFORM_ID</li>
<li><span style='color:green'>(stable)</span> public static final UCharacter.UnicodeBlock HATRAN</li>
<li><span style='color:green'>(stable)</span> public static final int HATRAN_ID</li>
<li><span style='color:green'>(stable)</span> public static final UCharacter.UnicodeBlock MULTANI</li>
<li><span style='color:green'>(stable)</span> public static final int MULTANI_ID</li>
<li><span style='color:green'>(stable)</span> public static final UCharacter.UnicodeBlock OLD_HUNGARIAN</li>
<li><span style='color:green'>(stable)</span> public static final int OLD_HUNGARIAN_ID</li>
<li><span style='color:green'>(stable)</span> public static final UCharacter.UnicodeBlock SUPPLEMENTAL_SYMBOLS_AND_PICTOGRAPHS</li>
<li><span style='color:green'>(stable)</span> public static final int SUPPLEMENTAL_SYMBOLS_AND_PICTOGRAPHS_ID</li>
<li><span style='color:green'>(stable)</span> public static final UCharacter.UnicodeBlock SUTTON_SIGNWRITING</li>
<li><span style='color:green'>(stable)</span> public static final int SUTTON_SIGNWRITING_ID</li>
</ul>
</ul>

<h3>Package com.ibm.icu.util</h3>
<ul>
VersionInfo
<ul>
<li><span style='color:green'>(stable)</span> public static final VersionInfo UNICODE_8_0</li>
</ul>
</ul>

<hr/>
<p><i><font size="-1">Contents generated by ReportAPI tool on Sun Jun 28 23:55:45 EDT 2015<br/>Copyright (C) 2015, International Business Machines Corporation, All Rights Reserved.</font></i></p>
</body>
</html>
