<!DOCTYPE html>
<!--
 | Generated by Apache Maven Doxia Site Renderer 1.9.1 from org.revapi:revapi-maven-plugin:0.11.1:report at 2019-12-11
 | Rendered using Apache Maven Fluido Skin 1.8
-->
<html xmlns="http://www.w3.org/1999/xhtml" lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1" />
    <meta name="generator" content="Apache Maven Doxia Site Renderer 1.9.1" />
    <title>Log4j Core &#x2013; API Change Analysis Results</title>
    <link rel="stylesheet" href="./css/apache-maven-fluido-1.8.min.css" />
    <link rel="stylesheet" href="./css/site.css" />
    <link rel="stylesheet" href="./css/print.css" media="print" />
    <script src="./js/apache-maven-fluido-1.8.min.js"></script>
  </head>
  <body class="topBarDisabled">
    <div class="container-fluid">
      <header>
        <div id="banner">
          <div class="pull-left"><a href="http://logging.apache.org" id="bannerLeft"><img src="../images/ls-logo.jpg"  alt=""/></a></div>
          <div class="pull-right"><a href="http://logging.apache.org/log4j/2.x" id="bannerRight"><img src="../images/logo.png"  alt=""/></a></div>
          <div class="clear"><hr/></div>
        </div>

        <div id="breadcrumbs">
          <ul class="breadcrumb">
        <li id="publishDate">Last Published: 2019-12-11<span class="divider">|</span>
</li>
          <li id="projectVersion">Version: 2.13.0</li>
      <li class="pull-right"><span class="divider">|</span>
<a href="../index.html" title="Log4j">Log4j</a></li>
      <li class="pull-right"><span class="divider">|</span>
<a href="http://logging.apache.org/" class="externalLink" title="Logging Services">Logging Services</a></li>
      <li class="pull-right"><span class="divider">|</span>
<a href="http://www.apache.org/" class="externalLink" title="Apache">Apache</a></li>
      <li class="pull-right"><span class="divider">|</span>
<a href="https://github.com/apache/logging-log4j2" class="externalLink" title="GitHub">GitHub</a></li>
      <li class="pull-right"><span class="divider">|</span>
<a href="https://analysis.apache.org/dashboard/index/org.apache.logging.log4j:log4j" class="externalLink" title="Sonar">Sonar</a></li>
      <li class="pull-right"><span class="divider">|</span>
<a href="../../../" title="Logging Services">Logging Services</a></li>
      <li class="pull-right"><span class="divider">|</span>
<a href="https://www.apache.org/" class="externalLink" title="Apache">Apache</a></li>
      <li class="pull-right"><a href="https://cwiki.apache.org/confluence/display/LOGGING/Log4j" class="externalLink" title="Logging Wiki">Logging Wiki</a></li>
          </ul>
        </div>
      </header>
      <div class="row-fluid">
        <header id="leftColumn" class="span2">
          <nav class="well sidebar-nav">
  <ul class="nav nav-list">
   <li class="nav-header"><img class="imageLink" src="img/glyphicons/home.png" alt="Apache Log4j™ 2" border="0"/> Apache Log4j™ 2</li>
    <li><a href="../index.html" title="About"><span class="none"></span>About</a></li>
    <li><a href="../download.html" title="Download"><span class="none"></span>Download</a></li>
    <li><a href="../javadoc.html" title="Javadoc"><span class="icon-chevron-right"></span>Javadoc</a></li>
    <li><a href="../maven-artifacts.html" title="Maven, Ivy, Gradle Artifacts"><span class="icon-chevron-right"></span>Maven, Ivy, Gradle Artifacts</a></li>
    <li><a href="../runtime-dependencies.html" title="Runtime Dependencies"><span class="none"></span>Runtime Dependencies</a></li>
    <li><a href="../changelog.html" title="Changelog"><span class="none"></span>Changelog</a></li>
    <li><a href="../faq.html" title="FAQ"><span class="none"></span>FAQ</a></li>
    <li><a href="../performance.html" title="Performance"><span class="icon-chevron-right"></span>Performance</a></li>
    <li><a href="../articles.html" title="Articles and Tutorials"><span class="none"></span>Articles and Tutorials</a></li>
    <li><a href="../thanks.html" title="Thanks"><span class="none"></span>Thanks</a></li>
   <li class="nav-header"><img class="imageLink" src="img/glyphicons/pencil.png" alt="For Contributors" border="0"/> For Contributors</li>
    <li><a href="../build.html" title="Building Log4j from Source"><span class="none"></span>Building Log4j from Source</a></li>
    <li><a href="../guidelines.html" title="Guidelines"><span class="none"></span>Guidelines</a></li>
    <li><a href="../javastyle.html" title="Style Guide"><span class="none"></span>Style Guide</a></li>
   <li class="nav-header"><img class="imageLink" src="img/glyphicons/book.png" alt="Manual" border="0"/> Manual</li>
    <li><a href="../manual/index.html" title="Introduction"><span class="none"></span>Introduction</a></li>
    <li><a href="../manual/architecture.html" title="Architecture"><span class="none"></span>Architecture</a></li>
    <li><a href="../manual/compatibility.html" title="Log4j 1.x Compatibility"><span class="none"></span>Log4j 1.x Compatibility</a></li>
    <li><a href="../manual/migration.html" title="Log4j 1.x Migration"><span class="none"></span>Log4j 1.x Migration</a></li>
    <li><a href="../manual/api.html" title="Java API"><span class="icon-chevron-right"></span>Java API</a></li>
    <li><a href="../manual/scala-api.html" title="Scala API"><span class="none"></span>Scala API</a></li>
    <li><a href="../manual/configuration.html" title="Configuration"><span class="icon-chevron-right"></span>Configuration</a></li>
    <li><a href="../manual/usage.html" title="Usage"><span class="icon-chevron-right"></span>Usage</a></li>
    <li><a href="../manual/webapp.html" title="Web Applications and JSPs"><span class="icon-chevron-right"></span>Web Applications and JSPs</a></li>
    <li><a href="../manual/lookups.html" title="Lookups"><span class="icon-chevron-right"></span>Lookups</a></li>
    <li><a href="../manual/appenders.html" title="Appenders"><span class="icon-chevron-right"></span>Appenders</a></li>
    <li><a href="../manual/layouts.html" title="Layouts"><span class="icon-chevron-right"></span>Layouts</a></li>
    <li><a href="../manual/filters.html" title="Filters"><span class="icon-chevron-right"></span>Filters</a></li>
    <li><a href="../manual/async.html" title="Async Loggers"><span class="icon-chevron-right"></span>Async Loggers</a></li>
    <li><a href="../manual/garbagefree.html" title="Garbage-free Logging"><span class="icon-chevron-right"></span>Garbage-free Logging</a></li>
    <li><a href="../manual/jmx.html" title="JMX"><span class="none"></span>JMX</a></li>
    <li><a href="../manual/logsep.html" title="Logging Separation"><span class="none"></span>Logging Separation</a></li>
    <li><a href="../manual/extending.html" title="Extending Log4j"><span class="icon-chevron-right"></span>Extending Log4j</a></li>
    <li><a href="../manual/plugins.html" title="Plugins"><span class="icon-chevron-right"></span>Plugins</a></li>
    <li><a href="../manual/customconfig.html" title="Programmatic Log4j Configuration"><span class="icon-chevron-right"></span>Programmatic Log4j Configuration</a></li>
    <li><a href="../manual/customloglevels.html" title="Custom Log Levels"><span class="icon-chevron-right"></span>Custom Log Levels</a></li>
   <li class="nav-header"><img class="imageLink" src="img/glyphicons/tag.png" alt="Related Projects" border="0"/> Related Projects</li>
    <li><a href="http://logging.apache.org/log4j/scala/index.html" class="externalLink" title="Log4j-Scala"><span class="none"></span>Log4j-Scala</a></li>
   <li class="nav-header"><img class="imageLink" src="img/glyphicons/link.png" alt="Legacy Sites" border="0"/> Legacy Sites</li>
    <li><a href="http://logging.apache.org/log4j/1.2/" class="externalLink" title="Log4j 1.2 - End of Life"><span class="none"></span>Log4j 1.2 - End of Life</a></li>
    <li><a href="http://logging.apache.org/log4j/log4j-2.3/" class="externalLink" title="Log4j 2.3 - Java 6"><span class="none"></span>Log4j 2.3 - Java 6</a></li>
    <li><a href="http://logging.apache.org/log4j/log4j-2.12.1" class="externalLink" title="Log4j 2.12.1 - Java 7"><span class="none"></span>Log4j 2.12.1 - Java 7</a></li>
   <li class="nav-header"><img class="imageLink" src="img/glyphicons/cog.png" alt="Components" border="0"/> Components</li>
    <li><a href="../log4j-api/index.html" title="API"><span class="none"></span>API</a></li>
    <li><a href="../log4j-core/index.html" title="Implementation"><span class="none"></span>Implementation</a></li>
    <li><a href="../log4j-jcl/index.html" title="Commons Logging Bridge"><span class="none"></span>Commons Logging Bridge</a></li>
    <li><a href="../log4j-1.2-api/index.html" title="Log4j 1.2 API"><span class="none"></span>Log4j 1.2 API</a></li>
    <li><a href="../log4j-slf4j-impl/index.html" title="SLF4J Binding"><span class="none"></span>SLF4J Binding</a></li>
    <li><a href="../log4j-jul/index.html" title="JUL Adapter"><span class="none"></span>JUL Adapter</a></li>
    <li><a href="../log4j-to-slf4j/index.html" title="Log4j 2 to SLF4J Adapter"><span class="none"></span>Log4j 2 to SLF4J Adapter</a></li>
    <li><a href="../log4j-flume-ng/index.html" title="Apache Flume Appender"><span class="none"></span>Apache Flume Appender</a></li>
    <li><a href="../log4j-taglib/index.html" title="Log4j Tag Library"><span class="none"></span>Log4j Tag Library</a></li>
    <li><a href="../log4j-jmx-gui/index.html" title="Log4j JMX GUI"><span class="none"></span>Log4j JMX GUI</a></li>
    <li><a href="../log4j-web/index.html" title="Log4j Web Application Support"><span class="none"></span>Log4j Web Application Support</a></li>
    <li><a href="../log4j-appserver/index.html" title="Log4j Application Server Integration"><span class="none"></span>Log4j Application Server Integration</a></li>
    <li><a href="../log4j-couchdb/index.html" title="Log4j CouchDB appender"><span class="none"></span>Log4j CouchDB appender</a></li>
    <li><a href="../log4j-mongodb2/index.html" title="Log4j MongoDB2 appender"><span class="none"></span>Log4j MongoDB2 appender</a></li>
    <li><a href="../log4j-mongodb3/index.html" title="Log4j MongoDB3 appender"><span class="none"></span>Log4j MongoDB3 appender</a></li>
    <li><a href="../log4j-cassandra/index.html" title="Log4j Cassandra appender"><span class="none"></span>Log4j Cassandra appender</a></li>
    <li><a href="../log4j-iostreams/index.html" title="Log4j IO Streams"><span class="none"></span>Log4j IO Streams</a></li>
    <li><a href="../log4j-liquibase/index.html" title="Log4j Liquibase Binding"><span class="none"></span>Log4j Liquibase Binding</a></li>
    <li><a href="../log4j-docker/index.html" title="Log4j Docker Support"><span class="none"></span>Log4j Docker Support</a></li>
    <li><a href="../log4j-spring-cloud-config/log4j-spring-cloud-config-client/index.html" title="Log4j Spring Cloud Config Client"><span class="none"></span>Log4j Spring Cloud Config Client</a></li>
   <li class="nav-header">Project Documentation</li>
    <li><a href="project-info.html" title="Project Information"><span class="icon-chevron-right"></span>Project Information</a></li>
    <li><a href="project-reports.html" title="Project Reports"><span class="icon-chevron-down"></span>Project Reports</a>
     <ul class="nav nav-list">
      <li><a href="jira-report.html" title="JIRA Report"><span class="none"></span>JIRA Report</a></li>
      <li><a href="rat-report.html" title="Rat Report"><span class="none"></span>Rat Report</a></li>
      <li class="active"><a href="#"><span class="none"></span>API Change Analysis</a></li>
      <li><a href="checkstyle.html" title="Checkstyle"><span class="none"></span>Checkstyle</a></li>
      <li><a href="apidocs/index.html" title="Javadoc"><span class="none"></span>Javadoc</a></li>
      <li><a href="findbugs.html" title="FindBugs"><span class="none"></span>FindBugs</a></li>
      <li><a href="xref/index.html" title="Source Xref"><span class="none"></span>Source Xref</a></li>
      <li><a href="cpd.html" title="CPD"><span class="none"></span>CPD</a></li>
      <li><a href="pmd.html" title="PMD"><span class="none"></span>PMD</a></li>
     </ul></li>
   <li class="nav-header"><img class="imageLink" src="icon-info-sign" alt="Log4j Project Information" border="0"/> Log4j Project Information</li>
    <li><a href="../dependencies.html" title="Dependencies"><span class="none"></span>Dependencies</a></li>
    <li><a href="../dependency-convergence.html" title="Dependency Convergence"><span class="none"></span>Dependency Convergence</a></li>
    <li><a href="../dependency-management.html" title="Dependency Management"><span class="none"></span>Dependency Management</a></li>
    <li><a href="../team-list.html" title="Project Team"><span class="none"></span>Project Team</a></li>
    <li><a href="../mail-lists.html" title="Mailing Lists"><span class="none"></span>Mailing Lists</a></li>
    <li><a href="../issue-tracking.html" title="Issue Tracking"><span class="none"></span>Issue Tracking</a></li>
    <li><a href="../license.html" title="Project License"><span class="none"></span>Project License</a></li>
    <li><a href="../source-repository.html" title="Source Repository"><span class="none"></span>Source Repository</a></li>
    <li><a href="../project-summary.html" title="Project Summary"><span class="none"></span>Project Summary</a></li>
   <li class="nav-header"><img class="imageLink" src="icon-cog" alt="Log4j Project Reports" border="0"/> Log4j Project Reports</li>
    <li><a href="../changes-report.html" title="Changes Report"><span class="none"></span>Changes Report</a></li>
    <li><a href="../jira-report.html" title="JIRA Report"><span class="none"></span>JIRA Report</a></li>
    <li><a href="../surefire-report.html" title="Surefire Report"><span class="none"></span>Surefire Report</a></li>
    <li><a href="../rat-report.html" title="RAT Report"><span class="none"></span>RAT Report</a></li>
  </ul>
          </nav>
          <div class="well sidebar-nav">
            <hr />
            <div id="poweredBy">
              <div class="clear"></div>
              <div class="clear"></div>
              <div class="clear"></div>
<a href="http://maven.apache.org/" title="Built by Maven" class="poweredBy"><img class="builtBy" alt="Built by Maven" src="./images/logos/maven-feather.png" /></a>
            </div>
          </div>
        </header>
        <main id="bodyColumn"  class="span10" >
<section>
<h2>API Change Analysis Results</h2>
<p>The summary of the API changes between artifacts org.apache.logging.log4j:log4j-core:jar:2.12.1 and org.apache.logging.log4j:log4j-core:jar:2.13.0.</p><section>
<h3><a name="Breaking_Changes"></a>Breaking Changes</h3><section>
<h4><a name="Source"></a>Source</h4>
<table border="0" class="table table-striped">
<tr class="a">
<th>Difference Code</th>
<th>Element</th>
<th>Description</th></tr>
<tr class="b">
<td><code>java.generics.formalTypeParameterAdded</code></td>
<td><code><b>method org.apache.logging.log4j.core.appender.OutputStreamAppender.Builder org.apache.logging.log4j.core.appender.OutputStreamAppender::newBuilder()</b></code>
<td>A new formal type parameter added to element: 'B extends org.apache.logging.log4j.core.appender.OutputStreamAppender.Builder&lt;B extends org.apache.logging.log4j.core.appender.OutputStreamAppender.Builder&lt;B&gt;&gt;'.</td></tr>
<tr class="a">
<td><code>java.method.returnTypeTypeParametersChanged</code></td>
<td><code><b>method org.apache.logging.log4j.core.appender.OutputStreamAppender.Builder org.apache.logging.log4j.core.appender.OutputStreamAppender::newBuilder()</b></code>
<td>The return type changed from 'org.apache.logging.log4j.core.appender.OutputStreamAppender.Builder' to 'B extends org.apache.logging.log4j.core.appender.OutputStreamAppender.Builder&lt;B&gt;'.</td></tr></table></section><section>
<h4><a name="Semantic"></a>Semantic</h4>
<table border="0" class="table table-striped">
<tr class="b">
<th>Difference Code</th>
<th>Element</th>
<th>Description</th></tr>
<tr class="a">
<td><code>java.class.nonPublicPartOfAPI</code></td>
<td><code><b>class org.apache.logging.log4j.core.async.AsyncLoggerDisruptor</b></code>
<td>Class 'org.apache.logging.log4j.core.async.AsyncLoggerDisruptor' is indirectly included in the API (by the means of method return type for example) but the class is not accessible (neither public nor protected).</td></tr>
<tr class="b">
<td><code>java.class.nonPublicPartOfAPI</code></td>
<td><code><b>class org.apache.logging.log4j.core.async.RingBufferLogEvent.Factory</b></code>
<td>Class 'org.apache.logging.log4j.core.async.RingBufferLogEvent.Factory' is indirectly included in the API (by the means of method return type for example) but the class is not accessible (neither public nor protected).</td></tr>
<tr class="a">
<td><code>java.class.nonPublicPartOfAPI</code></td>
<td><code><b>class org.apache.logging.log4j.core.layout.AbstractJacksonLayout</b></code>
<td>Class 'org.apache.logging.log4j.core.layout.AbstractJacksonLayout' is indirectly included in the API (by the means of method return type for example) but the class is not accessible (neither public nor protected).</td></tr>
<tr class="b">
<td><code>java.class.nonPublicPartOfAPI</code></td>
<td><code><b>class org.apache.logging.log4j.core.layout.AbstractJacksonLayout.ResolvableKeyValuePair</b></code>
<td>Class 'org.apache.logging.log4j.core.layout.AbstractJacksonLayout.ResolvableKeyValuePair' is indirectly included in the API (by the means of method return type for example) but the class is not accessible (neither public nor protected).</td></tr>
<tr class="a">
<td><code>java.class.nonPublicPartOfAPI</code></td>
<td><code><b>class org.apache.logging.log4j.core.net.SmtpManager.FactoryData</b></code>
<td>Class 'org.apache.logging.log4j.core.net.SmtpManager.FactoryData' is indirectly included in the API (by the means of method return type for example) but the class is not accessible (neither public nor protected).</td></tr>
<tr class="b">
<td><code>java.class.nonPublicPartOfAPI</code></td>
<td><code><b>class org.apache.logging.log4j.core.net.TcpSocketManager.FactoryData</b></code>
<td>Class 'org.apache.logging.log4j.core.net.TcpSocketManager.FactoryData' is indirectly included in the API (by the means of method return type for example) but the class is not accessible (neither public nor protected).</td></tr>
<tr class="a">
<td><code>java.class.nonPublicPartOfAPI</code></td>
<td><code><b>class org.apache.logging.log4j.core.util.CronExpression.ValueSet</b></code>
<td>Class 'org.apache.logging.log4j.core.util.CronExpression.ValueSet' is indirectly included in the API (by the means of method return type for example) but the class is not accessible (neither public nor protected).</td></tr>
<tr class="b">
<td><code>java.class.nonPublicPartOfAPI</code></td>
<td><code><b>interface org.apache.logging.log4j.core.util.datetime.FastDatePrinter.NumberRule</b></code>
<td>Class 'org.apache.logging.log4j.core.util.datetime.FastDatePrinter.NumberRule' is indirectly included in the API (by the means of method return type for example) but the class is not accessible (neither public nor protected).</td></tr>
<tr class="a">
<td><code>java.class.nonPublicPartOfAPI</code></td>
<td><code><b>interface org.apache.logging.log4j.core.util.datetime.FastDatePrinter.Rule</b></code>
<td>Class 'org.apache.logging.log4j.core.util.datetime.FastDatePrinter.Rule' is indirectly included in the API (by the means of method return type for example) but the class is not accessible (neither public nor protected).</td></tr></table></section></section><section>
<h3><a name="Potentially_Breaking_Changes"></a>Potentially Breaking Changes</h3><section>
<h4><a name="Binary"></a>Binary</h4>
<table border="0" class="table table-striped">
<tr class="b">
<th>Difference Code</th>
<th>Element</th>
<th>Description</th></tr>
<tr class="a">
<td><code>java.missing.newClass</code></td>
<td><code><b>missing-class com.conversantmedia.util.concurrent.SpinPolicy</b></code>
<td>Class 'com.conversantmedia.util.concurrent.SpinPolicy' could not be found in the archives of the new API. It has been detected as contributing to the API and thus the analysis results may be incorrect.</td></tr>
<tr class="b">
<td><code>java.missing.newClass</code></td>
<td><code><b>missing-class com.fasterxml.jackson.core.JsonGenerationException</b></code>
<td>Class 'com.fasterxml.jackson.core.JsonGenerationException' could not be found in the archives of the new API. It has been detected as contributing to the API and thus the analysis results may be incorrect.</td></tr>
<tr class="a">
<td><code>java.missing.newClass</code></td>
<td><code><b>missing-class com.fasterxml.jackson.core.JsonGenerator</b></code>
<td>Class 'com.fasterxml.jackson.core.JsonGenerator' could not be found in the archives of the new API. It has been detected as contributing to the API and thus the analysis results may be incorrect.</td></tr>
<tr class="b">
<td><code>java.missing.newClass</code></td>
<td><code><b>missing-class com.fasterxml.jackson.core.JsonParser</b></code>
<td>Class 'com.fasterxml.jackson.core.JsonParser' could not be found in the archives of the new API. It has been detected as contributing to the API and thus the analysis results may be incorrect.</td></tr>
<tr class="a">
<td><code>java.missing.newClass</code></td>
<td><code><b>missing-class com.fasterxml.jackson.core.JsonProcessingException</b></code>
<td>Class 'com.fasterxml.jackson.core.JsonProcessingException' could not be found in the archives of the new API. It has been detected as contributing to the API and thus the analysis results may be incorrect.</td></tr>
<tr class="b">
<td><code>java.missing.newClass</code></td>
<td><code><b>missing-class com.fasterxml.jackson.databind.DeserializationContext</b></code>
<td>Class 'com.fasterxml.jackson.databind.DeserializationContext' could not be found in the archives of the new API. It has been detected as contributing to the API and thus the analysis results may be incorrect.</td></tr>
<tr class="a">
<td><code>java.missing.newClass</code></td>
<td><code><b>missing-class com.fasterxml.jackson.databind.JsonMappingException</b></code>
<td>Class 'com.fasterxml.jackson.databind.JsonMappingException' could not be found in the archives of the new API. It has been detected as contributing to the API and thus the analysis results may be incorrect.</td></tr>
<tr class="b">
<td><code>java.missing.newClass</code></td>
<td><code><b>missing-class com.fasterxml.jackson.databind.ObjectMapper</b></code>
<td>Class 'com.fasterxml.jackson.databind.ObjectMapper' could not be found in the archives of the new API. It has been detected as contributing to the API and thus the analysis results may be incorrect.</td></tr>
<tr class="a">
<td><code>java.missing.newClass</code></td>
<td><code><b>missing-class com.fasterxml.jackson.databind.ObjectWriter</b></code>
<td>Class 'com.fasterxml.jackson.databind.ObjectWriter' could not be found in the archives of the new API. It has been detected as contributing to the API and thus the analysis results may be incorrect.</td></tr>
<tr class="b">
<td><code>java.missing.newClass</code></td>
<td><code><b>missing-class com.fasterxml.jackson.databind.SerializerProvider</b></code>
<td>Class 'com.fasterxml.jackson.databind.SerializerProvider' could not be found in the archives of the new API. It has been detected as contributing to the API and thus the analysis results may be incorrect.</td></tr>
<tr class="a">
<td><code>java.missing.newClass</code></td>
<td><code><b>missing-class com.lmax.disruptor.RingBuffer</b></code>
<td>Class 'com.lmax.disruptor.RingBuffer' could not be found in the archives of the new API. It has been detected as contributing to the API and thus the analysis results may be incorrect.</td></tr>
<tr class="b">
<td><code>java.missing.newClass</code></td>
<td><code><b>missing-class com.lmax.disruptor.Sequence</b></code>
<td>Class 'com.lmax.disruptor.Sequence' could not be found in the archives of the new API. It has been detected as contributing to the API and thus the analysis results may be incorrect.</td></tr>
<tr class="a">
<td><code>java.missing.newClass</code></td>
<td><code><b>missing-class javax.jms.Destination</b></code>
<td>Class 'javax.jms.Destination' could not be found in the archives of the new API. It has been detected as contributing to the API and thus the analysis results may be incorrect.</td></tr>
<tr class="b">
<td><code>java.missing.newClass</code></td>
<td><code><b>missing-class javax.jms.JMSException</b></code>
<td>Class 'javax.jms.JMSException' could not be found in the archives of the new API. It has been detected as contributing to the API and thus the analysis results may be incorrect.</td></tr>
<tr class="a">
<td><code>java.missing.newClass</code></td>
<td><code><b>missing-class javax.jms.Message</b></code>
<td>Class 'javax.jms.Message' could not be found in the archives of the new API. It has been detected as contributing to the API and thus the analysis results may be incorrect.</td></tr>
<tr class="b">
<td><code>java.missing.newClass</code></td>
<td><code><b>missing-class javax.jms.MessageConsumer</b></code>
<td>Class 'javax.jms.MessageConsumer' could not be found in the archives of the new API. It has been detected as contributing to the API and thus the analysis results may be incorrect.</td></tr>
<tr class="a">
<td><code>java.missing.newClass</code></td>
<td><code><b>missing-class javax.jms.MessageProducer</b></code>
<td>Class 'javax.jms.MessageProducer' could not be found in the archives of the new API. It has been detected as contributing to the API and thus the analysis results may be incorrect.</td></tr>
<tr class="b">
<td><code>java.missing.newClass</code></td>
<td><code><b>missing-class javax.jms.Session</b></code>
<td>Class 'javax.jms.Session' could not be found in the archives of the new API. It has been detected as contributing to the API and thus the analysis results may be incorrect.</td></tr>
<tr class="a">
<td><code>java.missing.newClass</code></td>
<td><code><b>missing-class javax.mail.Message.RecipientType</b></code>
<td>Class 'javax.mail.Message.RecipientType' could not be found in the archives of the new API. It has been detected as contributing to the API and thus the analysis results may be incorrect.</td></tr>
<tr class="b">
<td><code>java.missing.newClass</code></td>
<td><code><b>missing-class javax.mail.MessagingException</b></code>
<td>Class 'javax.mail.MessagingException' could not be found in the archives of the new API. It has been detected as contributing to the API and thus the analysis results may be incorrect.</td></tr>
<tr class="a">
<td><code>java.missing.newClass</code></td>
<td><code><b>missing-class javax.mail.Session</b></code>
<td>Class 'javax.mail.Session' could not be found in the archives of the new API. It has been detected as contributing to the API and thus the analysis results may be incorrect.</td></tr>
<tr class="b">
<td><code>java.missing.newClass</code></td>
<td><code><b>missing-class javax.mail.internet.InternetHeaders</b></code>
<td>Class 'javax.mail.internet.InternetHeaders' could not be found in the archives of the new API. It has been detected as contributing to the API and thus the analysis results may be incorrect.</td></tr>
<tr class="a">
<td><code>java.missing.newClass</code></td>
<td><code><b>missing-class javax.mail.internet.MimeMessage</b></code>
<td>Class 'javax.mail.internet.MimeMessage' could not be found in the archives of the new API. It has been detected as contributing to the API and thus the analysis results may be incorrect.</td></tr>
<tr class="b">
<td><code>java.missing.newClass</code></td>
<td><code><b>missing-class javax.mail.internet.MimeMultipart</b></code>
<td>Class 'javax.mail.internet.MimeMultipart' could not be found in the archives of the new API. It has been detected as contributing to the API and thus the analysis results may be incorrect.</td></tr>
<tr class="a">
<td><code>java.missing.newClass</code></td>
<td><code><b>missing-class org.apache.commons.csv.CSVFormat</b></code>
<td>Class 'org.apache.commons.csv.CSVFormat' could not be found in the archives of the new API. It has been detected as contributing to the API and thus the analysis results may be incorrect.</td></tr>
<tr class="b">
<td><code>java.missing.newClass</code></td>
<td><code><b>missing-class org.apache.commons.csv.QuoteMode</b></code>
<td>Class 'org.apache.commons.csv.QuoteMode' could not be found in the archives of the new API. It has been detected as contributing to the API and thus the analysis results may be incorrect.</td></tr>
<tr class="a">
<td><code>java.missing.newClass</code></td>
<td><code><b>missing-class org.apache.kafka.clients.producer.Producer</b></code>
<td>Class 'org.apache.kafka.clients.producer.Producer' could not be found in the archives of the new API. It has been detected as contributing to the API and thus the analysis results may be incorrect.</td></tr>
<tr class="b">
<td><code>java.missing.newClass</code></td>
<td><code><b>missing-class org.fusesource.jansi.AnsiRenderer.Code</b></code>
<td>Class 'org.fusesource.jansi.AnsiRenderer.Code' could not be found in the archives of the new API. It has been detected as contributing to the API and thus the analysis results may be incorrect.</td></tr>
<tr class="a">
<td><code>java.missing.newClass</code></td>
<td><code><b>missing-class org.zeromq.ZMQ.Context</b></code>
<td>Class 'org.zeromq.ZMQ.Context' could not be found in the archives of the new API. It has been detected as contributing to the API and thus the analysis results may be incorrect.</td></tr>
<tr class="b">
<td><code>java.missing.oldClass</code></td>
<td><code><b>missing-class com.conversantmedia.util.concurrent.SpinPolicy</b></code>
<td>Class 'com.conversantmedia.util.concurrent.SpinPolicy' could not be found in the archives of the old API. It has been detected as contributing to the API and thus the analysis results may be incorrect.</td></tr>
<tr class="a">
<td><code>java.missing.oldClass</code></td>
<td><code><b>missing-class com.fasterxml.jackson.core.JsonGenerationException</b></code>
<td>Class 'com.fasterxml.jackson.core.JsonGenerationException' could not be found in the archives of the old API. It has been detected as contributing to the API and thus the analysis results may be incorrect.</td></tr>
<tr class="b">
<td><code>java.missing.oldClass</code></td>
<td><code><b>missing-class com.fasterxml.jackson.core.JsonGenerator</b></code>
<td>Class 'com.fasterxml.jackson.core.JsonGenerator' could not be found in the archives of the old API. It has been detected as contributing to the API and thus the analysis results may be incorrect.</td></tr>
<tr class="a">
<td><code>java.missing.oldClass</code></td>
<td><code><b>missing-class com.fasterxml.jackson.core.JsonParser</b></code>
<td>Class 'com.fasterxml.jackson.core.JsonParser' could not be found in the archives of the old API. It has been detected as contributing to the API and thus the analysis results may be incorrect.</td></tr>
<tr class="b">
<td><code>java.missing.oldClass</code></td>
<td><code><b>missing-class com.fasterxml.jackson.core.JsonProcessingException</b></code>
<td>Class 'com.fasterxml.jackson.core.JsonProcessingException' could not be found in the archives of the old API. It has been detected as contributing to the API and thus the analysis results may be incorrect.</td></tr>
<tr class="a">
<td><code>java.missing.oldClass</code></td>
<td><code><b>missing-class com.fasterxml.jackson.databind.DeserializationContext</b></code>
<td>Class 'com.fasterxml.jackson.databind.DeserializationContext' could not be found in the archives of the old API. It has been detected as contributing to the API and thus the analysis results may be incorrect.</td></tr>
<tr class="b">
<td><code>java.missing.oldClass</code></td>
<td><code><b>missing-class com.fasterxml.jackson.databind.JsonMappingException</b></code>
<td>Class 'com.fasterxml.jackson.databind.JsonMappingException' could not be found in the archives of the old API. It has been detected as contributing to the API and thus the analysis results may be incorrect.</td></tr>
<tr class="a">
<td><code>java.missing.oldClass</code></td>
<td><code><b>missing-class com.fasterxml.jackson.databind.ObjectMapper</b></code>
<td>Class 'com.fasterxml.jackson.databind.ObjectMapper' could not be found in the archives of the old API. It has been detected as contributing to the API and thus the analysis results may be incorrect.</td></tr>
<tr class="b">
<td><code>java.missing.oldClass</code></td>
<td><code><b>missing-class com.fasterxml.jackson.databind.ObjectWriter</b></code>
<td>Class 'com.fasterxml.jackson.databind.ObjectWriter' could not be found in the archives of the old API. It has been detected as contributing to the API and thus the analysis results may be incorrect.</td></tr>
<tr class="a">
<td><code>java.missing.oldClass</code></td>
<td><code><b>missing-class com.fasterxml.jackson.databind.SerializerProvider</b></code>
<td>Class 'com.fasterxml.jackson.databind.SerializerProvider' could not be found in the archives of the old API. It has been detected as contributing to the API and thus the analysis results may be incorrect.</td></tr>
<tr class="b">
<td><code>java.missing.oldClass</code></td>
<td><code><b>missing-class com.lmax.disruptor.RingBuffer</b></code>
<td>Class 'com.lmax.disruptor.RingBuffer' could not be found in the archives of the old API. It has been detected as contributing to the API and thus the analysis results may be incorrect.</td></tr>
<tr class="a">
<td><code>java.missing.oldClass</code></td>
<td><code><b>missing-class com.lmax.disruptor.Sequence</b></code>
<td>Class 'com.lmax.disruptor.Sequence' could not be found in the archives of the old API. It has been detected as contributing to the API and thus the analysis results may be incorrect.</td></tr>
<tr class="b">
<td><code>java.missing.oldClass</code></td>
<td><code><b>missing-class javax.jms.Destination</b></code>
<td>Class 'javax.jms.Destination' could not be found in the archives of the old API. It has been detected as contributing to the API and thus the analysis results may be incorrect.</td></tr>
<tr class="a">
<td><code>java.missing.oldClass</code></td>
<td><code><b>missing-class javax.jms.JMSException</b></code>
<td>Class 'javax.jms.JMSException' could not be found in the archives of the old API. It has been detected as contributing to the API and thus the analysis results may be incorrect.</td></tr>
<tr class="b">
<td><code>java.missing.oldClass</code></td>
<td><code><b>missing-class javax.jms.Message</b></code>
<td>Class 'javax.jms.Message' could not be found in the archives of the old API. It has been detected as contributing to the API and thus the analysis results may be incorrect.</td></tr>
<tr class="a">
<td><code>java.missing.oldClass</code></td>
<td><code><b>missing-class javax.jms.MessageConsumer</b></code>
<td>Class 'javax.jms.MessageConsumer' could not be found in the archives of the old API. It has been detected as contributing to the API and thus the analysis results may be incorrect.</td></tr>
<tr class="b">
<td><code>java.missing.oldClass</code></td>
<td><code><b>missing-class javax.jms.MessageProducer</b></code>
<td>Class 'javax.jms.MessageProducer' could not be found in the archives of the old API. It has been detected as contributing to the API and thus the analysis results may be incorrect.</td></tr>
<tr class="a">
<td><code>java.missing.oldClass</code></td>
<td><code><b>missing-class javax.jms.Session</b></code>
<td>Class 'javax.jms.Session' could not be found in the archives of the old API. It has been detected as contributing to the API and thus the analysis results may be incorrect.</td></tr>
<tr class="b">
<td><code>java.missing.oldClass</code></td>
<td><code><b>missing-class javax.mail.Message.RecipientType</b></code>
<td>Class 'javax.mail.Message.RecipientType' could not be found in the archives of the old API. It has been detected as contributing to the API and thus the analysis results may be incorrect.</td></tr>
<tr class="a">
<td><code>java.missing.oldClass</code></td>
<td><code><b>missing-class javax.mail.MessagingException</b></code>
<td>Class 'javax.mail.MessagingException' could not be found in the archives of the old API. It has been detected as contributing to the API and thus the analysis results may be incorrect.</td></tr>
<tr class="b">
<td><code>java.missing.oldClass</code></td>
<td><code><b>missing-class javax.mail.Session</b></code>
<td>Class 'javax.mail.Session' could not be found in the archives of the old API. It has been detected as contributing to the API and thus the analysis results may be incorrect.</td></tr>
<tr class="a">
<td><code>java.missing.oldClass</code></td>
<td><code><b>missing-class javax.mail.internet.InternetHeaders</b></code>
<td>Class 'javax.mail.internet.InternetHeaders' could not be found in the archives of the old API. It has been detected as contributing to the API and thus the analysis results may be incorrect.</td></tr>
<tr class="b">
<td><code>java.missing.oldClass</code></td>
<td><code><b>missing-class javax.mail.internet.MimeMessage</b></code>
<td>Class 'javax.mail.internet.MimeMessage' could not be found in the archives of the old API. It has been detected as contributing to the API and thus the analysis results may be incorrect.</td></tr>
<tr class="a">
<td><code>java.missing.oldClass</code></td>
<td><code><b>missing-class javax.mail.internet.MimeMultipart</b></code>
<td>Class 'javax.mail.internet.MimeMultipart' could not be found in the archives of the old API. It has been detected as contributing to the API and thus the analysis results may be incorrect.</td></tr>
<tr class="b">
<td><code>java.missing.oldClass</code></td>
<td><code><b>missing-class org.apache.commons.csv.CSVFormat</b></code>
<td>Class 'org.apache.commons.csv.CSVFormat' could not be found in the archives of the old API. It has been detected as contributing to the API and thus the analysis results may be incorrect.</td></tr>
<tr class="a">
<td><code>java.missing.oldClass</code></td>
<td><code><b>missing-class org.apache.commons.csv.QuoteMode</b></code>
<td>Class 'org.apache.commons.csv.QuoteMode' could not be found in the archives of the old API. It has been detected as contributing to the API and thus the analysis results may be incorrect.</td></tr>
<tr class="b">
<td><code>java.missing.oldClass</code></td>
<td><code><b>missing-class org.apache.kafka.clients.producer.Producer</b></code>
<td>Class 'org.apache.kafka.clients.producer.Producer' could not be found in the archives of the old API. It has been detected as contributing to the API and thus the analysis results may be incorrect.</td></tr>
<tr class="a">
<td><code>java.missing.oldClass</code></td>
<td><code><b>missing-class org.fusesource.jansi.AnsiRenderer.Code</b></code>
<td>Class 'org.fusesource.jansi.AnsiRenderer.Code' could not be found in the archives of the old API. It has been detected as contributing to the API and thus the analysis results may be incorrect.</td></tr>
<tr class="b">
<td><code>java.missing.oldClass</code></td>
<td><code><b>missing-class org.zeromq.ZMQ.Context</b></code>
<td>Class 'org.zeromq.ZMQ.Context' could not be found in the archives of the old API. It has been detected as contributing to the API and thus the analysis results may be incorrect.</td></tr></table></section><section>
<h4><a name="Source"></a>Source</h4>
<table border="0" class="table table-striped">
<tr class="a">
<th>Difference Code</th>
<th>Element</th>
<th>Description</th></tr>
<tr class="b">
<td><code>java.missing.newClass</code></td>
<td><code><b>missing-class com.conversantmedia.util.concurrent.SpinPolicy</b></code>
<td>Class 'com.conversantmedia.util.concurrent.SpinPolicy' could not be found in the archives of the new API. It has been detected as contributing to the API and thus the analysis results may be incorrect.</td></tr>
<tr class="a">
<td><code>java.missing.newClass</code></td>
<td><code><b>missing-class com.fasterxml.jackson.core.JsonGenerationException</b></code>
<td>Class 'com.fasterxml.jackson.core.JsonGenerationException' could not be found in the archives of the new API. It has been detected as contributing to the API and thus the analysis results may be incorrect.</td></tr>
<tr class="b">
<td><code>java.missing.newClass</code></td>
<td><code><b>missing-class com.fasterxml.jackson.core.JsonGenerator</b></code>
<td>Class 'com.fasterxml.jackson.core.JsonGenerator' could not be found in the archives of the new API. It has been detected as contributing to the API and thus the analysis results may be incorrect.</td></tr>
<tr class="a">
<td><code>java.missing.newClass</code></td>
<td><code><b>missing-class com.fasterxml.jackson.core.JsonParser</b></code>
<td>Class 'com.fasterxml.jackson.core.JsonParser' could not be found in the archives of the new API. It has been detected as contributing to the API and thus the analysis results may be incorrect.</td></tr>
<tr class="b">
<td><code>java.missing.newClass</code></td>
<td><code><b>missing-class com.fasterxml.jackson.core.JsonProcessingException</b></code>
<td>Class 'com.fasterxml.jackson.core.JsonProcessingException' could not be found in the archives of the new API. It has been detected as contributing to the API and thus the analysis results may be incorrect.</td></tr>
<tr class="a">
<td><code>java.missing.newClass</code></td>
<td><code><b>missing-class com.fasterxml.jackson.databind.DeserializationContext</b></code>
<td>Class 'com.fasterxml.jackson.databind.DeserializationContext' could not be found in the archives of the new API. It has been detected as contributing to the API and thus the analysis results may be incorrect.</td></tr>
<tr class="b">
<td><code>java.missing.newClass</code></td>
<td><code><b>missing-class com.fasterxml.jackson.databind.JsonMappingException</b></code>
<td>Class 'com.fasterxml.jackson.databind.JsonMappingException' could not be found in the archives of the new API. It has been detected as contributing to the API and thus the analysis results may be incorrect.</td></tr>
<tr class="a">
<td><code>java.missing.newClass</code></td>
<td><code><b>missing-class com.fasterxml.jackson.databind.ObjectMapper</b></code>
<td>Class 'com.fasterxml.jackson.databind.ObjectMapper' could not be found in the archives of the new API. It has been detected as contributing to the API and thus the analysis results may be incorrect.</td></tr>
<tr class="b">
<td><code>java.missing.newClass</code></td>
<td><code><b>missing-class com.fasterxml.jackson.databind.ObjectWriter</b></code>
<td>Class 'com.fasterxml.jackson.databind.ObjectWriter' could not be found in the archives of the new API. It has been detected as contributing to the API and thus the analysis results may be incorrect.</td></tr>
<tr class="a">
<td><code>java.missing.newClass</code></td>
<td><code><b>missing-class com.fasterxml.jackson.databind.SerializerProvider</b></code>
<td>Class 'com.fasterxml.jackson.databind.SerializerProvider' could not be found in the archives of the new API. It has been detected as contributing to the API and thus the analysis results may be incorrect.</td></tr>
<tr class="b">
<td><code>java.missing.newClass</code></td>
<td><code><b>missing-class com.lmax.disruptor.RingBuffer</b></code>
<td>Class 'com.lmax.disruptor.RingBuffer' could not be found in the archives of the new API. It has been detected as contributing to the API and thus the analysis results may be incorrect.</td></tr>
<tr class="a">
<td><code>java.missing.newClass</code></td>
<td><code><b>missing-class com.lmax.disruptor.Sequence</b></code>
<td>Class 'com.lmax.disruptor.Sequence' could not be found in the archives of the new API. It has been detected as contributing to the API and thus the analysis results may be incorrect.</td></tr>
<tr class="b">
<td><code>java.missing.newClass</code></td>
<td><code><b>missing-class javax.jms.Destination</b></code>
<td>Class 'javax.jms.Destination' could not be found in the archives of the new API. It has been detected as contributing to the API and thus the analysis results may be incorrect.</td></tr>
<tr class="a">
<td><code>java.missing.newClass</code></td>
<td><code><b>missing-class javax.jms.JMSException</b></code>
<td>Class 'javax.jms.JMSException' could not be found in the archives of the new API. It has been detected as contributing to the API and thus the analysis results may be incorrect.</td></tr>
<tr class="b">
<td><code>java.missing.newClass</code></td>
<td><code><b>missing-class javax.jms.Message</b></code>
<td>Class 'javax.jms.Message' could not be found in the archives of the new API. It has been detected as contributing to the API and thus the analysis results may be incorrect.</td></tr>
<tr class="a">
<td><code>java.missing.newClass</code></td>
<td><code><b>missing-class javax.jms.MessageConsumer</b></code>
<td>Class 'javax.jms.MessageConsumer' could not be found in the archives of the new API. It has been detected as contributing to the API and thus the analysis results may be incorrect.</td></tr>
<tr class="b">
<td><code>java.missing.newClass</code></td>
<td><code><b>missing-class javax.jms.MessageProducer</b></code>
<td>Class 'javax.jms.MessageProducer' could not be found in the archives of the new API. It has been detected as contributing to the API and thus the analysis results may be incorrect.</td></tr>
<tr class="a">
<td><code>java.missing.newClass</code></td>
<td><code><b>missing-class javax.jms.Session</b></code>
<td>Class 'javax.jms.Session' could not be found in the archives of the new API. It has been detected as contributing to the API and thus the analysis results may be incorrect.</td></tr>
<tr class="b">
<td><code>java.missing.newClass</code></td>
<td><code><b>missing-class javax.mail.Message.RecipientType</b></code>
<td>Class 'javax.mail.Message.RecipientType' could not be found in the archives of the new API. It has been detected as contributing to the API and thus the analysis results may be incorrect.</td></tr>
<tr class="a">
<td><code>java.missing.newClass</code></td>
<td><code><b>missing-class javax.mail.MessagingException</b></code>
<td>Class 'javax.mail.MessagingException' could not be found in the archives of the new API. It has been detected as contributing to the API and thus the analysis results may be incorrect.</td></tr>
<tr class="b">
<td><code>java.missing.newClass</code></td>
<td><code><b>missing-class javax.mail.Session</b></code>
<td>Class 'javax.mail.Session' could not be found in the archives of the new API. It has been detected as contributing to the API and thus the analysis results may be incorrect.</td></tr>
<tr class="a">
<td><code>java.missing.newClass</code></td>
<td><code><b>missing-class javax.mail.internet.InternetHeaders</b></code>
<td>Class 'javax.mail.internet.InternetHeaders' could not be found in the archives of the new API. It has been detected as contributing to the API and thus the analysis results may be incorrect.</td></tr>
<tr class="b">
<td><code>java.missing.newClass</code></td>
<td><code><b>missing-class javax.mail.internet.MimeMessage</b></code>
<td>Class 'javax.mail.internet.MimeMessage' could not be found in the archives of the new API. It has been detected as contributing to the API and thus the analysis results may be incorrect.</td></tr>
<tr class="a">
<td><code>java.missing.newClass</code></td>
<td><code><b>missing-class javax.mail.internet.MimeMultipart</b></code>
<td>Class 'javax.mail.internet.MimeMultipart' could not be found in the archives of the new API. It has been detected as contributing to the API and thus the analysis results may be incorrect.</td></tr>
<tr class="b">
<td><code>java.missing.newClass</code></td>
<td><code><b>missing-class org.apache.commons.csv.CSVFormat</b></code>
<td>Class 'org.apache.commons.csv.CSVFormat' could not be found in the archives of the new API. It has been detected as contributing to the API and thus the analysis results may be incorrect.</td></tr>
<tr class="a">
<td><code>java.missing.newClass</code></td>
<td><code><b>missing-class org.apache.commons.csv.QuoteMode</b></code>
<td>Class 'org.apache.commons.csv.QuoteMode' could not be found in the archives of the new API. It has been detected as contributing to the API and thus the analysis results may be incorrect.</td></tr>
<tr class="b">
<td><code>java.missing.newClass</code></td>
<td><code><b>missing-class org.apache.kafka.clients.producer.Producer</b></code>
<td>Class 'org.apache.kafka.clients.producer.Producer' could not be found in the archives of the new API. It has been detected as contributing to the API and thus the analysis results may be incorrect.</td></tr>
<tr class="a">
<td><code>java.missing.newClass</code></td>
<td><code><b>missing-class org.fusesource.jansi.AnsiRenderer.Code</b></code>
<td>Class 'org.fusesource.jansi.AnsiRenderer.Code' could not be found in the archives of the new API. It has been detected as contributing to the API and thus the analysis results may be incorrect.</td></tr>
<tr class="b">
<td><code>java.missing.newClass</code></td>
<td><code><b>missing-class org.zeromq.ZMQ.Context</b></code>
<td>Class 'org.zeromq.ZMQ.Context' could not be found in the archives of the new API. It has been detected as contributing to the API and thus the analysis results may be incorrect.</td></tr>
<tr class="a">
<td><code>java.missing.oldClass</code></td>
<td><code><b>missing-class com.conversantmedia.util.concurrent.SpinPolicy</b></code>
<td>Class 'com.conversantmedia.util.concurrent.SpinPolicy' could not be found in the archives of the old API. It has been detected as contributing to the API and thus the analysis results may be incorrect.</td></tr>
<tr class="b">
<td><code>java.missing.oldClass</code></td>
<td><code><b>missing-class com.fasterxml.jackson.core.JsonGenerationException</b></code>
<td>Class 'com.fasterxml.jackson.core.JsonGenerationException' could not be found in the archives of the old API. It has been detected as contributing to the API and thus the analysis results may be incorrect.</td></tr>
<tr class="a">
<td><code>java.missing.oldClass</code></td>
<td><code><b>missing-class com.fasterxml.jackson.core.JsonGenerator</b></code>
<td>Class 'com.fasterxml.jackson.core.JsonGenerator' could not be found in the archives of the old API. It has been detected as contributing to the API and thus the analysis results may be incorrect.</td></tr>
<tr class="b">
<td><code>java.missing.oldClass</code></td>
<td><code><b>missing-class com.fasterxml.jackson.core.JsonParser</b></code>
<td>Class 'com.fasterxml.jackson.core.JsonParser' could not be found in the archives of the old API. It has been detected as contributing to the API and thus the analysis results may be incorrect.</td></tr>
<tr class="a">
<td><code>java.missing.oldClass</code></td>
<td><code><b>missing-class com.fasterxml.jackson.core.JsonProcessingException</b></code>
<td>Class 'com.fasterxml.jackson.core.JsonProcessingException' could not be found in the archives of the old API. It has been detected as contributing to the API and thus the analysis results may be incorrect.</td></tr>
<tr class="b">
<td><code>java.missing.oldClass</code></td>
<td><code><b>missing-class com.fasterxml.jackson.databind.DeserializationContext</b></code>
<td>Class 'com.fasterxml.jackson.databind.DeserializationContext' could not be found in the archives of the old API. It has been detected as contributing to the API and thus the analysis results may be incorrect.</td></tr>
<tr class="a">
<td><code>java.missing.oldClass</code></td>
<td><code><b>missing-class com.fasterxml.jackson.databind.JsonMappingException</b></code>
<td>Class 'com.fasterxml.jackson.databind.JsonMappingException' could not be found in the archives of the old API. It has been detected as contributing to the API and thus the analysis results may be incorrect.</td></tr>
<tr class="b">
<td><code>java.missing.oldClass</code></td>
<td><code><b>missing-class com.fasterxml.jackson.databind.ObjectMapper</b></code>
<td>Class 'com.fasterxml.jackson.databind.ObjectMapper' could not be found in the archives of the old API. It has been detected as contributing to the API and thus the analysis results may be incorrect.</td></tr>
<tr class="a">
<td><code>java.missing.oldClass</code></td>
<td><code><b>missing-class com.fasterxml.jackson.databind.ObjectWriter</b></code>
<td>Class 'com.fasterxml.jackson.databind.ObjectWriter' could not be found in the archives of the old API. It has been detected as contributing to the API and thus the analysis results may be incorrect.</td></tr>
<tr class="b">
<td><code>java.missing.oldClass</code></td>
<td><code><b>missing-class com.fasterxml.jackson.databind.SerializerProvider</b></code>
<td>Class 'com.fasterxml.jackson.databind.SerializerProvider' could not be found in the archives of the old API. It has been detected as contributing to the API and thus the analysis results may be incorrect.</td></tr>
<tr class="a">
<td><code>java.missing.oldClass</code></td>
<td><code><b>missing-class com.lmax.disruptor.RingBuffer</b></code>
<td>Class 'com.lmax.disruptor.RingBuffer' could not be found in the archives of the old API. It has been detected as contributing to the API and thus the analysis results may be incorrect.</td></tr>
<tr class="b">
<td><code>java.missing.oldClass</code></td>
<td><code><b>missing-class com.lmax.disruptor.Sequence</b></code>
<td>Class 'com.lmax.disruptor.Sequence' could not be found in the archives of the old API. It has been detected as contributing to the API and thus the analysis results may be incorrect.</td></tr>
<tr class="a">
<td><code>java.missing.oldClass</code></td>
<td><code><b>missing-class javax.jms.Destination</b></code>
<td>Class 'javax.jms.Destination' could not be found in the archives of the old API. It has been detected as contributing to the API and thus the analysis results may be incorrect.</td></tr>
<tr class="b">
<td><code>java.missing.oldClass</code></td>
<td><code><b>missing-class javax.jms.JMSException</b></code>
<td>Class 'javax.jms.JMSException' could not be found in the archives of the old API. It has been detected as contributing to the API and thus the analysis results may be incorrect.</td></tr>
<tr class="a">
<td><code>java.missing.oldClass</code></td>
<td><code><b>missing-class javax.jms.Message</b></code>
<td>Class 'javax.jms.Message' could not be found in the archives of the old API. It has been detected as contributing to the API and thus the analysis results may be incorrect.</td></tr>
<tr class="b">
<td><code>java.missing.oldClass</code></td>
<td><code><b>missing-class javax.jms.MessageConsumer</b></code>
<td>Class 'javax.jms.MessageConsumer' could not be found in the archives of the old API. It has been detected as contributing to the API and thus the analysis results may be incorrect.</td></tr>
<tr class="a">
<td><code>java.missing.oldClass</code></td>
<td><code><b>missing-class javax.jms.MessageProducer</b></code>
<td>Class 'javax.jms.MessageProducer' could not be found in the archives of the old API. It has been detected as contributing to the API and thus the analysis results may be incorrect.</td></tr>
<tr class="b">
<td><code>java.missing.oldClass</code></td>
<td><code><b>missing-class javax.jms.Session</b></code>
<td>Class 'javax.jms.Session' could not be found in the archives of the old API. It has been detected as contributing to the API and thus the analysis results may be incorrect.</td></tr>
<tr class="a">
<td><code>java.missing.oldClass</code></td>
<td><code><b>missing-class javax.mail.Message.RecipientType</b></code>
<td>Class 'javax.mail.Message.RecipientType' could not be found in the archives of the old API. It has been detected as contributing to the API and thus the analysis results may be incorrect.</td></tr>
<tr class="b">
<td><code>java.missing.oldClass</code></td>
<td><code><b>missing-class javax.mail.MessagingException</b></code>
<td>Class 'javax.mail.MessagingException' could not be found in the archives of the old API. It has been detected as contributing to the API and thus the analysis results may be incorrect.</td></tr>
<tr class="a">
<td><code>java.missing.oldClass</code></td>
<td><code><b>missing-class javax.mail.Session</b></code>
<td>Class 'javax.mail.Session' could not be found in the archives of the old API. It has been detected as contributing to the API and thus the analysis results may be incorrect.</td></tr>
<tr class="b">
<td><code>java.missing.oldClass</code></td>
<td><code><b>missing-class javax.mail.internet.InternetHeaders</b></code>
<td>Class 'javax.mail.internet.InternetHeaders' could not be found in the archives of the old API. It has been detected as contributing to the API and thus the analysis results may be incorrect.</td></tr>
<tr class="a">
<td><code>java.missing.oldClass</code></td>
<td><code><b>missing-class javax.mail.internet.MimeMessage</b></code>
<td>Class 'javax.mail.internet.MimeMessage' could not be found in the archives of the old API. It has been detected as contributing to the API and thus the analysis results may be incorrect.</td></tr>
<tr class="b">
<td><code>java.missing.oldClass</code></td>
<td><code><b>missing-class javax.mail.internet.MimeMultipart</b></code>
<td>Class 'javax.mail.internet.MimeMultipart' could not be found in the archives of the old API. It has been detected as contributing to the API and thus the analysis results may be incorrect.</td></tr>
<tr class="a">
<td><code>java.missing.oldClass</code></td>
<td><code><b>missing-class org.apache.commons.csv.CSVFormat</b></code>
<td>Class 'org.apache.commons.csv.CSVFormat' could not be found in the archives of the old API. It has been detected as contributing to the API and thus the analysis results may be incorrect.</td></tr>
<tr class="b">
<td><code>java.missing.oldClass</code></td>
<td><code><b>missing-class org.apache.commons.csv.QuoteMode</b></code>
<td>Class 'org.apache.commons.csv.QuoteMode' could not be found in the archives of the old API. It has been detected as contributing to the API and thus the analysis results may be incorrect.</td></tr>
<tr class="a">
<td><code>java.missing.oldClass</code></td>
<td><code><b>missing-class org.apache.kafka.clients.producer.Producer</b></code>
<td>Class 'org.apache.kafka.clients.producer.Producer' could not be found in the archives of the old API. It has been detected as contributing to the API and thus the analysis results may be incorrect.</td></tr>
<tr class="b">
<td><code>java.missing.oldClass</code></td>
<td><code><b>missing-class org.fusesource.jansi.AnsiRenderer.Code</b></code>
<td>Class 'org.fusesource.jansi.AnsiRenderer.Code' could not be found in the archives of the old API. It has been detected as contributing to the API and thus the analysis results may be incorrect.</td></tr>
<tr class="a">
<td><code>java.missing.oldClass</code></td>
<td><code><b>missing-class org.zeromq.ZMQ.Context</b></code>
<td>Class 'org.zeromq.ZMQ.Context' could not be found in the archives of the old API. It has been detected as contributing to the API and thus the analysis results may be incorrect.</td></tr></table></section><section>
<h4><a name="Semantic"></a>Semantic</h4>
<table border="0" class="table table-striped">
<tr class="b">
<th>Difference Code</th>
<th>Element</th>
<th>Description</th></tr>
<tr class="a">
<td><code>java.class.externalClassExposedInAPI</code></td>
<td><code><b>interface org.apache.logging.log4j.LogBuilder</b></code>
<td>A class from supplementary archives is used in a public capacity in the API.</td></tr>
<tr class="b">
<td><code>java.generics.elementNowParameterized</code></td>
<td><code><b>method org.apache.logging.log4j.core.appender.OutputStreamAppender.Builder org.apache.logging.log4j.core.appender.OutputStreamAppender::newBuilder()</b></code>
<td>Element now defines formal type parameters.</td></tr></table></section></section></section>
        </main>
      </div>
    </div>
    <hr/>
    <footer>
      <div class="container-fluid">
        <div class="row-fluid">
<p align="center">Copyright &copy; 1999-2019 <a class="external" href="http://www.apache.org">The Apache Software Foundation</a>. All Rights Reserved.<br>
      Apache Logging, Apache Log4j, Log4j, Apache, the Apache feather logo, and the Apache Logging project logo are trademarks of The Apache Software Foundation.</p>
        </div>
      </div>
    </footer>
  </body>
</html>
