<!-- kind:binary;verdict:incompatible;affected:0.2;added:9;removed:0;type_problems_high:0;type_problems_medium:4;type_problems_low:7;method_problems_high:0;method_problems_medium:0;method_problems_low:0;tool_version:1.4.3 -->
<!-- kind:source;verdict:incompatible;affected:0.2;added:9;removed:0;type_problems_high:1;type_problems_medium:0;type_problems_low:0;method_problems_high:0;method_problems_medium:0;method_problems_low:0;tool_version:1.4.3 -->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="keywords" content="spymemcached, compatibility" />
<meta name="description" content="Compatibility report for the spymemcached library between 2.11.4 and 2.11.6 versions" />
<title>
spymemcached: 2.11.4 to 2.11.6 compatibility report
</title>
<style type="text/css">
body {
font-family:Arial, sans-serif;
background-color:White;
color:Black;
}
hr {
color:Black;
background-color:Black;
height:1px;
border:0;
}
h1 {
margin-bottom:0px;
padding-bottom:0px;
font-size:1.625em;
}
h2 {
margin-bottom:0px;
padding-bottom:0px;
font-size:1.25em;
white-space:nowrap;
}
span.section {
font-weight:bold;
cursor:pointer;
color:#003E69;
white-space:nowrap;
margin-left:5px;
}
span:hover.section {
color:#336699;
}
span.section_affected {
cursor:pointer;
margin-left:7px;
padding-left:15px;
font-size:0.875em;
color:#cc3300;
}
span.extendable {
font-weight:100;
}
span.jar {
color:#cc3300;
font-size:0.875em;
font-weight:bold;
}
div.class_list {
padding-left:5px;
font-size:0.94em;
}
div.jar_list {
padding-left:5px;
font-size:0.94em;
}
span.package_title {
color:#408080;
font-size:0.875em;
}
span.package_list {
font-size:0.875em;
}
span.package {
color:#408080;
font-size:0.875em;
font-weight:bold;
}
span.cname {
color:Green;
font-size:0.875em;
font-weight:bold;
}
span.iname_b {
font-weight:bold;
font-size:1.1em;
}
span.iname_a {
color:#333333;
font-weight:bold;
font-size:0.94em;
}
span.sym_p {
font-weight:normal;
white-space:normal;
}
span.attr {
color:Black;
font-weight:100;
}
span.deprecated {
color:Red;
font-weight:bold;
}
div.affect {
padding-left:15px;
padding-bottom:10px;
font-size:0.87em;
font-style:italic;
line-height:0.75em;
}
div.affected {
padding-left:30px;
padding-top:10px;
}
table.ptable {
border-collapse:collapse;
border:1px outset black;
line-height:1em;
margin-left:15px;
margin-top:3px;
margin-bottom:3px;
width:900px;
}
table.ptable td {
border:1px solid Gray;
padding: 3px;
font-size:0.875em;
}
table.ptable th {
background-color:#eeeeee;
font-weight:bold;
color:#333333;
font-family:Verdana, Arial;
font-size:0.81em;
border:1px solid Gray;
text-align:center;
vertical-align:top;
white-space:nowrap;
padding: 3px;
}
table.summary {
border-collapse:collapse;
border:1px outset black;
}
table.summary th {
background-color:#eeeeee;
font-weight:100;
text-align:left;
font-size:0.94em;
white-space:nowrap;
border:1px inset gray;
padding: 3px;
}
table.summary td {
text-align:right;
white-space:nowrap;
border:1px inset gray;
padding: 3px 5px 3px 10px;
}
span.mangled {
padding-left:15px;
font-size:0.875em;
cursor:text;
color:#444444;
}
span.color_p {
font-style:italic;
color:Brown;
}
span.param {
font-style:italic;
}
span.focus_p {
font-style:italic;
color:Red;
}
span.nowrap {
white-space:nowrap;
}
td.passed {
background-color:#CCFFCC;
}
td.warning {
background-color:#F4F4AF;
}
td.failed {
background-color:#FFCCCC;
}
td.new {
background-color:#C6DEFF;
}
.top_ref {
font-size:0.69em;
}
.footer {
font-size:0.75em;
}
.tabset {
float:left;
}
a.tab {
border:1px solid Black;
float:left;
margin:0px 5px -1px 0px;
padding:3px 5px 3px 5px;
position:relative;
font-size:0.875em;
background-color:#DDD;
text-decoration:none;
color:Black;
}
a.disabled:hover
{
color:Black;
background:#EEE;
}
a.active:hover
{
color:Black;
background:White;
}
a.active {
border-bottom-color:White;
background-color:White;
}
div.tab {
border-top:1px solid Black;
padding:0px;
width:100%;
clear:both;
}
</style>
<script type="text/javascript" language="JavaScript">
<!--
function showContent(header, id)
{
e = document.getElementById(id);
if(e.style.display == 'none')
{
e.style.display = 'block';
e.style.visibility = 'visible';
header.innerHTML = header.innerHTML.replace(/\[[^0-9 ]\]/gi,"[−]");
}
else
{
e.style.display = 'none';
e.style.visibility = 'hidden';
header.innerHTML = header.innerHTML.replace(/\[[^0-9 ]\]/gi,"[+]");
}
}
function initTabs()
{
var url = window.location.href;
if(url.indexOf('_Source_')!=-1 || url.indexOf('#Source')!=-1)
{
var tab1 = document.getElementById('BinaryID');
var tab2 = document.getElementById('SourceID');
tab1.className='tab disabled';
tab2.className='tab active';
}
var sets = document.getElementsByTagName('div');
for (var i = 0; i < sets.length; i++)
{
if (sets[i].className.indexOf('tabset') != -1)
{
var tabs = [];
var links = sets[i].getElementsByTagName('a');
for (var j = 0; j < links.length; j++)
{
if (links[j].className.indexOf('tab') != -1)
{
tabs.push(links[j]);
links[j].tabs = tabs;
var tab = document.getElementById(links[j].href.substr(links[j].href.indexOf('#') + 1));
//reset all tabs on start
if (tab)
{
if (links[j].className.indexOf('active')!=-1) {
tab.style.display = 'block';
}
else {
tab.style.display = 'none';
}
}
links[j].onclick = function()
{
var tab = document.getElementById(this.href.substr(this.href.indexOf('#') + 1));
if (tab)
{
//reset all tabs before change
for (var k = 0; k < this.tabs.length; k++)
{
document.getElementById(this.tabs[k].href.substr(this.tabs[k].href.indexOf('#') + 1)).style.display = 'none';
this.tabs[k].className = this.tabs[k].className.replace('active', 'disabled');
}
this.className = 'tab active';
tab.style.display = 'block';
// window.location.hash = this.id.replace('ID', '');
return false;
}
}
}
}
}
}
if(url.indexOf('#')!=-1) {
location.href=location.href;
}
}
if (window.addEventListener) window.addEventListener('load', initTabs, false);
else if (window.attachEvent) window.attachEvent('onload', initTabs);
-->
</script>
</head><body><a name='Source'></a><a name='Binary'></a><a name='Top'></a><h1>API compatibility report for the <span style='color:Blue;'>spymemcached</span> library between <span style='color:Red;'>2.11.4</span> and <span style='color:Red;'>2.11.6</span> versions</h1>
<br/><div class='tabset'>
<a id='BinaryID' href='#BinaryTab' class='tab active'>Binary<br/>Compatibility</a>
<a id='SourceID' href='#SourceTab' style='margin-left:3px' class='tab disabled'>Source<br/>Compatibility</a>
</div><div id='BinaryTab' class='tab'>
<h2>Test Info</h2><hr/>
<table cellpadding='3' cellspacing='0' class='summary'>
<tr><th>Library Name</th><td>spymemcached</td></tr>
<tr><th>Version #1</th><td>2.11.4</td></tr>
<tr><th>Version #2</th><td>2.11.6</td></tr>
<tr><th>Subject</th><td width='150px'>Binary Compatibility</td></tr>
</table>
<h2>Test Results</h2><hr/><table cellpadding='3' cellspacing='0' class='summary'><tr><th>Total Java ARchives</th><td><a href='#Checked_Archives' style='color:Blue;'>1</a></td></tr><tr><th>Total Methods / Classes</th><td>1485 / 190</td></tr><tr><th>Verdict</th><td><span style='color:Red;'><b>Incompatible<br/>(0.2%)</b></span></td></tr>
</table>
<h2>Problem Summary</h2><hr/><table cellpadding='3' cellspacing='0' class='summary'><tr><th></th><th style='text-align:center;'>Severity</th><th style='text-align:center;'>Count</th></tr><tr><th>Added Methods</th><td>-</td><td class='new'><a href='#Binary_Added' style='color:Blue;'>9</a></td></tr><tr><th>Removed Methods</th><td>High</td><td>0</td></tr><tr><th rowspan='3'>Problems with<br/>Data Types</th><td>High</td><td>0</td></tr><tr><td>Medium</td><td class='failed'><a href='#Type_Binary_Problems_Medium' style='color:Blue;'>4</a></td></tr><tr><td>Low</td><td class='warning'><a href='#Type_Binary_Problems_Low' style='color:Blue;'>7</a></td></tr><tr><th rowspan='3'>Problems with<br/>Methods</th><td>High</td><td>0</td></tr><tr><td>Medium</td><td>0</td></tr><tr><td>Low</td><td>0</td></tr></table>
<a name='Binary_Added'></a><h2>Added Methods (9)</h2><hr/>
<span class='jar'>spymemcached-2.11.6.jar</span>, <span class='cname'>BaseGetOpImpl.class</span><br/>
<span class='package_title'>package</span> <span class='package'>net.spy.memcached.protocol.ascii</span><br/>
<span class="section" onclick="javascript:showContent(this, 'c_1')">
BaseGetOpImpl.afterKeyBytes <span class='sym_p'><span class='nowrap'>( ByteBuffer <span class='color_p'>b</span></span> )</span><span class='sym_p nowrap'> <b>:</b> void</span></span>
<br/>
<div id="c_1" style="display:none;">
<span class='mangled'>[mangled: <b>net/spy/memcached/protocol/ascii/BaseGetOpImpl.afterKeyBytes:(Ljava/nio/ByteBuffer;)V</b>]</span><br/><br/></div>
<span class="section" onclick="javascript:showContent(this, 'c_2')">
BaseGetOpImpl.afterKeyBytesSize <span class='sym_p'>( )</span><span class='sym_p nowrap'> <b>:</b> int</span></span>
<br/>
<div id="c_2" style="display:none;">
<span class='mangled'>[mangled: <b>net/spy/memcached/protocol/ascii/BaseGetOpImpl.afterKeyBytesSize:()I</b>]</span><br/><br/></div>
<span class="section" onclick="javascript:showContent(this, 'c_3')">
BaseGetOpImpl.getErrorMsg <span class='sym_p'>( )</span><span class='sym_p nowrap'> <b>:</b> byte[ ]</span></span>
<br/>
<div id="c_3" style="display:none;">
<span class='mangled'>[mangled: <b>net/spy/memcached/protocol/ascii/BaseGetOpImpl.getErrorMsg:()[B</b>]</span><br/><br/></div>
<span class="section" onclick="javascript:showContent(this, 'c_4')">
BaseGetOpImpl.readFromBuffer <span class='sym_p'><span class='nowrap'>( ByteBuffer <span class='color_p'>p1</span></span> )</span><span class='sym_p nowrap'> <b>:</b> void</span></span>
<br/>
<div id="c_4" style="display:none;">
<span class='mangled'>[mangled: <b>net/spy/memcached/protocol/ascii/BaseGetOpImpl.readFromBuffer:(Ljava/nio/ByteBuffer;)V</b>]</span><br/><br/></div>
<br/>
<span class='jar'>spymemcached-2.11.6.jar</span>, <span class='cname'>GetlOperation.class</span><br/>
<span class='package_title'>package</span> <span class='package'>net.spy.memcached.ops</span><br/>
<span class="section" onclick="javascript:showContent(this, 'c_5')">
GetlOperation.getExpiration <span class='sym_p'>( )</span> <span class='attr'>[abstract]</span><span class='sym_p nowrap'> <b>:</b> int</span></span>
<br/>
<div id="c_5" style="display:none;">
<span class='mangled'>[mangled: <b>net/spy/memcached/ops/GetlOperation.getExpiration:()I</b>]</span><br/><br/></div>
<br/>
<span class='jar'>spymemcached-2.11.6.jar</span>, <span class='cname'>GetlOperationImpl.class</span><br/>
<span class='package_title'>package</span> <span class='package'>net.spy.memcached.protocol.binary</span><br/>
<span class="section" onclick="javascript:showContent(this, 'c_6')">
GetlOperationImpl.getExpiration <span class='sym_p'>( )</span><span class='sym_p nowrap'> <b>:</b> int</span></span>
<br/>
<div id="c_6" style="display:none;">
<span class='mangled'>[mangled: <b>net/spy/memcached/protocol/binary/GetlOperationImpl.getExpiration:()I</b>]</span><br/><br/></div>
<br/>
<span class='jar'>spymemcached-2.11.6.jar</span>, <span class='cname'>MemcachedClientFactoryBean.class</span><br/>
<span class='package_title'>package</span> <span class='package'>net.spy.memcached.spring</span><br/>
<span class="section" onclick="javascript:showContent(this, 'c_7')">
MemcachedClientFactoryBean.afterPropertiesSet <span class='sym_p'>( )</span><span class='sym_p nowrap'> <b>:</b> void</span></span>
<br/>
<div id="c_7" style="display:none;">
<span class='mangled'>[mangled: <b>net/spy/memcached/spring/MemcachedClientFactoryBean.afterPropertiesSet:()V</b>]</span><br/><br/></div>
<span class="section" onclick="javascript:showContent(this, 'c_8')">
MemcachedClientFactoryBean.destroy <span class='sym_p'>( )</span><span class='sym_p nowrap'> <b>:</b> void</span></span>
<br/>
<div id="c_8" style="display:none;">
<span class='mangled'>[mangled: <b>net/spy/memcached/spring/MemcachedClientFactoryBean.destroy:()V</b>]</span><br/><br/></div>
<span class="section" onclick="javascript:showContent(this, 'c_9')">
MemcachedClientFactoryBean.setShutdownTimeoutSeconds <span class='sym_p'><span class='nowrap'>( long <span class='color_p'>shutdownTimeoutSeconds</span></span> )</span><span class='sym_p nowrap'> <b>:</b> void</span></span>
<br/>
<div id="c_9" style="display:none;">
<span class='mangled'>[mangled: <b>net/spy/memcached/spring/MemcachedClientFactoryBean.setShutdownTimeoutSeconds:(J)V</b>]</span><br/><br/></div>
<br/>
<a class='top_ref' href='#Top'>to the top</a><br/>
<a name='Medium_Risk_Binary_Problems'></a><a name='Type_Binary_Problems_Medium'></a>
<h2>Problems with Data Types, Medium Severity (4)</h2><hr/>
<span class='jar'>spymemcached-2.11.4.jar</span><br/>
<span class='package_title'>package</span> <span class='package'>net.spy.memcached</span><br/>
<span class="section" onclick="javascript:showContent(this, 'c_10')">
<span class='extendable'>[+]</span> BuildInfo (3)</span>
<br/>
<div id="c_10" style="display:none;">
<table class='ptable'><tr><th width='2%'></th><th width='47%'>Change</th><th>Effect</th></tr><tr><th align='center' valign='top'>1</th><td align='left' valign='top'>Value of final field <b>COMPILE_DATE</b> (<b>java.lang.String</b>) has been changed from <span class='nowrap'><b>"Tue Jul 1 07:05:39 CEST 2014"</b></span> to <span class='nowrap'><b>"Mon Jan 19 15:50:25 CET 2015"</b></span>.</td><td align='left' valign='top'>Old value of the field will be inlined to the client code at compile-time and will be used instead of a new one.</td></tr>
<tr><th align='center' valign='top'>2</th><td align='left' valign='top'>Value of final field <b>COMPILE_HOST</b> (<b>java.lang.String</b>) has been changed from <span class='nowrap'><b>"daschlbook.local"</b></span> to <span class='nowrap'><b>"daschlbook-3.local"</b></span>.</td><td align='left' valign='top'>Old value of the field will be inlined to the client code at compile-time and will be used instead of a new one.</td></tr>
<tr><th align='center' valign='top'>3</th><td align='left' valign='top'>Value of final field <b>GIT_HASH</b> (<b>java.lang.String</b>) has been changed from <span class='nowrap'><b>"953c322ad254bf6f544bac6738114176040a9c6f"</b></span> to <span class='nowrap'><b>"4bb435b7b58b78d650aad5019cd5c1569359257b"</b></span>.</td><td align='left' valign='top'>Old value of the field will be inlined to the client code at compile-time and will be used instead of a new one.</td></tr>
</table><span class="section_affected" onclick="javascript:showContent(this, 'c_11')">
[+] affected methods (4)</span>
<div id="c_11" style="display:none;">
<div class='affected'><span class='iname_a'>BuildInfo <span class='sym_p'>( )</span></span><br/><div class='affect'>This constructor is from 'BuildInfo' class.</div>
<span class='iname_a'>getFile <span class='sym_p'><span class='nowrap'>( String</span> )</span></span><br/><div class='affect'>This method is from 'BuildInfo' class.</div>
<span class='iname_a'>main <span class='sym_p'><span class='nowrap'>( String[ ]</span> )</span></span><br/><div class='affect'>This method is from 'BuildInfo' class.</div>
<span class='iname_a'>toString <span class='sym_p'>( )</span></span><br/><div class='affect'>This method is from 'BuildInfo' class.</div>
</div></div>
<br/><br/></div>
<br/><span class='package_title'>package</span> <span class='package'>net.spy.memcached.ops</span><br/>
<span class="section" onclick="javascript:showContent(this, 'c_12')">
<span class='extendable'>[+]</span> GetlOperation (1)</span>
<br/>
<div id="c_12" style="display:none;">
<table class='ptable'><tr><th width='2%'></th><th width='47%'>Change</th><th>Effect</th></tr><tr><th align='center' valign='top'>1</th><td align='left' valign='top'>Abstract method <span class='iname_b'>getExpiration <span class='sym_p'>( )</span></span> has been added to this interface.</td><td align='left' valign='top'>A client program may be interrupted by <b>AbstractMethodError</b> exception. Added abstract method is called in 2nd library version by the method <span class='iname_b'>clone <span class='sym_p'><span class='nowrap'>( KeyedOperation</span> )</span></span> and may not be implemented by old clients.</td></tr>
</table><span class="section_affected" onclick="javascript:showContent(this, 'c_13')">
[+] affected methods (3)</span>
<div id="c_13" style="display:none;">
<div class='affected'><span class='iname_a'>getl <span class='sym_p'><span class='nowrap'>( String</span>, <span class='nowrap'>int</span>, <span class='nowrap'>GetlOperation.Callback</span> )</span></span><br/><div class='affect'>Return value of this abstract method has type 'GetlOperation'.</div>
<span class='iname_a'>getl <span class='sym_p'><span class='nowrap'>( String</span>, <span class='nowrap'>int</span>, <span class='nowrap'>GetlOperation.Callback</span> )</span></span><br/><div class='affect'>Return value of this method has type 'GetlOperation'.</div>
<span class='iname_a'>getl <span class='sym_p'><span class='nowrap'>( String</span>, <span class='nowrap'>int</span>, <span class='nowrap'>GetlOperation.Callback</span> )</span></span><br/><div class='affect'>Return value of this method has type 'GetlOperation'.</div>
</div></div>
<br/><br/></div>
<br/><a class='top_ref' href='#Top'>to the top</a><br/>
<a name='Low_Risk_Binary_Problems'></a><a name='Type_Binary_Problems_Low'></a>
<h2>Problems with Data Types, Low Severity (7)</h2><hr/>
<span class='jar'>spymemcached-2.11.4.jar</span><br/>
<span class='package_title'>package</span> <span class='package'>net.spy.memcached</span><br/>
<span class="section" onclick="javascript:showContent(this, 'c_14')">
<span class='extendable'>[+]</span> BuildInfo (2)</span>
<br/>
<div id="c_14" style="display:none;">
<table class='ptable'><tr><th width='2%'></th><th width='47%'>Change</th><th>Effect</th></tr><tr><th align='center' valign='top'>1</th><td align='left' valign='top'>Value of final field <b>TREE_VERSION</b> (<b>java.lang.String</b>) has been changed from <span class='nowrap'><b>"2.11.4"</b></span> to <span class='nowrap'><b>"2.11.6"</b></span>.</td><td align='left' valign='top'>Old value of the field will be inlined to the client code at compile-time and will be used instead of a new one.</td></tr>
<tr><th align='center' valign='top'>2</th><td align='left' valign='top'>Value of final field <b>VERSION</b> (<b>java.lang.String</b>) has been changed from <span class='nowrap'><b>"2.11.4"</b></span> to <span class='nowrap'><b>"2.11.6"</b></span>.</td><td align='left' valign='top'>Old value of the field will be inlined to the client code at compile-time and will be used instead of a new one.</td></tr>
</table><span class="section_affected" onclick="javascript:showContent(this, 'c_15')">
[+] affected methods (4)</span>
<div id="c_15" style="display:none;">
<div class='affected'><span class='iname_a'>BuildInfo <span class='sym_p'>( )</span></span><br/><div class='affect'>This constructor is from 'BuildInfo' class.</div>
<span class='iname_a'>getFile <span class='sym_p'><span class='nowrap'>( String</span> )</span></span><br/><div class='affect'>This method is from 'BuildInfo' class.</div>
<span class='iname_a'>main <span class='sym_p'><span class='nowrap'>( String[ ]</span> )</span></span><br/><div class='affect'>This method is from 'BuildInfo' class.</div>
<span class='iname_a'>toString <span class='sym_p'>( )</span></span><br/><div class='affect'>This method is from 'BuildInfo' class.</div>
</div></div>
<br/><br/></div>
<br/><span class='package_title'>package</span> <span class='package'>net.spy.memcached.protocol.ascii</span><br/>
<span class="section" onclick="javascript:showContent(this, 'c_16')">
<span class='extendable'>[+]</span> BaseGetOpImpl (2)</span>
<br/>
<div id="c_16" style="display:none;">
<table class='ptable'><tr><th width='2%'></th><th width='47%'>Change</th><th>Effect</th></tr><tr><th align='center' valign='top'>1</th><td align='left' valign='top'>Method <span class='iname_b'>getErrorMsg <span class='sym_p'>( )</span></span> has been overridden by <span class='iname_b'>getErrorMsg <span class='sym_p'>( )</span></span></td><td align='left' valign='top'>Method <span class='iname_b'>getErrorMsg <span class='sym_p'>( )</span></span> will be called instead of <span class='iname_b'>getErrorMsg <span class='sym_p'>( )</span></span> in a client program.</td></tr>
<tr><th align='center' valign='top'>2</th><td align='left' valign='top'>Method <span class='iname_b'>readFromBuffer <span class='sym_p'><span class='nowrap'>( ByteBuffer</span> )</span></span> has been overridden by <span class='iname_b'>readFromBuffer <span class='sym_p'><span class='nowrap'>( ByteBuffer</span> )</span></span></td><td align='left' valign='top'>Method <span class='iname_b'>readFromBuffer <span class='sym_p'><span class='nowrap'>( ByteBuffer</span> )</span></span> will be called instead of <span class='iname_b'>readFromBuffer <span class='sym_p'><span class='nowrap'>( ByteBuffer</span> )</span></span> in a client program.</td></tr>
</table><span class="section_affected" onclick="javascript:showContent(this, 'c_17')">
[+] affected methods (2)</span>
<div id="c_17" style="display:none;">
<div class='affected'><span class='iname_a'>getErrorMsg <span class='sym_p'>( )</span></span><br/><div class='affect'>Method 'getErrorMsg <span class='sym_p'>( )</span>' will be called instead of this method in a client program.</div>
<span class='iname_a'>readFromBuffer <span class='sym_p'><span class='nowrap'>( ByteBuffer</span> )</span></span><br/><div class='affect'>Method 'readFromBuffer <span class='sym_p'><span class='nowrap'>( ByteBuffer</span> )</span>' will be called instead of this method in a client program.</div>
</div></div>
<br/><br/></div>
<span class="section" onclick="javascript:showContent(this, 'c_18')">
<span class='extendable'>[+]</span> GetAndTouchOperationImpl (3)</span>
<br/>
<div id="c_18" style="display:none;">
<table class='ptable'><tr><th width='2%'></th><th width='47%'>Change</th><th>Effect</th></tr><tr><th align='center' valign='top'>1</th><td align='left' valign='top'>Method <span class='iname_b'>getErrorMsg <span class='sym_p'>( )</span></span> has been moved up type hierarchy to <span class='iname_b'>getErrorMsg <span class='sym_p'>( )</span></span></td><td align='left' valign='top'>Method <span class='iname_b'>getErrorMsg <span class='sym_p'>( )</span></span> will be called instead of <span class='iname_b'>getErrorMsg <span class='sym_p'>( )</span></span> in a client program.</td></tr>
<tr><th align='center' valign='top'>2</th><td align='left' valign='top'>Method <span class='iname_b'>readFromBuffer <span class='sym_p'><span class='nowrap'>( ByteBuffer</span> )</span></span> has been moved up type hierarchy to <span class='iname_b'>readFromBuffer <span class='sym_p'><span class='nowrap'>( ByteBuffer</span> )</span></span></td><td align='left' valign='top'>Method <span class='iname_b'>readFromBuffer <span class='sym_p'><span class='nowrap'>( ByteBuffer</span> )</span></span> will be called instead of <span class='iname_b'>readFromBuffer <span class='sym_p'><span class='nowrap'>( ByteBuffer</span> )</span></span> in a client program.</td></tr>
<tr><th align='center' valign='top'>3</th><td align='left' valign='top'>Method <span class='iname_b'>toString <span class='sym_p'>( )</span></span> has been moved up type hierarchy to <span class='iname_b'>toString <span class='sym_p'>( )</span></span></td><td align='left' valign='top'>Method <span class='iname_b'>toString <span class='sym_p'>( )</span></span> will be called instead of <span class='iname_b'>toString <span class='sym_p'>( )</span></span> in a client program.</td></tr>
</table><span class="section_affected" onclick="javascript:showContent(this, 'c_19')">
[+] affected methods (3)</span>
<div id="c_19" style="display:none;">
<div class='affected'><span class='iname_a'>getErrorMsg <span class='sym_p'>( )</span></span><br/><div class='affect'>Method 'getErrorMsg <span class='sym_p'>( )</span>' will be called instead of this method in a client program.</div>
<span class='iname_a'>readFromBuffer <span class='sym_p'><span class='nowrap'>( ByteBuffer</span> )</span></span><br/><div class='affect'>Method 'readFromBuffer <span class='sym_p'><span class='nowrap'>( ByteBuffer</span> )</span>' will be called instead of this method in a client program.</div>
<span class='iname_a'>toString <span class='sym_p'>( )</span></span><br/><div class='affect'>Method 'toString <span class='sym_p'>( )</span>' will be called instead of this method in a client program.</div>
</div></div>
<br/><br/></div>
<br/><a class='top_ref' href='#Top'>to the top</a><br/>
<a name='Checked_Archives'></a><h2>Java ARchives (1)</h2>
<hr/><div class='jar_list'>
spymemcached-2.11.4.jar<br/>
</div><br/><a class='top_ref' href='#Top'>to the top</a><br/>
<br/><br/><br/></div><div id='SourceTab' class='tab'>
<h2>Test Info</h2><hr/>
<table cellpadding='3' cellspacing='0' class='summary'>
<tr><th>Library Name</th><td>spymemcached</td></tr>
<tr><th>Version #1</th><td>2.11.4</td></tr>
<tr><th>Version #2</th><td>2.11.6</td></tr>
<tr><th>Subject</th><td width='150px'>Source Compatibility</td></tr>
</table>
<h2>Test Results</h2><hr/><table cellpadding='3' cellspacing='0' class='summary'><tr><th>Total Java ARchives</th><td><a href='#Checked_Archives' style='color:Blue;'>1</a></td></tr><tr><th>Total Methods / Classes</th><td>1485 / 190</td></tr><tr><th>Verdict</th><td><span style='color:Red;'><b>Incompatible<br/>(0.2%)</b></span></td></tr>
</table>
<h2>Problem Summary</h2><hr/><table cellpadding='3' cellspacing='0' class='summary'><tr><th></th><th style='text-align:center;'>Severity</th><th style='text-align:center;'>Count</th></tr><tr><th>Added Methods</th><td>-</td><td class='new'><a href='#Source_Added' style='color:Blue;'>9</a></td></tr><tr><th>Removed Methods</th><td>High</td><td>0</td></tr><tr><th rowspan='3'>Problems with<br/>Data Types</th><td>High</td><td class='failed'><a href='#Type_Source_Problems_High' style='color:Blue;'>1</a></td></tr><tr><td>Medium</td><td>0</td></tr><tr><td>Low</td><td>0</td></tr><tr><th rowspan='3'>Problems with<br/>Methods</th><td>High</td><td>0</td></tr><tr><td>Medium</td><td>0</td></tr><tr><td>Low</td><td>0</td></tr></table>
<a name='Source_Added'></a><h2>Added Methods (9)</h2><hr/>
<span class='jar'>spymemcached-2.11.6.jar</span>, <span class='cname'>BaseGetOpImpl.class</span><br/>
<span class='package_title'>package</span> <span class='package'>net.spy.memcached.protocol.ascii</span><br/>
<span class="section" onclick="javascript:showContent(this, 'c_20')">
BaseGetOpImpl.afterKeyBytes <span class='sym_p'><span class='nowrap'>( ByteBuffer <span class='color_p'>b</span></span> )</span><span class='sym_p nowrap'> <b>:</b> void</span></span>
<br/>
<div id="c_20" style="display:none;">
<span class='mangled'>[mangled: <b>net/spy/memcached/protocol/ascii/BaseGetOpImpl.afterKeyBytes:(Ljava/nio/ByteBuffer;)V</b>]</span><br/><br/></div>
<span class="section" onclick="javascript:showContent(this, 'c_21')">
BaseGetOpImpl.afterKeyBytesSize <span class='sym_p'>( )</span><span class='sym_p nowrap'> <b>:</b> int</span></span>
<br/>
<div id="c_21" style="display:none;">
<span class='mangled'>[mangled: <b>net/spy/memcached/protocol/ascii/BaseGetOpImpl.afterKeyBytesSize:()I</b>]</span><br/><br/></div>
<span class="section" onclick="javascript:showContent(this, 'c_22')">
BaseGetOpImpl.getErrorMsg <span class='sym_p'>( )</span><span class='sym_p nowrap'> <b>:</b> byte[ ]</span></span>
<br/>
<div id="c_22" style="display:none;">
<span class='mangled'>[mangled: <b>net/spy/memcached/protocol/ascii/BaseGetOpImpl.getErrorMsg:()[B</b>]</span><br/><br/></div>
<span class="section" onclick="javascript:showContent(this, 'c_23')">
BaseGetOpImpl.readFromBuffer <span class='sym_p'><span class='nowrap'>( ByteBuffer <span class='color_p'>p1</span></span> )</span><span class='sym_p nowrap'> <b>:</b> void</span></span>
<br/>
<div id="c_23" style="display:none;">
<span class='mangled'>[mangled: <b>net/spy/memcached/protocol/ascii/BaseGetOpImpl.readFromBuffer:(Ljava/nio/ByteBuffer;)V</b>]</span><br/><br/></div>
<br/>
<span class='jar'>spymemcached-2.11.6.jar</span>, <span class='cname'>GetlOperation.class</span><br/>
<span class='package_title'>package</span> <span class='package'>net.spy.memcached.ops</span><br/>
<span class="section" onclick="javascript:showContent(this, 'c_24')">
GetlOperation.getExpiration <span class='sym_p'>( )</span> <span class='attr'>[abstract]</span><span class='sym_p nowrap'> <b>:</b> int</span></span>
<br/>
<div id="c_24" style="display:none;">
<span class='mangled'>[mangled: <b>net/spy/memcached/ops/GetlOperation.getExpiration:()I</b>]</span><br/><br/></div>
<br/>
<span class='jar'>spymemcached-2.11.6.jar</span>, <span class='cname'>GetlOperationImpl.class</span><br/>
<span class='package_title'>package</span> <span class='package'>net.spy.memcached.protocol.binary</span><br/>
<span class="section" onclick="javascript:showContent(this, 'c_25')">
GetlOperationImpl.getExpiration <span class='sym_p'>( )</span><span class='sym_p nowrap'> <b>:</b> int</span></span>
<br/>
<div id="c_25" style="display:none;">
<span class='mangled'>[mangled: <b>net/spy/memcached/protocol/binary/GetlOperationImpl.getExpiration:()I</b>]</span><br/><br/></div>
<br/>
<span class='jar'>spymemcached-2.11.6.jar</span>, <span class='cname'>MemcachedClientFactoryBean.class</span><br/>
<span class='package_title'>package</span> <span class='package'>net.spy.memcached.spring</span><br/>
<span class="section" onclick="javascript:showContent(this, 'c_26')">
MemcachedClientFactoryBean.afterPropertiesSet <span class='sym_p'>( )</span><span class='sym_p nowrap'> <b>:</b> void</span></span>
<br/>
<div id="c_26" style="display:none;">
<span class='mangled'>[mangled: <b>net/spy/memcached/spring/MemcachedClientFactoryBean.afterPropertiesSet:()V</b>]</span><br/><br/></div>
<span class="section" onclick="javascript:showContent(this, 'c_27')">
MemcachedClientFactoryBean.destroy <span class='sym_p'>( )</span><span class='sym_p nowrap'> <b>:</b> void</span></span>
<br/>
<div id="c_27" style="display:none;">
<span class='mangled'>[mangled: <b>net/spy/memcached/spring/MemcachedClientFactoryBean.destroy:()V</b>]</span><br/><br/></div>
<span class="section" onclick="javascript:showContent(this, 'c_28')">
MemcachedClientFactoryBean.setShutdownTimeoutSeconds <span class='sym_p'><span class='nowrap'>( long <span class='color_p'>shutdownTimeoutSeconds</span></span> )</span><span class='sym_p nowrap'> <b>:</b> void</span></span>
<br/>
<div id="c_28" style="display:none;">
<span class='mangled'>[mangled: <b>net/spy/memcached/spring/MemcachedClientFactoryBean.setShutdownTimeoutSeconds:(J)V</b>]</span><br/><br/></div>
<br/>
<a class='top_ref' href='#Top'>to the top</a><br/>
<a name='High_Risk_Source_Problems'></a><a name='Type_Source_Problems_High'></a>
<h2>Problems with Data Types, High Severity (1)</h2><hr/>
<span class='jar'>spymemcached-2.11.4.jar</span><br/>
<span class='package_title'>package</span> <span class='package'>net.spy.memcached.ops</span><br/>
<span class="section" onclick="javascript:showContent(this, 'c_29')">
<span class='extendable'>[+]</span> GetlOperation (1)</span>
<br/>
<div id="c_29" style="display:none;">
<table class='ptable'><tr><th width='2%'></th><th width='47%'>Change</th><th>Effect</th></tr><tr><th align='center' valign='top'>1</th><td align='left' valign='top'>Abstract method <span class='iname_b'>getExpiration <span class='sym_p'>( )</span></span> has been added to this interface.</td><td align='left' valign='top'>Recompilation of a client program may be terminated with the message: a client class C is not abstract and does not override abstract method <b>getExpiration()</b> in <b>GetlOperation</b>.</td></tr>
</table><span class="section_affected" onclick="javascript:showContent(this, 'c_30')">
[+] affected methods (3)</span>
<div id="c_30" style="display:none;">
<div class='affected'><span class='iname_a'>getl <span class='sym_p'><span class='nowrap'>( String</span>, <span class='nowrap'>int</span>, <span class='nowrap'>GetlOperation.Callback</span> )</span></span><br/><div class='affect'>Return value of this abstract method has type 'GetlOperation'.</div>
<span class='iname_a'>getl <span class='sym_p'><span class='nowrap'>( String</span>, <span class='nowrap'>int</span>, <span class='nowrap'>GetlOperation.Callback</span> )</span></span><br/><div class='affect'>Return value of this method has type 'GetlOperation'.</div>
<span class='iname_a'>getl <span class='sym_p'><span class='nowrap'>( String</span>, <span class='nowrap'>int</span>, <span class='nowrap'>GetlOperation.Callback</span> )</span></span><br/><div class='affect'>Return value of this method has type 'GetlOperation'.</div>
</div></div>
<br/><br/></div>
<br/><a class='top_ref' href='#Top'>to the top</a><br/>
<a name='Checked_Archives'></a><h2>Java ARchives (1)</h2>
<hr/><div class='jar_list'>
spymemcached-2.11.4.jar<br/>
</div><br/><a class='top_ref' href='#Top'>to the top</a><br/>
<br/><br/><br/></div><hr/><div class='footer' align='right'><i>Generated on Fri Oct 30 13:22:23 2015 by <a href='https://github.com/lvc/japi-compliance-checker'>Java API Compliance Checker</a> 1.4.3 </i></div><br/>
</body></html>