[ 
https://issues.apache.org/jira/browse/LOG4J2-1576?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Remko Popma updated LOG4J2-1576:
--------------------------------
    Description: 
I have trouble running Clirr on a machine that only has Java 8 (ran into the 
"Invalid byte tag in constant pool" problem) so I started to look at 
alternatives. These two seem promising:

* [javacmp|https://siom79.github.io/japicmp/]
* [Revapi|http://revapi.org/]

h4. Revapi Configuration
More docs are [here|http://revapi.org/getting-started.html]. Very quick:

$\{root}/pom.xml
{code}
<plugin>
  <groupId>org.revapi</groupId>
  <artifactId>revapi-maven-plugin</artifactId>
  <version>0.5.1</version>
  <dependencies>
    <dependency>
      <groupId>org.revapi</groupId>
      <artifactId>revapi-java</artifactId>
      <version>0.10.1</version>
    </dependency>
  </dependencies>
  <configuration>
  </configuration>
  <executions>
    <execution>
      <id>api-check</id>
      <goals><goal>check</goal></goals>
    </execution>
  </executions>
</plugin>
{code}

$\{root}/log4j-api/pom.xml and $\{root}/log4j-core/pom.xml
{code}
<plugin>
  <groupId>org.revapi</groupId>
  <artifactId>revapi-maven-plugin</artifactId>
  <version>0.5.1</version>
  <configuration>
    <oldArtifacts>
      <artifact>${project.groupId}:${project.artifactId}:2.6.2</artifact>
    </oldArtifacts>
    <newArtifacts>
      
<artifact>${project.groupId}:${project.artifactId}:${project.version}</artifact>
    </newArtifacts>
  </configuration>
  <executions>
    <execution>
      <id>api-check</id>
      <goals><goal>check</goal></goals>
    </execution>
  </executions>
</plugin>
{code}

$\{root}/log4j-bom/pom.xml
{code}
<plugin>
<groupId>org.revapi</groupId>
<artifactId>revapi-maven-plugin</artifactId>
<version>0.5.1</version>
<dependencies>
  <dependency>
    <groupId>org.revapi</groupId>
    <artifactId>revapi-java</artifactId>
    <version>0.10.1</version>
  </dependency>
</dependencies>
</plugin>
{code}

h4. Revapi Maven Plugin
Docs are [here|http://revapi.org/modules/revapi-maven-plugin/index.html]. After 
running {{mvn revapi:check}}, it finds a lot. There is a mechanism to suppress 
findings in a fine-grained way.

{noformat}
[ERROR] java.class.removed: class 
org.apache.logging.log4j.core.async.DaemonThreadFactory: Class was removed.
[ERROR] java.field.constantValueChanged: field 
org.apache.logging.log4j.core.layout.PatternLayout.TTCC_CONVERSION_PATTERN: 
Constant field changed value from '%r [%t] %p %c %x - %m%n' to '%r [%t] %p %c 
%notEmpty{%x }- %m%n'.
[ERROR] java.field.removed: field 
org.apache.logging.log4j.core.appender.rolling.DefaultRolloverStrategy.LOGGER: 
Field removed from class.
[ERROR] java.field.removed: field 
org.apache.logging.log4j.core.util.Constants.UTF_8: Field removed from class.
[ERROR] java.generics.formalTypeParameterAdded: class 
org.apache.logging.log4j.core.appender.ConsoleAppender.Builder: A new formal 
type parameter added to element: 'B extends 
org.apache.logging.log4j.core.appender.ConsoleAppender.Builder<B extends 
org.apache.logging.log4j.core.appender.ConsoleAppender.Builder<B>>'.
[ERROR] java.generics.formalTypeParameterAdded: method 
org.apache.logging.log4j.core.appender.ConsoleAppender.Builder 
org.apache.logging.log4j.core.appender.ConsoleAppender::newBuilder(): A new 
formal type parameter added to element: 'B extends 
org.apache.logging.log4j.core.appender.ConsoleAppender.Builder<B extends 
org.apache.logging.log4j.core.appender.ConsoleAppender.Builder<B>>'.
[ERROR] java.method.addedToInterface: method boolean 
org.apache.logging.log4j.core.LifeCycle::stop(long, 
java.util.concurrent.TimeUnit): Method was added to an interface.
[ERROR] java.method.addedToInterface: method java.lang.String 
org.apache.logging.log4j.core.config.builder.api.ConfigurationBuilder<T extends 
org.apache.logging.log4j.core.config.Configuration>::toXmlConfiguration(): 
Method was added to an interface.
[ERROR] java.method.addedToInterface: method 
org.apache.logging.log4j.core.LoggerContext 
org.apache.logging.log4j.core.config.Configuration::getLoggerContext(): Method 
was added to an interface.
[ERROR] java.method.addedToInterface: method 
org.apache.logging.log4j.core.config.builder.api.ConfigurationBuilder<T> 
org.apache.logging.log4j.core.config.builder.api.ConfigurationBuilder<T extends 
org.apache.logging.log4j.core.config.Configuration>::setDestination(java.lang.String):
 Method was added to an interface.
[ERROR] java.method.addedToInterface: method 
org.apache.logging.log4j.spi.ContextData 
org.apache.logging.log4j.core.LogEvent::getContextData(): Method was added to 
an interface.
[ERROR] java.method.addedToInterface: method void 
org.apache.logging.log4j.core.config.builder.api.ConfigurationBuilder<T extends 
org.apache.logging.log4j.core.config.Configuration>::setLoggerContext(org.apache.logging.log4j.core.LoggerContext):
 Method was added to an interface.
[ERROR] java.method.addedToInterface: method void 
org.apache.logging.log4j.core.config.builder.api.ConfigurationBuilder<T extends 
org.apache.logging.log4j.core.config.Configuration>::writeXmlConfiguration(java.io.OutputStream)
 throws java.io.IOException: Method was added to an interface.
[ERROR] java.method.exception.checkedAdded: method java.io.OutputStream 
org.apache.logging.log4j.core.appender.OutputStreamManager::getOutputStream(): 
Method newly throws checked exceptions: [java.io.IOException].
[ERROR] java.method.numberOfParametersChanged: method 
org.apache.logging.log4j.core.appender.FileManager 
org.apache.logging.log4j.core.appender.FileManager::getFileManager(java.lang.String,
 boolean, boolean, boolean, java.lang.String, 
org.apache.logging.log4j.core.Layout<? extends java.io.Serializable>, int, 
boolean): The number of parameters of the method have changed.
[ERROR] java.method.numberOfParametersChanged: method 
org.apache.logging.log4j.core.appender.RandomAccessFileManager 
org.apache.logging.log4j.core.appender.RandomAccessFileManager::getFileManager(java.lang.String,
 boolean, boolean, int, java.lang.String, 
org.apache.logging.log4j.core.Layout<? extends java.io.Serializable>): The 
number of parameters of the method have changed.
[ERROR] java.method.numberOfParametersChanged: method 
org.apache.logging.log4j.core.appender.mom.kafka.KafkaAppender 
org.apache.logging.log4j.core.appender.mom.kafka.KafkaAppender::createAppender(org.apache.logging.log4j.core.Layout<?
 extends java.io.Serializable>, org.apache.logging.log4j.core.Filter, 
java.lang.String, boolean, java.lang.String, 
org.apache.logging.log4j.core.config.Property[]): The number of parameters of 
the method have changed.
[ERROR] java.method.numberOfParametersChanged: method 
org.apache.logging.log4j.core.appender.rolling.RollingFileManager 
org.apache.logging.log4j.core.appender.rolling.RollingFileManager::getFileManager(java.lang.String,
 java.lang.String, boolean, boolean, 
org.apache.logging.log4j.core.appender.rolling.TriggeringPolicy, 
org.apache.logging.log4j.core.appender.rolling.RolloverStrategy, 
java.lang.String, org.apache.logging.log4j.core.Layout<? extends 
java.io.Serializable>, int, boolean): The number of parameters of the method 
have changed.
[ERROR] java.method.numberOfParametersChanged: method 
org.apache.logging.log4j.core.appender.rolling.RollingRandomAccessFileManager 
org.apache.logging.log4j.core.appender.rolling.RollingRandomAccessFileManager::getRollingRandomAccessFileManager(java.lang.String,
 java.lang.String, boolean, boolean, int, 
org.apache.logging.log4j.core.appender.rolling.TriggeringPolicy, 
org.apache.logging.log4j.core.appender.rolling.RolloverStrategy, 
java.lang.String, org.apache.logging.log4j.core.Layout<? extends 
java.io.Serializable>): The number of parameters of the method have changed.
[ERROR] java.method.numberOfParametersChanged: method 
org.apache.logging.log4j.core.appender.routing.PurgePolicy 
org.apache.logging.log4j.core.appender.routing.IdlePurgePolicy::createPurgePolicy(java.lang.String,
 java.lang.String, org.apache.logging.log4j.core.config.Configuration): The 
number of parameters of the method have changed.
[ERROR] java.method.numberOfParametersChanged: method 
org.apache.logging.log4j.core.config.Configuration 
org.apache.logging.log4j.core.config.ConfigurationFactory::getConfiguration(java.lang.String,
 java.net.URI): The number of parameters of the method have changed.
[ERROR] java.method.numberOfParametersChanged: method 
org.apache.logging.log4j.core.config.Configuration 
org.apache.logging.log4j.core.config.ConfigurationFactory::getConfiguration(java.lang.String,
 java.net.URI, java.lang.ClassLoader): The number of parameters of the method 
have changed.
[ERROR] java.method.numberOfParametersChanged: method 
org.apache.logging.log4j.core.config.Configuration 
org.apache.logging.log4j.core.config.ConfigurationFactory::getConfiguration(org.apache.logging.log4j.core.config.ConfigurationSource):
 The number of parameters of the method have changed.
[ERROR] java.method.numberOfParametersChanged: method 
org.apache.logging.log4j.core.config.Configuration 
org.apache.logging.log4j.core.config.json.JsonConfigurationFactory::getConfiguration(org.apache.logging.log4j.core.config.ConfigurationSource):
 The number of parameters of the method have changed.
[ERROR] java.method.numberOfParametersChanged: method 
org.apache.logging.log4j.core.config.Configuration 
org.apache.logging.log4j.core.config.xml.XmlConfigurationFactory::getConfiguration(org.apache.logging.log4j.core.config.ConfigurationSource):
 The number of parameters of the method have changed.
[ERROR] java.method.numberOfParametersChanged: method 
org.apache.logging.log4j.core.config.Configuration 
org.apache.logging.log4j.core.config.yaml.YamlConfigurationFactory::getConfiguration(org.apache.logging.log4j.core.config.ConfigurationSource):
 The number of parameters of the method have changed.
[ERROR] java.method.numberOfParametersChanged: method 
org.apache.logging.log4j.core.config.Configuration 
org.apache.logging.log4j.core.net.server.AbstractSocketServer.ServerConfigurationFactory::getConfiguration(java.lang.String,
 java.net.URI): The number of parameters of the method have changed.
[ERROR] java.method.numberOfParametersChanged: method 
org.apache.logging.log4j.core.config.properties.PropertiesConfiguration 
org.apache.logging.log4j.core.config.properties.PropertiesConfigurationFactory::getConfiguration(org.apache.logging.log4j.core.config.ConfigurationSource):
 The number of parameters of the method have changed.
[ERROR] java.method.numberOfParametersChanged: method 
org.apache.logging.log4j.core.layout.AbstractJacksonLayout 
org.apache.logging.log4j.core.layout.YamlLayout::createLayout(org.apache.logging.log4j.core.config.Configuration,
 boolean, boolean, java.lang.String, java.lang.String, 
java.nio.charset.Charset): The number of parameters of the method have changed.
[ERROR] java.method.numberOfParametersChanged: method 
org.apache.logging.log4j.core.layout.JsonLayout 
org.apache.logging.log4j.core.layout.JsonLayout::createLayout(org.apache.logging.log4j.core.config.Configuration,
 boolean, boolean, boolean, boolean, boolean, boolean, java.lang.String, 
java.lang.String, java.nio.charset.Charset): The number of parameters of the 
method have changed.
[ERROR] java.method.numberOfParametersChanged: method 
org.apache.logging.log4j.core.layout.XmlLayout 
org.apache.logging.log4j.core.layout.XmlLayout::createLayout(boolean, boolean, 
boolean, boolean, java.nio.charset.Charset): The number of parameters of the 
method have changed.
[ERROR] java.method.numberOfParametersChanged: method 
org.apache.logging.log4j.core.net.AbstractSocketManager 
org.apache.logging.log4j.core.appender.SocketAppender::createSocketManager(java.lang.String,
 org.apache.logging.log4j.core.net.Protocol, java.lang.String, int, int, 
org.apache.logging.log4j.core.net.ssl.SslConfiguration, int, boolean, 
org.apache.logging.log4j.core.Layout<? extends java.io.Serializable>): The 
number of parameters of the method have changed.
[ERROR] java.method.numberOfParametersChanged: method 
org.apache.logging.log4j.core.net.DatagramSocketManager 
org.apache.logging.log4j.core.net.DatagramSocketManager::getSocketManager(java.lang.String,
 int, org.apache.logging.log4j.core.Layout<? extends java.io.Serializable>): 
The number of parameters of the method have changed.
[ERROR] java.method.numberOfParametersChanged: method 
org.apache.logging.log4j.core.net.SslSocketManager 
org.apache.logging.log4j.core.net.SslSocketManager::getSocketManager(org.apache.logging.log4j.core.net.ssl.SslConfiguration,
 java.lang.String, int, int, int, boolean, 
org.apache.logging.log4j.core.Layout<? extends java.io.Serializable>): The 
number of parameters of the method have changed.
[ERROR] java.method.numberOfParametersChanged: method 
org.apache.logging.log4j.core.net.TcpSocketManager 
org.apache.logging.log4j.core.net.TcpSocketManager::getSocketManager(java.lang.String,
 int, int, int, boolean, org.apache.logging.log4j.core.Layout<? extends 
java.io.Serializable>): The number of parameters of the method have changed.
[ERROR] java.method.numberOfParametersChanged: method void 
org.apache.logging.log4j.core.LoggerContext::stop(): The number of parameters 
of the method have changed.
[ERROR] java.method.numberOfParametersChanged: method void 
org.apache.logging.log4j.core.appender.AbstractManager::<init>(java.lang.String):
 The number of parameters of the method have changed.
[ERROR] java.method.numberOfParametersChanged: method void 
org.apache.logging.log4j.core.appender.AbstractManager::releaseSub(): The 
number of parameters of the method have changed.
[ERROR] java.method.numberOfParametersChanged: method void 
org.apache.logging.log4j.core.appender.AbstractOutputStreamAppender<M extends 
org.apache.logging.log4j.core.appender.OutputStreamManager>::stop(): The number 
of parameters of the method have changed.
[ERROR] java.method.numberOfParametersChanged: method void 
org.apache.logging.log4j.core.appender.AbstractWriterAppender<M extends 
org.apache.logging.log4j.core.appender.WriterManager>::stop(): The number of 
parameters of the method have changed.
[ERROR] java.method.numberOfParametersChanged: method void 
org.apache.logging.log4j.core.appender.AsyncAppender::stop(): The number of 
parameters of the method have changed.
[ERROR] java.method.numberOfParametersChanged: method void 
org.apache.logging.log4j.core.appender.FileAppender::stop(): The number of 
parameters of the method have changed.
[ERROR] java.method.numberOfParametersChanged: method void 
org.apache.logging.log4j.core.appender.MemoryMappedFileAppender::stop(): The 
number of parameters of the method have changed.
[ERROR] java.method.numberOfParametersChanged: method void 
org.apache.logging.log4j.core.appender.OutputStreamManager::releaseSub(): The 
number of parameters of the method have changed.
[ERROR] java.method.numberOfParametersChanged: method void 
org.apache.logging.log4j.core.appender.RandomAccessFileAppender::stop(): The 
number of parameters of the method have changed.
[ERROR] java.method.numberOfParametersChanged: method void 
org.apache.logging.log4j.core.appender.RandomAccessFileManager::<init>(java.io.RandomAccessFile,
 java.lang.String, java.io.OutputStream, int, java.lang.String, 
org.apache.logging.log4j.core.Layout<? extends java.io.Serializable>, boolean): 
The number of parameters of the method have changed.
[ERROR] java.method.numberOfParametersChanged: method void 
org.apache.logging.log4j.core.appender.RollingFileAppender::stop(): The number 
of parameters of the method have changed.
[ERROR] java.method.numberOfParametersChanged: method void 
org.apache.logging.log4j.core.appender.RollingRandomAccessFileAppender::stop(): 
The number of parameters of the method have changed.
[ERROR] java.method.numberOfParametersChanged: method void 
org.apache.logging.log4j.core.appender.SocketAppender::stop(): The number of 
parameters of the method have changed.
[ERROR] java.method.numberOfParametersChanged: method void 
org.apache.logging.log4j.core.appender.WriterManager::releaseSub(): The number 
of parameters of the method have changed.
[ERROR] java.method.numberOfParametersChanged: method void 
org.apache.logging.log4j.core.appender.db.AbstractDatabaseAppender<T extends 
org.apache.logging.log4j.core.appender.db.AbstractDatabaseManager>::stop(): The 
number of parameters of the method have changed.
[ERROR] java.method.numberOfParametersChanged: method void 
org.apache.logging.log4j.core.appender.db.AbstractDatabaseManager::releaseSub():
 The number of parameters of the method have changed.
[ERROR] java.method.numberOfParametersChanged: method void 
org.apache.logging.log4j.core.appender.mom.JmsAppender::stop(): The number of 
parameters of the method have changed.
[ERROR] java.method.numberOfParametersChanged: method void 
org.apache.logging.log4j.core.appender.mom.JmsManager::releaseSub(): The number 
of parameters of the method have changed.
[ERROR] java.method.numberOfParametersChanged: method void 
org.apache.logging.log4j.core.appender.mom.jeromq.JeroMqAppender::stop(): The 
number of parameters of the method have changed.
[ERROR] java.method.numberOfParametersChanged: method void 
org.apache.logging.log4j.core.appender.mom.jeromq.JeroMqManager::releaseSub(): 
The number of parameters of the method have changed.
[ERROR] java.method.numberOfParametersChanged: method void 
org.apache.logging.log4j.core.appender.mom.kafka.KafkaAppender::stop(): The 
number of parameters of the method have changed.
[ERROR] java.method.numberOfParametersChanged: method void 
org.apache.logging.log4j.core.appender.mom.kafka.KafkaManager::<init>(java.lang.String,
 java.lang.String, org.apache.logging.log4j.core.config.Property[]): The number 
of parameters of the method have changed.
[ERROR] java.method.numberOfParametersChanged: method void 
org.apache.logging.log4j.core.appender.mom.kafka.KafkaManager::releaseSub(): 
The number of parameters of the method have changed.
[ERROR] java.method.numberOfParametersChanged: method void 
org.apache.logging.log4j.core.appender.rolling.RollingRandomAccessFileManager::<init>(java.io.RandomAccessFile,
 java.lang.String, java.lang.String, java.io.OutputStream, boolean, boolean, 
int, long, long, 
org.apache.logging.log4j.core.appender.rolling.TriggeringPolicy, 
org.apache.logging.log4j.core.appender.rolling.RolloverStrategy, 
java.lang.String, org.apache.logging.log4j.core.Layout<? extends 
java.io.Serializable>, boolean): The number of parameters of the method have 
changed.
[ERROR] java.method.numberOfParametersChanged: method void 
org.apache.logging.log4j.core.appender.routing.IdlePurgePolicy::<init>(long, 
org.apache.logging.log4j.core.config.ConfigurationScheduler): The number of 
parameters of the method have changed.
[ERROR] java.method.numberOfParametersChanged: method void 
org.apache.logging.log4j.core.appender.routing.IdlePurgePolicy::stop(): The 
number of parameters of the method have changed.
[ERROR] java.method.numberOfParametersChanged: method void 
org.apache.logging.log4j.core.appender.routing.RoutingAppender::stop(): The 
number of parameters of the method have changed.
[ERROR] java.method.numberOfParametersChanged: method void 
org.apache.logging.log4j.core.async.AsyncLoggerConfig::stop(): The number of 
parameters of the method have changed.
[ERROR] java.method.numberOfParametersChanged: method void 
org.apache.logging.log4j.core.async.AsyncLoggerConfigDisruptor::stop(): The 
number of parameters of the method have changed.
[ERROR] java.method.numberOfParametersChanged: method void 
org.apache.logging.log4j.core.async.AsyncLoggerContext::stop(): The number of 
parameters of the method have changed.
[ERROR] java.method.numberOfParametersChanged: method void 
org.apache.logging.log4j.core.async.RingBufferLogEventTranslator::setBasicValues(org.apache.logging.log4j.core.async.AsyncLogger,
 java.lang.String, org.apache.logging.log4j.Marker, java.lang.String, 
org.apache.logging.log4j.Level, org.apache.logging.log4j.message.Message, 
java.lang.Throwable, java.util.Map<java.lang.String, java.lang.String>, 
org.apache.logging.log4j.ThreadContext.ContextStack, 
java.lang.StackTraceElement, long, long): The number of parameters of the 
method have changed.
[ERROR] java.method.numberOfParametersChanged: method void 
org.apache.logging.log4j.core.config.AbstractConfiguration::<init>(org.apache.logging.log4j.core.config.ConfigurationSource):
 The number of parameters of the method have changed.
[ERROR] java.method.numberOfParametersChanged: method void 
org.apache.logging.log4j.core.config.AbstractConfiguration::stop(): The number 
of parameters of the method have changed.
[ERROR] java.method.numberOfParametersChanged: method void 
org.apache.logging.log4j.core.config.ConfigurationScheduler::stop(): The number 
of parameters of the method have changed.
[ERROR] java.method.numberOfParametersChanged: method void 
org.apache.logging.log4j.core.config.builder.impl.BuiltConfiguration::<init>(org.apache.logging.log4j.core.config.ConfigurationSource,
 org.apache.logging.log4j.core.config.builder.api.Component): The number of 
parameters of the method have changed.
[ERROR] java.method.numberOfParametersChanged: method void 
org.apache.logging.log4j.core.config.json.JsonConfiguration::<init>(org.apache.logging.log4j.core.config.ConfigurationSource):
 The number ofparameters of the method have changed.
[ERROR] java.method.numberOfParametersChanged: method void 
org.apache.logging.log4j.core.config.properties.PropertiesConfiguration::<init>(org.apache.logging.log4j.core.config.ConfigurationSource,
 org.apache.logging.log4j.core.config.builder.api.Component): The number of 
parameters of the method have changed.
[ERROR] java.method.numberOfParametersChanged: method void 
org.apache.logging.log4j.core.config.xml.XmlConfiguration::<init>(org.apache.logging.log4j.core.config.ConfigurationSource):
 The number of parameters of the method have changed.
[ERROR] java.method.numberOfParametersChanged: method void 
org.apache.logging.log4j.core.config.yaml.YamlConfiguration::<init>(org.apache.logging.log4j.core.config.ConfigurationSource):
 The number ofparameters of the method have changed.
[ERROR] java.method.numberOfParametersChanged: method void 
org.apache.logging.log4j.core.filter.AbstractFilterable::stop(): The number of 
parameters of the method have changed.
[ERROR] java.method.numberOfParametersChanged: method void 
org.apache.logging.log4j.core.filter.CompositeFilter::stop(): The number of 
parameters of the method have changed.
[ERROR] java.method.numberOfParametersChanged: method void 
org.apache.logging.log4j.core.impl.ThrowableFormatOptions::<init>(int, 
java.lang.String, java.util.List<java.lang.String>): The number of parameters 
of the method have changed.
[ERROR] java.method.numberOfParametersChanged: method void 
org.apache.logging.log4j.core.jackson.Log4jJsonObjectMapper::<init>(boolean): 
The number of parameters of the method have changed.
[ERROR] java.method.numberOfParametersChanged: method void 
org.apache.logging.log4j.core.jackson.Log4jYamlObjectMapper::<init>(boolean): 
The number of parameters of the method have changed.
[ERROR] java.method.numberOfParametersChanged: method void 
org.apache.logging.log4j.core.layout.JsonLayout::<init>(org.apache.logging.log4j.core.config.Configuration,
 boolean, boolean, boolean, boolean, boolean, boolean, java.lang.String, 
java.lang.String, java.nio.charset.Charset): The number of parameters of the 
method have changed.
[ERROR] java.method.numberOfParametersChanged: method void 
org.apache.logging.log4j.core.layout.XmlLayout::<init>(boolean, boolean, 
boolean, boolean, java.nio.charset.Charset): The number of parameters of the 
method have changed.
[ERROR] java.method.numberOfParametersChanged: method void 
org.apache.logging.log4j.core.layout.YamlLayout::<init>(org.apache.logging.log4j.core.config.Configuration,
 boolean, boolean, boolean, boolean, boolean, java.lang.String, 
java.lang.String, java.nio.charset.Charset): The number of parameters of the 
method have changed.
[ERROR] java.method.numberOfParametersChanged: method void 
org.apache.logging.log4j.core.net.AbstractSocketManager::<init>(java.lang.String,
 java.io.OutputStream, java.net.InetAddress, java.lang.String, int, 
org.apache.logging.log4j.core.Layout<? extends java.io.Serializable>, boolean): 
The number of parameters of the method have changed.
[ERROR] java.method.numberOfParametersChanged: method void 
org.apache.logging.log4j.core.net.DatagramSocketManager::<init>(java.lang.String,
 java.io.OutputStream, java.net.InetAddress, java.lang.String, int, 
org.apache.logging.log4j.core.Layout<? extends java.io.Serializable>): The 
number of parameters of the method have changed.
[ERROR] java.method.numberOfParametersChanged: method void 
org.apache.logging.log4j.core.net.JndiManager::releaseSub(): The number of 
parameters of the method have changed.
[ERROR] java.method.numberOfParametersChanged: method void 
org.apache.logging.log4j.core.net.SslSocketManager::<init>(java.lang.String, 
java.io.OutputStream, java.net.Socket, 
org.apache.logging.log4j.core.net.ssl.SslConfiguration, java.net.InetAddress, 
java.lang.String, int, int, int, boolean, 
org.apache.logging.log4j.core.Layout<? extends java.io.Serializable>): The 
number of parameters of the method have changed.
[ERROR] java.method.numberOfParametersChanged: method void 
org.apache.logging.log4j.core.net.TcpSocketManager::<init>(java.lang.String, 
java.io.OutputStream, java.net.Socket, java.net.InetAddress, java.lang.String, 
int, int, int, boolean, org.apache.logging.log4j.core.Layout<? extends 
java.io.Serializable>): The number of parameters of the method have changed.
[ERROR] java.method.numberOfParametersChanged: method void 
org.apache.logging.log4j.core.util.WatchManager::stop(): The number of 
parameters of the method have changed.
[ERROR] java.method.parameterTypeChanged: method parameter void 
org.apache.logging.log4j.core.async.RingBufferLogEvent::setValues(org.apache.logging.log4j.core.async.AsyncLogger,
 java.lang.String, org.apache.logging.log4j.Marker, java.lang.String, 
org.apache.logging.log4j.Level, org.apache.logging.log4j.message.Message, 
java.lang.Throwable, ===java.util.Map<java.lang.String, 
java.lang.String>===,org.apache.logging.log4j.ThreadContext.ContextStack, long, 
java.lang.String, int, java.lang.StackTraceElement, long, long): The type of 
the parameter changed from 'java.util.Map<java.lang.String, java.lang.String>' 
to 'org.apache.logging.log4j.spi.MutableContextData'.
[ERROR] java.method.parameterTypeChanged: method parameter void 
org.apache.logging.log4j.core.util.Closer::closeSilently(===java.io.Closeable===):
 The type of the parameter changed from 'java.io.Closeable' to 
'java.sql.Statement'.
[ERROR] java.method.parameterTypeChanged: method parameter void 
org.apache.logging.log4j.core.util.Closer::closeSilently(===java.sql.Statement===):
 The type of the parameter changed from 'java.sql.Statement' to 
'java.io.Closeable'.
[ERROR] java.method.removed: method <T> T 
org.apache.logging.log4j.core.util.Assert::requireNonNull(T, java.lang.String): 
Method was removed.
[ERROR] java.method.removed: method java.lang.Class<?> 
org.apache.logging.log4j.core.util.Loader::loadClass(java.lang.String) throws 
java.lang.ClassNotFoundException: Method was removed.
[ERROR] java.method.removed: method java.util.List<java.lang.String> 
org.apache.logging.log4j.core.impl.ThrowableFormatOptions::getPackages(): 
Method was removed.
[ERROR] java.method.removed: method 
org.apache.logging.log4j.core.appender.ConsoleAppender.Builder 
org.apache.logging.log4j.core.appender.ConsoleAppender.Builder::setFilter(org.apache.logging.log4j.core.Filter):
 Method was removed.
[ERROR] java.method.removed: method 
org.apache.logging.log4j.core.appender.ConsoleAppender.Builder 
org.apache.logging.log4j.core.appender.ConsoleAppender.Builder::setIgnoreExceptions(boolean):
 Methodwas removed.
[ERROR] java.method.removed: method 
org.apache.logging.log4j.core.appender.ConsoleAppender.Builder 
org.apache.logging.log4j.core.appender.ConsoleAppender.Builder::setLayout(org.apache.logging.log4j.core.Layout<?
 extends java.io.Serializable>): Method was removed.
[ERROR] java.method.removed: method 
org.apache.logging.log4j.core.appender.ConsoleAppender.Builder 
org.apache.logging.log4j.core.appender.ConsoleAppender.Builder::setName(java.lang.String):
 Method was removed.
[ERROR] java.method.removed: method void 
org.apache.logging.log4j.core.async.RingBufferLogEvent::mergePropertiesIntoContextMap(java.util.Map<org.apache.logging.log4j.core.config.Property,
 java.lang.Boolean>, org.apache.logging.log4j.core.lookup.StrSubstitutor): 
Method was removed.
[ERROR] java.method.removed: method void 
org.apache.logging.log4j.core.impl.MutableLogEvent::setContextMap(java.util.Map<java.lang.String,
 java.lang.String>): Method was removed.
[ERROR] java.method.returnTypeChanged: method void 
org.apache.logging.log4j.core.LoggerContext::stop(): The return type changed 
from 'void' to  'boolean'.
[ERROR] java.method.returnTypeChanged: method void 
org.apache.logging.log4j.core.appender.AbstractManager::releaseSub(): The 
return type changed from 'void' to  'boolean'.
[ERROR] java.method.returnTypeChanged: method void 
org.apache.logging.log4j.core.appender.AbstractOutputStreamAppender<M extends 
org.apache.logging.log4j.core.appender.OutputStreamManager>::stop(): The return 
type changed from 'void' to  'boolean'.
[ERROR] java.method.returnTypeChanged: method void 
org.apache.logging.log4j.core.appender.AbstractWriterAppender<M extends 
org.apache.logging.log4j.core.appender.WriterManager>::stop(): The return type 
changed from 'void' to  'boolean'.
[ERROR] java.method.returnTypeChanged: method void 
org.apache.logging.log4j.core.appender.AsyncAppender::stop(): The return type 
changed from 'void' to  'boolean'.
[ERROR] java.method.returnTypeChanged: method void 
org.apache.logging.log4j.core.appender.FileAppender::stop(): The return type 
changed from 'void' to  'boolean'.
[ERROR] java.method.returnTypeChanged: method void 
org.apache.logging.log4j.core.appender.MemoryMappedFileAppender::stop(): The 
return type changed from 'void' to  'boolean'.
[ERROR] java.method.returnTypeChanged: method void 
org.apache.logging.log4j.core.appender.OutputStreamManager::releaseSub(): The 
return type changed from 'void' to  'boolean'.
[ERROR] java.method.returnTypeChanged: method void 
org.apache.logging.log4j.core.appender.RandomAccessFileAppender::stop(): The 
return type changed from 'void' to  'boolean'.
[ERROR] java.method.returnTypeChanged: method void 
org.apache.logging.log4j.core.appender.RollingFileAppender::stop(): The return 
type changed from 'void' to  'boolean'.
[ERROR] java.method.returnTypeChanged: method void 
org.apache.logging.log4j.core.appender.RollingRandomAccessFileAppender::stop(): 
The return type changed from 'void' to  'boolean'.
[ERROR] java.method.returnTypeChanged: method void 
org.apache.logging.log4j.core.appender.SocketAppender::stop(): The return type 
changed from 'void' to  'boolean'.
[ERROR] java.method.returnTypeChanged: method void 
org.apache.logging.log4j.core.appender.WriterManager::releaseSub(): The return 
type changed from 'void' to  'boolean'.
[ERROR] java.method.returnTypeChanged: method void 
org.apache.logging.log4j.core.appender.db.AbstractDatabaseAppender<T extends 
org.apache.logging.log4j.core.appender.db.AbstractDatabaseManager>::stop(): The 
return type changed from 'void' to  'boolean'.
[ERROR] java.method.returnTypeChanged: method void 
org.apache.logging.log4j.core.appender.db.AbstractDatabaseManager::commitAndClose():
 The return type changed from 'void' to  'boolean'.
[ERROR] java.method.returnTypeChanged: method void 
org.apache.logging.log4j.core.appender.db.AbstractDatabaseManager::releaseSub():
 The return type changed from 'void' to  'boolean'.
[ERROR] java.method.returnTypeChanged: method void 
org.apache.logging.log4j.core.appender.db.AbstractDatabaseManager::shutdown(): 
The return type changed from 'void' to  'boolean'.
[ERROR] java.method.returnTypeChanged: method void 
org.apache.logging.log4j.core.appender.db.AbstractDatabaseManager::shutdownInternal()
 throws java.lang.Exception: The return type changed from 'void' to  'boolean'.
[ERROR] java.method.returnTypeChanged: method void 
org.apache.logging.log4j.core.appender.db.jdbc.JdbcDatabaseManager::commitAndClose():
 The return type changed from 'void' to  'boolean'.
[ERROR] java.method.returnTypeChanged: method void 
org.apache.logging.log4j.core.appender.db.jdbc.JdbcDatabaseManager::shutdownInternal():
 The return type changed from 'void' to  'boolean'.
[ERROR] java.method.returnTypeChanged: method void 
org.apache.logging.log4j.core.appender.db.jpa.JpaDatabaseManager::commitAndClose():
 The return type changed from 'void' to  'boolean'.
[ERROR] java.method.returnTypeChanged: method void 
org.apache.logging.log4j.core.appender.db.jpa.JpaDatabaseManager::shutdownInternal():
 The return type changed from 'void' to  'boolean'.
[ERROR] java.method.returnTypeChanged: method void 
org.apache.logging.log4j.core.appender.mom.JmsAppender::stop(): The return type 
changed from 'void' to  'boolean'.
[ERROR] java.method.returnTypeChanged: method void 
org.apache.logging.log4j.core.appender.mom.JmsManager::releaseSub(): The return 
type changed from 'void' to  'boolean'.
[ERROR] java.method.returnTypeChanged: method void 
org.apache.logging.log4j.core.appender.mom.jeromq.JeroMqAppender::stop(): The 
return type changed from 'void' to  'boolean'.
[ERROR] java.method.returnTypeChanged: method void 
org.apache.logging.log4j.core.appender.mom.jeromq.JeroMqManager::releaseSub(): 
The return type changed from 'void' to  'boolean'.
[ERROR] java.method.returnTypeChanged: method void 
org.apache.logging.log4j.core.appender.mom.kafka.KafkaAppender::stop(): The 
return type changed from 'void' to  'boolean'.
[ERROR] java.method.returnTypeChanged: method void 
org.apache.logging.log4j.core.appender.mom.kafka.KafkaManager::releaseSub(): 
The return type changed from 'void' to  'boolean'.
[ERROR] java.method.returnTypeChanged: method void 
org.apache.logging.log4j.core.appender.routing.IdlePurgePolicy::stop(): The 
return type changed from 'void' to  'boolean'.
[ERROR] java.method.returnTypeChanged: method void 
org.apache.logging.log4j.core.appender.routing.RoutingAppender::stop(): The 
return type changed from 'void' to  'boolean'.
[ERROR] java.method.returnTypeChanged: method void 
org.apache.logging.log4j.core.async.AsyncLoggerConfig::stop(): The return type 
changed from 'void' to  'boolean'.
[ERROR] java.method.returnTypeChanged: method void 
org.apache.logging.log4j.core.async.AsyncLoggerConfigDisruptor::stop(): The 
return type changed from 'void' to  'boolean'.
[ERROR] java.method.returnTypeChanged: method void 
org.apache.logging.log4j.core.async.AsyncLoggerContext::stop(): The return type 
changed from 'void' to  'boolean'.
[ERROR] java.method.returnTypeChanged: method void 
org.apache.logging.log4j.core.config.AbstractConfiguration::stop(): The return 
type changed from 'void' to  'boolean'.
[ERROR] java.method.returnTypeChanged: method void 
org.apache.logging.log4j.core.config.ConfigurationScheduler::stop(): The return 
type changed from 'void' to  'boolean'.
[ERROR] java.method.returnTypeChanged: method void 
org.apache.logging.log4j.core.filter.AbstractFilterable::stop(): The return 
type changed from 'void' to  'boolean'.
[ERROR] java.method.returnTypeChanged: method void 
org.apache.logging.log4j.core.filter.CompositeFilter::stop(): The return type 
changed from 'void' to  'boolean'.
[ERROR] java.method.returnTypeChanged: method void 
org.apache.logging.log4j.core.net.JndiManager::releaseSub(): The return type 
changed from 'void' to  'boolean'.
[ERROR] java.method.returnTypeChanged: method void 
org.apache.logging.log4j.core.util.Closer::closeSilently(java.sql.Statement): 
The return type changed from 'void' to  'boolean'.
[ERROR] java.method.returnTypeChanged: method void 
org.apache.logging.log4j.core.util.JndiCloser::closeSilently(javax.naming.Context):
 The return type changed from 'void' to  'boolean'.
[ERROR] java.method.returnTypeChanged: method void 
org.apache.logging.log4j.core.util.WatchManager::stop(): The return type 
changed from 'void' to  'boolean'.
[ERROR] java.method.returnTypeTypeParametersChanged: method 
org.apache.logging.log4j.core.appender.ConsoleAppender.Builder 
org.apache.logging.log4j.core.appender.ConsoleAppender.Builder::setDirect(boolean):
 The return type changed from 
'org.apache.logging.log4j.core.appender.ConsoleAppender.Builder' to 'B extends 
org.apache.logging.log4j.core.appender.ConsoleAppender.Builder<B>'.
[ERROR] java.method.returnTypeTypeParametersChanged: method 
org.apache.logging.log4j.core.appender.ConsoleAppender.Builder 
org.apache.logging.log4j.core.appender.ConsoleAppender.Builder::setFollow(boolean):
 The return type changed from 
'org.apache.logging.log4j.core.appender.ConsoleAppender.Builder' to 'B extends 
org.apache.logging.log4j.core.appender.ConsoleAppender.Builder<B>'.
[ERROR] java.method.returnTypeTypeParametersChanged: method 
org.apache.logging.log4j.core.appender.ConsoleAppender.Builder 
org.apache.logging.log4j.core.appender.ConsoleAppender.Builder::setTarget(org.apache.logging.log4j.core.appender.ConsoleAppender.Target):
 The return type changed from 
'org.apache.logging.log4j.core.appender.ConsoleAppender.Builder' to 'B extends 
org.apache.logging.log4j.core.appender.ConsoleAppender.Builder<B>'.
[ERROR] java.method.returnTypeTypeParametersChanged: method 
org.apache.logging.log4j.core.appender.ConsoleAppender.Builder 
org.apache.logging.log4j.core.appender.ConsoleAppender::newBuilder(): The 
return type changed from 
'org.apache.logging.log4j.core.appender.ConsoleAppender.Builder' to 'B extends 
org.apache.logging.log4j.core.appender.ConsoleAppender.Builder<B>'.
[ERROR] java.method.visibilityReduced: method void 
org.apache.logging.log4j.core.appender.AbstractOutputStreamAppender<M extends 
org.apache.logging.log4j.core.appender.OutputStreamManager>::stop(): visibility 
reduced
[ERROR] java.method.visibilityReduced: method void 
org.apache.logging.log4j.core.filter.AbstractFilterable::stop(): visibility 
reduced
[ERROR] java.method.visibilityReduced: method void 
org.apache.logging.log4j.core.util.NullOutputStream::<init>(): visibility 
reduced
{noformat}


  was:
I have trouble running Clirr on a machine that only has Java 8 (ran into the 
"Invalid byte tag in constant pool" problem) so I started to look at 
alternatives. These two seem promising:

* [javacmp|https://siom79.github.io/japicmp/]
* [Revapi|http://revapi.org/]

h4. Revapi Configuration
More docs are [here|http://revapi.org/getting-started.html]. Very quick:

$\{root}/pom.xml
{code}
<plugin>
  <groupId>org.revapi</groupId>
  <artifactId>revapi-maven-plugin</artifactId>
  <version>0.5.1</version>
  <dependencies>
    <dependency>
      <groupId>org.revapi</groupId>
      <artifactId>revapi-java</artifactId>
      <version>0.10.1</version>
    </dependency>
  </dependencies>
  <configuration>
  </configuration>
  <executions>
    <execution>
      <id>api-check</id>
      <goals><goal>check</goal></goals>
    </execution>
  </executions>
</plugin>
{code}

$\{root}/log4j-api/pom.xml and $\{root}/log4j-core/pom.xml
{code}
<plugin>
  <groupId>org.revapi</groupId>
  <artifactId>revapi-maven-plugin</artifactId>
  <version>0.5.1</version>
  <configuration>
    <oldArtifacts>
      <artifact>${project.groupId}:${project.artifactId}:2.6.2</artifact>
    </oldArtifacts>
    <newArtifacts>
      
<artifact>${project.groupId}:${project.artifactId}:${project.version}</artifact>
    </newArtifacts>
  </configuration>
  <executions>
    <execution>
      <id>api-check</id>
      <goals><goal>check</goal></goals>
    </execution>
  </executions>
</plugin>
{code}

$\{root}/log4j-bom/pom.xml
{code}
<plugin>
<groupId>org.revapi</groupId>
<artifactId>revapi-maven-plugin</artifactId>
<version>0.5.1</version>
<dependencies>
  <dependency>
    <groupId>org.revapi</groupId>
    <artifactId>revapi-java</artifactId>
    <version>0.10.1</version>
  </dependency>
</dependencies>
</plugin>
{code}

h4. Revapi Maven Plugin
Docs are [here|http://revapi.org/modules/revapi-maven-plugin/index.html]. After 
running {{mvn revapi:check}}, it finds a lot. There is a mechanism to suppress 
findings in a fine-grained way.

{noformat}
[ERROR] Failed to execute goal org.revapi:revapi-maven-plugin:0.5.1:check 
(default-cli) on project log4j-core: The following API problems caused the 
build to fail:
[ERROR] java.method.addedToInterface: method boolean 
org.apache.logging.log4j.core.LifeCycle::stop(long, 
java.util.concurrent.TimeUnit): Method was added to an interface.
[ERROR] java.method.addedToInterface: method 
org.apache.logging.log4j.spi.ContextData 
org.apache.logging.log4j.core.LogEvent::getContextData(): Method was added to 
an interface.
[ERROR] java.method.numberOfParametersChanged: method void 
org.apache.logging.log4j.core.LoggerContext::stop(): The number of parameters 
of the method have changed.
[ERROR] java.method.returnTypeChanged: method void 
org.apache.logging.log4j.core.LoggerContext::stop(): The return type changed 
from 'void' to  'boolean'.
[ERROR] java.method.numberOfParametersChanged: method void 
org.apache.logging.log4j.core.appender.AbstractManager::<init>(java.lang.String):
 The number of parameters of the method have changed.
[ERROR] java.method.numberOfParametersChanged: method void 
org.apache.logging.log4j.core.appender.AbstractManager::releaseSub(): The 
number of parameters of the method have changed.
[ERROR] java.method.returnTypeChanged: method void 
org.apache.logging.log4j.core.appender.AbstractManager::releaseSub(): The 
return type changed from 'void' to  'boolean'.
[ERROR] java.method.numberOfParametersChanged: method void 
org.apache.logging.log4j.core.appender.AbstractOutputStreamAppender<M extends 
org.apache.logging.log4j.core.appender.OutputStreamManager>::stop(): The number 
of parameters of the method have changed.
[ERROR] java.method.returnTypeChanged: method void 
org.apache.logging.log4j.core.appender.AbstractOutputStreamAppender<M extends 
org.apache.logging.log4j.core.appender.OutputStreamManager>::stop(): The return 
type changed from 'void' to  'boolean'.
[ERROR] java.method.visibilityReduced: method void 
org.apache.logging.log4j.core.appender.AbstractOutputStreamAppender<M extends 
org.apache.logging.log4j.core.appender.OutputStreamManager>::stop(): visibility 
reduced
[ERROR] java.method.numberOfParametersChanged: method void 
org.apache.logging.log4j.core.appender.AbstractWriterAppender<M extends 
org.apache.logging.log4j.core.appender.WriterManager>::stop(): The number of 
parameters of the method have changed.
[ERROR] java.method.returnTypeChanged: method void 
org.apache.logging.log4j.core.appender.AbstractWriterAppender<M extends 
org.apache.logging.log4j.core.appender.WriterManager>::stop(): The return type 
changed from 'void' to  'boolean'.
[ERROR] java.method.numberOfParametersChanged: method void 
org.apache.logging.log4j.core.appender.AsyncAppender::stop(): The number of 
parameters of the method have changed.
[ERROR] java.method.returnTypeChanged: method void 
org.apache.logging.log4j.core.appender.AsyncAppender::stop(): The return type 
changed from 'void' to  'boolean'.
[ERROR] java.method.returnTypeTypeParametersChanged: method 
org.apache.logging.log4j.core.appender.ConsoleAppender.Builder 
org.apache.logging.log4j.core.appender.ConsoleAppender.Builder::setDirect(boolean):
 The return type changed from 
'org.apache.logging.log4j.core.appender.ConsoleAppender.Builder' to 'B extends 
org.apache.logging.log4j.core.appender.ConsoleAppender.Builder<B>'.
[ERROR] java.method.removed: method 
org.apache.logging.log4j.core.appender.ConsoleAppender.Builder 
org.apache.logging.log4j.core.appender.ConsoleAppender.Builder::setFilter(org.apache.logging.log4j.core.Filter):
 Method was removed.
[ERROR] java.method.returnTypeTypeParametersChanged: method 
org.apache.logging.log4j.core.appender.ConsoleAppender.Builder 
org.apache.logging.log4j.core.appender.ConsoleAppender.Builder::setFollow(boolean):
 The return type changed from 
'org.apache.logging.log4j.core.appender.ConsoleAppender.Builder' to 'B extends 
org.apache.logging.log4j.core.appender.ConsoleAppender.Builder<B>'.
[ERROR] java.method.removed: method 
org.apache.logging.log4j.core.appender.ConsoleAppender.Builder 
org.apache.logging.log4j.core.appender.ConsoleAppender.Builder::setIgnoreExceptions(boolean):
 Methodwas removed.
[ERROR] java.method.removed: method 
org.apache.logging.log4j.core.appender.ConsoleAppender.Builder 
org.apache.logging.log4j.core.appender.ConsoleAppender.Builder::setLayout(org.apache.logging.log4j.core.Layout<?
 extends java.io.Serializable>): Method was removed.
[ERROR] java.method.removed: method 
org.apache.logging.log4j.core.appender.ConsoleAppender.Builder 
org.apache.logging.log4j.core.appender.ConsoleAppender.Builder::setName(java.lang.String):
 Method was removed.
[ERROR] java.method.returnTypeTypeParametersChanged: method 
org.apache.logging.log4j.core.appender.ConsoleAppender.Builder 
org.apache.logging.log4j.core.appender.ConsoleAppender.Builder::setTarget(org.apache.logging.log4j.core.appender.ConsoleAppender.Target):
 The return type changed from 
'org.apache.logging.log4j.core.appender.ConsoleAppender.Builder' to 'B extends 
org.apache.logging.log4j.core.appender.ConsoleAppender.Builder<B>'.
[ERROR] java.generics.formalTypeParameterAdded: class 
org.apache.logging.log4j.core.appender.ConsoleAppender.Builder: A new formal 
type parameter added to element: 'B extends 
org.apache.logging.log4j.core.appender.ConsoleAppender.Builder<B extends 
org.apache.logging.log4j.core.appender.ConsoleAppender.Builder<B>>'.
[ERROR] java.method.returnTypeTypeParametersChanged: method 
org.apache.logging.log4j.core.appender.ConsoleAppender.Builder 
org.apache.logging.log4j.core.appender.ConsoleAppender::newBuilder(): The 
return type changed from 
'org.apache.logging.log4j.core.appender.ConsoleAppender.Builder' to 'B extends 
org.apache.logging.log4j.core.appender.ConsoleAppender.Builder<B>'.
[ERROR] java.generics.formalTypeParameterAdded: method 
org.apache.logging.log4j.core.appender.ConsoleAppender.Builder 
org.apache.logging.log4j.core.appender.ConsoleAppender::newBuilder(): A new 
formal type parameter added to element: 'B extends 
org.apache.logging.log4j.core.appender.ConsoleAppender.Builder<B extends 
org.apache.logging.log4j.core.appender.ConsoleAppender.Builder<B>>'.
[ERROR] java.method.numberOfParametersChanged: method void 
org.apache.logging.log4j.core.appender.FileAppender::stop(): The number of 
parameters of the method have changed.
[ERROR] java.method.returnTypeChanged: method void 
org.apache.logging.log4j.core.appender.FileAppender::stop(): The return type 
changed from 'void' to  'boolean'.
[ERROR] java.method.numberOfParametersChanged: method 
org.apache.logging.log4j.core.appender.FileManager 
org.apache.logging.log4j.core.appender.FileManager::getFileManager(java.lang.String,
 boolean, boolean, boolean, java.lang.String, 
org.apache.logging.log4j.core.Layout<? extends java.io.Serializable>, int, 
boolean): The number of parameters of the method have changed.
[ERROR] java.method.numberOfParametersChanged: method void 
org.apache.logging.log4j.core.appender.MemoryMappedFileAppender::stop(): The 
number of parameters of the method have changed.
[ERROR] java.method.returnTypeChanged: method void 
org.apache.logging.log4j.core.appender.MemoryMappedFileAppender::stop(): The 
return type changed from 'void' to  'boolean'.
[ERROR] java.method.exception.checkedAdded: method java.io.OutputStream 
org.apache.logging.log4j.core.appender.OutputStreamManager::getOutputStream(): 
Method newly throws checked exceptions: [java.io.IOException].
[ERROR] java.method.numberOfParametersChanged: method void 
org.apache.logging.log4j.core.appender.OutputStreamManager::releaseSub(): The 
number of parameters of the method have changed.
[ERROR] java.method.returnTypeChanged: method void 
org.apache.logging.log4j.core.appender.OutputStreamManager::releaseSub(): The 
return type changed from 'void' to  'boolean'.
[ERROR] java.method.numberOfParametersChanged: method void 
org.apache.logging.log4j.core.appender.RandomAccessFileAppender::stop(): The 
number of parameters of the method have changed.
[ERROR] java.method.returnTypeChanged: method void 
org.apache.logging.log4j.core.appender.RandomAccessFileAppender::stop(): The 
return type changed from 'void' to  'boolean'.
[ERROR] java.method.numberOfParametersChanged: method void 
org.apache.logging.log4j.core.appender.RandomAccessFileManager::<init>(java.io.RandomAccessFile,
 java.lang.String, java.io.OutputStream, int, java.lang.String, 
org.apache.logging.log4j.core.Layout<? extends java.io.Serializable>, boolean): 
The number of parameters of the method have changed.
[ERROR] java.method.numberOfParametersChanged: method 
org.apache.logging.log4j.core.appender.RandomAccessFileManager 
org.apache.logging.log4j.core.appender.RandomAccessFileManager::getFileManager(java.lang.String,
 boolean, boolean, int, java.lang.String, 
org.apache.logging.log4j.core.Layout<? extends java.io.Serializable>): The 
number of parameters of the method have changed.
[ERROR] java.method.numberOfParametersChanged: method void 
org.apache.logging.log4j.core.appender.RollingFileAppender::stop(): The number 
of parameters of the method have changed.
[ERROR] java.method.returnTypeChanged: method void 
org.apache.logging.log4j.core.appender.RollingFileAppender::stop(): The return 
type changed from 'void' to  'boolean'.
[ERROR] java.method.numberOfParametersChanged: method void 
org.apache.logging.log4j.core.appender.RollingRandomAccessFileAppender::stop(): 
The number of parameters of the method have changed.
[ERROR] java.method.returnTypeChanged: method void 
org.apache.logging.log4j.core.appender.RollingRandomAccessFileAppender::stop(): 
The return type changed from 'void' to  'boolean'.
[ERROR] java.method.numberOfParametersChanged: method 
org.apache.logging.log4j.core.net.AbstractSocketManager 
org.apache.logging.log4j.core.appender.SocketAppender::createSocketManager(java.lang.String,
 org.apache.logging.log4j.core.net.Protocol, java.lang.String, int, int, 
org.apache.logging.log4j.core.net.ssl.SslConfiguration, int, boolean, 
org.apache.logging.log4j.core.Layout<? extends java.io.Serializable>): The 
number of parameters of the method have changed.
[ERROR] java.method.numberOfParametersChanged: method void 
org.apache.logging.log4j.core.appender.SocketAppender::stop(): The number of 
parameters of the method have changed.
[ERROR] java.method.returnTypeChanged: method void 
org.apache.logging.log4j.core.appender.SocketAppender::stop(): The return type 
changed from 'void' to  'boolean'.
[ERROR] java.method.numberOfParametersChanged: method void 
org.apache.logging.log4j.core.appender.WriterManager::releaseSub(): The number 
of parameters of the method have changed.
[ERROR] java.method.returnTypeChanged: method void 
org.apache.logging.log4j.core.appender.WriterManager::releaseSub(): The return 
type changed from 'void' to  'boolean'.
[ERROR] java.method.numberOfParametersChanged: method void 
org.apache.logging.log4j.core.appender.db.AbstractDatabaseAppender<T extends 
org.apache.logging.log4j.core.appender.db.AbstractDatabaseManager>::stop(): The 
number of parameters of the method have changed.
[ERROR] java.method.returnTypeChanged: method void 
org.apache.logging.log4j.core.appender.db.AbstractDatabaseAppender<T extends 
org.apache.logging.log4j.core.appender.db.AbstractDatabaseManager>::stop(): The 
return type changed from 'void' to  'boolean'.
[ERROR] java.method.returnTypeChanged: method void 
org.apache.logging.log4j.core.appender.db.AbstractDatabaseManager::commitAndClose():
 The return type changed from 'void' to  'boolean'.
[ERROR] java.method.numberOfParametersChanged: method void 
org.apache.logging.log4j.core.appender.db.AbstractDatabaseManager::releaseSub():
 The number of parameters of the method have changed.
[ERROR] java.method.returnTypeChanged: method void 
org.apache.logging.log4j.core.appender.db.AbstractDatabaseManager::releaseSub():
 The return type changed from 'void' to  'boolean'.
[ERROR] java.method.returnTypeChanged: method void 
org.apache.logging.log4j.core.appender.db.AbstractDatabaseManager::shutdown(): 
The return type changed from 'void' to  'boolean'.
[ERROR] java.method.returnTypeChanged: method void 
org.apache.logging.log4j.core.appender.db.AbstractDatabaseManager::shutdownInternal()
 throws java.lang.Exception: The return type changed from 'void' to  'boolean'.
[ERROR] java.method.returnTypeChanged: method void 
org.apache.logging.log4j.core.appender.db.jdbc.JdbcDatabaseManager::commitAndClose():
 The return type changed from 'void' to  'boolean'.
[ERROR] java.method.returnTypeChanged: method void 
org.apache.logging.log4j.core.appender.db.jdbc.JdbcDatabaseManager::shutdownInternal():
 The return type changed from 'void' to  'boolean'.
[ERROR] java.method.returnTypeChanged: method void 
org.apache.logging.log4j.core.appender.db.jpa.JpaDatabaseManager::commitAndClose():
 The return type changed from 'void' to  'boolean'.
[ERROR] java.method.returnTypeChanged: method void 
org.apache.logging.log4j.core.appender.db.jpa.JpaDatabaseManager::shutdownInternal():
 The return type changed from 'void' to  'boolean'.
[ERROR] java.method.numberOfParametersChanged: method void 
org.apache.logging.log4j.core.appender.mom.JmsAppender::stop(): The number of 
parameters of the method have changed.
[ERROR] java.method.returnTypeChanged: method void 
org.apache.logging.log4j.core.appender.mom.JmsAppender::stop(): The return type 
changed from 'void' to  'boolean'.
[ERROR] java.method.numberOfParametersChanged: method void 
org.apache.logging.log4j.core.appender.mom.JmsManager::releaseSub(): The number 
of parameters of the method have changed.
[ERROR] java.method.returnTypeChanged: method void 
org.apache.logging.log4j.core.appender.mom.JmsManager::releaseSub(): The return 
type changed from 'void' to  'boolean'.
[ERROR] java.method.numberOfParametersChanged: method void 
org.apache.logging.log4j.core.appender.mom.jeromq.JeroMqAppender::stop(): The 
number of parameters of the method have changed.
[ERROR] java.method.returnTypeChanged: method void 
org.apache.logging.log4j.core.appender.mom.jeromq.JeroMqAppender::stop(): The 
return type changed from 'void' to  'boolean'.
[ERROR] java.method.numberOfParametersChanged: method void 
org.apache.logging.log4j.core.appender.mom.jeromq.JeroMqManager::releaseSub(): 
The number of parameters of the method have changed.
[ERROR] java.method.returnTypeChanged: method void 
org.apache.logging.log4j.core.appender.mom.jeromq.JeroMqManager::releaseSub(): 
The return type changed from 'void' to  'boolean'.
[ERROR] java.method.numberOfParametersChanged: method 
org.apache.logging.log4j.core.appender.mom.kafka.KafkaAppender 
org.apache.logging.log4j.core.appender.mom.kafka.KafkaAppender::createAppender(org.apache.logging.log4j.core.Layout<?
 extends java.io.Serializable>, org.apache.logging.log4j.core.Filter, 
java.lang.String, boolean, java.lang.String, 
org.apache.logging.log4j.core.config.Property[]): The number of parameters of 
the method have changed.
[ERROR] java.method.numberOfParametersChanged: method void 
org.apache.logging.log4j.core.appender.mom.kafka.KafkaAppender::stop(): The 
number of parameters of the method have changed.
[ERROR] java.method.returnTypeChanged: method void 
org.apache.logging.log4j.core.appender.mom.kafka.KafkaAppender::stop(): The 
return type changed from 'void' to  'boolean'.
[ERROR] java.method.numberOfParametersChanged: method void 
org.apache.logging.log4j.core.appender.mom.kafka.KafkaManager::<init>(java.lang.String,
 java.lang.String, org.apache.logging.log4j.core.config.Property[]): The number 
of parameters of the method have changed.
[ERROR] java.method.numberOfParametersChanged: method void 
org.apache.logging.log4j.core.appender.mom.kafka.KafkaManager::releaseSub(): 
The number of parameters of the method have changed.
[ERROR] java.method.returnTypeChanged: method void 
org.apache.logging.log4j.core.appender.mom.kafka.KafkaManager::releaseSub(): 
The return type changed from 'void' to  'boolean'.
[ERROR] java.field.removed: field 
org.apache.logging.log4j.core.appender.rolling.DefaultRolloverStrategy.LOGGER: 
Field removed from class.
[ERROR] java.method.numberOfParametersChanged: method 
org.apache.logging.log4j.core.appender.rolling.RollingFileManager 
org.apache.logging.log4j.core.appender.rolling.RollingFileManager::getFileManager(java.lang.String,
 java.lang.String, boolean, boolean, 
org.apache.logging.log4j.core.appender.rolling.TriggeringPolicy, 
org.apache.logging.log4j.core.appender.rolling.RolloverStrategy, 
java.lang.String, org.apache.logging.log4j.core.Layout<? extends 
java.io.Serializable>, int, boolean): The number of parameters of the method 
have changed.
[ERROR] java.method.numberOfParametersChanged: method void 
org.apache.logging.log4j.core.appender.rolling.RollingRandomAccessFileManager::<init>(java.io.RandomAccessFile,
 java.lang.String, java.lang.String, java.io.OutputStream, boolean, boolean, 
int, long, long, 
org.apache.logging.log4j.core.appender.rolling.TriggeringPolicy, 
org.apache.logging.log4j.core.appender.rolling.RolloverStrategy, 
java.lang.String, org.apache.logging.log4j.core.Layout<? extends 
java.io.Serializable>, boolean): The number of parameters of the method have 
changed.
[ERROR] java.method.numberOfParametersChanged: method 
org.apache.logging.log4j.core.appender.rolling.RollingRandomAccessFileManager 
org.apache.logging.log4j.core.appender.rolling.RollingRandomAccessFileManager::getRollingRandomAccessFileManager(java.lang.String,
 java.lang.String, boolean, boolean, int, 
org.apache.logging.log4j.core.appender.rolling.TriggeringPolicy, 
org.apache.logging.log4j.core.appender.rolling.RolloverStrategy, 
java.lang.String, org.apache.logging.log4j.core.Layout<? extends 
java.io.Serializable>): The number of parameters of the method have changed.
[ERROR] java.method.numberOfParametersChanged: method void 
org.apache.logging.log4j.core.appender.routing.IdlePurgePolicy::<init>(long, 
org.apache.logging.log4j.core.config.ConfigurationScheduler): The number of 
parameters of the method have changed.
[ERROR] java.method.numberOfParametersChanged: method 
org.apache.logging.log4j.core.appender.routing.PurgePolicy 
org.apache.logging.log4j.core.appender.routing.IdlePurgePolicy::createPurgePolicy(java.lang.String,
 java.lang.String, org.apache.logging.log4j.core.config.Configuration): The 
number of parameters of the method have changed.
[ERROR] java.method.numberOfParametersChanged: method void 
org.apache.logging.log4j.core.appender.routing.IdlePurgePolicy::stop(): The 
number of parameters of the method have changed.
[ERROR] java.method.returnTypeChanged: method void 
org.apache.logging.log4j.core.appender.routing.IdlePurgePolicy::stop(): The 
return type changed from 'void' to  'boolean'.
[ERROR] java.method.numberOfParametersChanged: method void 
org.apache.logging.log4j.core.appender.routing.RoutingAppender::stop(): The 
number of parameters of the method have changed.
[ERROR] java.method.returnTypeChanged: method void 
org.apache.logging.log4j.core.appender.routing.RoutingAppender::stop(): The 
return type changed from 'void' to  'boolean'.
[ERROR] java.method.numberOfParametersChanged: method void 
org.apache.logging.log4j.core.async.AsyncLoggerConfig::stop(): The number of 
parameters of the method have changed.
[ERROR] java.method.returnTypeChanged: method void 
org.apache.logging.log4j.core.async.AsyncLoggerConfig::stop(): The return type 
changed from 'void' to  'boolean'.
[ERROR] java.method.numberOfParametersChanged: method void 
org.apache.logging.log4j.core.async.AsyncLoggerConfigDisruptor::stop(): The 
number of parameters of the method have changed.
[ERROR] java.method.returnTypeChanged: method void 
org.apache.logging.log4j.core.async.AsyncLoggerConfigDisruptor::stop(): The 
return type changed from 'void' to  'boolean'.
[ERROR] java.method.numberOfParametersChanged: method void 
org.apache.logging.log4j.core.async.AsyncLoggerContext::stop(): The number of 
parameters of the method have changed.
[ERROR] java.method.returnTypeChanged: method void 
org.apache.logging.log4j.core.async.AsyncLoggerContext::stop(): The return type 
changed from 'void' to  'boolean'.
[ERROR] java.class.removed: class 
org.apache.logging.log4j.core.async.DaemonThreadFactory: Class was removed.
[ERROR] java.method.removed: method void 
org.apache.logging.log4j.core.async.RingBufferLogEvent::mergePropertiesIntoContextMap(java.util.Map<org.apache.logging.log4j.core.config.Property,
 java.lang.Boolean>, org.apache.logging.log4j.core.lookup.StrSubstitutor): 
Method was removed.
[ERROR] java.method.parameterTypeChanged: method parameter void 
org.apache.logging.log4j.core.async.RingBufferLogEvent::setValues(org.apache.logging.log4j.core.async.AsyncLogger,
 java.lang.String, org.apache.logging.log4j.Marker, java.lang.String, 
org.apache.logging.log4j.Level, org.apache.logging.log4j.message.Message, 
java.lang.Throwable, ===java.util.Map<java.lang.String, 
java.lang.String>===,org.apache.logging.log4j.ThreadContext.ContextStack, long, 
java.lang.String, int, java.lang.StackTraceElement, long, long): The type of 
the parameter changed from 'java.util.Map<java.lang.String, java.lang.String>' 
to 'org.apache.logging.log4j.spi.MutableContextData'.
[ERROR] java.method.numberOfParametersChanged: method void 
org.apache.logging.log4j.core.async.RingBufferLogEventTranslator::setBasicValues(org.apache.logging.log4j.core.async.AsyncLogger,
 java.lang.String, org.apache.logging.log4j.Marker, java.lang.String, 
org.apache.logging.log4j.Level, org.apache.logging.log4j.message.Message, 
java.lang.Throwable, java.util.Map<java.lang.String, java.lang.String>, 
org.apache.logging.log4j.ThreadContext.ContextStack, 
java.lang.StackTraceElement, long, long): The number of parameters of the 
method have changed.
[ERROR] java.method.numberOfParametersChanged: method void 
org.apache.logging.log4j.core.config.AbstractConfiguration::<init>(org.apache.logging.log4j.core.config.ConfigurationSource):
 The number of parameters of the method have changed.
[ERROR] java.method.numberOfParametersChanged: method void 
org.apache.logging.log4j.core.config.AbstractConfiguration::stop(): The number 
of parameters of the method have changed.
[ERROR] java.method.returnTypeChanged: method void 
org.apache.logging.log4j.core.config.AbstractConfiguration::stop(): The return 
type changed from 'void' to  'boolean'.
[ERROR] java.method.addedToInterface: method 
org.apache.logging.log4j.core.LoggerContext 
org.apache.logging.log4j.core.config.Configuration::getLoggerContext(): Method 
was added to an interface.
[ERROR] java.method.numberOfParametersChanged: method 
org.apache.logging.log4j.core.config.Configuration 
org.apache.logging.log4j.core.config.ConfigurationFactory::getConfiguration(java.lang.String,
 java.net.URI): The number of parameters of the method have changed.
[ERROR] java.method.numberOfParametersChanged: method 
org.apache.logging.log4j.core.config.Configuration 
org.apache.logging.log4j.core.config.ConfigurationFactory::getConfiguration(java.lang.String,
 java.net.URI, java.lang.ClassLoader): The number of parameters of the method 
have changed.
[ERROR] java.method.numberOfParametersChanged: method 
org.apache.logging.log4j.core.config.Configuration 
org.apache.logging.log4j.core.config.ConfigurationFactory::getConfiguration(org.apache.logging.log4j.core.config.ConfigurationSource):
 The number of parameters of the method have changed.
[ERROR] java.method.numberOfParametersChanged: method void 
org.apache.logging.log4j.core.config.ConfigurationScheduler::stop(): The number 
of parameters of the method have changed.
[ERROR] java.method.returnTypeChanged: method void 
org.apache.logging.log4j.core.config.ConfigurationScheduler::stop(): The return 
type changed from 'void' to  'boolean'.
[ERROR] java.method.addedToInterface: method 
org.apache.logging.log4j.core.config.builder.api.ConfigurationBuilder<T> 
org.apache.logging.log4j.core.config.builder.api.ConfigurationBuilder<T extends 
org.apache.logging.log4j.core.config.Configuration>::setDestination(java.lang.String):
 Method was added to an interface.
[ERROR] java.method.addedToInterface: method void 
org.apache.logging.log4j.core.config.builder.api.ConfigurationBuilder<T extends 
org.apache.logging.log4j.core.config.Configuration>::setLoggerContext(org.apache.logging.log4j.core.LoggerContext):
 Method was added to an interface.
[ERROR] java.method.addedToInterface: method java.lang.String 
org.apache.logging.log4j.core.config.builder.api.ConfigurationBuilder<T extends 
org.apache.logging.log4j.core.config.Configuration>::toXmlConfiguration(): 
Method was added to an interface.
[ERROR] java.method.addedToInterface: method void 
org.apache.logging.log4j.core.config.builder.api.ConfigurationBuilder<T extends 
org.apache.logging.log4j.core.config.Configuration>::writeXmlConfiguration(java.io.OutputStream)
 throws java.io.IOException: Method was added to an interface.
[ERROR] java.method.numberOfParametersChanged: method void 
org.apache.logging.log4j.core.config.builder.impl.BuiltConfiguration::<init>(org.apache.logging.log4j.core.config.ConfigurationSource,
 org.apache.logging.log4j.core.config.builder.api.Component): The number of 
parameters of the method have changed.
[ERROR] java.method.numberOfParametersChanged: method void 
org.apache.logging.log4j.core.config.json.JsonConfiguration::<init>(org.apache.logging.log4j.core.config.ConfigurationSource):
 The number ofparameters of the method have changed.
[ERROR] java.method.numberOfParametersChanged: method 
org.apache.logging.log4j.core.config.Configuration 
org.apache.logging.log4j.core.config.json.JsonConfigurationFactory::getConfiguration(org.apache.logging.log4j.core.config.ConfigurationSource):
 The number of parameters of the method have changed.
[ERROR] java.method.numberOfParametersChanged: method void 
org.apache.logging.log4j.core.config.properties.PropertiesConfiguration::<init>(org.apache.logging.log4j.core.config.ConfigurationSource,
 org.apache.logging.log4j.core.config.builder.api.Component): The number of 
parameters of the method have changed.
[ERROR] java.method.numberOfParametersChanged: method 
org.apache.logging.log4j.core.config.properties.PropertiesConfiguration 
org.apache.logging.log4j.core.config.properties.PropertiesConfigurationFactory::getConfiguration(org.apache.logging.log4j.core.config.ConfigurationSource):
 The number of parameters of the method have changed.
[ERROR] java.method.numberOfParametersChanged: method void 
org.apache.logging.log4j.core.config.xml.XmlConfiguration::<init>(org.apache.logging.log4j.core.config.ConfigurationSource):
 The number of parameters of the method have changed.
[ERROR] java.method.numberOfParametersChanged: method 
org.apache.logging.log4j.core.config.Configuration 
org.apache.logging.log4j.core.config.xml.XmlConfigurationFactory::getConfiguration(org.apache.logging.log4j.core.config.ConfigurationSource):
 The number of parameters of the method have changed.
[ERROR] java.method.numberOfParametersChanged: method void 
org.apache.logging.log4j.core.config.yaml.YamlConfiguration::<init>(org.apache.logging.log4j.core.config.ConfigurationSource):
 The number ofparameters of the method have changed.
[ERROR] java.method.numberOfParametersChanged: method 
org.apache.logging.log4j.core.config.Configuration 
org.apache.logging.log4j.core.config.yaml.YamlConfigurationFactory::getConfiguration(org.apache.logging.log4j.core.config.ConfigurationSource):
 The number of parameters of the method have changed.
[ERROR] java.method.numberOfParametersChanged: method void 
org.apache.logging.log4j.core.filter.AbstractFilterable::stop(): The number of 
parameters of the method have changed.
[ERROR] java.method.returnTypeChanged: method void 
org.apache.logging.log4j.core.filter.AbstractFilterable::stop(): The return 
type changed from 'void' to  'boolean'.
[ERROR] java.method.visibilityReduced: method void 
org.apache.logging.log4j.core.filter.AbstractFilterable::stop(): visibility 
reduced
[ERROR] java.method.numberOfParametersChanged: method void 
org.apache.logging.log4j.core.filter.CompositeFilter::stop(): The number of 
parameters of the method have changed.
[ERROR] java.method.returnTypeChanged: method void 
org.apache.logging.log4j.core.filter.CompositeFilter::stop(): The return type 
changed from 'void' to  'boolean'.
[ERROR] java.method.removed: method void 
org.apache.logging.log4j.core.impl.MutableLogEvent::setContextMap(java.util.Map<java.lang.String,
 java.lang.String>): Method was removed.
[ERROR] java.method.numberOfParametersChanged: method void 
org.apache.logging.log4j.core.impl.ThrowableFormatOptions::<init>(int, 
java.lang.String, java.util.List<java.lang.String>): The number of parameters 
of the method have changed.
[ERROR] java.method.removed: method java.util.List<java.lang.String> 
org.apache.logging.log4j.core.impl.ThrowableFormatOptions::getPackages(): 
Method was removed.
[ERROR] java.method.numberOfParametersChanged: method void 
org.apache.logging.log4j.core.jackson.Log4jJsonObjectMapper::<init>(boolean): 
The number of parameters of the method have changed.
[ERROR] java.method.numberOfParametersChanged: method void 
org.apache.logging.log4j.core.jackson.Log4jYamlObjectMapper::<init>(boolean): 
The number of parameters of the method have changed.
[ERROR] java.method.numberOfParametersChanged: method void 
org.apache.logging.log4j.core.layout.JsonLayout::<init>(org.apache.logging.log4j.core.config.Configuration,
 boolean, boolean, boolean, boolean, boolean, boolean, java.lang.String, 
java.lang.String, java.nio.charset.Charset): The number of parameters of the 
method have changed.
[ERROR] java.method.numberOfParametersChanged: method 
org.apache.logging.log4j.core.layout.JsonLayout 
org.apache.logging.log4j.core.layout.JsonLayout::createLayout(org.apache.logging.log4j.core.config.Configuration,
 boolean, boolean, boolean, boolean, boolean, boolean, java.lang.String, 
java.lang.String, java.nio.charset.Charset): The number of parameters of the 
method have changed.
[ERROR] java.field.constantValueChanged: field 
org.apache.logging.log4j.core.layout.PatternLayout.TTCC_CONVERSION_PATTERN: 
Constant field changed value from '%r [%t] %p %c %x - %m%n' to '%r [%t] %p %c 
%notEmpty{%x }- %m%n'.
[ERROR] java.method.numberOfParametersChanged: method void 
org.apache.logging.log4j.core.layout.XmlLayout::<init>(boolean, boolean, 
boolean, boolean, java.nio.charset.Charset): The number of parameters of the 
method have changed.
[ERROR] java.method.numberOfParametersChanged: method 
org.apache.logging.log4j.core.layout.XmlLayout 
org.apache.logging.log4j.core.layout.XmlLayout::createLayout(boolean, boolean, 
boolean, boolean, java.nio.charset.Charset): The number of parameters of the 
method have changed.
[ERROR] java.method.numberOfParametersChanged: method void 
org.apache.logging.log4j.core.layout.YamlLayout::<init>(org.apache.logging.log4j.core.config.Configuration,
 boolean, boolean, boolean, boolean, boolean, java.lang.String, 
java.lang.String, java.nio.charset.Charset): The number of parameters of the 
method have changed.
[ERROR] java.method.numberOfParametersChanged: method 
org.apache.logging.log4j.core.layout.AbstractJacksonLayout 
org.apache.logging.log4j.core.layout.YamlLayout::createLayout(org.apache.logging.log4j.core.config.Configuration,
 boolean, boolean, java.lang.String, java.lang.String, 
java.nio.charset.Charset): The number of parameters of the method have changed.
[ERROR] java.method.numberOfParametersChanged: method void 
org.apache.logging.log4j.core.net.AbstractSocketManager::<init>(java.lang.String,
 java.io.OutputStream, java.net.InetAddress, java.lang.String, int, 
org.apache.logging.log4j.core.Layout<? extends java.io.Serializable>, boolean): 
The number of parameters of the method have changed.
[ERROR] java.method.numberOfParametersChanged: method void 
org.apache.logging.log4j.core.net.DatagramSocketManager::<init>(java.lang.String,
 java.io.OutputStream, java.net.InetAddress, java.lang.String, int, 
org.apache.logging.log4j.core.Layout<? extends java.io.Serializable>): The 
number of parameters of the method have changed.
[ERROR] java.method.numberOfParametersChanged: method 
org.apache.logging.log4j.core.net.DatagramSocketManager 
org.apache.logging.log4j.core.net.DatagramSocketManager::getSocketManager(java.lang.String,
 int, org.apache.logging.log4j.core.Layout<? extends java.io.Serializable>): 
The number of parameters of the method have changed.
[ERROR] java.method.numberOfParametersChanged: method void 
org.apache.logging.log4j.core.net.JndiManager::releaseSub(): The number of 
parameters of the method have changed.
[ERROR] java.method.returnTypeChanged: method void 
org.apache.logging.log4j.core.net.JndiManager::releaseSub(): The return type 
changed from 'void' to  'boolean'.
[ERROR] java.method.numberOfParametersChanged: method void 
org.apache.logging.log4j.core.net.SslSocketManager::<init>(java.lang.String, 
java.io.OutputStream, java.net.Socket, 
org.apache.logging.log4j.core.net.ssl.SslConfiguration, java.net.InetAddress, 
java.lang.String, int, int, int, boolean, 
org.apache.logging.log4j.core.Layout<? extends java.io.Serializable>): The 
number of parameters of the method have changed.
[ERROR] java.method.numberOfParametersChanged: method 
org.apache.logging.log4j.core.net.SslSocketManager 
org.apache.logging.log4j.core.net.SslSocketManager::getSocketManager(org.apache.logging.log4j.core.net.ssl.SslConfiguration,
 java.lang.String, int, int, int, boolean, 
org.apache.logging.log4j.core.Layout<? extends java.io.Serializable>): The 
number of parameters of the method have changed.
[ERROR] java.method.numberOfParametersChanged: method void 
org.apache.logging.log4j.core.net.TcpSocketManager::<init>(java.lang.String, 
java.io.OutputStream, java.net.Socket, java.net.InetAddress, java.lang.String, 
int, int, int, boolean, org.apache.logging.log4j.core.Layout<? extends 
java.io.Serializable>): The number of parameters of the method have changed.
[ERROR] java.method.numberOfParametersChanged: method 
org.apache.logging.log4j.core.net.TcpSocketManager 
org.apache.logging.log4j.core.net.TcpSocketManager::getSocketManager(java.lang.String,
 int, int, int, boolean, org.apache.logging.log4j.core.Layout<? extends 
java.io.Serializable>): The number of parameters of the method have changed.
[ERROR] java.method.numberOfParametersChanged: method 
org.apache.logging.log4j.core.config.Configuration 
org.apache.logging.log4j.core.net.server.AbstractSocketServer.ServerConfigurationFactory::getConfiguration(java.lang.String,
 java.net.URI): The number of parameters of the method have changed.
[ERROR] java.method.removed: method <T> T 
org.apache.logging.log4j.core.util.Assert::requireNonNull(T, java.lang.String): 
Method was removed.
[ERROR] java.method.parameterTypeChanged: method parameter void 
org.apache.logging.log4j.core.util.Closer::closeSilently(===java.io.Closeable===):
 The type of the parameter changed from 'java.io.Closeable' to 
'java.sql.Statement'.
[ERROR] java.method.parameterTypeChanged: method parameter void 
org.apache.logging.log4j.core.util.Closer::closeSilently(===java.sql.Statement===):
 The type of the parameter changed from 'java.sql.Statement' to 
'java.io.Closeable'.
[ERROR] java.method.returnTypeChanged: method void 
org.apache.logging.log4j.core.util.Closer::closeSilently(java.sql.Statement): 
The return type changed from 'void' to  'boolean'.
[ERROR] java.field.removed: field 
org.apache.logging.log4j.core.util.Constants.UTF_8: Field removed from class.
[ERROR] java.method.returnTypeChanged: method void 
org.apache.logging.log4j.core.util.JndiCloser::closeSilently(javax.naming.Context):
 The return type changed from 'void' to  'boolean'.
[ERROR] java.method.removed: method java.lang.Class<?> 
org.apache.logging.log4j.core.util.Loader::loadClass(java.lang.String) throws 
java.lang.ClassNotFoundException: Method was removed.
[ERROR] java.method.visibilityReduced: method void 
org.apache.logging.log4j.core.util.NullOutputStream::<init>(): visibility 
reduced
[ERROR] java.method.numberOfParametersChanged: method void 
org.apache.logging.log4j.core.util.WatchManager::stop(): The number of 
parameters of the method have changed.
[ERROR] java.method.returnTypeChanged: method void 
org.apache.logging.log4j.core.util.WatchManager::stop(): The return type 
changed from 'void' to  'boolean'.
{noformat}



> Better automated backwards compatibility checking
> -------------------------------------------------
>
>                 Key: LOG4J2-1576
>                 URL: https://issues.apache.org/jira/browse/LOG4J2-1576
>             Project: Log4j 2
>          Issue Type: Improvement
>    Affects Versions: 2.7
>            Reporter: Remko Popma
>
> I have trouble running Clirr on a machine that only has Java 8 (ran into the 
> "Invalid byte tag in constant pool" problem) so I started to look at 
> alternatives. These two seem promising:
> * [javacmp|https://siom79.github.io/japicmp/]
> * [Revapi|http://revapi.org/]
> h4. Revapi Configuration
> More docs are [here|http://revapi.org/getting-started.html]. Very quick:
> $\{root}/pom.xml
> {code}
> <plugin>
>   <groupId>org.revapi</groupId>
>   <artifactId>revapi-maven-plugin</artifactId>
>   <version>0.5.1</version>
>   <dependencies>
>     <dependency>
>       <groupId>org.revapi</groupId>
>       <artifactId>revapi-java</artifactId>
>       <version>0.10.1</version>
>     </dependency>
>   </dependencies>
>   <configuration>
>   </configuration>
>   <executions>
>     <execution>
>       <id>api-check</id>
>       <goals><goal>check</goal></goals>
>     </execution>
>   </executions>
> </plugin>
> {code}
> $\{root}/log4j-api/pom.xml and $\{root}/log4j-core/pom.xml
> {code}
> <plugin>
>   <groupId>org.revapi</groupId>
>   <artifactId>revapi-maven-plugin</artifactId>
>   <version>0.5.1</version>
>   <configuration>
>     <oldArtifacts>
>       <artifact>${project.groupId}:${project.artifactId}:2.6.2</artifact>
>     </oldArtifacts>
>     <newArtifacts>
>       
> <artifact>${project.groupId}:${project.artifactId}:${project.version}</artifact>
>     </newArtifacts>
>   </configuration>
>   <executions>
>     <execution>
>       <id>api-check</id>
>       <goals><goal>check</goal></goals>
>     </execution>
>   </executions>
> </plugin>
> {code}
> $\{root}/log4j-bom/pom.xml
> {code}
> <plugin>
> <groupId>org.revapi</groupId>
> <artifactId>revapi-maven-plugin</artifactId>
> <version>0.5.1</version>
> <dependencies>
>   <dependency>
>     <groupId>org.revapi</groupId>
>     <artifactId>revapi-java</artifactId>
>     <version>0.10.1</version>
>   </dependency>
> </dependencies>
> </plugin>
> {code}
> h4. Revapi Maven Plugin
> Docs are [here|http://revapi.org/modules/revapi-maven-plugin/index.html]. 
> After running {{mvn revapi:check}}, it finds a lot. There is a mechanism to 
> suppress findings in a fine-grained way.
> {noformat}
> [ERROR] java.class.removed: class 
> org.apache.logging.log4j.core.async.DaemonThreadFactory: Class was removed.
> [ERROR] java.field.constantValueChanged: field 
> org.apache.logging.log4j.core.layout.PatternLayout.TTCC_CONVERSION_PATTERN: 
> Constant field changed value from '%r [%t] %p %c %x - %m%n' to '%r [%t] %p %c 
> %notEmpty{%x }- %m%n'.
> [ERROR] java.field.removed: field 
> org.apache.logging.log4j.core.appender.rolling.DefaultRolloverStrategy.LOGGER:
>  Field removed from class.
> [ERROR] java.field.removed: field 
> org.apache.logging.log4j.core.util.Constants.UTF_8: Field removed from class.
> [ERROR] java.generics.formalTypeParameterAdded: class 
> org.apache.logging.log4j.core.appender.ConsoleAppender.Builder: A new formal 
> type parameter added to element: 'B extends 
> org.apache.logging.log4j.core.appender.ConsoleAppender.Builder<B extends 
> org.apache.logging.log4j.core.appender.ConsoleAppender.Builder<B>>'.
> [ERROR] java.generics.formalTypeParameterAdded: method 
> org.apache.logging.log4j.core.appender.ConsoleAppender.Builder 
> org.apache.logging.log4j.core.appender.ConsoleAppender::newBuilder(): A new 
> formal type parameter added to element: 'B extends 
> org.apache.logging.log4j.core.appender.ConsoleAppender.Builder<B extends 
> org.apache.logging.log4j.core.appender.ConsoleAppender.Builder<B>>'.
> [ERROR] java.method.addedToInterface: method boolean 
> org.apache.logging.log4j.core.LifeCycle::stop(long, 
> java.util.concurrent.TimeUnit): Method was added to an interface.
> [ERROR] java.method.addedToInterface: method java.lang.String 
> org.apache.logging.log4j.core.config.builder.api.ConfigurationBuilder<T 
> extends 
> org.apache.logging.log4j.core.config.Configuration>::toXmlConfiguration(): 
> Method was added to an interface.
> [ERROR] java.method.addedToInterface: method 
> org.apache.logging.log4j.core.LoggerContext 
> org.apache.logging.log4j.core.config.Configuration::getLoggerContext(): 
> Method was added to an interface.
> [ERROR] java.method.addedToInterface: method 
> org.apache.logging.log4j.core.config.builder.api.ConfigurationBuilder<T> 
> org.apache.logging.log4j.core.config.builder.api.ConfigurationBuilder<T 
> extends 
> org.apache.logging.log4j.core.config.Configuration>::setDestination(java.lang.String):
>  Method was added to an interface.
> [ERROR] java.method.addedToInterface: method 
> org.apache.logging.log4j.spi.ContextData 
> org.apache.logging.log4j.core.LogEvent::getContextData(): Method was added to 
> an interface.
> [ERROR] java.method.addedToInterface: method void 
> org.apache.logging.log4j.core.config.builder.api.ConfigurationBuilder<T 
> extends 
> org.apache.logging.log4j.core.config.Configuration>::setLoggerContext(org.apache.logging.log4j.core.LoggerContext):
>  Method was added to an interface.
> [ERROR] java.method.addedToInterface: method void 
> org.apache.logging.log4j.core.config.builder.api.ConfigurationBuilder<T 
> extends 
> org.apache.logging.log4j.core.config.Configuration>::writeXmlConfiguration(java.io.OutputStream)
>  throws java.io.IOException: Method was added to an interface.
> [ERROR] java.method.exception.checkedAdded: method java.io.OutputStream 
> org.apache.logging.log4j.core.appender.OutputStreamManager::getOutputStream():
>  Method newly throws checked exceptions: [java.io.IOException].
> [ERROR] java.method.numberOfParametersChanged: method 
> org.apache.logging.log4j.core.appender.FileManager 
> org.apache.logging.log4j.core.appender.FileManager::getFileManager(java.lang.String,
>  boolean, boolean, boolean, java.lang.String, 
> org.apache.logging.log4j.core.Layout<? extends java.io.Serializable>, int, 
> boolean): The number of parameters of the method have changed.
> [ERROR] java.method.numberOfParametersChanged: method 
> org.apache.logging.log4j.core.appender.RandomAccessFileManager 
> org.apache.logging.log4j.core.appender.RandomAccessFileManager::getFileManager(java.lang.String,
>  boolean, boolean, int, java.lang.String, 
> org.apache.logging.log4j.core.Layout<? extends java.io.Serializable>): The 
> number of parameters of the method have changed.
> [ERROR] java.method.numberOfParametersChanged: method 
> org.apache.logging.log4j.core.appender.mom.kafka.KafkaAppender 
> org.apache.logging.log4j.core.appender.mom.kafka.KafkaAppender::createAppender(org.apache.logging.log4j.core.Layout<?
>  extends java.io.Serializable>, org.apache.logging.log4j.core.Filter, 
> java.lang.String, boolean, java.lang.String, 
> org.apache.logging.log4j.core.config.Property[]): The number of parameters of 
> the method have changed.
> [ERROR] java.method.numberOfParametersChanged: method 
> org.apache.logging.log4j.core.appender.rolling.RollingFileManager 
> org.apache.logging.log4j.core.appender.rolling.RollingFileManager::getFileManager(java.lang.String,
>  java.lang.String, boolean, boolean, 
> org.apache.logging.log4j.core.appender.rolling.TriggeringPolicy, 
> org.apache.logging.log4j.core.appender.rolling.RolloverStrategy, 
> java.lang.String, org.apache.logging.log4j.core.Layout<? extends 
> java.io.Serializable>, int, boolean): The number of parameters of the method 
> have changed.
> [ERROR] java.method.numberOfParametersChanged: method 
> org.apache.logging.log4j.core.appender.rolling.RollingRandomAccessFileManager 
> org.apache.logging.log4j.core.appender.rolling.RollingRandomAccessFileManager::getRollingRandomAccessFileManager(java.lang.String,
>  java.lang.String, boolean, boolean, int, 
> org.apache.logging.log4j.core.appender.rolling.TriggeringPolicy, 
> org.apache.logging.log4j.core.appender.rolling.RolloverStrategy, 
> java.lang.String, org.apache.logging.log4j.core.Layout<? extends 
> java.io.Serializable>): The number of parameters of the method have changed.
> [ERROR] java.method.numberOfParametersChanged: method 
> org.apache.logging.log4j.core.appender.routing.PurgePolicy 
> org.apache.logging.log4j.core.appender.routing.IdlePurgePolicy::createPurgePolicy(java.lang.String,
>  java.lang.String, org.apache.logging.log4j.core.config.Configuration): The 
> number of parameters of the method have changed.
> [ERROR] java.method.numberOfParametersChanged: method 
> org.apache.logging.log4j.core.config.Configuration 
> org.apache.logging.log4j.core.config.ConfigurationFactory::getConfiguration(java.lang.String,
>  java.net.URI): The number of parameters of the method have changed.
> [ERROR] java.method.numberOfParametersChanged: method 
> org.apache.logging.log4j.core.config.Configuration 
> org.apache.logging.log4j.core.config.ConfigurationFactory::getConfiguration(java.lang.String,
>  java.net.URI, java.lang.ClassLoader): The number of parameters of the method 
> have changed.
> [ERROR] java.method.numberOfParametersChanged: method 
> org.apache.logging.log4j.core.config.Configuration 
> org.apache.logging.log4j.core.config.ConfigurationFactory::getConfiguration(org.apache.logging.log4j.core.config.ConfigurationSource):
>  The number of parameters of the method have changed.
> [ERROR] java.method.numberOfParametersChanged: method 
> org.apache.logging.log4j.core.config.Configuration 
> org.apache.logging.log4j.core.config.json.JsonConfigurationFactory::getConfiguration(org.apache.logging.log4j.core.config.ConfigurationSource):
>  The number of parameters of the method have changed.
> [ERROR] java.method.numberOfParametersChanged: method 
> org.apache.logging.log4j.core.config.Configuration 
> org.apache.logging.log4j.core.config.xml.XmlConfigurationFactory::getConfiguration(org.apache.logging.log4j.core.config.ConfigurationSource):
>  The number of parameters of the method have changed.
> [ERROR] java.method.numberOfParametersChanged: method 
> org.apache.logging.log4j.core.config.Configuration 
> org.apache.logging.log4j.core.config.yaml.YamlConfigurationFactory::getConfiguration(org.apache.logging.log4j.core.config.ConfigurationSource):
>  The number of parameters of the method have changed.
> [ERROR] java.method.numberOfParametersChanged: method 
> org.apache.logging.log4j.core.config.Configuration 
> org.apache.logging.log4j.core.net.server.AbstractSocketServer.ServerConfigurationFactory::getConfiguration(java.lang.String,
>  java.net.URI): The number of parameters of the method have changed.
> [ERROR] java.method.numberOfParametersChanged: method 
> org.apache.logging.log4j.core.config.properties.PropertiesConfiguration 
> org.apache.logging.log4j.core.config.properties.PropertiesConfigurationFactory::getConfiguration(org.apache.logging.log4j.core.config.ConfigurationSource):
>  The number of parameters of the method have changed.
> [ERROR] java.method.numberOfParametersChanged: method 
> org.apache.logging.log4j.core.layout.AbstractJacksonLayout 
> org.apache.logging.log4j.core.layout.YamlLayout::createLayout(org.apache.logging.log4j.core.config.Configuration,
>  boolean, boolean, java.lang.String, java.lang.String, 
> java.nio.charset.Charset): The number of parameters of the method have 
> changed.
> [ERROR] java.method.numberOfParametersChanged: method 
> org.apache.logging.log4j.core.layout.JsonLayout 
> org.apache.logging.log4j.core.layout.JsonLayout::createLayout(org.apache.logging.log4j.core.config.Configuration,
>  boolean, boolean, boolean, boolean, boolean, boolean, java.lang.String, 
> java.lang.String, java.nio.charset.Charset): The number of parameters of the 
> method have changed.
> [ERROR] java.method.numberOfParametersChanged: method 
> org.apache.logging.log4j.core.layout.XmlLayout 
> org.apache.logging.log4j.core.layout.XmlLayout::createLayout(boolean, 
> boolean, boolean, boolean, java.nio.charset.Charset): The number of 
> parameters of the method have changed.
> [ERROR] java.method.numberOfParametersChanged: method 
> org.apache.logging.log4j.core.net.AbstractSocketManager 
> org.apache.logging.log4j.core.appender.SocketAppender::createSocketManager(java.lang.String,
>  org.apache.logging.log4j.core.net.Protocol, java.lang.String, int, int, 
> org.apache.logging.log4j.core.net.ssl.SslConfiguration, int, boolean, 
> org.apache.logging.log4j.core.Layout<? extends java.io.Serializable>): The 
> number of parameters of the method have changed.
> [ERROR] java.method.numberOfParametersChanged: method 
> org.apache.logging.log4j.core.net.DatagramSocketManager 
> org.apache.logging.log4j.core.net.DatagramSocketManager::getSocketManager(java.lang.String,
>  int, org.apache.logging.log4j.core.Layout<? extends java.io.Serializable>): 
> The number of parameters of the method have changed.
> [ERROR] java.method.numberOfParametersChanged: method 
> org.apache.logging.log4j.core.net.SslSocketManager 
> org.apache.logging.log4j.core.net.SslSocketManager::getSocketManager(org.apache.logging.log4j.core.net.ssl.SslConfiguration,
>  java.lang.String, int, int, int, boolean, 
> org.apache.logging.log4j.core.Layout<? extends java.io.Serializable>): The 
> number of parameters of the method have changed.
> [ERROR] java.method.numberOfParametersChanged: method 
> org.apache.logging.log4j.core.net.TcpSocketManager 
> org.apache.logging.log4j.core.net.TcpSocketManager::getSocketManager(java.lang.String,
>  int, int, int, boolean, org.apache.logging.log4j.core.Layout<? extends 
> java.io.Serializable>): The number of parameters of the method have changed.
> [ERROR] java.method.numberOfParametersChanged: method void 
> org.apache.logging.log4j.core.LoggerContext::stop(): The number of parameters 
> of the method have changed.
> [ERROR] java.method.numberOfParametersChanged: method void 
> org.apache.logging.log4j.core.appender.AbstractManager::<init>(java.lang.String):
>  The number of parameters of the method have changed.
> [ERROR] java.method.numberOfParametersChanged: method void 
> org.apache.logging.log4j.core.appender.AbstractManager::releaseSub(): The 
> number of parameters of the method have changed.
> [ERROR] java.method.numberOfParametersChanged: method void 
> org.apache.logging.log4j.core.appender.AbstractOutputStreamAppender<M extends 
> org.apache.logging.log4j.core.appender.OutputStreamManager>::stop(): The 
> number of parameters of the method have changed.
> [ERROR] java.method.numberOfParametersChanged: method void 
> org.apache.logging.log4j.core.appender.AbstractWriterAppender<M extends 
> org.apache.logging.log4j.core.appender.WriterManager>::stop(): The number of 
> parameters of the method have changed.
> [ERROR] java.method.numberOfParametersChanged: method void 
> org.apache.logging.log4j.core.appender.AsyncAppender::stop(): The number of 
> parameters of the method have changed.
> [ERROR] java.method.numberOfParametersChanged: method void 
> org.apache.logging.log4j.core.appender.FileAppender::stop(): The number of 
> parameters of the method have changed.
> [ERROR] java.method.numberOfParametersChanged: method void 
> org.apache.logging.log4j.core.appender.MemoryMappedFileAppender::stop(): The 
> number of parameters of the method have changed.
> [ERROR] java.method.numberOfParametersChanged: method void 
> org.apache.logging.log4j.core.appender.OutputStreamManager::releaseSub(): The 
> number of parameters of the method have changed.
> [ERROR] java.method.numberOfParametersChanged: method void 
> org.apache.logging.log4j.core.appender.RandomAccessFileAppender::stop(): The 
> number of parameters of the method have changed.
> [ERROR] java.method.numberOfParametersChanged: method void 
> org.apache.logging.log4j.core.appender.RandomAccessFileManager::<init>(java.io.RandomAccessFile,
>  java.lang.String, java.io.OutputStream, int, java.lang.String, 
> org.apache.logging.log4j.core.Layout<? extends java.io.Serializable>, 
> boolean): The number of parameters of the method have changed.
> [ERROR] java.method.numberOfParametersChanged: method void 
> org.apache.logging.log4j.core.appender.RollingFileAppender::stop(): The 
> number of parameters of the method have changed.
> [ERROR] java.method.numberOfParametersChanged: method void 
> org.apache.logging.log4j.core.appender.RollingRandomAccessFileAppender::stop():
>  The number of parameters of the method have changed.
> [ERROR] java.method.numberOfParametersChanged: method void 
> org.apache.logging.log4j.core.appender.SocketAppender::stop(): The number of 
> parameters of the method have changed.
> [ERROR] java.method.numberOfParametersChanged: method void 
> org.apache.logging.log4j.core.appender.WriterManager::releaseSub(): The 
> number of parameters of the method have changed.
> [ERROR] java.method.numberOfParametersChanged: method void 
> org.apache.logging.log4j.core.appender.db.AbstractDatabaseAppender<T extends 
> org.apache.logging.log4j.core.appender.db.AbstractDatabaseManager>::stop(): 
> The number of parameters of the method have changed.
> [ERROR] java.method.numberOfParametersChanged: method void 
> org.apache.logging.log4j.core.appender.db.AbstractDatabaseManager::releaseSub():
>  The number of parameters of the method have changed.
> [ERROR] java.method.numberOfParametersChanged: method void 
> org.apache.logging.log4j.core.appender.mom.JmsAppender::stop(): The number of 
> parameters of the method have changed.
> [ERROR] java.method.numberOfParametersChanged: method void 
> org.apache.logging.log4j.core.appender.mom.JmsManager::releaseSub(): The 
> number of parameters of the method have changed.
> [ERROR] java.method.numberOfParametersChanged: method void 
> org.apache.logging.log4j.core.appender.mom.jeromq.JeroMqAppender::stop(): The 
> number of parameters of the method have changed.
> [ERROR] java.method.numberOfParametersChanged: method void 
> org.apache.logging.log4j.core.appender.mom.jeromq.JeroMqManager::releaseSub():
>  The number of parameters of the method have changed.
> [ERROR] java.method.numberOfParametersChanged: method void 
> org.apache.logging.log4j.core.appender.mom.kafka.KafkaAppender::stop(): The 
> number of parameters of the method have changed.
> [ERROR] java.method.numberOfParametersChanged: method void 
> org.apache.logging.log4j.core.appender.mom.kafka.KafkaManager::<init>(java.lang.String,
>  java.lang.String, org.apache.logging.log4j.core.config.Property[]): The 
> number of parameters of the method have changed.
> [ERROR] java.method.numberOfParametersChanged: method void 
> org.apache.logging.log4j.core.appender.mom.kafka.KafkaManager::releaseSub(): 
> The number of parameters of the method have changed.
> [ERROR] java.method.numberOfParametersChanged: method void 
> org.apache.logging.log4j.core.appender.rolling.RollingRandomAccessFileManager::<init>(java.io.RandomAccessFile,
>  java.lang.String, java.lang.String, java.io.OutputStream, boolean, boolean, 
> int, long, long, 
> org.apache.logging.log4j.core.appender.rolling.TriggeringPolicy, 
> org.apache.logging.log4j.core.appender.rolling.RolloverStrategy, 
> java.lang.String, org.apache.logging.log4j.core.Layout<? extends 
> java.io.Serializable>, boolean): The number of parameters of the method have 
> changed.
> [ERROR] java.method.numberOfParametersChanged: method void 
> org.apache.logging.log4j.core.appender.routing.IdlePurgePolicy::<init>(long, 
> org.apache.logging.log4j.core.config.ConfigurationScheduler): The number of 
> parameters of the method have changed.
> [ERROR] java.method.numberOfParametersChanged: method void 
> org.apache.logging.log4j.core.appender.routing.IdlePurgePolicy::stop(): The 
> number of parameters of the method have changed.
> [ERROR] java.method.numberOfParametersChanged: method void 
> org.apache.logging.log4j.core.appender.routing.RoutingAppender::stop(): The 
> number of parameters of the method have changed.
> [ERROR] java.method.numberOfParametersChanged: method void 
> org.apache.logging.log4j.core.async.AsyncLoggerConfig::stop(): The number of 
> parameters of the method have changed.
> [ERROR] java.method.numberOfParametersChanged: method void 
> org.apache.logging.log4j.core.async.AsyncLoggerConfigDisruptor::stop(): The 
> number of parameters of the method have changed.
> [ERROR] java.method.numberOfParametersChanged: method void 
> org.apache.logging.log4j.core.async.AsyncLoggerContext::stop(): The number of 
> parameters of the method have changed.
> [ERROR] java.method.numberOfParametersChanged: method void 
> org.apache.logging.log4j.core.async.RingBufferLogEventTranslator::setBasicValues(org.apache.logging.log4j.core.async.AsyncLogger,
>  java.lang.String, org.apache.logging.log4j.Marker, java.lang.String, 
> org.apache.logging.log4j.Level, org.apache.logging.log4j.message.Message, 
> java.lang.Throwable, java.util.Map<java.lang.String, java.lang.String>, 
> org.apache.logging.log4j.ThreadContext.ContextStack, 
> java.lang.StackTraceElement, long, long): The number of parameters of the 
> method have changed.
> [ERROR] java.method.numberOfParametersChanged: method void 
> org.apache.logging.log4j.core.config.AbstractConfiguration::<init>(org.apache.logging.log4j.core.config.ConfigurationSource):
>  The number of parameters of the method have changed.
> [ERROR] java.method.numberOfParametersChanged: method void 
> org.apache.logging.log4j.core.config.AbstractConfiguration::stop(): The 
> number of parameters of the method have changed.
> [ERROR] java.method.numberOfParametersChanged: method void 
> org.apache.logging.log4j.core.config.ConfigurationScheduler::stop(): The 
> number of parameters of the method have changed.
> [ERROR] java.method.numberOfParametersChanged: method void 
> org.apache.logging.log4j.core.config.builder.impl.BuiltConfiguration::<init>(org.apache.logging.log4j.core.config.ConfigurationSource,
>  org.apache.logging.log4j.core.config.builder.api.Component): The number of 
> parameters of the method have changed.
> [ERROR] java.method.numberOfParametersChanged: method void 
> org.apache.logging.log4j.core.config.json.JsonConfiguration::<init>(org.apache.logging.log4j.core.config.ConfigurationSource):
>  The number ofparameters of the method have changed.
> [ERROR] java.method.numberOfParametersChanged: method void 
> org.apache.logging.log4j.core.config.properties.PropertiesConfiguration::<init>(org.apache.logging.log4j.core.config.ConfigurationSource,
>  org.apache.logging.log4j.core.config.builder.api.Component): The number of 
> parameters of the method have changed.
> [ERROR] java.method.numberOfParametersChanged: method void 
> org.apache.logging.log4j.core.config.xml.XmlConfiguration::<init>(org.apache.logging.log4j.core.config.ConfigurationSource):
>  The number of parameters of the method have changed.
> [ERROR] java.method.numberOfParametersChanged: method void 
> org.apache.logging.log4j.core.config.yaml.YamlConfiguration::<init>(org.apache.logging.log4j.core.config.ConfigurationSource):
>  The number ofparameters of the method have changed.
> [ERROR] java.method.numberOfParametersChanged: method void 
> org.apache.logging.log4j.core.filter.AbstractFilterable::stop(): The number 
> of parameters of the method have changed.
> [ERROR] java.method.numberOfParametersChanged: method void 
> org.apache.logging.log4j.core.filter.CompositeFilter::stop(): The number of 
> parameters of the method have changed.
> [ERROR] java.method.numberOfParametersChanged: method void 
> org.apache.logging.log4j.core.impl.ThrowableFormatOptions::<init>(int, 
> java.lang.String, java.util.List<java.lang.String>): The number of parameters 
> of the method have changed.
> [ERROR] java.method.numberOfParametersChanged: method void 
> org.apache.logging.log4j.core.jackson.Log4jJsonObjectMapper::<init>(boolean): 
> The number of parameters of the method have changed.
> [ERROR] java.method.numberOfParametersChanged: method void 
> org.apache.logging.log4j.core.jackson.Log4jYamlObjectMapper::<init>(boolean): 
> The number of parameters of the method have changed.
> [ERROR] java.method.numberOfParametersChanged: method void 
> org.apache.logging.log4j.core.layout.JsonLayout::<init>(org.apache.logging.log4j.core.config.Configuration,
>  boolean, boolean, boolean, boolean, boolean, boolean, java.lang.String, 
> java.lang.String, java.nio.charset.Charset): The number of parameters of the 
> method have changed.
> [ERROR] java.method.numberOfParametersChanged: method void 
> org.apache.logging.log4j.core.layout.XmlLayout::<init>(boolean, boolean, 
> boolean, boolean, java.nio.charset.Charset): The number of parameters of the 
> method have changed.
> [ERROR] java.method.numberOfParametersChanged: method void 
> org.apache.logging.log4j.core.layout.YamlLayout::<init>(org.apache.logging.log4j.core.config.Configuration,
>  boolean, boolean, boolean, boolean, boolean, java.lang.String, 
> java.lang.String, java.nio.charset.Charset): The number of parameters of the 
> method have changed.
> [ERROR] java.method.numberOfParametersChanged: method void 
> org.apache.logging.log4j.core.net.AbstractSocketManager::<init>(java.lang.String,
>  java.io.OutputStream, java.net.InetAddress, java.lang.String, int, 
> org.apache.logging.log4j.core.Layout<? extends java.io.Serializable>, 
> boolean): The number of parameters of the method have changed.
> [ERROR] java.method.numberOfParametersChanged: method void 
> org.apache.logging.log4j.core.net.DatagramSocketManager::<init>(java.lang.String,
>  java.io.OutputStream, java.net.InetAddress, java.lang.String, int, 
> org.apache.logging.log4j.core.Layout<? extends java.io.Serializable>): The 
> number of parameters of the method have changed.
> [ERROR] java.method.numberOfParametersChanged: method void 
> org.apache.logging.log4j.core.net.JndiManager::releaseSub(): The number of 
> parameters of the method have changed.
> [ERROR] java.method.numberOfParametersChanged: method void 
> org.apache.logging.log4j.core.net.SslSocketManager::<init>(java.lang.String, 
> java.io.OutputStream, java.net.Socket, 
> org.apache.logging.log4j.core.net.ssl.SslConfiguration, java.net.InetAddress, 
> java.lang.String, int, int, int, boolean, 
> org.apache.logging.log4j.core.Layout<? extends java.io.Serializable>): The 
> number of parameters of the method have changed.
> [ERROR] java.method.numberOfParametersChanged: method void 
> org.apache.logging.log4j.core.net.TcpSocketManager::<init>(java.lang.String, 
> java.io.OutputStream, java.net.Socket, java.net.InetAddress, 
> java.lang.String, int, int, int, boolean, 
> org.apache.logging.log4j.core.Layout<? extends java.io.Serializable>): The 
> number of parameters of the method have changed.
> [ERROR] java.method.numberOfParametersChanged: method void 
> org.apache.logging.log4j.core.util.WatchManager::stop(): The number of 
> parameters of the method have changed.
> [ERROR] java.method.parameterTypeChanged: method parameter void 
> org.apache.logging.log4j.core.async.RingBufferLogEvent::setValues(org.apache.logging.log4j.core.async.AsyncLogger,
>  java.lang.String, org.apache.logging.log4j.Marker, java.lang.String, 
> org.apache.logging.log4j.Level, org.apache.logging.log4j.message.Message, 
> java.lang.Throwable, ===java.util.Map<java.lang.String, 
> java.lang.String>===,org.apache.logging.log4j.ThreadContext.ContextStack, 
> long, java.lang.String, int, java.lang.StackTraceElement, long, long): The 
> type of the parameter changed from 'java.util.Map<java.lang.String, 
> java.lang.String>' to 'org.apache.logging.log4j.spi.MutableContextData'.
> [ERROR] java.method.parameterTypeChanged: method parameter void 
> org.apache.logging.log4j.core.util.Closer::closeSilently(===java.io.Closeable===):
>  The type of the parameter changed from 'java.io.Closeable' to 
> 'java.sql.Statement'.
> [ERROR] java.method.parameterTypeChanged: method parameter void 
> org.apache.logging.log4j.core.util.Closer::closeSilently(===java.sql.Statement===):
>  The type of the parameter changed from 'java.sql.Statement' to 
> 'java.io.Closeable'.
> [ERROR] java.method.removed: method <T> T 
> org.apache.logging.log4j.core.util.Assert::requireNonNull(T, 
> java.lang.String): Method was removed.
> [ERROR] java.method.removed: method java.lang.Class<?> 
> org.apache.logging.log4j.core.util.Loader::loadClass(java.lang.String) throws 
> java.lang.ClassNotFoundException: Method was removed.
> [ERROR] java.method.removed: method java.util.List<java.lang.String> 
> org.apache.logging.log4j.core.impl.ThrowableFormatOptions::getPackages(): 
> Method was removed.
> [ERROR] java.method.removed: method 
> org.apache.logging.log4j.core.appender.ConsoleAppender.Builder 
> org.apache.logging.log4j.core.appender.ConsoleAppender.Builder::setFilter(org.apache.logging.log4j.core.Filter):
>  Method was removed.
> [ERROR] java.method.removed: method 
> org.apache.logging.log4j.core.appender.ConsoleAppender.Builder 
> org.apache.logging.log4j.core.appender.ConsoleAppender.Builder::setIgnoreExceptions(boolean):
>  Methodwas removed.
> [ERROR] java.method.removed: method 
> org.apache.logging.log4j.core.appender.ConsoleAppender.Builder 
> org.apache.logging.log4j.core.appender.ConsoleAppender.Builder::setLayout(org.apache.logging.log4j.core.Layout<?
>  extends java.io.Serializable>): Method was removed.
> [ERROR] java.method.removed: method 
> org.apache.logging.log4j.core.appender.ConsoleAppender.Builder 
> org.apache.logging.log4j.core.appender.ConsoleAppender.Builder::setName(java.lang.String):
>  Method was removed.
> [ERROR] java.method.removed: method void 
> org.apache.logging.log4j.core.async.RingBufferLogEvent::mergePropertiesIntoContextMap(java.util.Map<org.apache.logging.log4j.core.config.Property,
>  java.lang.Boolean>, org.apache.logging.log4j.core.lookup.StrSubstitutor): 
> Method was removed.
> [ERROR] java.method.removed: method void 
> org.apache.logging.log4j.core.impl.MutableLogEvent::setContextMap(java.util.Map<java.lang.String,
>  java.lang.String>): Method was removed.
> [ERROR] java.method.returnTypeChanged: method void 
> org.apache.logging.log4j.core.LoggerContext::stop(): The return type changed 
> from 'void' to  'boolean'.
> [ERROR] java.method.returnTypeChanged: method void 
> org.apache.logging.log4j.core.appender.AbstractManager::releaseSub(): The 
> return type changed from 'void' to  'boolean'.
> [ERROR] java.method.returnTypeChanged: method void 
> org.apache.logging.log4j.core.appender.AbstractOutputStreamAppender<M extends 
> org.apache.logging.log4j.core.appender.OutputStreamManager>::stop(): The 
> return type changed from 'void' to  'boolean'.
> [ERROR] java.method.returnTypeChanged: method void 
> org.apache.logging.log4j.core.appender.AbstractWriterAppender<M extends 
> org.apache.logging.log4j.core.appender.WriterManager>::stop(): The return 
> type changed from 'void' to  'boolean'.
> [ERROR] java.method.returnTypeChanged: method void 
> org.apache.logging.log4j.core.appender.AsyncAppender::stop(): The return type 
> changed from 'void' to  'boolean'.
> [ERROR] java.method.returnTypeChanged: method void 
> org.apache.logging.log4j.core.appender.FileAppender::stop(): The return type 
> changed from 'void' to  'boolean'.
> [ERROR] java.method.returnTypeChanged: method void 
> org.apache.logging.log4j.core.appender.MemoryMappedFileAppender::stop(): The 
> return type changed from 'void' to  'boolean'.
> [ERROR] java.method.returnTypeChanged: method void 
> org.apache.logging.log4j.core.appender.OutputStreamManager::releaseSub(): The 
> return type changed from 'void' to  'boolean'.
> [ERROR] java.method.returnTypeChanged: method void 
> org.apache.logging.log4j.core.appender.RandomAccessFileAppender::stop(): The 
> return type changed from 'void' to  'boolean'.
> [ERROR] java.method.returnTypeChanged: method void 
> org.apache.logging.log4j.core.appender.RollingFileAppender::stop(): The 
> return type changed from 'void' to  'boolean'.
> [ERROR] java.method.returnTypeChanged: method void 
> org.apache.logging.log4j.core.appender.RollingRandomAccessFileAppender::stop():
>  The return type changed from 'void' to  'boolean'.
> [ERROR] java.method.returnTypeChanged: method void 
> org.apache.logging.log4j.core.appender.SocketAppender::stop(): The return 
> type changed from 'void' to  'boolean'.
> [ERROR] java.method.returnTypeChanged: method void 
> org.apache.logging.log4j.core.appender.WriterManager::releaseSub(): The 
> return type changed from 'void' to  'boolean'.
> [ERROR] java.method.returnTypeChanged: method void 
> org.apache.logging.log4j.core.appender.db.AbstractDatabaseAppender<T extends 
> org.apache.logging.log4j.core.appender.db.AbstractDatabaseManager>::stop(): 
> The return type changed from 'void' to  'boolean'.
> [ERROR] java.method.returnTypeChanged: method void 
> org.apache.logging.log4j.core.appender.db.AbstractDatabaseManager::commitAndClose():
>  The return type changed from 'void' to  'boolean'.
> [ERROR] java.method.returnTypeChanged: method void 
> org.apache.logging.log4j.core.appender.db.AbstractDatabaseManager::releaseSub():
>  The return type changed from 'void' to  'boolean'.
> [ERROR] java.method.returnTypeChanged: method void 
> org.apache.logging.log4j.core.appender.db.AbstractDatabaseManager::shutdown():
>  The return type changed from 'void' to  'boolean'.
> [ERROR] java.method.returnTypeChanged: method void 
> org.apache.logging.log4j.core.appender.db.AbstractDatabaseManager::shutdownInternal()
>  throws java.lang.Exception: The return type changed from 'void' to  
> 'boolean'.
> [ERROR] java.method.returnTypeChanged: method void 
> org.apache.logging.log4j.core.appender.db.jdbc.JdbcDatabaseManager::commitAndClose():
>  The return type changed from 'void' to  'boolean'.
> [ERROR] java.method.returnTypeChanged: method void 
> org.apache.logging.log4j.core.appender.db.jdbc.JdbcDatabaseManager::shutdownInternal():
>  The return type changed from 'void' to  'boolean'.
> [ERROR] java.method.returnTypeChanged: method void 
> org.apache.logging.log4j.core.appender.db.jpa.JpaDatabaseManager::commitAndClose():
>  The return type changed from 'void' to  'boolean'.
> [ERROR] java.method.returnTypeChanged: method void 
> org.apache.logging.log4j.core.appender.db.jpa.JpaDatabaseManager::shutdownInternal():
>  The return type changed from 'void' to  'boolean'.
> [ERROR] java.method.returnTypeChanged: method void 
> org.apache.logging.log4j.core.appender.mom.JmsAppender::stop(): The return 
> type changed from 'void' to  'boolean'.
> [ERROR] java.method.returnTypeChanged: method void 
> org.apache.logging.log4j.core.appender.mom.JmsManager::releaseSub(): The 
> return type changed from 'void' to  'boolean'.
> [ERROR] java.method.returnTypeChanged: method void 
> org.apache.logging.log4j.core.appender.mom.jeromq.JeroMqAppender::stop(): The 
> return type changed from 'void' to  'boolean'.
> [ERROR] java.method.returnTypeChanged: method void 
> org.apache.logging.log4j.core.appender.mom.jeromq.JeroMqManager::releaseSub():
>  The return type changed from 'void' to  'boolean'.
> [ERROR] java.method.returnTypeChanged: method void 
> org.apache.logging.log4j.core.appender.mom.kafka.KafkaAppender::stop(): The 
> return type changed from 'void' to  'boolean'.
> [ERROR] java.method.returnTypeChanged: method void 
> org.apache.logging.log4j.core.appender.mom.kafka.KafkaManager::releaseSub(): 
> The return type changed from 'void' to  'boolean'.
> [ERROR] java.method.returnTypeChanged: method void 
> org.apache.logging.log4j.core.appender.routing.IdlePurgePolicy::stop(): The 
> return type changed from 'void' to  'boolean'.
> [ERROR] java.method.returnTypeChanged: method void 
> org.apache.logging.log4j.core.appender.routing.RoutingAppender::stop(): The 
> return type changed from 'void' to  'boolean'.
> [ERROR] java.method.returnTypeChanged: method void 
> org.apache.logging.log4j.core.async.AsyncLoggerConfig::stop(): The return 
> type changed from 'void' to  'boolean'.
> [ERROR] java.method.returnTypeChanged: method void 
> org.apache.logging.log4j.core.async.AsyncLoggerConfigDisruptor::stop(): The 
> return type changed from 'void' to  'boolean'.
> [ERROR] java.method.returnTypeChanged: method void 
> org.apache.logging.log4j.core.async.AsyncLoggerContext::stop(): The return 
> type changed from 'void' to  'boolean'.
> [ERROR] java.method.returnTypeChanged: method void 
> org.apache.logging.log4j.core.config.AbstractConfiguration::stop(): The 
> return type changed from 'void' to  'boolean'.
> [ERROR] java.method.returnTypeChanged: method void 
> org.apache.logging.log4j.core.config.ConfigurationScheduler::stop(): The 
> return type changed from 'void' to  'boolean'.
> [ERROR] java.method.returnTypeChanged: method void 
> org.apache.logging.log4j.core.filter.AbstractFilterable::stop(): The return 
> type changed from 'void' to  'boolean'.
> [ERROR] java.method.returnTypeChanged: method void 
> org.apache.logging.log4j.core.filter.CompositeFilter::stop(): The return type 
> changed from 'void' to  'boolean'.
> [ERROR] java.method.returnTypeChanged: method void 
> org.apache.logging.log4j.core.net.JndiManager::releaseSub(): The return type 
> changed from 'void' to  'boolean'.
> [ERROR] java.method.returnTypeChanged: method void 
> org.apache.logging.log4j.core.util.Closer::closeSilently(java.sql.Statement): 
> The return type changed from 'void' to  'boolean'.
> [ERROR] java.method.returnTypeChanged: method void 
> org.apache.logging.log4j.core.util.JndiCloser::closeSilently(javax.naming.Context):
>  The return type changed from 'void' to  'boolean'.
> [ERROR] java.method.returnTypeChanged: method void 
> org.apache.logging.log4j.core.util.WatchManager::stop(): The return type 
> changed from 'void' to  'boolean'.
> [ERROR] java.method.returnTypeTypeParametersChanged: method 
> org.apache.logging.log4j.core.appender.ConsoleAppender.Builder 
> org.apache.logging.log4j.core.appender.ConsoleAppender.Builder::setDirect(boolean):
>  The return type changed from 
> 'org.apache.logging.log4j.core.appender.ConsoleAppender.Builder' to 'B 
> extends org.apache.logging.log4j.core.appender.ConsoleAppender.Builder<B>'.
> [ERROR] java.method.returnTypeTypeParametersChanged: method 
> org.apache.logging.log4j.core.appender.ConsoleAppender.Builder 
> org.apache.logging.log4j.core.appender.ConsoleAppender.Builder::setFollow(boolean):
>  The return type changed from 
> 'org.apache.logging.log4j.core.appender.ConsoleAppender.Builder' to 'B 
> extends org.apache.logging.log4j.core.appender.ConsoleAppender.Builder<B>'.
> [ERROR] java.method.returnTypeTypeParametersChanged: method 
> org.apache.logging.log4j.core.appender.ConsoleAppender.Builder 
> org.apache.logging.log4j.core.appender.ConsoleAppender.Builder::setTarget(org.apache.logging.log4j.core.appender.ConsoleAppender.Target):
>  The return type changed from 
> 'org.apache.logging.log4j.core.appender.ConsoleAppender.Builder' to 'B 
> extends org.apache.logging.log4j.core.appender.ConsoleAppender.Builder<B>'.
> [ERROR] java.method.returnTypeTypeParametersChanged: method 
> org.apache.logging.log4j.core.appender.ConsoleAppender.Builder 
> org.apache.logging.log4j.core.appender.ConsoleAppender::newBuilder(): The 
> return type changed from 
> 'org.apache.logging.log4j.core.appender.ConsoleAppender.Builder' to 'B 
> extends org.apache.logging.log4j.core.appender.ConsoleAppender.Builder<B>'.
> [ERROR] java.method.visibilityReduced: method void 
> org.apache.logging.log4j.core.appender.AbstractOutputStreamAppender<M extends 
> org.apache.logging.log4j.core.appender.OutputStreamManager>::stop(): 
> visibility reduced
> [ERROR] java.method.visibilityReduced: method void 
> org.apache.logging.log4j.core.filter.AbstractFilterable::stop(): visibility 
> reduced
> [ERROR] java.method.visibilityReduced: method void 
> org.apache.logging.log4j.core.util.NullOutputStream::<init>(): visibility 
> reduced
> {noformat}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

---------------------------------------------------------------------
To unsubscribe, e-mail: log4j-dev-unsubscr...@logging.apache.org
For additional commands, e-mail: log4j-dev-h...@logging.apache.org

Reply via email to