You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@logging.apache.org by vy...@apache.org on 2022/12/19 10:21:10 UTC

[logging-log4j2] 04/33: LOG4J2-3628 Remove Maven Changes Plugin et al.

This is an automated email from the ASF dual-hosted git repository.

vy pushed a commit to branch mvn-site-simplified
in repository https://gitbox.apache.org/repos/asf/logging-log4j2.git

commit f12e19541d901e69e88ca55b4a9c5c2e2d4e78c0
Author: Volkan Yazıcı <vo...@yazi.ci>
AuthorDate: Mon Nov 21 22:56:53 2022 +0100

    LOG4J2-3628 Remove Maven Changes Plugin et al.
---
 RELEASE-NOTES.md                                   |   90 +-
 ...Fix_level_propagation_in_Log4jBridgeHandler.xml |   23 +
 log4j-1.2-api/pom.xml                              |   15 -
 log4j-1.2-api/src/site/site.xml                    |    2 -
 log4j-api-test/pom.xml                             |   15 -
 log4j-api/pom.xml                                  |   15 -
 log4j-api/src/site/site.xml                        |    2 -
 log4j-appserver/pom.xml                            |   15 -
 log4j-appserver/src/site/site.xml                  |    2 -
 log4j-cassandra/pom.xml                            |   15 -
 log4j-cassandra/src/site/site.xml                  |    2 -
 log4j-core-test/pom.xml                            |   15 -
 log4j-core/pom.xml                                 |   15 -
 log4j-core/src/site/site.xml                       |    2 -
 log4j-couchdb/pom.xml                              |   15 -
 log4j-couchdb/src/site/site.xml                    |    2 -
 log4j-docker/pom.xml                               |   15 -
 log4j-docker/src/site/site.xml                     |    2 -
 log4j-flume-ng/pom.xml                             |   15 -
 log4j-flume-ng/src/site/site.xml                   |    2 -
 log4j-iostreams/pom.xml                            |   15 -
 log4j-iostreams/src/site/site.xml                  |    2 -
 log4j-jakarta-smtp/pom.xml                         |   15 -
 log4j-jakarta-web/pom.xml                          |   15 -
 log4j-jakarta-web/src/site/site.xml                |    2 -
 log4j-jcl/pom.xml                                  |   15 -
 log4j-jcl/src/site/site.xml                        |    2 -
 log4j-jdbc-dbcp2/pom.xml                           |   15 -
 log4j-jdbc-dbcp2/src/site/site.xml                 |    2 -
 log4j-jmx-gui/pom.xml                              |   15 -
 log4j-jmx-gui/src/site/site.xml                    |    2 -
 log4j-jpa/pom.xml                                  |   15 -
 log4j-jpa/src/site/site.xml                        |    2 -
 log4j-jpl/pom.xml                                  |   15 -
 log4j-jpl/src/site/site.xml                        |    2 -
 log4j-jul/pom.xml                                  |   15 -
 log4j-jul/src/site/site.xml                        |    2 -
 log4j-kubernetes/pom.xml                           |   15 -
 log4j-kubernetes/src/site/site.xml                 |    2 -
 log4j-layout-template-json-test/pom.xml            |   15 -
 log4j-layout-template-json/pom.xml                 |   15 -
 log4j-layout-template-json/src/site/site.xml       |    2 -
 log4j-liquibase/pom.xml                            |   15 -
 log4j-liquibase/src/site/site.xml                  |    2 -
 log4j-mongodb3/pom.xml                             |   15 -
 log4j-mongodb3/src/site/site.xml                   |    2 -
 log4j-mongodb4/pom.xml                             |   15 -
 log4j-mongodb4/src/site/site.xml                   |    2 -
 log4j-osgi/pom.xml                                 |   15 -
 log4j-slf4j-impl/pom.xml                           |   15 -
 log4j-slf4j-impl/src/site/site.xml                 |    2 -
 log4j-slf4j2-impl/pom.xml                          |   15 -
 log4j-slf4j2-impl/src/site/site.xml                |    2 -
 log4j-spring-boot/pom.xml                          |   15 -
 log4j-spring-boot/src/site/site.xml                |    2 -
 .../log4j-spring-cloud-config-client/pom.xml       |   15 -
 .../src/site/site.xml                              |    2 -
 log4j-spring-cloud-config/src/site/site.xml        |    2 -
 log4j-taglib/pom.xml                               |   15 -
 log4j-taglib/src/site/site.xml                     |    2 -
 log4j-to-jul/pom.xml                               |   15 -
 log4j-to-jul/src/site/site.xml                     |    2 -
 log4j-to-slf4j/pom.xml                             |   15 -
 log4j-to-slf4j/src/site/site.xml                   |    2 -
 log4j-web/pom.xml                                  |   15 -
 log4j-web/src/site/site.xml                        |    2 -
 pom.xml                                            |   62 -
 src/changes/announcement.vm                        |  128 -
 src/changes/changes.xml                            | 6129 --------------------
 src/site/asciidoc/changelog/index.adoc             |  119 +-
 src/site/markdown/changelog.md                     |   34 -
 src/site/markdown/index.md.vm                      |    4 +-
 src/site/site.xml                                  |    4 +-
 73 files changed, 91 insertions(+), 7072 deletions(-)

diff --git a/RELEASE-NOTES.md b/RELEASE-NOTES.md
index 927c555495..d1bd223b81 100644
--- a/RELEASE-NOTES.md
+++ b/RELEASE-NOTES.md
@@ -14,92 +14,6 @@
  See the License for the specific language governing permissions and
  limitations under the License.
 -->
-# Apache Log4j 2.19.0 Release Notes
 
-The Apache Log4j 2 team is pleased to announce the Log4j 2.19.0 release!
-
-Apache Log4j is a well known framework for logging application behavior. Log4j 2 is an upgrade
-to Log4j that provides significant improvements over its predecessor, Log4j 1.x, and provides
-many other modern features such as support for Markers, lambda expressions for lazy logging,
-property substitution using Lookups, multiple patterns on a PatternLayout and asynchronous
-Loggers. Another notable Log4j 2 feature is the ability to be "garbage-free" (avoid allocating
-temporary objects) while logging. In addition, Log4j 2 will not lose events while reconfiguring.
-
-The artifacts may be downloaded from https://logging.apache.org/log4j/2.x/download.html.
-
-This release primarily contains bug fixes and minor enhancements.
-
-Due to a break in compatibility in the SLF4J binding, Log4j now ships with two versions of the SLF4J to Log4j adapters.
-log4j-slf4j-impl should be used with SLF4J 1.7.x and earlier and log4j-slf4j2-impl should be used with SLF4J 2.x and
-later. SLF4J-1.8.x is no longer supported as a GA release never occurred.
-
-The Log4j 2.19.0 API, as well as many core components, maintains binary compatibility with previous releases.
-
-## GA Release 2.19.0
-
-Changes in this version include:
-
-### New Features
-* [LOG4J2-3583](https://issues.apache.org/jira/browse/LOG4J2-3583):
-Add support for SLF4J2 stack-valued MDC. Thanks to Pierrick Terrettaz.
-* [LOG4J2-2975](https://issues.apache.org/jira/browse/LOG4J2-2975):
-Add implementation of SLF4J2 fluent API. Thanks to Daniel Gray.
-
-### Fixed Bugs
-* [LOG4J2-3578](https://issues.apache.org/jira/browse/LOG4J2-3578):
-Generate new SSL certs for testing.
-* [LOG4J2-3556](https://issues.apache.org/jira/browse/LOG4J2-3556):
-Make JsonTemplateLayout stack trace truncation operate for each label block. Thanks to Arthur Gavlyukovskiy.
-* [LOG4J2-3550](https://issues.apache.org/jira/browse/LOG4J2-3550):
-SystemPropertyArbiter was assigning the value as the name. Thanks to DongjianPeng.
-* [LOG4J2-3560](https://issues.apache.org/jira/browse/LOG4J2-3560):
-Logger$PrivateConfig.filter(Level, Marker, String) was allocating empty varargs array. Thanks to David Schlosnagle.
-* [LOG4J2-3561](https://issues.apache.org/jira/browse/LOG4J2-3561):
-Allows a space separated list of style specifiers in the %style pattern for consistency with %highlight. Thanks to Robert Papp.
-* [LOG4J2-3564](https://issues.apache.org/jira/browse/LOG4J2-3564):
-Fix NPE in `log4j-to-jul` in the case the root logger level is null.
-* [LOG4J2-3545](https://issues.apache.org/jira/browse/LOG4J2-3545):
-Add correct manifest entries for OSGi to log4j-jcl Thanks to Johan Compagner.
-* [LOG4J2-3565](https://issues.apache.org/jira/browse/LOG4J2-3565):
-Fix RollingRandomAccessFileAppender with DirectWriteRolloverStrategy can't create the first log file of different directory.
-* [LOG4J2-3579](https://issues.apache.org/jira/browse/LOG4J2-3579):
-Fix ServiceLoaderUtil behavior in the presence of a SecurityManager. Thanks to Boris Unckel.
-* [LOG4J2-3559](https://issues.apache.org/jira/browse/LOG4J2-3559):
-Fix resolution of properties not starting with `log4j2.`. Thanks to Gary Gregory.
-* [LOG4J2-3557](https://issues.apache.org/jira/browse/LOG4J2-3557):
-Fix recursion between Log4j 1.2 LogManager and Category. Thanks to Andreas Leitgeb.
-* [LOG4J2-3587](https://issues.apache.org/jira/browse/LOG4J2-3587):
-Fix regression in Rfc5424Layout default values. Thanks to Tomas Micko.
-* [LOG4J2-3548](https://issues.apache.org/jira/browse/LOG4J2-3548):
-Improve support for passwordless keystores. Thanks to Kristof Farkas-Pall.
-* [LOG4J2-708](https://issues.apache.org/jira/browse/LOG4J2-708):
-Add async support to `Log4jServletFilter`.
-
-### Changes
-* [LOG4J2-3572](https://issues.apache.org/jira/browse/LOG4J2-3572):
-Add getExplicitLevel method to LoggerConfig.
-* [LOG4J2-3589](https://issues.apache.org/jira/browse/LOG4J2-3589):
-Allow Plugins to be injected with the LoggerContext reference.
-* [LOG4J2-3588](https://issues.apache.org/jira/browse/LOG4J2-3588):
-Allow PropertySources to be added.
-
-### Removed
-* [LOG4J2-3573](https://issues.apache.org/jira/browse/LOG4J2-3573):
-Removed build page in favor of a single build instructions file. Thanks to Wolff Bock von Wuelfingen.
-* [LOG4J2-3590](https://issues.apache.org/jira/browse/LOG4J2-3590):
-Remove SLF4J 1.8.x binding.
----
-
-Apache Log4j 2.19.0 requires a minimum of Java 8 to build and run.
-Log4j 2.12.4 is the last release to support Java 7.
-Log4j 2.3.2 is the last release to support Java 6.
-Java 6 and Java 7 are no longer supported by the Log4j team.
-
-For complete information on Apache Log4j 2, including instructions on how to submit bug
-reports, patches, or suggestions for improvement, see the Apache Apache Log4j 2 website:
-
-https://logging.apache.org/log4j/2.x/
-
----
-
-Earlier release notes are accessible in [Release History](https://logging.apache.org/log4j/2.x/changes-report.html).
+Changelog sources are stored in [`changelog`](changelog) directory.
+Human-readable changelogs generated from these sources are available in [`src/site/asciidoc/changelog`](src/site/asciidoc/changelog) directory.
diff --git a/changelog/.unreleased/LOG4J2-3634_Fix_level_propagation_in_Log4jBridgeHandler.xml b/changelog/.unreleased/LOG4J2-3634_Fix_level_propagation_in_Log4jBridgeHandler.xml
new file mode 100644
index 0000000000..cd1a95b82b
--- /dev/null
+++ b/changelog/.unreleased/LOG4J2-3634_Fix_level_propagation_in_Log4jBridgeHandler.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+   Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+-->
+<entry type="fixed">
+  <issue id="LOG4J2-3634" link="https://issues.apache.org/jira/browse/LOG4J2-3634"/>
+  <author id="pkarwasz"/>
+  <author name="Marcel Koch"/>
+  <description format="asciidoc">Fix level propagation in `Log4jBridgeHandler`.</description>
+</entry>
diff --git a/log4j-1.2-api/pom.xml b/log4j-1.2-api/pom.xml
index 43a266e596..8c64f5cd52 100644
--- a/log4j-1.2-api/pom.xml
+++ b/log4j-1.2-api/pom.xml
@@ -142,21 +142,6 @@
   </build>
   <reporting>
     <plugins>
-      <plugin>
-        <groupId>org.apache.maven.plugins</groupId>
-        <artifactId>maven-changes-plugin</artifactId>
-        <reportSets>
-          <reportSet>
-            <reports>
-              <report>changes-report</report>
-            </reports>
-          </reportSet>
-        </reportSets>
-        <configuration>
-          <issueLinkTemplate>%URL%/show_bug.cgi?id=%ISSUE%</issueLinkTemplate>
-          <useJql>true</useJql>
-        </configuration>
-      </plugin>
       <plugin>
         <groupId>org.apache.maven.plugins</groupId>
         <artifactId>maven-checkstyle-plugin</artifactId>
diff --git a/log4j-1.2-api/src/site/site.xml b/log4j-1.2-api/src/site/site.xml
index b27991ccaf..5356eb566e 100644
--- a/log4j-1.2-api/src/site/site.xml
+++ b/log4j-1.2-api/src/site/site.xml
@@ -43,8 +43,6 @@
     </menu>
 
     <menu name="Log4j Project Reports" img="icon-cog">
-      <item name="Changes Report" href="../changes-report.html" />
-      <item name="JIRA Report" href="../jira-report.html" />
       <item name="Surefire Report" href="../surefire-report.html" />
       <item name="RAT Report" href="../rat-report.html" />
     </menu>
diff --git a/log4j-api-test/pom.xml b/log4j-api-test/pom.xml
index 4a215b7794..c6a366b50a 100644
--- a/log4j-api-test/pom.xml
+++ b/log4j-api-test/pom.xml
@@ -196,21 +196,6 @@
   </build>
   <reporting>
     <plugins>
-      <plugin>
-        <groupId>org.apache.maven.plugins</groupId>
-        <artifactId>maven-changes-plugin</artifactId>
-        <reportSets>
-          <reportSet>
-            <reports>
-              <report>changes-report</report>
-            </reports>
-          </reportSet>
-        </reportSets>
-        <configuration>
-          <issueLinkTemplate>%URL%/show_bug.cgi?id=%ISSUE%</issueLinkTemplate>
-          <useJql>true</useJql>
-        </configuration>
-      </plugin>
       <plugin>
         <groupId>org.apache.maven.plugins</groupId>
         <artifactId>maven-checkstyle-plugin</artifactId>
diff --git a/log4j-api/pom.xml b/log4j-api/pom.xml
index 60317f904b..ee3010e501 100644
--- a/log4j-api/pom.xml
+++ b/log4j-api/pom.xml
@@ -161,21 +161,6 @@
   </build>
   <reporting>
     <plugins>
-      <plugin>
-        <groupId>org.apache.maven.plugins</groupId>
-        <artifactId>maven-changes-plugin</artifactId>
-        <reportSets>
-          <reportSet>
-            <reports>
-              <report>changes-report</report>
-            </reports>
-          </reportSet>
-        </reportSets>
-        <configuration>
-          <issueLinkTemplate>%URL%/show_bug.cgi?id=%ISSUE%</issueLinkTemplate>
-          <useJql>true</useJql>
-        </configuration>
-      </plugin>
       <plugin>
         <groupId>org.apache.maven.plugins</groupId>
         <artifactId>maven-checkstyle-plugin</artifactId>
diff --git a/log4j-api/src/site/site.xml b/log4j-api/src/site/site.xml
index e0a45af222..94ac4e55b1 100644
--- a/log4j-api/src/site/site.xml
+++ b/log4j-api/src/site/site.xml
@@ -43,8 +43,6 @@
     </menu>
 
     <menu name="Log4j Project Reports" img="icon-cog">
-      <item name="Changes Report" href="../changes-report.html" />
-      <item name="JIRA Report" href="../jira-report.html" />
       <item name="Surefire Report" href="../surefire-report.html" />
       <item name="RAT Report" href="../rat-report.html" />
     </menu>
diff --git a/log4j-appserver/pom.xml b/log4j-appserver/pom.xml
index 758fe778cd..fbb55f9694 100644
--- a/log4j-appserver/pom.xml
+++ b/log4j-appserver/pom.xml
@@ -74,21 +74,6 @@
 
   <reporting>
     <plugins>
-      <plugin>
-        <groupId>org.apache.maven.plugins</groupId>
-        <artifactId>maven-changes-plugin</artifactId>
-        <reportSets>
-          <reportSet>
-            <reports>
-              <report>changes-report</report>
-            </reports>
-          </reportSet>
-        </reportSets>
-        <configuration>
-          <issueLinkTemplate>%URL%/show_bug.cgi?id=%ISSUE%</issueLinkTemplate>
-          <useJql>true</useJql>
-        </configuration>
-      </plugin>
       <plugin>
         <groupId>org.apache.maven.plugins</groupId>
         <artifactId>maven-checkstyle-plugin</artifactId>
diff --git a/log4j-appserver/src/site/site.xml b/log4j-appserver/src/site/site.xml
index 71457127ab..6d96be1455 100644
--- a/log4j-appserver/src/site/site.xml
+++ b/log4j-appserver/src/site/site.xml
@@ -43,8 +43,6 @@
     </menu>
 
     <menu name="Log4j Project Reports" img="icon-cog">
-      <item name="Changes Report" href="../changes-report.html" />
-      <item name="JIRA Report" href="../jira-report.html" />
       <item name="Surefire Report" href="../surefire-report.html" />
       <item name="RAT Report" href="../rat-report.html" />
     </menu>
diff --git a/log4j-cassandra/pom.xml b/log4j-cassandra/pom.xml
index a099723a93..050c92cde8 100644
--- a/log4j-cassandra/pom.xml
+++ b/log4j-cassandra/pom.xml
@@ -119,21 +119,6 @@
   </build>
   <reporting>
     <plugins>
-      <plugin>
-        <groupId>org.apache.maven.plugins</groupId>
-        <artifactId>maven-changes-plugin</artifactId>
-        <reportSets>
-          <reportSet>
-            <reports>
-              <report>changes-report</report>
-            </reports>
-          </reportSet>
-        </reportSets>
-        <configuration>
-          <issueLinkTemplate>%URL%/show_bug.cgi?id=%ISSUE%</issueLinkTemplate>
-          <useJql>true</useJql>
-        </configuration>
-      </plugin>
       <plugin>
         <groupId>org.apache.maven.plugins</groupId>
         <artifactId>maven-checkstyle-plugin</artifactId>
diff --git a/log4j-cassandra/src/site/site.xml b/log4j-cassandra/src/site/site.xml
index 7c51066b39..ec6375c8ec 100644
--- a/log4j-cassandra/src/site/site.xml
+++ b/log4j-cassandra/src/site/site.xml
@@ -43,8 +43,6 @@
     </menu>
 
     <menu name="Log4j Project Reports" img="icon-cog">
-      <item name="Changes Report" href="../changes-report.html" />
-      <item name="JIRA Report" href="../jira-report.html" />
       <item name="Surefire Report" href="../surefire-report.html" />
       <item name="RAT Report" href="../rat-report.html" />
     </menu>
diff --git a/log4j-core-test/pom.xml b/log4j-core-test/pom.xml
index d9b48ef609..5a46fc378c 100644
--- a/log4j-core-test/pom.xml
+++ b/log4j-core-test/pom.xml
@@ -475,21 +475,6 @@
   </build>
   <reporting>
     <plugins>
-      <plugin>
-        <groupId>org.apache.maven.plugins</groupId>
-        <artifactId>maven-changes-plugin</artifactId>
-        <reportSets>
-          <reportSet>
-            <reports>
-              <report>changes-report</report>
-            </reports>
-          </reportSet>
-        </reportSets>
-        <configuration>
-          <issueLinkTemplate>%URL%/show_bug.cgi?id=%ISSUE%</issueLinkTemplate>
-          <useJql>true</useJql>
-        </configuration>
-      </plugin>
       <plugin>
         <groupId>org.apache.maven.plugins</groupId>
         <artifactId>maven-checkstyle-plugin</artifactId>
diff --git a/log4j-core/pom.xml b/log4j-core/pom.xml
index b419980459..ae7a3f0ee3 100644
--- a/log4j-core/pom.xml
+++ b/log4j-core/pom.xml
@@ -298,21 +298,6 @@
   </build>
   <reporting>
     <plugins>
-      <plugin>
-        <groupId>org.apache.maven.plugins</groupId>
-        <artifactId>maven-changes-plugin</artifactId>
-        <reportSets>
-          <reportSet>
-            <reports>
-              <report>changes-report</report>
-            </reports>
-          </reportSet>
-        </reportSets>
-        <configuration>
-          <issueLinkTemplate>%URL%/show_bug.cgi?id=%ISSUE%</issueLinkTemplate>
-          <useJql>true</useJql>
-        </configuration>
-      </plugin>
       <plugin>
         <groupId>org.apache.maven.plugins</groupId>
         <artifactId>maven-checkstyle-plugin</artifactId>
diff --git a/log4j-core/src/site/site.xml b/log4j-core/src/site/site.xml
index 6d4cddc0b1..cddcff38d0 100644
--- a/log4j-core/src/site/site.xml
+++ b/log4j-core/src/site/site.xml
@@ -43,8 +43,6 @@
     </menu>
 
     <menu name="Log4j Project Reports" img="icon-cog">
-      <item name="Changes Report" href="../changes-report.html" />
-      <item name="JIRA Report" href="../jira-report.html" />
       <item name="Surefire Report" href="../surefire-report.html" />
       <item name="RAT Report" href="../rat-report.html" />
     </menu>
diff --git a/log4j-couchdb/pom.xml b/log4j-couchdb/pom.xml
index 2252b65775..cea1e89fc3 100644
--- a/log4j-couchdb/pom.xml
+++ b/log4j-couchdb/pom.xml
@@ -94,21 +94,6 @@
   </build>
   <reporting>
     <plugins>
-      <plugin>
-        <groupId>org.apache.maven.plugins</groupId>
-        <artifactId>maven-changes-plugin</artifactId>
-        <reportSets>
-          <reportSet>
-            <reports>
-              <report>changes-report</report>
-            </reports>
-          </reportSet>
-        </reportSets>
-        <configuration>
-          <issueLinkTemplate>%URL%/show_bug.cgi?id=%ISSUE%</issueLinkTemplate>
-          <useJql>true</useJql>
-        </configuration>
-      </plugin>
       <plugin>
         <groupId>org.apache.maven.plugins</groupId>
         <artifactId>maven-checkstyle-plugin</artifactId>
diff --git a/log4j-couchdb/src/site/site.xml b/log4j-couchdb/src/site/site.xml
index affd43f30a..9724622a15 100644
--- a/log4j-couchdb/src/site/site.xml
+++ b/log4j-couchdb/src/site/site.xml
@@ -43,8 +43,6 @@
     </menu>
 
     <menu name="Log4j Project Reports" img="icon-cog">
-      <item name="Changes Report" href="../changes-report.html" />
-      <item name="JIRA Report" href="../jira-report.html" />
       <item name="Surefire Report" href="../surefire-report.html" />
       <item name="RAT Report" href="../rat-report.html" />
     </menu>
diff --git a/log4j-docker/pom.xml b/log4j-docker/pom.xml
index 7ca59b9c1c..6b7e7252cd 100644
--- a/log4j-docker/pom.xml
+++ b/log4j-docker/pom.xml
@@ -98,21 +98,6 @@
   </build>
   <reporting>
     <plugins>
-      <plugin>
-        <groupId>org.apache.maven.plugins</groupId>
-        <artifactId>maven-changes-plugin</artifactId>
-        <reportSets>
-          <reportSet>
-            <reports>
-              <report>changes-report</report>
-            </reports>
-          </reportSet>
-        </reportSets>
-        <configuration>
-          <issueLinkTemplate>%URL%/show_bug.cgi?id=%ISSUE%</issueLinkTemplate>
-          <useJql>true</useJql>
-        </configuration>
-      </plugin>
       <plugin>
         <groupId>org.apache.maven.plugins</groupId>
         <artifactId>maven-checkstyle-plugin</artifactId>
diff --git a/log4j-docker/src/site/site.xml b/log4j-docker/src/site/site.xml
index 7322f3bfeb..a16689a880 100644
--- a/log4j-docker/src/site/site.xml
+++ b/log4j-docker/src/site/site.xml
@@ -43,8 +43,6 @@
     </menu>
 
     <menu name="Log4j Project Reports" img="icon-cog">
-      <item name="Changes Report" href="../changes-report.html" />
-      <item name="JIRA Report" href="../jira-report.html" />
       <item name="Surefire Report" href="../surefire-report.html" />
       <item name="RAT Report" href="../rat-report.html" />
     </menu>
diff --git a/log4j-flume-ng/pom.xml b/log4j-flume-ng/pom.xml
index 82874d4ae4..04ffb436f3 100644
--- a/log4j-flume-ng/pom.xml
+++ b/log4j-flume-ng/pom.xml
@@ -145,21 +145,6 @@
   </build>
   <reporting>
     <plugins>
-      <plugin>
-        <groupId>org.apache.maven.plugins</groupId>
-        <artifactId>maven-changes-plugin</artifactId>
-        <reportSets>
-          <reportSet>
-            <reports>
-              <report>changes-report</report>
-            </reports>
-          </reportSet>
-        </reportSets>
-        <configuration>
-          <issueLinkTemplate>%URL%/show_bug.cgi?id=%ISSUE%</issueLinkTemplate>
-          <useJql>true</useJql>
-        </configuration>
-      </plugin>
       <plugin>
         <groupId>org.apache.maven.plugins</groupId>
         <artifactId>maven-checkstyle-plugin</artifactId>
diff --git a/log4j-flume-ng/src/site/site.xml b/log4j-flume-ng/src/site/site.xml
index 1c07bbce04..689144f5e3 100644
--- a/log4j-flume-ng/src/site/site.xml
+++ b/log4j-flume-ng/src/site/site.xml
@@ -43,8 +43,6 @@
     </menu>
 
     <menu name="Log4j Project Reports" img="icon-cog">
-      <item name="Changes Report" href="../changes-report.html" />
-      <item name="JIRA Report" href="../jira-report.html" />
       <item name="Surefire Report" href="../surefire-report.html" />
       <item name="RAT Report" href="../rat-report.html" />
     </menu>
diff --git a/log4j-iostreams/pom.xml b/log4j-iostreams/pom.xml
index 99750738be..f27d363c59 100644
--- a/log4j-iostreams/pom.xml
+++ b/log4j-iostreams/pom.xml
@@ -91,21 +91,6 @@
   </build>
   <reporting>
     <plugins>
-      <plugin>
-        <groupId>org.apache.maven.plugins</groupId>
-        <artifactId>maven-changes-plugin</artifactId>
-        <reportSets>
-          <reportSet>
-            <reports>
-              <report>changes-report</report>
-            </reports>
-          </reportSet>
-        </reportSets>
-        <configuration>
-          <issueLinkTemplate>%URL%/show_bug.cgi?id=%ISSUE%</issueLinkTemplate>
-          <useJql>true</useJql>
-        </configuration>
-      </plugin>
       <plugin>
         <groupId>org.apache.maven.plugins</groupId>
         <artifactId>maven-checkstyle-plugin</artifactId>
diff --git a/log4j-iostreams/src/site/site.xml b/log4j-iostreams/src/site/site.xml
index f863dbf4d2..29c3eebcb2 100644
--- a/log4j-iostreams/src/site/site.xml
+++ b/log4j-iostreams/src/site/site.xml
@@ -43,8 +43,6 @@
     </menu>
 
     <menu name="Log4j Project Reports" img="icon-cog">
-      <item name="Changes Report" href="../changes-report.html" />
-      <item name="JIRA Report" href="../jira-report.html" />
       <item name="Surefire Report" href="../surefire-report.html" />
       <item name="RAT Report" href="../rat-report.html" />
     </menu>
diff --git a/log4j-jakarta-smtp/pom.xml b/log4j-jakarta-smtp/pom.xml
index a2a9222b93..e56809086c 100644
--- a/log4j-jakarta-smtp/pom.xml
+++ b/log4j-jakarta-smtp/pom.xml
@@ -112,21 +112,6 @@
   </build>
   <reporting>
     <plugins>
-      <plugin>
-        <groupId>org.apache.maven.plugins</groupId>
-        <artifactId>maven-changes-plugin</artifactId>
-        <reportSets>
-          <reportSet>
-            <reports>
-              <report>changes-report</report>
-            </reports>
-          </reportSet>
-        </reportSets>
-        <configuration>
-          <issueLinkTemplate>%URL%/show_bug.cgi?id=%ISSUE%</issueLinkTemplate>
-          <useJql>true</useJql>
-        </configuration>
-      </plugin>
       <plugin>
         <groupId>org.apache.maven.plugins</groupId>
         <artifactId>maven-checkstyle-plugin</artifactId>
diff --git a/log4j-jakarta-web/pom.xml b/log4j-jakarta-web/pom.xml
index 154307be1b..0c3784ec51 100644
--- a/log4j-jakarta-web/pom.xml
+++ b/log4j-jakarta-web/pom.xml
@@ -100,21 +100,6 @@
   </build>
   <reporting>
     <plugins>
-      <plugin>
-        <groupId>org.apache.maven.plugins</groupId>
-        <artifactId>maven-changes-plugin</artifactId>
-        <reportSets>
-          <reportSet>
-            <reports>
-              <report>changes-report</report>
-            </reports>
-          </reportSet>
-        </reportSets>
-        <configuration>
-          <issueLinkTemplate>%URL%/show_bug.cgi?id=%ISSUE%</issueLinkTemplate>
-          <useJql>true</useJql>
-        </configuration>
-      </plugin>
       <plugin>
         <groupId>org.apache.maven.plugins</groupId>
         <artifactId>maven-checkstyle-plugin</artifactId>
diff --git a/log4j-jakarta-web/src/site/site.xml b/log4j-jakarta-web/src/site/site.xml
index 0f3fd0fe6c..0ad38d049c 100644
--- a/log4j-jakarta-web/src/site/site.xml
+++ b/log4j-jakarta-web/src/site/site.xml
@@ -43,8 +43,6 @@
     </menu>
 
     <menu name="Log4j Project Reports" img="icon-cog">
-      <item name="Changes Report" href="../changes-report.html" />
-      <item name="JIRA Report" href="../jira-report.html" />
       <item name="Surefire Report" href="../surefire-report.html" />
       <item name="RAT Report" href="../rat-report.html" />
     </menu>
diff --git a/log4j-jcl/pom.xml b/log4j-jcl/pom.xml
index 89370e8b2b..09eacc605a 100644
--- a/log4j-jcl/pom.xml
+++ b/log4j-jcl/pom.xml
@@ -85,21 +85,6 @@
   </build>
   <reporting>
     <plugins>
-      <plugin>
-        <groupId>org.apache.maven.plugins</groupId>
-        <artifactId>maven-changes-plugin</artifactId>
-        <reportSets>
-          <reportSet>
-            <reports>
-              <report>changes-report</report>
-            </reports>
-          </reportSet>
-        </reportSets>
-        <configuration>
-          <issueLinkTemplate>%URL%/show_bug.cgi?id=%ISSUE%</issueLinkTemplate>
-          <useJql>true</useJql>
-        </configuration>
-      </plugin>
       <plugin>
         <groupId>org.apache.maven.plugins</groupId>
         <artifactId>maven-checkstyle-plugin</artifactId>
diff --git a/log4j-jcl/src/site/site.xml b/log4j-jcl/src/site/site.xml
index e86b9a5b5f..fd250807a9 100644
--- a/log4j-jcl/src/site/site.xml
+++ b/log4j-jcl/src/site/site.xml
@@ -43,8 +43,6 @@
     </menu>
 
     <menu name="Log4j Project Reports" img="icon-cog">
-      <item name="Changes Report" href="../changes-report.html" />
-      <item name="JIRA Report" href="../jira-report.html" />
       <item name="Surefire Report" href="../surefire-report.html" />
       <item name="RAT Report" href="../rat-report.html" />
     </menu>
diff --git a/log4j-jdbc-dbcp2/pom.xml b/log4j-jdbc-dbcp2/pom.xml
index 452d23ec97..4175ccab81 100644
--- a/log4j-jdbc-dbcp2/pom.xml
+++ b/log4j-jdbc-dbcp2/pom.xml
@@ -80,21 +80,6 @@
   </build>
   <reporting>
     <plugins>
-      <plugin>
-        <groupId>org.apache.maven.plugins</groupId>
-        <artifactId>maven-changes-plugin</artifactId>
-        <reportSets>
-          <reportSet>
-            <reports>
-              <report>changes-report</report>
-            </reports>
-          </reportSet>
-        </reportSets>
-        <configuration>
-          <issueLinkTemplate>%URL%/show_bug.cgi?id=%ISSUE%</issueLinkTemplate>
-          <useJql>true</useJql>
-        </configuration>
-      </plugin>
       <plugin>
         <groupId>org.apache.maven.plugins</groupId>
         <artifactId>maven-checkstyle-plugin</artifactId>
diff --git a/log4j-jdbc-dbcp2/src/site/site.xml b/log4j-jdbc-dbcp2/src/site/site.xml
index 6d4cddc0b1..cddcff38d0 100644
--- a/log4j-jdbc-dbcp2/src/site/site.xml
+++ b/log4j-jdbc-dbcp2/src/site/site.xml
@@ -43,8 +43,6 @@
     </menu>
 
     <menu name="Log4j Project Reports" img="icon-cog">
-      <item name="Changes Report" href="../changes-report.html" />
-      <item name="JIRA Report" href="../jira-report.html" />
       <item name="Surefire Report" href="../surefire-report.html" />
       <item name="RAT Report" href="../rat-report.html" />
     </menu>
diff --git a/log4j-jmx-gui/pom.xml b/log4j-jmx-gui/pom.xml
index 7d012c5544..b1037b7d95 100644
--- a/log4j-jmx-gui/pom.xml
+++ b/log4j-jmx-gui/pom.xml
@@ -72,21 +72,6 @@
   </build>
   <reporting>
     <plugins>
-      <plugin>
-        <groupId>org.apache.maven.plugins</groupId>
-        <artifactId>maven-changes-plugin</artifactId>
-        <reportSets>
-          <reportSet>
-            <reports>
-              <report>changes-report</report>
-            </reports>
-          </reportSet>
-        </reportSets>
-        <configuration>
-          <issueLinkTemplate>%URL%/show_bug.cgi?id=%ISSUE%</issueLinkTemplate>
-          <useJql>true</useJql>
-        </configuration>
-      </plugin>
       <plugin>
         <groupId>org.apache.maven.plugins</groupId>
         <artifactId>maven-checkstyle-plugin</artifactId>
diff --git a/log4j-jmx-gui/src/site/site.xml b/log4j-jmx-gui/src/site/site.xml
index 9c69feff24..01e7c1fc1f 100644
--- a/log4j-jmx-gui/src/site/site.xml
+++ b/log4j-jmx-gui/src/site/site.xml
@@ -43,8 +43,6 @@
     </menu>
 
     <menu name="Log4j Project Reports" img="icon-cog">
-      <item name="Changes Report" href="../changes-report.html" />
-      <item name="JIRA Report" href="../jira-report.html" />
       <item name="Surefire Report" href="../surefire-report.html" />
       <item name="RAT Report" href="../rat-report.html" />
     </menu>
diff --git a/log4j-jpa/pom.xml b/log4j-jpa/pom.xml
index 51dfa7ac18..3969976931 100644
--- a/log4j-jpa/pom.xml
+++ b/log4j-jpa/pom.xml
@@ -100,21 +100,6 @@
   </build>
   <reporting>
     <plugins>
-      <plugin>
-        <groupId>org.apache.maven.plugins</groupId>
-        <artifactId>maven-changes-plugin</artifactId>
-        <reportSets>
-          <reportSet>
-            <reports>
-              <report>changes-report</report>
-            </reports>
-          </reportSet>
-        </reportSets>
-        <configuration>
-          <issueLinkTemplate>%URL%/show_bug.cgi?id=%ISSUE%</issueLinkTemplate>
-          <useJql>true</useJql>
-        </configuration>
-      </plugin>
       <plugin>
         <groupId>org.apache.maven.plugins</groupId>
         <artifactId>maven-checkstyle-plugin</artifactId>
diff --git a/log4j-jpa/src/site/site.xml b/log4j-jpa/src/site/site.xml
index 6d4cddc0b1..cddcff38d0 100644
--- a/log4j-jpa/src/site/site.xml
+++ b/log4j-jpa/src/site/site.xml
@@ -43,8 +43,6 @@
     </menu>
 
     <menu name="Log4j Project Reports" img="icon-cog">
-      <item name="Changes Report" href="../changes-report.html" />
-      <item name="JIRA Report" href="../jira-report.html" />
       <item name="Surefire Report" href="../surefire-report.html" />
       <item name="RAT Report" href="../rat-report.html" />
     </menu>
diff --git a/log4j-jpl/pom.xml b/log4j-jpl/pom.xml
index 4948e6bf74..358ba3914a 100644
--- a/log4j-jpl/pom.xml
+++ b/log4j-jpl/pom.xml
@@ -145,21 +145,6 @@
   </build>
   <reporting>
     <plugins>
-      <plugin>
-        <groupId>org.apache.maven.plugins</groupId>
-        <artifactId>maven-changes-plugin</artifactId>
-        <reportSets>
-          <reportSet>
-            <reports>
-              <report>changes-report</report>
-            </reports>
-          </reportSet>
-        </reportSets>
-        <configuration>
-          <issueLinkTemplate>%URL%/show_bug.cgi?id=%ISSUE%</issueLinkTemplate>
-          <useJql>true</useJql>
-        </configuration>
-      </plugin>
       <plugin>
         <groupId>org.apache.maven.plugins</groupId>
         <artifactId>maven-checkstyle-plugin</artifactId>
diff --git a/log4j-jpl/src/site/site.xml b/log4j-jpl/src/site/site.xml
index fccc81fc4c..06a070594c 100644
--- a/log4j-jpl/src/site/site.xml
+++ b/log4j-jpl/src/site/site.xml
@@ -43,8 +43,6 @@
     </menu>
 
     <menu name="Log4j Project Reports" img="icon-cog">
-      <item name="Changes Report" href="../changes-report.html" />
-      <item name="JIRA Report" href="../jira-report.html" />
       <item name="Surefire Report" href="../surefire-report.html" />
       <item name="RAT Report" href="../rat-report.html" />
     </menu>
diff --git a/log4j-jul/pom.xml b/log4j-jul/pom.xml
index f3ffa8c9bf..43b80564c1 100644
--- a/log4j-jul/pom.xml
+++ b/log4j-jul/pom.xml
@@ -139,21 +139,6 @@
   </build>
   <reporting>
     <plugins>
-      <plugin>
-        <groupId>org.apache.maven.plugins</groupId>
-        <artifactId>maven-changes-plugin</artifactId>
-        <reportSets>
-          <reportSet>
-            <reports>
-              <report>changes-report</report>
-            </reports>
-          </reportSet>
-        </reportSets>
-        <configuration>
-          <issueLinkTemplate>%URL%/show_bug.cgi?id=%ISSUE%</issueLinkTemplate>
-          <useJql>true</useJql>
-        </configuration>
-      </plugin>
       <plugin>
         <groupId>org.apache.maven.plugins</groupId>
         <artifactId>maven-checkstyle-plugin</artifactId>
diff --git a/log4j-jul/src/site/site.xml b/log4j-jul/src/site/site.xml
index a4bd5c9e12..3bd9c9d87f 100644
--- a/log4j-jul/src/site/site.xml
+++ b/log4j-jul/src/site/site.xml
@@ -43,8 +43,6 @@
     </menu>
 
     <menu name="Log4j Project Reports" img="icon-cog">
-      <item name="Changes Report" href="../changes-report.html" />
-      <item name="JIRA Report" href="../jira-report.html" />
       <item name="Surefire Report" href="../surefire-report.html" />
       <item name="RAT Report" href="../rat-report.html" />
     </menu>
diff --git a/log4j-kubernetes/pom.xml b/log4j-kubernetes/pom.xml
index 87579f9afa..a3ea35c9bd 100644
--- a/log4j-kubernetes/pom.xml
+++ b/log4j-kubernetes/pom.xml
@@ -95,21 +95,6 @@
   </build>
   <reporting>
     <plugins>
-      <plugin>
-        <groupId>org.apache.maven.plugins</groupId>
-        <artifactId>maven-changes-plugin</artifactId>
-        <reportSets>
-          <reportSet>
-            <reports>
-              <report>changes-report</report>
-            </reports>
-          </reportSet>
-        </reportSets>
-        <configuration>
-          <issueLinkTemplate>%URL%/show_bug.cgi?id=%ISSUE%</issueLinkTemplate>
-          <useJql>true</useJql>
-        </configuration>
-      </plugin>
       <plugin>
         <groupId>org.apache.maven.plugins</groupId>
         <artifactId>maven-checkstyle-plugin</artifactId>
diff --git a/log4j-kubernetes/src/site/site.xml b/log4j-kubernetes/src/site/site.xml
index 7322f3bfeb..a16689a880 100644
--- a/log4j-kubernetes/src/site/site.xml
+++ b/log4j-kubernetes/src/site/site.xml
@@ -43,8 +43,6 @@
     </menu>
 
     <menu name="Log4j Project Reports" img="icon-cog">
-      <item name="Changes Report" href="../changes-report.html" />
-      <item name="JIRA Report" href="../jira-report.html" />
       <item name="Surefire Report" href="../surefire-report.html" />
       <item name="RAT Report" href="../rat-report.html" />
     </menu>
diff --git a/log4j-layout-template-json-test/pom.xml b/log4j-layout-template-json-test/pom.xml
index d180665160..a580529777 100644
--- a/log4j-layout-template-json-test/pom.xml
+++ b/log4j-layout-template-json-test/pom.xml
@@ -369,21 +369,6 @@
 
   <reporting>
     <plugins>
-      <plugin>
-        <groupId>org.apache.maven.plugins</groupId>
-        <artifactId>maven-changes-plugin</artifactId>
-        <reportSets>
-          <reportSet>
-            <reports>
-              <report>changes-report</report>
-            </reports>
-          </reportSet>
-        </reportSets>
-        <configuration>
-          <issueLinkTemplate>%URL%/show_bug.cgi?id=%ISSUE%</issueLinkTemplate>
-          <useJql>true</useJql>
-        </configuration>
-      </plugin>
       <plugin>
         <groupId>org.apache.maven.plugins</groupId>
         <artifactId>maven-checkstyle-plugin</artifactId>
diff --git a/log4j-layout-template-json/pom.xml b/log4j-layout-template-json/pom.xml
index 8cb1c01091..227d82d648 100644
--- a/log4j-layout-template-json/pom.xml
+++ b/log4j-layout-template-json/pom.xml
@@ -293,21 +293,6 @@
 
   <reporting>
     <plugins>
-      <plugin>
-        <groupId>org.apache.maven.plugins</groupId>
-        <artifactId>maven-changes-plugin</artifactId>
-        <reportSets>
-          <reportSet>
-            <reports>
-              <report>changes-report</report>
-            </reports>
-          </reportSet>
-        </reportSets>
-        <configuration>
-          <issueLinkTemplate>%URL%/show_bug.cgi?id=%ISSUE%</issueLinkTemplate>
-          <useJql>true</useJql>
-        </configuration>
-      </plugin>
       <plugin>
         <groupId>org.apache.maven.plugins</groupId>
         <artifactId>maven-checkstyle-plugin</artifactId>
diff --git a/log4j-layout-template-json/src/site/site.xml b/log4j-layout-template-json/src/site/site.xml
index 962392e838..633de94c82 100644
--- a/log4j-layout-template-json/src/site/site.xml
+++ b/log4j-layout-template-json/src/site/site.xml
@@ -44,8 +44,6 @@
     </menu>
 
     <menu name="Log4j Project Reports" img="icon-cog">
-      <item name="Changes Report" href="../changes-report.html" />
-      <item name="JIRA Report" href="../jira-report.html" />
       <item name="Surefire Report" href="../surefire-report.html" />
       <item name="RAT Report" href="../rat-report.html" />
     </menu>
diff --git a/log4j-liquibase/pom.xml b/log4j-liquibase/pom.xml
index c47d245fb7..c901a7ab75 100644
--- a/log4j-liquibase/pom.xml
+++ b/log4j-liquibase/pom.xml
@@ -153,21 +153,6 @@
   </build>
   <reporting>
     <plugins>
-      <plugin>
-        <groupId>org.apache.maven.plugins</groupId>
-        <artifactId>maven-changes-plugin</artifactId>
-        <reportSets>
-          <reportSet>
-            <reports>
-              <report>changes-report</report>
-            </reports>
-          </reportSet>
-        </reportSets>
-        <configuration>
-          <issueLinkTemplate>%URL%/show_bug.cgi?id=%ISSUE%</issueLinkTemplate>
-          <useJql>true</useJql>
-        </configuration>
-      </plugin>
       <plugin>
         <groupId>org.apache.maven.plugins</groupId>
         <artifactId>maven-checkstyle-plugin</artifactId>
diff --git a/log4j-liquibase/src/site/site.xml b/log4j-liquibase/src/site/site.xml
index db3a2e1d2f..2a9171bf97 100644
--- a/log4j-liquibase/src/site/site.xml
+++ b/log4j-liquibase/src/site/site.xml
@@ -43,8 +43,6 @@
     </menu>
 
     <menu name="Log4j Project Reports" img="icon-cog">
-      <item name="Changes Report" href="../changes-report.html" />
-      <item name="JIRA Report" href="../jira-report.html" />
       <item name="Surefire Report" href="../surefire-report.html" />
       <item name="RAT Report" href="../rat-report.html" />
     </menu>
diff --git a/log4j-mongodb3/pom.xml b/log4j-mongodb3/pom.xml
index 67e4cecc3e..d7e863a2f4 100644
--- a/log4j-mongodb3/pom.xml
+++ b/log4j-mongodb3/pom.xml
@@ -109,21 +109,6 @@
   </build>
   <reporting>
     <plugins>
-      <plugin>
-        <groupId>org.apache.maven.plugins</groupId>
-        <artifactId>maven-changes-plugin</artifactId>
-        <reportSets>
-          <reportSet>
-            <reports>
-              <report>changes-report</report>
-            </reports>
-          </reportSet>
-        </reportSets>
-        <configuration>
-          <issueLinkTemplate>%URL%/show_bug.cgi?id=%ISSUE%</issueLinkTemplate>
-          <useJql>true</useJql>
-        </configuration>
-      </plugin>
       <plugin>
         <groupId>org.apache.maven.plugins</groupId>
         <artifactId>maven-checkstyle-plugin</artifactId>
diff --git a/log4j-mongodb3/src/site/site.xml b/log4j-mongodb3/src/site/site.xml
index 54ea9bedcb..be371cc446 100644
--- a/log4j-mongodb3/src/site/site.xml
+++ b/log4j-mongodb3/src/site/site.xml
@@ -43,8 +43,6 @@
     </menu>
 
     <menu name="Log4j Project Reports" img="icon-cog">
-      <item name="Changes Report" href="../changes-report.html" />
-      <item name="JIRA Report" href="../jira-report.html" />
       <item name="Surefire Report" href="../surefire-report.html" />
       <item name="RAT Report" href="../rat-report.html" />
     </menu>
diff --git a/log4j-mongodb4/pom.xml b/log4j-mongodb4/pom.xml
index c2c5ad5b1b..0ec4e6c101 100644
--- a/log4j-mongodb4/pom.xml
+++ b/log4j-mongodb4/pom.xml
@@ -106,21 +106,6 @@
   </build>
   <reporting>
     <plugins>
-      <plugin>
-        <groupId>org.apache.maven.plugins</groupId>
-        <artifactId>maven-changes-plugin</artifactId>
-        <reportSets>
-          <reportSet>
-            <reports>
-              <report>changes-report</report>
-            </reports>
-          </reportSet>
-        </reportSets>
-        <configuration>
-          <issueLinkTemplate>%URL%/show_bug.cgi?id=%ISSUE%</issueLinkTemplate>
-          <useJql>true</useJql>
-        </configuration>
-      </plugin>
       <plugin>
         <groupId>org.apache.maven.plugins</groupId>
         <artifactId>maven-checkstyle-plugin</artifactId>
diff --git a/log4j-mongodb4/src/site/site.xml b/log4j-mongodb4/src/site/site.xml
index 54ea9bedcb..be371cc446 100644
--- a/log4j-mongodb4/src/site/site.xml
+++ b/log4j-mongodb4/src/site/site.xml
@@ -43,8 +43,6 @@
     </menu>
 
     <menu name="Log4j Project Reports" img="icon-cog">
-      <item name="Changes Report" href="../changes-report.html" />
-      <item name="JIRA Report" href="../jira-report.html" />
       <item name="Surefire Report" href="../surefire-report.html" />
       <item name="RAT Report" href="../rat-report.html" />
     </menu>
diff --git a/log4j-osgi/pom.xml b/log4j-osgi/pom.xml
index db0a3cf3fc..57f7960cee 100644
--- a/log4j-osgi/pom.xml
+++ b/log4j-osgi/pom.xml
@@ -191,21 +191,6 @@
   </build>
   <reporting>
     <plugins>
-      <plugin>
-        <groupId>org.apache.maven.plugins</groupId>
-        <artifactId>maven-changes-plugin</artifactId>
-        <reportSets>
-          <reportSet>
-            <reports>
-              <report>changes-report</report>
-            </reports>
-          </reportSet>
-        </reportSets>
-        <configuration>
-          <issueLinkTemplate>%URL%/show_bug.cgi?id=%ISSUE%</issueLinkTemplate>
-          <useJql>true</useJql>
-        </configuration>
-      </plugin>
       <plugin>
         <groupId>org.apache.maven.plugins</groupId>
         <artifactId>maven-checkstyle-plugin</artifactId>
diff --git a/log4j-slf4j-impl/pom.xml b/log4j-slf4j-impl/pom.xml
index eafac262b3..79f5f834e9 100644
--- a/log4j-slf4j-impl/pom.xml
+++ b/log4j-slf4j-impl/pom.xml
@@ -196,21 +196,6 @@
   </build>
   <reporting>
     <plugins>
-      <plugin>
-        <groupId>org.apache.maven.plugins</groupId>
-        <artifactId>maven-changes-plugin</artifactId>
-        <reportSets>
-          <reportSet>
-            <reports>
-              <report>changes-report</report>
-            </reports>
-          </reportSet>
-        </reportSets>
-        <configuration>
-          <issueLinkTemplate>%URL%/show_bug.cgi?id=%ISSUE%</issueLinkTemplate>
-          <useJql>true</useJql>
-        </configuration>
-      </plugin>
       <plugin>
         <groupId>org.apache.maven.plugins</groupId>
         <artifactId>maven-checkstyle-plugin</artifactId>
diff --git a/log4j-slf4j-impl/src/site/site.xml b/log4j-slf4j-impl/src/site/site.xml
index a1f9106932..68451f38c5 100644
--- a/log4j-slf4j-impl/src/site/site.xml
+++ b/log4j-slf4j-impl/src/site/site.xml
@@ -43,8 +43,6 @@
     </menu>
 
     <menu name="Log4j Project Reports" img="icon-cog">
-      <item name="Changes Report" href="../changes-report.html" />
-      <item name="JIRA Report" href="../jira-report.html" />
       <item name="Surefire Report" href="../surefire-report.html" />
       <item name="RAT Report" href="../rat-report.html" />
     </menu>
diff --git a/log4j-slf4j2-impl/pom.xml b/log4j-slf4j2-impl/pom.xml
index 350e716804..93d41a2286 100644
--- a/log4j-slf4j2-impl/pom.xml
+++ b/log4j-slf4j2-impl/pom.xml
@@ -161,21 +161,6 @@
   </build>
   <reporting>
     <plugins>
-      <plugin>
-        <groupId>org.apache.maven.plugins</groupId>
-        <artifactId>maven-changes-plugin</artifactId>
-        <reportSets>
-          <reportSet>
-            <reports>
-              <report>changes-report</report>
-            </reports>
-          </reportSet>
-        </reportSets>
-        <configuration>
-          <issueLinkTemplate>%URL%/show_bug.cgi?id=%ISSUE%</issueLinkTemplate>
-          <useJql>true</useJql>
-        </configuration>
-      </plugin>
       <plugin>
         <groupId>org.apache.maven.plugins</groupId>
         <artifactId>maven-checkstyle-plugin</artifactId>
diff --git a/log4j-slf4j2-impl/src/site/site.xml b/log4j-slf4j2-impl/src/site/site.xml
index a1f9106932..68451f38c5 100644
--- a/log4j-slf4j2-impl/src/site/site.xml
+++ b/log4j-slf4j2-impl/src/site/site.xml
@@ -43,8 +43,6 @@
     </menu>
 
     <menu name="Log4j Project Reports" img="icon-cog">
-      <item name="Changes Report" href="../changes-report.html" />
-      <item name="JIRA Report" href="../jira-report.html" />
       <item name="Surefire Report" href="../surefire-report.html" />
       <item name="RAT Report" href="../rat-report.html" />
     </menu>
diff --git a/log4j-spring-boot/pom.xml b/log4j-spring-boot/pom.xml
index adb7642464..fd0be2c6c0 100644
--- a/log4j-spring-boot/pom.xml
+++ b/log4j-spring-boot/pom.xml
@@ -174,21 +174,6 @@
   </build>
   <reporting>
     <plugins>
-      <plugin>
-        <groupId>org.apache.maven.plugins</groupId>
-        <artifactId>maven-changes-plugin</artifactId>
-        <reportSets>
-          <reportSet>
-            <reports>
-              <report>changes-report</report>
-            </reports>
-          </reportSet>
-        </reportSets>
-        <configuration>
-          <issueLinkTemplate>%URL%/show_bug.cgi?id=%ISSUE%</issueLinkTemplate>
-          <useJql>true</useJql>
-        </configuration>
-      </plugin>
       <plugin>
         <groupId>org.apache.maven.plugins</groupId>
         <artifactId>maven-checkstyle-plugin</artifactId>
diff --git a/log4j-spring-boot/src/site/site.xml b/log4j-spring-boot/src/site/site.xml
index 3f8f7762e8..e31d4aa854 100644
--- a/log4j-spring-boot/src/site/site.xml
+++ b/log4j-spring-boot/src/site/site.xml
@@ -43,8 +43,6 @@
     </menu>
 
     <menu name="Log4j Project Reports" img="icon-cog">
-      <item name="Changes Report" href="../changes-report.html" />
-      <item name="JIRA Report" href="../jira-report.html" />
       <item name="Surefire Report" href="../surefire-report.html" />
       <item name="RAT Report" href="../rat-report.html" />
     </menu>
diff --git a/log4j-spring-cloud-config/log4j-spring-cloud-config-client/pom.xml b/log4j-spring-cloud-config/log4j-spring-cloud-config-client/pom.xml
index f5399cc423..43e33ee16e 100644
--- a/log4j-spring-cloud-config/log4j-spring-cloud-config-client/pom.xml
+++ b/log4j-spring-cloud-config/log4j-spring-cloud-config-client/pom.xml
@@ -145,21 +145,6 @@
   </build>
   <reporting>
     <plugins>
-      <plugin>
-        <groupId>org.apache.maven.plugins</groupId>
-        <artifactId>maven-changes-plugin</artifactId>
-        <reportSets>
-          <reportSet>
-            <reports>
-              <report>changes-report</report>
-            </reports>
-          </reportSet>
-        </reportSets>
-        <configuration>
-          <issueLinkTemplate>%URL%/show_bug.cgi?id=%ISSUE%</issueLinkTemplate>
-          <useJql>true</useJql>
-        </configuration>
-      </plugin>
       <plugin>
         <groupId>org.apache.maven.plugins</groupId>
         <artifactId>maven-checkstyle-plugin</artifactId>
diff --git a/log4j-spring-cloud-config/log4j-spring-cloud-config-client/src/site/site.xml b/log4j-spring-cloud-config/log4j-spring-cloud-config-client/src/site/site.xml
index 5abfffd333..8787f1593b 100644
--- a/log4j-spring-cloud-config/log4j-spring-cloud-config-client/src/site/site.xml
+++ b/log4j-spring-cloud-config/log4j-spring-cloud-config-client/src/site/site.xml
@@ -43,8 +43,6 @@
     </menu>
 
     <menu name="Log4j Project Reports" img="icon-cog">
-      <item name="Changes Report" href="../changes-report.html" />
-      <item name="JIRA Report" href="../jira-report.html" />
       <item name="Surefire Report" href="../surefire-report.html" />
       <item name="RAT Report" href="../rat-report.html" />
     </menu>
diff --git a/log4j-spring-cloud-config/src/site/site.xml b/log4j-spring-cloud-config/src/site/site.xml
index 14bbb8728f..bb864fb541 100644
--- a/log4j-spring-cloud-config/src/site/site.xml
+++ b/log4j-spring-cloud-config/src/site/site.xml
@@ -43,8 +43,6 @@
     </menu>
 
     <menu name="Log4j Project Reports" img="icon-cog">
-      <item name="Changes Report" href="../changes-report.html" />
-      <item name="JIRA Report" href="../jira-report.html" />
       <item name="Surefire Report" href="../surefire-report.html" />
       <item name="RAT Report" href="../rat-report.html" />
     </menu>
diff --git a/log4j-taglib/pom.xml b/log4j-taglib/pom.xml
index c837f959f2..00883595c6 100644
--- a/log4j-taglib/pom.xml
+++ b/log4j-taglib/pom.xml
@@ -96,21 +96,6 @@
   </build>
   <reporting>
     <plugins>
-      <plugin>
-        <groupId>org.apache.maven.plugins</groupId>
-        <artifactId>maven-changes-plugin</artifactId>
-        <reportSets>
-          <reportSet>
-            <reports>
-              <report>changes-report</report>
-            </reports>
-          </reportSet>
-        </reportSets>
-        <configuration>
-          <issueLinkTemplate>%URL%/show_bug.cgi?id=%ISSUE%</issueLinkTemplate>
-          <useJql>true</useJql>
-        </configuration>
-      </plugin>
       <plugin>
         <groupId>org.apache.maven.plugins</groupId>
         <artifactId>maven-checkstyle-plugin</artifactId>
diff --git a/log4j-taglib/src/site/site.xml b/log4j-taglib/src/site/site.xml
index b201bccfcf..26f023762a 100644
--- a/log4j-taglib/src/site/site.xml
+++ b/log4j-taglib/src/site/site.xml
@@ -44,8 +44,6 @@
     </menu>
 
     <menu name="Log4j Project Reports" img="icon-cog">
-      <item name="Changes Report" href="../changes-report.html" />
-      <item name="JIRA Report" href="../jira-report.html" />
       <item name="Surefire Report" href="../surefire-report.html" />
       <item name="RAT Report" href="../rat-report.html" />
     </menu>
diff --git a/log4j-to-jul/pom.xml b/log4j-to-jul/pom.xml
index fd30ea04fe..c9723daf14 100644
--- a/log4j-to-jul/pom.xml
+++ b/log4j-to-jul/pom.xml
@@ -82,21 +82,6 @@
   </build>
   <reporting>
     <plugins>
-      <plugin>
-        <groupId>org.apache.maven.plugins</groupId>
-        <artifactId>maven-changes-plugin</artifactId>
-        <reportSets>
-          <reportSet>
-            <reports>
-              <report>changes-report</report>
-            </reports>
-          </reportSet>
-        </reportSets>
-        <configuration>
-          <issueLinkTemplate>%URL%/show_bug.cgi?id=%ISSUE%</issueLinkTemplate>
-          <useJql>true</useJql>
-        </configuration>
-      </plugin>
       <plugin>
         <groupId>org.apache.maven.plugins</groupId>
         <artifactId>maven-checkstyle-plugin</artifactId>
diff --git a/log4j-to-jul/src/site/site.xml b/log4j-to-jul/src/site/site.xml
index 6b84b63c2b..c7f15e5288 100644
--- a/log4j-to-jul/src/site/site.xml
+++ b/log4j-to-jul/src/site/site.xml
@@ -43,8 +43,6 @@
     </menu>
 
     <menu name="Log4j Project Reports" img="icon-cog">
-      <item name="Changes Report" href="../changes-report.html" />
-      <item name="JIRA Report" href="../jira-report.html" />
       <item name="Surefire Report" href="../surefire-report.html" />
       <item name="RAT Report" href="../rat-report.html" />
     </menu>
diff --git a/log4j-to-slf4j/pom.xml b/log4j-to-slf4j/pom.xml
index 0294eb668a..b6c87fe3e7 100644
--- a/log4j-to-slf4j/pom.xml
+++ b/log4j-to-slf4j/pom.xml
@@ -95,21 +95,6 @@
   </build>
   <reporting>
     <plugins>
-      <plugin>
-        <groupId>org.apache.maven.plugins</groupId>
-        <artifactId>maven-changes-plugin</artifactId>
-        <reportSets>
-          <reportSet>
-            <reports>
-              <report>changes-report</report>
-            </reports>
-          </reportSet>
-        </reportSets>
-        <configuration>
-          <issueLinkTemplate>%URL%/show_bug.cgi?id=%ISSUE%</issueLinkTemplate>
-          <useJql>true</useJql>
-        </configuration>
-      </plugin>
       <plugin>
         <groupId>org.apache.maven.plugins</groupId>
         <artifactId>maven-checkstyle-plugin</artifactId>
diff --git a/log4j-to-slf4j/src/site/site.xml b/log4j-to-slf4j/src/site/site.xml
index 0f2364ee20..7715af4c4d 100644
--- a/log4j-to-slf4j/src/site/site.xml
+++ b/log4j-to-slf4j/src/site/site.xml
@@ -43,8 +43,6 @@
     </menu>
 
     <menu name="Log4j Project Reports" img="icon-cog">
-      <item name="Changes Report" href="../changes-report.html" />
-      <item name="JIRA Report" href="../jira-report.html" />
       <item name="Surefire Report" href="../surefire-report.html" />
       <item name="RAT Report" href="../rat-report.html" />
     </menu>
diff --git a/log4j-web/pom.xml b/log4j-web/pom.xml
index 484e545ac3..25eb6caf82 100644
--- a/log4j-web/pom.xml
+++ b/log4j-web/pom.xml
@@ -105,21 +105,6 @@
   </build>
   <reporting>
     <plugins>
-      <plugin>
-        <groupId>org.apache.maven.plugins</groupId>
-        <artifactId>maven-changes-plugin</artifactId>
-        <reportSets>
-          <reportSet>
-            <reports>
-              <report>changes-report</report>
-            </reports>
-          </reportSet>
-        </reportSets>
-        <configuration>
-          <issueLinkTemplate>%URL%/show_bug.cgi?id=%ISSUE%</issueLinkTemplate>
-          <useJql>true</useJql>
-        </configuration>
-      </plugin>
       <plugin>
         <groupId>org.apache.maven.plugins</groupId>
         <artifactId>maven-checkstyle-plugin</artifactId>
diff --git a/log4j-web/src/site/site.xml b/log4j-web/src/site/site.xml
index 0f3fd0fe6c..0ad38d049c 100644
--- a/log4j-web/src/site/site.xml
+++ b/log4j-web/src/site/site.xml
@@ -43,8 +43,6 @@
     </menu>
 
     <menu name="Log4j Project Reports" img="icon-cog">
-      <item name="Changes Report" href="../changes-report.html" />
-      <item name="JIRA Report" href="../jira-report.html" />
       <item name="Surefire Report" href="../surefire-report.html" />
       <item name="RAT Report" href="../rat-report.html" />
     </menu>
diff --git a/pom.xml b/pom.xml
index 654254d8d8..93ada8b4f3 100644
--- a/pom.xml
+++ b/pom.xml
@@ -264,7 +264,6 @@
     <findsecbugs-plugin.version>1.12.0</findsecbugs-plugin.version>
     <jacoco-maven-plugin.version>0.8.8</jacoco-maven-plugin.version>
     <maven-bundle-plugin.version>5.1.8</maven-bundle-plugin.version>
-    <maven-changes-plugin.version>2.12.1</maven-changes-plugin.version>
     <maven-checkstyle-plugin.version>3.2.0</maven-checkstyle-plugin.version>
     <maven-dependency-plugin.version>3.3.0</maven-dependency-plugin.version>
     <maven-doap-plugin.version>1.2</maven-doap-plugin.version>
@@ -1143,11 +1142,6 @@
             </execution>
           </executions>
         </plugin>
-        <plugin>
-          <groupId>org.apache.maven.plugins</groupId>
-          <artifactId>maven-changes-plugin</artifactId>
-          <version>${maven-changes-plugin.version}</version>
-        </plugin>
         <plugin>
           <groupId>org.apache.maven.plugins</groupId>
           <artifactId>maven-checkstyle-plugin</artifactId>
@@ -1627,25 +1621,6 @@
           </excludes>
         </configuration>
       </plugin>
-      <!-- Changes report -->
-      <plugin>
-        <groupId>org.apache.maven.plugins</groupId>
-        <artifactId>maven-changes-plugin</artifactId>
-        <inherited>false</inherited>
-        <reportSets>
-          <reportSet>
-            <reports>
-              <report>changes-report</report>
-              <report>jira-report</report>
-            </reports>
-          </reportSet>
-        </reportSets>
-        <configuration>
-          <statusIds>Resolved, Closed</statusIds>
-          <columnNames>Type,Key,Summary,Assignee,Status,Resolution,Fix Version</columnNames>
-          <useJql>true</useJql>
-        </configuration>
-      </plugin>
       <plugin>
         <groupId>org.apache.maven.plugins</groupId>
         <artifactId>maven-project-info-reports-plugin</artifactId>
@@ -1771,43 +1746,6 @@
         </plugins>
       </build>
     </profile>
-    <profile>
-      <id>release-notes</id>
-      <build>
-        <plugins>
-          <plugin>
-            <groupId>org.apache.maven.plugins</groupId>
-            <artifactId>maven-changes-plugin</artifactId>
-            <configuration>
-              <template>announcement.vm</template>
-              <templateDirectory>src/changes</templateDirectory>
-              <runOnlyAtExecutionRoot>true</runOnlyAtExecutionRoot>
-              <announcementDirectory>.</announcementDirectory>
-              <announcementFile>RELEASE-NOTES.md</announcementFile>
-              <issueManagementSystems>
-                <issueManagementSystem>changes.xml</issueManagementSystem>
-                <!--<issueManagementSystem>JIRA</issueManagementSystem> -->
-              </issueManagementSystems>
-              <version>${Log4jReleaseVersion}</version>
-              <announceParameters>
-                <releaseVersion>${Log4jReleaseVersion}</releaseVersion>
-                <releaseCount>${Log4jReleaseCount}</releaseCount>
-              </announceParameters>
-              <useJql>true</useJql>
-            </configuration>
-            <executions>
-              <execution>
-                <id>create-release-notes</id>
-                <phase>generate-resources</phase>
-                <goals>
-                  <goal>announcement-generate</goal>
-                </goals>
-              </execution>
-            </executions>
-          </plugin>
-        </plugins>
-      </build>
-    </profile>
     <profile>
       <id>apache-release</id>
       <build>
diff --git a/src/changes/announcement.vm b/src/changes/announcement.vm
deleted file mode 100644
index 06423d9e6e..0000000000
--- a/src/changes/announcement.vm
+++ /dev/null
@@ -1,128 +0,0 @@
-## Licensed to the Apache Software Foundation (ASF) under one
-## or more contributor license agreements.  See the NOTICE file
-## distributed with this work for additional information
-## regarding copyright ownership.  The ASF licenses this file
-## to you under the Apache License, Version 2.0 (the
-## "License"); you may not use this file except in compliance
-## with the License.  You may obtain a copy of the License at
-##
-##  http://www.apache.org/licenses/LICENSE-2.0
-##
-## Unless required by applicable law or agreed to in writing,
-## software distributed under the License is distributed on an
-## "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-## KIND, either express or implied.  See the License for the
-## specific language governing permissions and limitations
-## under the License.
-#set($h1='#')
-#set($h2='##')
-#set($h3='###')
-#set($relVersion=$announceParameters.releaseVersion)
-#set($relCount=$announceParameters.releaseCount)
-#macro(formatAction $item)
-## Use replaceAll to fix up LF-only line ends on Windows.
-## Also replace < and > with entity versions to avoid HTML being misinterpreted.
-#set($action=$item.action.replaceAll("\n","
-").replaceAll("<", "&lt;").replaceAll(">", "&gt;"))
-#if($item.issue)
-#set($issue = $item.issue)
-#set($url = "https://issues.apache.org/jira/browse/$issue")
-#else
-#set($issue = "")
-#end
-* #if($issue)[$issue]($url):#end
-
-${action}#if($item.dueTo) Thanks to ${item.dueTo}.#end
-
-#end
-## -----------------------------------------
-<!---
- Licensed to the Apache Software Foundation (ASF) under one or more
- contributor license agreements.  See the NOTICE file distributed with
- this work for additional information regarding copyright ownership.
- The ASF licenses this file to You under the Apache License, Version 2.0
- (the "License"); you may not use this file except in compliance with
- the License.  You may obtain a copy of the License at
-
-      http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
--->
-$h1 Apache Log4j ${relVersion} Release Notes
-
-The ${developmentTeam} is pleased to announce the Log4j ${relVersion} release!
-
-Apache Log4j is a well known framework for logging application behavior. Log4j 2 is an upgrade
-to Log4j that provides significant improvements over its predecessor, Log4j 1.x, and provides
-many other modern features such as support for Markers, lambda expressions for lazy logging,
-property substitution using Lookups, multiple patterns on a PatternLayout and asynchronous
-Loggers. Another notable Log4j 2 feature is the ability to be "garbage-free" (avoid allocating
-temporary objects) while logging. In addition, Log4j 2 will not lose events while reconfiguring.
-
-The artifacts may be downloaded from https://logging.apache.org/log4j/2.x/download.html.
-
-This release primarily contains bug fixes and minor enhancements.
-
-Due to a break in compatibility in the SLF4J binding, Log4j now ships with two versions of the SLF4J to Log4j adapters.
-log4j-slf4j-impl should be used with SLF4J 1.7.x and earlier and log4j-slf4j2-impl should be used with SLF4J 2.x and
-later. SLF4J-1.8.x is no longer supported as a GA release never occurred.
-
-The Log4j ${relVersion} API, as well as many core components, maintains binary compatibility with previous releases.
-
-## Hack to improve layout: replace all pairs of spaces with a single new-line
-$h2 $release.description.replaceAll("  ", "
-")
-
-#if ($release.actions.size() == 0)
-No changes defined in this version.
-#else
-Changes in this version include:
-
-#if ($release.getActions('add').size() !=0)
-$h3 New Features
-#foreach($actionItem in $release.getActions('add'))
-#formatAction($actionItem)
-#end
-#end
-
-#if ($release.getActions('fix').size() !=0)
-$h3 Fixed Bugs
-#foreach($actionItem in $release.getActions('fix'))
-#formatAction($actionItem)
-#end
-#end
-
-#if ($release.getActions('update').size() !=0)
-$h3 Changes
-#foreach($actionItem in $release.getActions('update'))
-#formatAction($actionItem)
-#end
-#end
-
-#if ($release.getActions('remove').size() !=0)
-$h3 Removed
-#foreach($actionItem in $release.getActions('remove'))
-#formatAction($actionItem)
-#end
-#end
-## End of main loop
-#end
----
-
-Apache Log4j ${relVersion} requires a minimum of Java 8 to build and run.
-Log4j 2.12.4 is the last release to support Java 7.
-Log4j 2.3.2 is the last release to support Java 6.
-Java 6 and Java 7 are no longer supported by the Log4j team.
-
-For complete information on ${project.name}, including instructions on how to submit bug
-reports, patches, or suggestions for improvement, see the Apache ${project.name} website:
-
-${project.url}
-
----
-
-Earlier release notes are accessible in [Release History](${project.url}changes-report.html).
diff --git a/src/changes/changes.xml b/src/changes/changes.xml
deleted file mode 100644
index 96cd5ae07b..0000000000
--- a/src/changes/changes.xml
+++ /dev/null
@@ -1,6129 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-   Licensed to the Apache Software Foundation (ASF) under one or more
-   contributor license agreements.  See the NOTICE file distributed with
-   this work for additional information regarding copyright ownership.
-   The ASF licenses this file to You under the Apache License, Version 2.0
-   (the "License"); you may not use this file except in compliance with
-   the License.  You may obtain a copy of the License at
-
-       http://www.apache.org/licenses/LICENSE-2.0
-
-   Unless required by applicable law or agreed to in writing, software
-   distributed under the License is distributed on an "AS IS" BASIS,
-   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-   See the License for the specific language governing permissions and
-   limitations under the License.
--->
-<document xmlns="http://maven.apache.org/changes/1.0.0"
-          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-          xsi:schemaLocation="http://maven.apache.org/changes/1.0.0 http://maven.apache.org/xsd/changes-1.0.0.xsd">
-  <properties>
-    <title>Changes</title>
-  </properties>
-  <body>
-    <!-- NOTE: the text node in an action element is interpreted as Markdown in the release notes! -->
-    <!-- The "type" attribute can have the following values:
-         - "add" - New Feature
-         - "fix" - Fixed Bug
-         - "update" - Change
-         - "remove" - Removed
-    -->
-    <release version="2.19.1" date="TBD" description="GA Release 2.19.1">
-      <action issue="LOG4J2-2678" dev="pkarwasz" type="update" due-to="Federico D'Ambrosio">
-        Add LogEvent timestamp to ProducerRecord in KafkaAppender.
-      </action>
-      <action issue="LOG4J2-3631" dev="pkarwasz" type="fix" due-to="Jeff Thomas">
-        Fix `Configurator#setLevel` for internal classes.
-      </action>
-      <action issue="LOG4J2-3634" dev="pkarwasz" type="fix" due-to="Marcel Koch">
-        Fix level propagation in `Log4jBridgeHandler`.
-      </action>
-    </release>
-    <release version="2.19.0" date="2022-09-09" description="GA Release 2.19.0">
-      <action issue="LOG4J2-3584" dev="vy" type="fix">
-        Make StatusConsoleListener use SimpleLogger internally.
-      </action>
-      <action issue="LOG4J2-3614" dev="vy" type="fix" due-to="strainu">
-        Harden InstantFormatter against delegate failures.
-      </action>
-      <action issue="LOG4J2-3572" dev="rgeors" type="update">
-        Add getExplicitLevel method to LoggerConfig.
-      </action>
-      <action issue="LOG4J2-3589" dev="rgoers" type="update">
-        Allow Plugins to be injected with the LoggerContext reference.
-      </action>
-      <action issue="LOG4J2-3588" dev="rgoers" type="update">
-        Allow PropertySources to be added.
-      </action>
-      <action issue="LOG4J2-3578" dev="rgoers" type="fix">
-        Generate new SSL certs for testing.
-      </action>
-      <action issue="LOG4J2-3556" dev="vy" type="fix" due-to="Arthur Gavlyukovskiy">
-        Make JsonTemplateLayout stack trace truncation operate for each label block.
-      </action>
-      <action issue="LOG4J2-3573" dev="vy" type="remove" due-to="Wolff Bock von Wuelfingen">
-        Removed build page in favor of a single build instructions file.
-      </action>
-      <action issue="LOG4J2-3550" dev="rgoers" type="fix" due-to="DongjianPeng">
-        SystemPropertyArbiter was assigning the value as the name.
-      </action>
-      <action issue="LOG4J2-3560" dev="ckozak" type="fix" due-to="David Schlosnagle">
-        Logger$PrivateConfig.filter(Level, Marker, String) was allocating empty varargs array.
-      </action>
-      <action issue="LOG4J2-3561" dev="pkarwasz" type="fix" due-to="Robert Papp">
-        Allows a space separated list of style specifiers in the %style pattern for consistency with %highlight.
-      </action>
-      <action issue="LOG4J2-3564" dev="pkarwasz" type="fix">
-        Fix NPE in `log4j-to-jul` in the case the root logger level is null.
-      </action>
-      <action issue="LOG4J2-3545" dev="pkarwasz" type="fix" due-to="Johan Compagner">
-        Add correct manifest entries for OSGi to log4j-jcl
-      </action>
-      <action issue="LOG4J2-3565" dev="dafengsu7" type="fix">
-        Fix RollingRandomAccessFileAppender with DirectWriteRolloverStrategy can't create the first log file of different directory.
-      </action>
-      <action issue="LOG4J2-3579" dev="pkarwasz" type="fix" due-to="Boris Unckel">
-        Fix ServiceLoaderUtil behavior in the presence of a SecurityManager.
-      </action>
-      <action issue="LOG4J2-3559" dev="pkarwasz" type="fix" due-to="Gary Gregory">
-        Fix resolution of properties not starting with `log4j2.`.
-      </action>
-      <action issue="LOG4J2-3583" dev="pkarwasz" type="add" due-to="Pierrick Terrettaz">
-        Add support for SLF4J2 stack-valued MDC.
-      </action>
-      <action issue="LOG4J2-2975" dev="pkarwasz" type="add" due-to="Daniel Gray">
-        Add implementation of SLF4J2 fluent API.
-      </action>
-      <action issue="LOG4J2-3590" dev="pkarwasz" type="remove">
-        Remove SLF4J 1.8.x binding.
-      </action>
-      <action issue="LOG4J2-3557" dev="pkarwasz" type="fix" due-to="Andreas Leitgeb">
-        Fix recursion between Log4j 1.2 LogManager and Category.
-      </action>
-      <action issue="LOG4J2-3587" dev="pkarwasz" type="fix" due-to="Tomas Micko">
-        Fix regression in Rfc5424Layout default values.
-      </action>
-      <action issue="LOG4J2-3548" dev="pkarwasz" type="fix" due-to="Kristof Farkas-Pall">
-        Improve support for passwordless keystores.
-      </action>
-      <action issue="LOG4J2-708" dev="pkarwasz" type="fix">
-        Add async support to `Log4jServletFilter`.
-      </action>
-    </release>
-    <release version="2.18.0" date="2022-06-28" description="GA Release 2.18.0">
-      <action issue="LOG4J2-3339" dev="rgoers" type="fix">
-        DirectWriteRolloverStrategy should use the current time when creating files.
-      </action>
-      <action issue="LOG4J2-3536" dev="rgoers" type="update">
-        Upgrade the Flume Appender to Flume 1.10.0
-      </action>
-      <action issue="LOG4J2-3534" dev="yueki1993" type="fix">
-        Fix LevelRangeFilterBuilder to align with log4j1's behavior.
-      </action>
-      <action issue="LOG4J2-3527" dev="rgoers" type="fix">
-        Don't use Paths.get() to avoid circular file systems.
-      </action>
-      <action issue="LOG4J2-3490" dev="rgoers" type="fix">
-        The DirectWriteRolloverStrategy was not detecting the correct index to use during startup.
-      </action>
-      <action issue="LOG4J2-3516" dev="rgoers" type="update">
-        Move perf tests to log4j-core-its
-      </action>
-      <action issue="LOG4J2-3432" dev="rgoers" type="fix">
-        SizeBasedTriggeringPolicy would fail to rename files properly when integer pattern contained a leading zero.
-      </action>
-      <action issue="LOG4J2-3491" dev="rgoers" type="fix" due-to="Avihai Marchiano">
-        Async Loggers were including the location information by default.
-      </action>
-      <action issue="LOG4J2-1376" dev="mneundorfer" type="fix">
-        Allow enterprise id to be an OID fragment.
-      </action>
-      <action issue="LOG4J2-3506" dev="rgoers" type="update">
-        Support Spring 2.6.x.
-      </action>
-      <action issue="LOG4J2-3493" dev="rgoers" type="fix" due-to="Dmytro Voloshyn">
-        ClassArbiter's newBuilder method referenced the wrong class.
-     </action>
-      <action issue="LOG4J2-3481" dev="rgoers" type="fix">
-        HttpWatcher did not pass credentials when polling.
-      </action>
-      <action issue="LOG4J2-3482" dev="rgoers" type="fix">
-        UrlConnectionFactory.createConnection now accepts an AuthorizationProvider as a parameter.
-      </action>
-      <action issue="LOG4J2-3495" dev="rgoers" type="add">
-        Add MutableThreadContextMapFilter.
-      </action>
-      <action issue="LOG4J2-3473" dev="rpopma" type="update">
-        Make the default disruptor WaitStrategy used by Async Loggers garbage-free.
-      </action>
-      <action issue="LOG4J2-3472" dev="rpopma" type="add">
-        Add support for custom LMAX disruptor WaitStrategy configuration.
-      </action>
-      <action issue="LOG4J2-3476" dev="rpopma" type="update">
-        Do not throw UnsupportedOperationException when JUL ApiLogger::setLevel is called.
-      </action>
-      <action issue="LOG4J2-3477" dev="vy" type="fix" due-to="filipc">
-        Add the missing context stack to JsonLayout template.
-      </action>
-      <action issue="LOG4J2-3393" dev="vy" type="fix">
-        Improve JsonTemplateLayout performance.
-      </action>
-      <action issue="LOG4J2-3424" dev="ckozak" type="fix">
-        Properties defined in configuration using a value attribute (as opposed to element) are read correctly.
-      </action>
-      <action issue="LOG4J2-3413" date="2022-02-26" type="fix" dev="pkarwasz">
-        Fix resolution of non-Log4j properties.
-      </action>
-      <action issue="LOG4J2-3423" type="fix" dev="ggregory" due-to="Radim Tlusty">
-        JAR file containing Log4j configuration isn't closed.
-      </action>
-      <action issue="LOG4J2-3425" type="fix" dev="ggregory" due-to="Jiří Smolík">
-        Syslog appender lacks the SocketOptions setting.
-      </action>
-      <action type="fix" dev="pkarwasz">
-        Improve validation and reporting of configuration errors.
-      </action>
-      <action type="fix" dev="pkarwasz">
-        Log4j 1.2 bridge should generate Log4j 2.x messages based on the parameter runtime type.
-      </action>
-      <action issue="LOG4J2-3426" dev="pkarwasz" type="fix" due-to="Pooja Pandey">
-        Log4j 1.2 bridge should not wrap components unnecessarily.
-      </action>
-      <action issue="LOG4J2-3427" dev="pkarwasz" type="update">
-        Improves ServiceLoader support on servlet containers.
-      </action>
-      <action issue="LOG4J2-3418" dev="pkarwasz" type="fix">
-        Fixes Spring Boot logging system registration in a multi-application environment.
-      </action>
-      <action issue="LOG4J2-3040" dev="ggregory" type="fix" due-to="LF-Lin">
-        Avoid ClassCastException in JeroMqManager with custom LoggerContextFactory #791.
-      </action>
-      <action dev="ggregory" type="fix" due-to="LF-Lin">
-        Fix minor typo #792.
-      </action>
-      <action issue="LOG4J2-3419" dev="pkarwasz" type="add">
-        Add support for custom Log4j 1.x levels.
-      </action>
-      <action issue="LOG4J2-3439" dev="pkarwasz" type="fix" due-to="Jayesh Netravali">
-        Fixes default SslConfiguration, when a custom keystore is used.
-      </action>
-      <action issue="LOG4J2-3447" dev="pkarwasz" type="fix" due-to="Pooja Pandey">
-        Fixes appender concurrency problems in Log4j 1.x bridge.
-      </action>
-      <action issue="LOG4J2-3452" dev="stefanvodita" type="fix" due-to="Stefan Vodita">
-        Fix and test for race condition in FileUtils.mkdir().
-      </action>
-      <action issue="LOG4J2-3458" dev="ggregory" type="fix">
-        LocalizedMessage logs misleading errors on the console.
-      </action>
-      <action issue="LOG4J2-3359" dev="pkarwasz" type="fix" due-to="Tukesh">
-        Fixes the syslog appender in Log4j 1.x bridge, when used with a custom layout.
-      </action>
-      <action issue="LOG4J2-3359" dev="ggregory" type="fix" due-to="Rajesh">
-        log4j-1.2-api 2.17.2 throws NullPointerException while removing appender with name as null.
-      </action>
-      <action issue="LOG4J2-2872" dev="pkarwasz" type="fix" due-to="Alla Gofman">
-        Fix problem with non-uppercase custom levels.
-      </action>
-      <action issue="LOG4J2-3440" dev="pkarwasz" type="add">
-        Add support for adding and retrieving appenders in Log4j 1.x bridge.
-      </action>
-      <action issue="LOG4J2-3475" dev="jjlin" type="fix" due-to="Jeremy Lin">
-        Add missing message parameterization in RegexFilter.
-      </action>
-      <action issue="LOG4J2-3362" dev="pkarwasz" type="add">
-        Add support for Jakarta Mail API in the SMTP appender.
-      </action>
-      <action issue="LOG4J2-3483" dev="pkarwasz" type="add">
-        Add support for Apache Extras' RollingFileAppender in Log4j 1.x bridge.
-      </action>
-      <!-- UPDATES -->
-      <action issue="LOG4J2-3428" dev="ggregory" type="fix">
-        Update 3rd party dependencies for 2.18.0.
-      </action>
-      <action issue="LOG4J2-3531" dev="pkarwasz" type="fix" due-to="Simo Nikula">
-        Fix parsing error, when XInclude is disabled.
-      </action>
-      <action issue="LOG4J2-3537" dev="pavel_k" type="fix" due-to="Pavel_K">
-        Fixes problem with wrong ANSI escape code for bright colors
-      </action>
-      <action issue="LOG4J2-3538" dev="pavel_k" type="add" due-to="Pavel_K">
-        Add support for 24 colors in highlighting
-      </action>      
-    </release>
-    <release version="2.17.2" date="2022-02-23" description="GA Release 2.17.2">
-      <!-- FIXES -->
-      <action issue="LOG4J2-3304" dev="rgoers" type="fix" due-to="francis-FY">
-        Flag LogManager as initialized if the LoggerFactory is provided as a property.
-      </action>
-      <action issue="LOG4J2-3404" dev="ckozak" type="fix" due-to="Piotr P. Karwasz">
-        Fix DefaultConfiguration leak in PatternLayout
-      </action>
-      <action issue="LOG4J2-3405" dev="rgoers" type="fix">
-        Document that the Spring Boot Lookup requires the log4j-spring-boot dependency.
-      </action>
-      <action issue="LOG4J2-3317" dev="ckozak" type="fix">
-        Fix RoutingAppender backward compatibility and disallow recursive evaluation of lookup results outside of configuration properties.
-      </action>
-      <action issue="LOG4J2-3333" dev="ckozak" type="fix">
-        Fix ThreadContextDataInjector initialization deadlock
-      </action>
-      <action issue="LOG4J2-3358" dev="ckozak" type="fix">
-        Fix substitutions when programmatic configuration is used
-      </action>
-      <action issue="LOG4J2-3345" dev="ckozak">
-        log4j-jpl formats message parameters correctly using MessageFormat.
-      </action>
-      <action issue="LOG4J2-3215" dev="vy" due-to="quapka">
-        Replace usages of "compile" with "implementation" in the Gradle docs.
-      </action>
-      <action issue="LOG4J2-3267" dev="rpopma" type="update">
-        Change modifier of method org.apache.logging.log4j.core.tools.Generate#generate to public (was package private) to facilitate automated code generation.
-      </action>
-      <action issue="LOG4J2-3306" dev="rgoers" type="fix">
-        OptionConverter could cause a StackOverflowError.
-      </action>
-      <action dev="ggregory" type="fix">
-        Log4j 1.2 bridge class ConsoleAppender should extend WriterAppender and provide better compatibility with custom appenders.
-      </action>
-      <action dev="ggregory" type="fix">
-        Log4j 1.2 bridge method NDC.inherit(Stack) should not use generics to provide source compatibility.
-      </action>
-      <action dev="ggregory" type="fix">
-        Log4j 1.2 bridge class PatternLayout is missing constants DEFAULT_CONVERSION_PATTERN and TTCC_CONVERSION_PATTERN.
-      </action>
-      <action dev="ggregory" type="fix">
-        Log4j 1.2 bridge class PropertyConfigurator should implement Configurator.
-      </action>
-      <action dev="ggregory" type="fix">
-        Log4j 1.2 bridge interface Configurator doConfigure() methods should use LoggerRepository, not LoggerContext.
-      </action>
-      <action dev="ggregory" type="fix">
-        Log4j 1.2 bridge class OptionConverter is missing selectAndConfigure() methods.
-      </action>
-      <action dev="ggregory" type="fix">
-        Log4j 1.2 bridge class Category should implement AppenderAttachable.
-      </action>
-      <action dev="ggregory" type="fix">
-        Log4j 1.2 bridge method Category.exists(String) should be static.
-      </action>
-      <action dev="ggregory" type="fix">
-        Log4j 1.2 bridge methods missing in org.apache.log4j.Category: getDefaultHierarchy(), getHierarchy(), getLoggerRepository().
-      </action>
-      <action dev="ggregory" type="fix">
-        Log4j 1.2 bridge class LogManager default constructor should be public.
-      </action>
-      <action dev="ggregory" type="fix">
-        Log4j 1.2 bridge interface org.apache.log4j.spi.RendererSupport was in the wrong package and incomplete.
-      </action>
-      <action dev="ggregory" type="fix">
-        Log4j 1.2 bridge interfaces missing from package org.apache.log4j.spi: ThrowableRenderer, ThrowableRendererSupport, TriggeringEventEvaluator.
-      </action>
-      <action dev="ggregory" type="fix">
-        Log4j 1.2 bridge missing class org.apache.log4j.or.RendererMap.
-      </action>
-      <action dev="ggregory" type="fix" issue="LOG4J2-3281">
-        Log4j 1.2 bridge PropertiesConfiguration.buildAppender not adding filters to custom appender.
-      </action>
-      <action dev="ggregory" type="fix" issue="LOG4J2-3316">
-        Log4j 1.2 bridge should ignore case in properties file keys.
-      </action>
-      <action dev="ggregory" type="fix">
-        Log4j 1.2 bridge adds org.apache.log4j.component.helpers.Constants.
-      </action>
-      <action dev="ggregory" type="fix">
-        Log4j 1.2 bridge adds org.apache.log4j.helpers.LogLog.
-      </action>      
-      <action dev="ggregory" type="fix">
-        Log4j 1.2 bridge adds org.apache.log4j.helpers.Loader.
-      </action>
-      <action dev="ggregory" type="fix">
-        Log4j 1.2 bridge adds org.apache.log4j.spi.RootLogger.
-      </action>
-      <action dev="ggregory" type="fix">
-        Log4j 1.2 bridge class Category is missing some protected instance variables.
-      </action>
-      <action dev="ggregory" type="fix">
-        Log4j 1.2 bridge adds org.apache.log4j.Hierarchy.
-      </action>
-      <action dev="ggregory" type="fix">
-        Log4j 1.2 bridge methods Category.getChainedPriority() and getEffectiveLevel() should not be final.
-      </action>
-      <action dev="ggregory" type="fix">
-        Log4j 1.2 bridge adds org.apache.log4j.spi.NOPLoggerRepository and NOPLogger.
-      </action>
-      <action dev="ggregory" type="fix">
-        Log4j 1.2 bridge adds org.apache.log4j.spi.DefaultRepositorySelector.
-      </action>
-      <action dev="ggregory" type="fix">
-        Log4j 1.2 bridge implements LogManager.getCurrentLoggers() fully.
-      </action>
-      <action dev="ggregory" type="fix" issue="LOG4J2-3326" due-to="Benjamin Röhl, Gary Gregory">
-        Log4j 1.2 bridge fixes parsing filters in properties configuration file #680.
-      </action>
-      <action dev="ggregory" type="fix" issue="LOG4J2-3326" due-to="Gary Gregory">
-        Log4j 1.2 bridge missing OptionConverter.instantiateByKey(Properties, String, Class, Object).
-      </action>
-      <action dev="ggregory" type="fix" issue="LOG4J2-3326" due-to="Gary Gregory">
-        Log4j 1.2 bridge class org.apache.log4j.spi.LoggingEvent missing constructors and public instance variable.
-      </action>
-      <action dev="ggregory" type="fix" issue="LOG4J2-3328" due-to="Gary Gregory">
-        Log4j 1.2 bridge does not support system properties in log4j.xml.
-      </action>
-      <action dev="ggregory" type="fix" due-to="Gary Gregory">
-        Log4j 1.2 bridge now logs a warning instead of throwing an NullPointerException when building a Syslog appender with a missing "SyslogHost" param.
-      </action>
-      <action dev="ggregory" type="fix" due-to="Gary Gregory, Piotr P. Karwasz">
-        Log4j 1.2 bridge should allow property and XML attributes to start with either an upper-case or lower-case letter.
-      </action>
-      <action dev="ggregory" type="fix" due-to="Gary Gregory, Piotr P. Karwasz">
-        Log4j 1.2 bridge uses the wrong default values for a TTCCLayout #709.
-      </action>
-      <action dev="ggregory" type="fix" due-to="Gary Gregory, Piotr P. Karwasz">
-        Log4j 1.2 bridge throws ClassCastException when using SimpleLayout and others #708.
-      </action>
-      <action dev="ggregory" type="fix" due-to="Gary Gregory, Piotr P. Karwasz">
-        Log4j 1.2 bridge uses the wrong file pattern for rolling file appenders #710. 
-      </action>
-      <action dev="ggregory" type="fix" due-to="Gary Gregory, Piotr P. Karwasz">
-        Log4j 1.2 bridge throws ClassCastException when using SimpleLayout and others #708.
-      </action>
-      <action dev="ggregory" type="fix" due-to="Gary Gregory">
-        Log4j 1.2 bridge creates a SocketAppender instead of a SyslogAppender.
-      </action>
-      <action dev="ggregory" type="fix" due-to="Piotr P. Karwasz">
-        Log4j 1.2 bridge uses some incorrect default property values in some appenders.
-      </action>
-      <action dev="ggregory" type="fix" due-to="Gary Gregory">
-        Log4j 1.2 bridge supports the SocketAppender.
-      </action>
-      <action dev="ggregory" type="fix" due-to="Gary Gregory">
-        Log4j 1.2 bridge missing DefaultThrowableRenderer.
-      </action>
-      <action dev="ggregory" type="fix" due-to="Gary Gregory">
-        Log4j 1.2 bridge missing some ThrowableInformation constructors.
-      </action>
-      <action dev="ggregory" type="fix" due-to="Gary Gregory">
-        Log4j 1.2 bridge missing some LocationInfo constructors.
-      </action>
-      <action dev="ggregory" type="fix" due-to="Gary Gregory">
-        Log4j 1.2 bridge missed 
-      </action>
-      <action dev="ggregory" type="fix" due-to="Gary Gregory">
-        Log4j 1.2 bridge missed org.apache.log4j.pattern.FormattingInfo.
-      </action>
-      <action dev="ggregory" type="fix" due-to="Gary Gregory">
-        Log4j 1.2 bridge missed org.apache.log4j.pattern.NameAbbreviator.
-      </action>
-      <action dev="ggregory" type="fix" due-to="Gary Gregory">
-        Log4j 1.2 bridge missing UtilLoggingLevel.
-      </action>
-      <action dev="ggregory" type="fix" due-to="Gary Gregory">
-        Log4j 1.2 bridge missing FormattingInfo.
-      </action>
-      <action dev="ggregory" type="fix" due-to="Gary Gregory">
-        Log4j 1.2 bridge missing PatternConverter.
-      </action>
-      <action dev="ggregory" type="fix" due-to="Gary Gregory">
-        Log4j 1.2 bridge missing PatternParser.
-      </action>
-      <action dev="ggregory" type="fix" due-to="Piotr P. Karwasz, Gary Gregory">
-        Log4j 1.2 bridge issues with filters #753.
-      </action>
-      <action dev="ggregory" type="fix" due-to="Gary Gregory">
-        Log4j 1.2 bridge implements most of DOMConfigurator.
-      </action>
-      <action dev="ggregory" type="fix">
-        JndiManager reverts to 2.17.0 behavior: Read the system property for each call.
-      </action>
-      <action dev="ggregory" type="fix" issue="LOG4J2-3330" due-to="Mircea Lemnaru, Gary Gregory">
-        Configurator.setLevel not fetching the correct LoggerContext.
-      </action>
-      <action dev="ggregory" type="fix">
-        Fix DTD error: Add missing ELEMENT for Marker.
-      </action>
-      <action dev="ggregory" type="fix" due-to="Gary Gregory, Piotr P. Karwasz">
-        Fix log4j-jakarta-web service file #723.
-      </action>
-      <action issue="LOG4J2-3392" dev="ggregory" type="fix" due-to="Gary Gregory, Omer U">
-        AppenderLoggingException logging any exception to a MongoDB Appender.
-      </action>
-      <action issue="LOG4J2-3392" dev="ggregory" type="fix" due-to="Gary Gregory">
-        Possible NullPointerException in MongoDb4DocumentObject, MongoDbDocumentObject, DefaultNoSqlObject.
-      </action>
-      <action dev="ggregory" type="fix" due-to="Gary Gregory">
-        Trim whitespace before parsing a String into an Integer.
-      </action>
-      <action issue="LOG4J2-3410" dev="ggregory" type="fix" due-to="Barry Sham, Gary Gregory">
-        Log4j 1.2 bridge throws a ClassCastException when logging a Map with non-String keys.
-      </action>
-      <action issue="LOG4J2-3407" dev="ggregory" type="fix" due-to="Kenny MacLeod">
-        Log4j 1.2 bridge Check for non-existent appender when parsing properties #761.
-      </action>
-      <action issue="LOG4J2-3407" dev="ggregory" type="fix" due-to="Piotr P. Karwasz">
-        Log4j 1.2 bridge supports global threshold #764.
-      </action>
-      <!-- ADD -->
-      <action issue="LOG4J2-3297" dev="rgoers" type="add">
-        Limit loading of configuration via a url to https by default.
-      </action>
-      <action issue="LOG4J2-2486" dev="rgoers" type="add">
-        Require log4j2.Script.enableLanguages to be specified to enable scripting for specific languages.
-      </action>
-      <action issue="LOG4J2-3303" dev="vy" type="add" due-to="ramananravi">
-        Add TB support to FileSize.
-      </action>
-      <action issue="LOG4J2-3282" dev="ckozak" type="add" due-to="Michael Vorburger">
-        Add the log4j-to-jul JDK Logging Bridge
-      </action>
-      <action dev="ggregory" type="add">
-        Add org.apache.logging.log4j.core.appender.AsyncAppender.getAppenders() to more easily port from org.apache.log4j.AsyncAppender.getAllAppenders(). 
-      </action>
-      <action type="add" dev="ggregory" due-to="Gary Gregory">
-        Add Configurator.setLevel(Logger, Level), setLevel(String, String), and setLevel(Class, Level).
-      </action>
-      <action type="add" dev="rgoers" issue="LOG4J2-3341">
-        Add shorthand syntax for properties configuration format for specifying a logger level and appender refs.
-      </action>
-      <action issue="LOG4J2-3391" type="add" dev="ggregory" due-to="Gary Gregory">
-        Add optional additional fields to NoSQLAppender.
-      </action>
-      <!-- UPDATES -->
-      <action issue="LOG4J2-3368" dev="vy" type="update">
-        Bump Tomcat from 8.5.20 to 10.0.14 in log4j-appserver along with some dependency clean-up.
-      </action>
-      <action dev="ggregory" type="update" due-to="Dependabot">
-        Bump mongodb3.version from 3.12.4 to 3.12.10 #605.
-      </action>
-      <action dev="ggregory" type="update" due-to="Dependabot">
-        Bump awaitility from 4.0.3 to 4.1.1 #663.
-      </action>
-      <action dev="ggregory" type="update" due-to="Gary Gregory">
-        Bump Mockito from 3.11.2 to 4.2.0.
-      </action>
-      <action dev="ggregory" type="update" due-to="Gary Gregory">
-        Bump Jackson from 2.12.4 to 2.13.1.
-      </action>
-      <action dev="ggregory" type="update" due-to="Gary Gregory">
-        Bump org.junit.jupiter:junit-* from 5.7.2 to 5.8.2.
-      </action>
-      <action dev="ggregory" type="update" due-to="Gary Gregory">
-        Bump org.springframework:spring-* from 5.3.13 to 5.3.15.
-      </action>
-      <action dev="ggregory" type="update" due-to="Gary Gregory">
-        Bump de.flapdoodle.embed:de.flapdoodle.embed.mongo from 3.0.0 to 3.4.1. Update tests for binary incompatibilities in APIs.
-      </action>
-      <action dev="ggregory" type="update" due-to="Gary Gregory">
-        Bump org.fusesource.jansi:jansi from 2.3.4 to 2.4.0.
-      </action>
-      <action dev="ggregory" type="update" due-to="Gary Gregory">
-        Bump net.javacrumbs.json-unit:json-unit from 2.27.0 to 2.28.0.
-      </action>
-      <action dev="ggregory" type="update" due-to="Gary Gregory">
-        Bump org.assertj:assertj-core from 3.20.2 to 3.22.0.
-      </action>
-      <action dev="ggregory" type="update" due-to="Gary Gregory">
-        Bump org.xmlunit:xmlunit-* from 2.8.3 to 2.8.4.
-      </action>
-      <action dev="ggregory" type="update" due-to="Gary Gregory">
-        Bump org.codehaus.groovy:groovy-* from 3.0.8 to 3.0.9.
-      </action>
-      <action dev="ggregory" type="update" due-to="Gary Gregory">
-        Bump org.mongodb:bson from 4.2.2 to 4.5.0.
-      </action>
-      <action dev="ggregory" type="update" due-to="Gary Gregory">
-        Bump org.mongodb:mongodb-driver-sync from 4.2.2 to 4.5.0.
-      </action>
-      <action dev="ggregory" type="update" due-to="Gary Gregory">
-        Bump Woodstox 6.2.6 to 6.2.8.
-      </action>
-      <action dev="ggregory" type="update" due-to="Gary Gregory">
-        Bump maven-compiler-plugin from 3.8.1 to 3.9.0.
-      </action>
-      <action dev="ggregory" type="update" due-to="Gary Gregory">
-        Bump org.eclipse.persistence:org.eclipse.persistence.jpa from 2.7.9 to 2.7.10.
-      </action>
-      <action dev="ggregory" type="update" due-to="Gary Gregory">
-        Bump org.junit-pioneer:junit-pioneer from 1.5.0 to 1.6.1.
-      </action>
-      <action dev="ggregory" type="update" due-to="Gary Gregory">
-        Bump org.apache.activemq:activemq-broker from 5.16.3 to 5.16.4.
-      </action>
-      <action dev="ggregory" type="update" due-to="Gary Gregory">
-        Bump org.jacoco:jacoco-maven-plugin from 0.8.6 to 0.8.7.
-      </action>
-      <action dev="ggregory" type="update" due-to="Gary Gregory">
-        Bump org.apache.maven.plugins:maven-javadoc-plugin from 3.3.1 to 3.3.2.
-      </action>
-	</release>
-    <release version="2.17.1" date="2021-12-27" description="GA Release 2.17.1">
-      <!-- FIXES -->
-      <action issue="LOG4J2-3293" dev="ggregory" type="fix">
-        JdbcAppender now uses JndiManager to access JNDI resources. JNDI is only enabled when system property
-        log4j2.enableJndiJdbc is set to true.
-      </action>
-      <action issue="LOG4J2-3290" dev="rogers" type="fix">
-        Remove unused method.
-      </action>
-      <action issue="LOG4J2-3292" dev="ckozak" type="fix">
-        ExtendedLoggerWrapper.logMessage no longer double-logs when location is requested.
-      </action>
-      <action issue="LOG4J2-3289" dev="ckozak" type="fix">
-        log4j-to-slf4j no longer re-interpolates formatted message contents.
-      </action>
-      <action issue="LOG4J2-3204" dev="vy" type="fix" due-to="Francis-FY">
-        Correct SpringLookup package name in Interpolator.
-      </action>
-      <action issue="LOG4J2-3284" dev="ckozak" type="fix" due-to="Michael Vorburger">
-        log4j-to-slf4j takes the provided MessageFactory into account
-      </action>
-      <action issue="LOG4J2-3264" dev="ckozak" type="fix" due-to="Yanming Zhou">
-        Fix MapLookup to lookup MapMessage before DefaultMap
-      </action>
-      <action issue="LOG4J2-3274" dev="rgoers" type="fix" due-to="Faisal Khan Thayub Khan">
-        Buffered I/O checked had inverted logic in RollingFileAppenderBuilder.
-      </action>
-      <action dev="ggregory" type="fix">
-        Fix NPE when input is null in StrSubstitutor.replace(String, Properties).
-      </action>
-      <action issue="LOG4J2-3270" dev="ckozak" type="fix">
-        Lookups with no prefix only read values from the configuration properties as expected.
-      </action>
-      <action issue="LOG4J2-3256" dev="ggregory" type="fix" due-to="Lee Dongjin">
-        Reduce ignored package scope of KafkaAppender.
-      </action>
-    </release>
-    <release version="2.17.0" date="2021-12-17" description="GA Release 2.17.0">
-      <action issue="LOG4J2-3230" dev="ckozak" type="fix">
-        Fix string substitution recursion.
-      </action>
-      <action issue="LOG4J2-3242" dev="rgoers" type="fix">
-        Limit JNDI to the java protocol only. JNDI will remain disabled by default. Rename JNDI enablement property from
-        'log4j2.enableJndi' to 'log4j2.enableJndiLookup', 'log4j2.enableJndiJms', and 'log4j2.enableJndiContextSelector'.
-      </action>
-      <action issue="LOG4J2-3241" dev="rgoers" type="fix">
-        Do not declare log4j-api-java9 and log4j-core-java9 as dependencies as it causes problems with the
-        Maven enforcer plugin.
-      </action>
-      <action issue="LOG4J2-3247" dev="ggregory" type="fix">
-        PropertiesConfiguration.parseAppenderFilters NPE when parsing properties file filters.
-      </action>
-      <action issue="LOG4J2-3249" dev="ggregory" type="fix">
-        Log4j 1.2 bridge for Syslog Appender defaults to port 512 instead of 514.
-      </action>
-      <action issue="LOG4J2-3237" dev="ggregory" type="fix">
-        Log4j 1.2 bridge API hard codes the Syslog protocol to TCP.
-      </action>
-    </release>
-    <release version="2.16.0" date="2021-12-13" description="GA Release 2.16.0">
-      <!-- FIXES -->
-      <action issue="LOG4J2-3208" dev="rgoers" type="fix">
-        Disable JNDI by default. Require log4j2.enableJndi to be set to true to allow JNDI.
-      </action>
-      <action issue="LOG4J2-3211" dev="rgoers" type="fix">
-        Completely remove support for Message Lookups.
-      </action>
-    </release>
-    <release version="2.15.0" date="2021-12-06" description="GA Release 2.15.0">
-      <!-- ADDS -->
-      <action issue="LOG4J2-3198" dev="ckozak" type="add">
-        Pattern layout no longer enables lookups within message text by default for cleaner API boundaries and reduced
-        formatting overhead. The old 'log4j2.formatMsgNoLookups' which enabled this behavior has been removed as well
-        as the 'nolookups' message pattern converter option. The old behavior can be enabled on a per-pattern basis
-        using '%m{lookups}'.
-      </action>
-      <action issue="LOG4J2-3194" dev="rgoers" type="add" due-to="markuss">
-        Allow fractional attributes for size attribute of SizeBasedTriggeringPolicy.
-      </action>
-      <action issue="LOG4J2-2978" dev="rgoers" type="add" due-to="Michael Seele">
-        Add support for Jakarta EE 9 (Tomcat 10 / Jetty 11)
-      </action>
-      <action issue="LOG4J2-3189" dev="ckozak" type="add">
-        Improve NameAbbreviator worst-case performance.
-      </action>
-      <action issue="LOG4J2-3170" dev="vy" type="add" due-to="Gareth Smith">
-        Make CRLF/HTML encoding run in O(n) worst-case time, rather than O(n^2).
-      </action>
-      <action issue="LOG4J2-3133" dev="ckozak" type="add">
-        Add missing slf4j-api singleton accessors to log4j-slf4j-impl (1.7) StaticMarkerBinder and StaticMDCBinder.
-        This doesn't impact behavior or correctness, but avoids throwing and catching NoSuchMethodErrors when slf4j
-        is initialized and avoids linkage linting warnings.
-      </action>
-      <action issue="LOG4J2-2885" dev="vy" type="add" due-to="Markus Spann">
-        Add support for US-style date patterns and micro/nano seconds to FixedDateTime.
-      </action>
-      <action issue="LOG4J2-3116" dev="rgupta" type="add">
-        Add JsonTemplateLayout for Google Cloud Platform structured logging layout.
-      </action>
-      <action issue="LOG4J2-3067" dev="vy" type="add">
-        Add CounterResolver to JsonTemplateLayout.
-      </action>
-      <action issue="LOG4J2-3074" dev="vy" type="add">
-        Add replacement parameter to ReadOnlyStringMapResolver.
-      </action>
-      <action issue="LOG4J2-3051" dev="vy" type="add">
-        Add CaseConverterResolver to JsonTemplateLayout.
-      </action>
-      <action issue="LOG4J2-3064" dev="rgoers" type="add">
-        Add Arbiters and SpringProfile plugin.
-      </action>
-      <action issue="LOG4J2-3056" dev="vy" type="add" due-to="Marcono1234">
-        Refactor MD5 usage for sharing sensitive information.
-      </action>
-      <action issue="LOG4J2-3004" dev="vy" type="add">
-        Add plugin support to JsonTemplateLayout.
-      </action>
-      <action issue="LOG4J2-3050" dev="rgoers" type="add">
-        Allow AdditionalFields to be ignored if their value is null or a zero-length String.
-      </action>
-      <action issue="LOG4J2-3049" dev="rgoers" type="add">
-        Allow MapMessage and ThreadContext attributes to be prefixed.
-      </action>
-      <action issue="LOG4J2-3048" dev="rgoers" type="add">
-        Add improved MapMessage support to GelfLayout.
-      </action>
-      <action issue="LOG4J2-3044" dev="rgoers" type="add">
-        Add RepeatPatternConverter.
-      </action>
-      <action issue="LOG4J2-2940" dev="ckozak" type="add">
-        Context selectors are aware of their dependence upon the callers ClassLoader, allowing
-        basic context selectors to avoid the unnecessary overhead of walking the stack to
-        determine the caller's ClassLoader.
-      </action>
-      <action issue="LOG4J2-2940" dev="ckozak" type="add">
-        Add BasicAsyncLoggerContextSelector equivalent to AsyncLoggerContextSelector for
-        applications with a single LoggerContext. This selector avoids classloader lookup
-        overhead incurred by the existing AsyncLoggerContextSelector.
-      </action>
-      <action issue="LOG4J2-3041" dev="rgoers" type="add">
-        Allow a PatternSelector to be specified on GelfLayout.
-      </action>
-      <action issue="LOG4J2-3141" dev="ckozak" type="add">
-        Avoid ThreadLocal overhead in RandomAccessFileAppender, RollingRandomAccessFileManager,
-        and MemoryMappedFileManager due to the unused setEndOfBatch and isEndOfBatch methods.
-        The methods on LogEvent are preferred.
-      </action>
-      <action issue="LOG4J2-3144" dev="ckozak" type="add">
-        Prefer string.getBytes(Charset) over string.getBytes(String)
-	based on performance improvements in modern Java releases.
-      </action>
-      <action issue="LOG4J2-3171" dev="ckozak" type="add">
-        Improve PatternLayout performance by reducing unnecessary indirection and branching.
-      </action>
-      <!-- FIXES -->
-      <action issue="LOG4J2-3166" dev="rgoers">
-        Fix Log Event Level vs Logger Config Level table.
-      </action>
-      <action issue="LOG4J2-2540" dev="rgoers">
-        Minor documentation corrections regarding log levels.
-      </action>
-      <action issue="LOG4J2-2541" dev="rgoers" due-to="Gerold Broser">
-        Minor documentation corrections in the configuration section.
-      </action>
-      <action issue="LOG4J2-2553" dev="rgoers">
-        Correct documentation for SyslogAppender when using TLS.
-      </action>
-      <action issue="LOG4J2-1798" dev="rgoers" due-to="Viacheslav Zhivaev">
-        Handle interrupted exceptions that occur during rollover.
-      </action>
-      <action issue="LOG4J2-2951" dev="rgoers">
-        Log4j 1.x properties were not being substituted.
-      </action>
-      <action issue="LOG4J2-3201" dev="rgoers" type="fix">
-        Limit the protocols JNDI can use by default. Limit the servers and classes that can be accessed via LDAP.
-      </action>
-      <action issue="LOG4J2-3114" dev="rgoers" type="fix" due-to="Barnabas Bodnar">
-        Enable immediate flush on RollingFileAppender when buffered i/o is not enabled.
-      </action>
-      <action issue="LOG4J2-3168" dev="rgoers" type="fix" due-to="Benjamin Wöster">
-       Fix bug when file names contain regex characters.
-      </action>
-      <action issue="LOG4J2-3110" dev="rgoers" type="fix" due-to="Arturo Bernal">
-        Fix the number of {}-placeholders in the string literal argument does not match the number of other arguments
-        to the logging call.
-      </action>
-      <action issue="LOG4J2-3060" dev="vy" type="fix" due-to=" Nikita Mikhailov">
-        Fix thread-safety issues in DefaultErrorHandler.
-      </action>
-      <action issue="LOG4J2-3185" dev="vy" type="fix" due-to="mzbonnt">
-        Fix thread-safety issues in DefaultErrorHandler.
-      </action>
-      <action issue="LOG4J2-3183" dev="vy" type="fix">
-        Avoid using MutableInstant of the event as a cache key in JsonTemplateLayout.
-      </action>
-      <action issue="LOG4J2-2829" dev="vy" type="fix">
-        SocketAppender should propagate failures when reconnection fails.
-      </action>
-      <action issue="LOG4J2-3172" dev="vy" type="fix" due-to="Barry Fleming">
-        Buffer immutable log events in the SmtpManager.
-      </action>
-      <action issue="LOG4J2-3175" dev="vy" type="fix" due-to="wuqian0808">
-        Avoid KafkaManager override when topics differ.
-      </action>
-      <action issue="LOG4J2-3160" dev="vy" type="fix" due-to="Lars Bohl">
-        Fix documentation on how to toggle log4j2.debug system property.
-      </action>
-      <action issue="LOG4J2-3159" dev="ckozak" type="fix">
-        Fixed an unlikely race condition in Log4jMarker.getParents() volatile access.
-      </action>
-      <action issue="LOG4J2-3153" dev="ckozak" type="fix">
-        DatePatternConverter performance is not impacted by microsecond-precision clocks when such precision isn't
-        required.
-      </action>
-      <action issue="LOG4J2-2808" dev="ckozak" type="fix" due-to="Asapha Halifa">
-        LoggerContext skips resolving localhost when hostName is configured.
-      </action>
-      <action issue="LOG4J2-3150" dev="ckozak" type="fix">
-        RandomAccessFile appender uses the correct default buffer size of 256 kB
-        rather than the default appender buffer size of 8 kB.
-      </action>
-      <action issue="LOG4J2-3142" dev="ckozak" type="fix" due-to="John Meikle">
-        log4j-1.2-api implements LogEventAdapter.getTimestamp() based on the original event timestamp
-        instead of returning zero.
-      </action>
-      <action issue="LOG4J2-3083" dev="ckozak" type="fix">
-        log4j-slf4j-impl and log4j-slf4j18-impl correctly detect the calling class using both LoggerFactory.getLogger
-        methods as well as LoggerFactory.getILoggerFactory().getLogger.
-      </action>
-      <action issue="LOG4J2-2816" dev="vy" type="fix" due-to="Jacob Shields">
-        Handle Disruptor event translation exceptions.
-      </action>
-      <action issue="LOG4J2-3121" dev="ggregory" type="fix" due-to="Markus Spann">
-          log4j2 config modified at run-time may trigger incomplete MBean re-initialization due to InstanceAlreadyExistsException.
-      </action>
-      <action issue="LOG4J2-3107" dev="vy" type="fix" due-to="Markus Spann">
-        SmtpManager.createManagerName ignores port.
-      </action>
-      <action issue="LOG4J2-3080" dev="vy" type="fix">
-        Use SimpleMessage in Log4j 1 Category whenever possible.
-      </action>
-      <action issue="LOG4J2-3102" dev="ckozak" type="fix">
-        Fix a regression in 2.14.1 which allowed the AsyncAppender background thread to keep the JVM alive because
-        the daemon flag was not set.
-      </action>
-      <action issue="LOG4J2-3103" dev="ckozak" type="fix" due-to="Mike Glazer">
-        Fix race condition which can result in ConcurrentModificationException on context.stop.
-      </action>
-      <action issue="LOG4J2-3092" dev="vy" type="fix" due-to="xmh51">
-        Fix JsonWriter memory leaks due to retained excessive buffer growth.
-      </action>
-      <action issue="LOG4J2-3089" dev="vy" type="fix" due-to="Tim Perry">
-        Fix sporadic JsonTemplateLayoutNullEventDelimiterTest failures on Windows.
-      </action>
-      <action issue="LOG4J2-3075" dev="vy" type="fix">
-        Fix formatting of nanoseconds in JsonTemplateLayout.
-      </action>
-      <action issue="LOG4J2-3087" dev="vy" type="fix" due-to="Anton Klarén">
-        Fix race in JsonTemplateLayout where a timestamp could end up unquoted.
-      </action>
-      <action issue="LOG4J2-3070" dev="vy" type="fix" due-to="Romain Manni-Bucau">
-        Ensure EncodingPatternConverter#handlesThrowable is implemented.
-      </action>
-      <action issue="LOG4J2-3054" dev="ckozak" type="fix">
-        BasicContextSelector hasContext and shutdown take the default context into account
-      </action>
-      <action issue="LOG4J2-2940" dev="ckozak" type="fix">
-        Slf4j implementations walk the stack at most once rather than twice to determine the caller's class loader.
-      </action>
-      <action issue="LOG4J2-2965" dev="ckozak" type="fix">
-        Fixed a deadlock between the AsyncLoggerContextSelector and java.util.logging.LogManager by updating Disruptor to 3.4.4.
-      </action>
-      <action issue="LOG4J2-3095" dev="ggregory" type="fix" due-to="Kenny MacLeod, Gary Gregory">
-        Category.setLevel should accept null value.
-      </action>
-      <action issue="LOG4J2-3174" dev="vy" type="fix" due-to="romainmoreau">
-        Wrong subject on mail when it depends on the LogEvent
-      </action>
-      <!-- UPDATES -->
-      <action dev="rgoers" issue="" type="update">
-        Update Spring framework to 5.3.13, Spring Boot to 2.5.7, and Spring Cloud to 2020.0.4.
-      </action>
-      <action issue="LOG4J2-2025" dev="rgoers" type="update">
-        Provide support for overriding the Tomcat Log class in Tomcat 8.5+.
-      </action>
-      <action dev="ggregory" issue="" type="update">
-        Updated dependencies.
-
-        - com.fasterxml.jackson.core:jackson-annotations ................. 2.12.2 -> 2.12.4
-        - com.fasterxml.jackson.core:jackson-core ........................ 2.12.2 -> 2.12.4
-        - com.fasterxml.jackson.core:jackson-databind .................... 2.12.2 -> 2.12.4
-        - com.fasterxml.jackson.dataformat:jackson-dataformat-xml ........ 2.12.2 -> 2.12.4
-        - com.fasterxml.jackson.dataformat:jackson-dataformat-yaml ....... 2.12.2 -> 2.12.4
-        - com.fasterxml.jackson.module:jackson-module-jaxb-annotations ... 2.12.2 -> 2.12.4
-        - com.fasterxml.woodstox:woodstox-core ........................... 6.2.4 -> 6.2.6
-        - commons-io:commons-io .......................................... 2.8.0 -> 2.11.0
-        - net.javacrumbs.json-unit:json-unit ............................. 2.24.0 -> 2.25.0
-        - net.javacrumbs.json-unit:json-unit ............................. 2.25.0 -> 2.27.0
-        - org.apache.activemq:activemq-broker ............................ 5.16.1 -> 5.16.2
-        - org.apache.activemq:activemq-broker ............................ 5.16.2 -> 5.16.3
-        - org.apache.commons:commons-compress ............................ 1.20 -> 1.21
-        - org.apache.commons:commons-csv ................................. 1.8 -> 1.9.0
-        - org.apache.commons:commons-dbcp2 ............................... 2.8.0 -> 2.9.0
-        - org.apache.commons:commons-pool2 ............................... 2.9.0 -> 2.11.1
-        - org.apache.maven.plugins:maven-failsafe-plugin ................. 2.22.2 -> 3.0.0-M5
-        - org.apache.maven.plugins:maven-surefire-plugin ................. 2.22.2 -> 3.0.0-M5
-        - org.apache.rat:apache-rat-plugin ............................... 0.12 -> 0.13
-        - org.assertj:assertj-core ....................................... 3.19.0 -> 3.20.2
-        - org.codehaus.groovy:groovy-dateutil ............................ 3.0.7 -> 3.0.8
-        - org.codehaus.groovy:groovy-jsr223 .............................. 3.0.7 -> 3.0.8
-        - org.codehaus.plexus:plexus-utils ............................... 3.3.0 -> 3.4.0
-        - org.eclipse.persistence:javax.persistence ...................... 2.1.1 -> 2.2.1
-        - org.eclipse.persistence:org.eclipse.persistence.jpa ............ 2.6.5 -> 2.6.9
-        - org.eclipse.persistence:org.eclipse.persistence.jpa ............ 2.7.8 -> 2.7.9
-        - org.fusesource.jansi ........................................... 2.3.2 -> 2.3.4
-        - org.fusesource.jansi:jansi ..................................... 2.3.1 -> 2.3.2
-        - org.hsqldb:hsqldb .............................................. 2.5.1 -> 2.5.2
-        - org.junit.jupiter:junit-jupiter-engine ......................... 5.7.1 -> 5.7.2
-        - org.junit.jupiter:junit-jupiter-migrationsupport ............... 5.7.1 -> 5.7.2
-        - org.junit.jupiter:junit-jupiter-params ......................... 5.7.1 -> 5.7.2
-        - org.junit.vintage:junit-vintage-engine ......................... 5.7.1 -> 5.7.2
-        - org.liquibase:liquibase-core ................................... 3.5.3 -> 3.5.5
-        - org.mockito:mockito-core ....................................... 3.8.0 -> 3.11.2
-        - org.mockito:mockito-junit-jupiter .............................. 3.8.0 -> 3.11.2
-        - org.springframework:spring-aop ................................. 5.3.3 -> 5.3.9
-        - org.springframework:spring-beans ............................... 5.3.3 -> 5.3.9
-        - org.springframework:spring-context ............................. 5.3.3 -> 5.3.9
-        - org.springframework:spring-context-support ..................... 5.3.3 -> 5.3.9
-        - org.springframework:spring-core ................................ 5.3.3 -> 5.3.9
-        - org.springframework:spring-expression .......................... 5.3.3 -> 5.3.9
-        - org.springframework:spring-oxm ................................. 5.3.3 -> 5.3.9
-        - org.springframework:spring-test ................................ 5.3.3 -> 5.3.9
-        - org.springframework:spring-web ................................. 5.3.3 -> 5.3.9
-        - org.springframework:spring-webmvc .............................. 5.3.3 -> 5.3.9
-        - org.tukaani:xz ................................................. 1.8 -> 1.9
-      </action>
-    </release>
-    <release version="2.14.1" date="2021-03-06" description="GA Release 2.14.1">
-      <!-- FIXES -->
-      <action issue="LOG4J2-3033" dev="rgoers" type="fix">
-        Add log method with no parameters - i.e. it has an empty message.
-      </action>
-      <action issue="LOG4J2-2947" dev="rgoers" type="fix">
-        Document that LogBuilder default methods do nothing.
-      </action>
-      <action issue="LOG4J2-2948" dev="vy" type="fix">
-        Replace HashSet with IdentityHashMap in ParameterFormatter to detect cycles.
-      </action>
-      <action issue="LOG4J2-3028" dev="ckozak" type="fix" due-to="Jakub Kozlowski">
-        OutputStreamManager.flushBuffer always resets the buffer, previously the buffer was not reset after an exception.
-      </action>
-      <action issue="LOG4J2-2981" dev="rgoers" type="fix">
-        OnStartupTriggeringPolicy would fail to cause the file to roll over with DirectWriteTriggeringPolicy
-        unless minSize was set to 0.
-      </action>
-      <action issue="LOG4J2-2990" dev="rgoers" type="fix" due-to="Diogo Monteiro">
-        Reduce garbage by using putAll when copying the ThreadContext for SLF4J.
-      </action>
-      <action issue="LOG4J2-3006" dev="rgoers" type="fix">
-        Directly create a thread instead of using the common ForkJoin pool when initializing ThreadContextDataInjector"
-      </action>
-      <action issue="LOG4J2-2624" dev="mattsicker" type="fix" due-to="Tim Perry">
-        Allow auto-shutdown of log4j in log4j-web to be turned off and provide a
-        ServletContextListener "Log4jShutdownOnContextDestroyedListener" to stop log4j.
-        Register the listener at the top of web.xml to ensure the shutdown happens last.
-      </action>
-      <action issue="LOG4J2-1606" dev="mattsicker" type="fix" due-to="Tim Perry">
-        Allow auto-shutdown of log4j in log4j-web to be turned off and provide a
-        ServletContextListener "Log4jShutdownOnContextDestroyedListener" to stop log4j.
-        Register the listener at the top of web.xml to ensure the shutdown happens last.
-      </action>
-      <action issue="LOG4J2-2998" dev="vy" type="fix">
-        Fix truncation of excessive strings ending with a high surrogate in JsonWriter.
-      </action>
-      <action issue="LOG4J2-2977" dev="vy" due-to="Ron Grabowski">
-        Replace outdated PatternLayout.createLayout() calls in docs with createDefaultLayout().
-      </action>
-      <action issue="LOG4J2-2973" dev="vy" type="fix" due-to="Fabio Ricchiuti">
-        Rename EventTemplateAdditionalField#type (conflicting with properties file parser) to "format".
-      </action>
-      <action issue="LOG4J2-2972" dev="vy" type="fix">
-        Refactor AsyncAppender and AppenderControl for handling of Throwables.
-      </action>
-      <action issue="LOG4J2-2985" dev="vy" type="fix">
-        Add eventTemplateRootObjectKey parameter to JsonTemplateLayout.
-      </action>
-      <action issue="LOG4J2-2974" dev="rgoers" type="fix">
-        Log4j would fail to initialize in Java 8 with log4j-spring-boot.
-      </action>
-      <action issue="LOG4J2-2964" dev="vy" type="fix" due-to="Valery Yatsynovich">
-        Merge packages from several Configurations in Composite Configuration.
-      </action>
-      <action issue="LOG4J2-2961" dev="vy" type="fix">
-        Fix reading of JsonTemplateLayout event additional fields from config.
-      </action>
-      <action issue="LOG4J2-2916" dev="vy" type="fix" due-to="wuqian0808">
-        Avoid redundant Kafka producer instantiation causing thread leaks.
-      </action>
-      <action issue="LOG4J2-2967" dev="ckozak" type="fix">
-        Fix JsonTemplateLayout index based parameter resolution when messages contain too few parameters.
-      </action>
-      <action issue="LOG4J2-2976" dev="ckozak" type="fix">
-        JdbcAppender composes an incorrect INSERT statement without a ColumnMapping element.
-      </action>
-      <action issue="LOG4J2-3014" dev="ggregory" type="fix" due-to="Lee Breisacher, Gary Gregory">
-        Log4j1ConfigurationConverter on Windows produces "&#xd;" at end of every line.
-      </action>
-      <action issue="LOG4J2-3131" dev="ggregory" type="fix" due-to="Adam Long, Gary Gregory">
-        Attempting to call getExtendedStackTraceAsString() after deserializing JSON LogEvent results in a NPE.
-      </action>
-      <action issue="LOG4J2-3131" dev="ggregory" type="fix" due-to="Gary Gregory">
-        NoGcLayout allocates empty bytes arrays for its header and footer.
-      </action>
-      <!-- ADDS -->
-      <action issue="LOG4J2-2962" dev="vy" type="add">
-        Enrich "map" resolver by unifying its backend with "mdc" resolver.
-      </action>
-      <action issue="LOG4J2-2999" dev="vy" type="add">
-        Replace JsonTemplateLayout resolver configurations table in docs with sections.
-      </action>
-      <action issue="LOG4J2-2993" dev="vy" type="add">
-        Support stack trace truncation in JsonTemplateLayout.
-      </action>
-      <!-- UPDATES -->
-      <action issue="LOG4J2-2923" dev="rgoers" type="update">
-        Add Rollover Listener to aid in unit test validation.
-      </action>
-      <action issue="LOG4J2-2893" dev="rgoers" type="update">
-        Allow reconfiguration when Log4j 1 configuration files are updated.
-      </action>
-      <action dev="rgoers" type="update">
-        Update Spring dependencies to 5.3.2, Spring Boot to 2.3.6, and Spring Cloud to Hoxton.SR9
-      </action>
-      <action dev="ggregory" type="update">
-        Update org.fusesource.jansi:jansi 1.17.1 -> 2.0.1.
-      </action>
-      <action dev="ggregory" type="update">
-        Update commons-codec:commons-codec 1.14 -> 1.15.
-      </action>
-      <action dev="ggregory" type="update">
-        Update org.apache.commons:commons-lang3 3.10 -> 3.11.
-      </action>
-      <action dev="ggregory" type="update">
-        Update org.apache.commons:commons-pool2 2.8.1 -> 2.9.0.
-      </action>
-      <action dev="ggregory" type="update">
-        Update org.apache.commons:commons-dbcp2 2.4.0 -> 2.8.0.
-      </action>
-      <action dev="ggregory" type="update">
-        Update commons-io:commons-io 2.7 -> 2.8.0.
-      </action>
-      <action dev="ggregory" type="update">
-        Update org.codehaus.groovy:* 3.0.5 -> 3.0.6.
-      </action>
-      <action dev="ggregory" type="update">
-        Update com.fasterxml.jackson.*:* 2.11.2 - 2.11.3.
-      </action>
-      <action dev="ggregory" type="update">
-        Update org.springframework:* 5.2.8.RELEASE -> 5.3.1.
-      </action>
-      <action dev="ggregory" type="update">
-        Update junit:junit 4.13 -> 4.13.1.
-      </action>
-      <action dev="ggregory" type="update">
-        Update org.xmlunit:* 2.7.0 -> 2.8.0.
-      </action>
-      <action dev="ggregory" type="update">
-        Update org.assertj:assertj-core 3.14.0 -> 3.18.1.
-      </action>
-      <action dev="ggregory" type="update">
-        Update org.awaitility:awaitility 4.0.2 -> 4.0.3.
-      </action>
-      <action dev="ggregory" type="update">
-        Update org.codehaus.plexus:plexus-utils 3.2.0 -> 3.3.0.
-      </action>
-      <action dev="ggregory" type="update">
-        Update MongoDB 3 plugin: org.mongodb:mongodb-driver 3.12.6 -> 3.12.7.
-      </action>
-      <action dev="ggregory" type="update">
-        Update MongoDB 4 plugin: org.mongodb:* 4.1.0 -> 4.1.1.
-      </action>
-      <action dev="ggregory" type="update">
-        Update org.eclipse.tycho:org.eclipse.osgi 3.12.1.v20170821-1548 -> 3.13.0.v20180226-1711.
-      </action>
-      <action dev="ggregory" type="update">
-        Update de.flapdoodle.embed:de.flapdoodle.embed.mongo 2.2.0 -> 3.0.0.
-      </action>
-      <action dev="ggregory" type="update">
-        Update net.javacrumbs.json-unit:json-unit 1.31.1 -> 2.22.0.
-      </action>
-      <action dev="ggregory" type="update">
-        Update Mockito 3.6.0 -> 3.7.0.
-      </action>
-      <action dev="ggregory" type="update">
-        Update XML Unit 2.8.0 -> 2.8.2.
-      </action>
-      <action dev="ggregory" type="update">
-        Update JSON Unit 2.21.0 -> 2.22.0.
-      </action>
-      <action dev="ggregory" type="update">
-        Update JaCoCo 0.8.3 -> 0.8.6.
-      </action>
-      <action dev="ggregory" type="update">
-        Update org.apache.activemq:* 5.16.0 -> 5.16.1.
-      </action>
-      <action dev="ggregory" type="update">
-        Update org.mockito:mockito-* 3.7.0 -> 3.7.7.
-      </action>
-      <action dev="ggregory" type="update">
-        Update org.springframework:* 5.3.2 -> 5.3.3.
-      </action>
-      <action dev="ggregory" type="update">
-        Update mongodb4.version 4.1.1 -> 4.2.0.
-      </action>
-      <action dev="ggregory" type="update">
-        Update org.fusesource.jansi:jansi 1.18 -> 2.2.0.
-      </action>
-      <action dev="ggregory" type="update">
-        Update org.assertj:assertj-core 3.18.1 -> 3.19.0.
-      </action>
-      <action dev="ggregory" type="update">
-        Update net.javacrumbs.json-unit:json-unit 2.22.0 -> 2.23.0.
-      </action>
-      <action dev="ggregory" type="update">
-        Update Woodstox 5.0.3 -> 6.2.3 to match Jackson 2.12.1.
-      </action>
-      <action dev="ggregory" type="update">
-        Update org.apache.activemq:* 5.16.0 -> 5.16.1.
-      </action>
-      <action dev="ggregory" type="update">
-        Update org.mockito:mockito-* 3.7.0 -> 3.7.7.
-      </action>
-      <action dev="ggregory" type="update">
-        Update org.springframework:* 5.3.2 -> 5.3.3.
-      </action>
-      <action dev="ggregory" type="update">
-        Update mongodb4.version 4.1.1 -> 4.2.0.
-      </action>
-      <action dev="ggregory" type="update">
-        Update org.fusesource.jansi:jansi 1.18 -> 2.3.1.
-      </action>
-      <action dev="ggregory" type="update">
-        Update org.assertj:assertj-core 3.18.1 -> 3.19.0.
-      </action>
-      <action dev="ggregory" type="update">
-        Update net.javacrumbs.json-unit:json-unit 2.22.0 -> 2.23.0.
-      </action>
-      <action dev="ggregory" type="update">
-        Update net.javacrumbs.json-unit:json-unit 2.22.0 -> 2.23.0.
-      </action>
-      <action dev="ggregory" type="update">
-        - com.fasterxml.jackson.core:jackson-annotations ................. 2.12.1 -> 2.12.2
-        - com.fasterxml.jackson.core:jackson-core ........................ 2.12.1 -> 2.12.2
-        - com.fasterxml.jackson.core:jackson-databind .................... 2.12.1 -> 2.12.2
-        - com.fasterxml.jackson.dataformat:jackson-dataformat-xml ........ 2.12.1 -> 2.12.2
-        - com.fasterxml.jackson.dataformat:jackson-dataformat-yaml ....... 2.12.1 -> 2.12.2
-        - com.fasterxml.jackson.module:jackson-module-jaxb-annotations ... 2.12.1 -> 2.12.2
-        - org.apache.commons:commons-lang3 ............................... 3.11   -> 3.12.0
-        - org.junit.jupiter:junit-jupiter-engine ......................... 5.7.0  -> 5.7.1
-        - org.junit.jupiter:junit-jupiter-migrationsupport ............... 5.7.0  -> 5.7.1
-        - org.junit.jupiter:junit-jupiter-params ......................... 5.7.0  -> 5.7.1
-        - org.junit.vintage:junit-vintage-engine ......................... 5.7.0  -> 5.7.1
-        - org.mockito:mockito-core ....................................... 3.7.7  -> 3.8.0
-        - org.mockito:mockito-junit-jupiter .............................. 3.7.7  -> 3.8.0
-        - org.mongodb:bson ............................................... 4.2.0  -> 4.2.2
-        - org.mongodb:mongodb-driver-sync ................................ 4.2.0  -> 4.2.2
-      </action>
-    </release>
-    <release version="2.14.0" date="2020-11-06" description="GA Release 2.14.0">
-      <action issue="LOG4J2-2925" dev="rgoers" type="fix">
-        Fix broken link in FAQ.
-      </action>
-      <action issue="LOG4J2-2957" dev="vy" type="add">
-        Add JsonTemplateLayout.
-      </action>
-      <action issue="LOG4J2-2911" dev="rgoers" type="fix">
-        Log4j2EventListener in spring.cloud.config.client listens for wrong event.
-      </action>
-      <action issue="LOG4J2-2889" dev="mattsicker" type="update" due-to="Geng Yuanzhe">
-        Add date pattern support for HTML layout.
-      </action>
-      <action issue="LOG4J2-2919" dev="mattsicker" type="fix" due-to="Geng Yuanzhe">
-        Call ReliabilityStrategy's beforeStopAppenders() method before stopping AsyncAppender.
-      </action>
-      <action issue="LOG4J2-2892" dev="rgoers" type="update" due-to="Jakub Lukes">
-        Allow GelfLayout to produce newline delimited events.
-      </action>
-      <action issue="LOG4J2-2906" dev="rgoers" type="fix" due-to="Stephen Joyner">
-        Fix UnsupportedOperationException when initializing the Log4j2CloudConfigLoggingSystem.
-      </action>
-      <action issue="LOG4J2-2908" dev="rgoers" type="fix">
-        Move Spring Lookup and Spring PropertySource to its own module.
-      </action>
-      <action issue="LOG4J2-2910" dev="rgoers" type="fix">
-        Log4j-web should now store the servlet context as a map entry instead of in the single external context field.
-      </action>
-      <action issue="LOG4J2-2822" dev="rgoers" type="fix">
-        Javadoc link in ThreadContext description was incorrect.
-      </action>
-      <action issue="LOG4J2-2894" dev="rgoers" type="fix">
-        Fix spelling error in log message.
-      </action>
-      <action issue="LOG4J2-2901" dev="rgoers" type="fix">
-        Missing configuration files should be ignored when creating a composite configuration.
-      </action>
-      <action issue="LOG4J2-2883" dev="rgoers" type="fix">
-        When using DirectFileRolloverStrategy the file pattern was not being recalculated on
-        size based rollover after a time based rollover had occurred.
-      </action>
-      <action issue="LOG4J2-2875" dev="rgoers" type="fix">
-        Rollover was failing to create directories when using a DirectFileRolloverStrategy.
-      </action>
-      <action issue="LOG4J2-2859" dev="rgoers" type="fix" due-to="Yanming Zhou">
-        Fixed typos where mergeFactory should be mergeStrategy.
-      </action>
-      <action issue="LOG4J2-2832" dev="rgoers" type="fix" due-to="Benjamin Asbach">
-        Correct class name printed in error message in RollingFileAppender.
-      </action>
-      <action issue="LOG4J2-2882" dev="rgoers" type="fix" due-to="Emmanuel Bourg">
-        Support java.util.logging filters when using that API.
-      </action>
-      <action issue="LOG4J2-2880" dev="rgoers" type="fix">
-        Create StackWalker benchmark. Revert back to StackWalker.walk based on benchmark results.
-      </action>
-      <action issue="LOG4J2-2867" dev="rgoers" type="fix">
-        Obtain ContextDataProviders asynchronously.
-      </action>
-      <action issue="LOG4J2-2877" dev="rgoers" type="fix">
-        Determine the container id to obtain container and image information.
-      </action>
-      <action issue="LOG4J2-2844" dev="ggregory" type="fix">
-        Null pointer exception when no network interfaces are available.
-      </action>
-      <action issue="LOG4J2-2848" dev="ggregory" type="add">
-        Create module log4j-mongodb4 to use new major version 4 MongoDB driver.
-      </action>
-      <action issue="LOG4J2-2851" dev="ggregory" type="remove">
-        Drop log4j-mongodb2 module.
-      </action>
-      <action dev="ggregory" type="update">
-        Update MongoDB tests to require Java 8 unconditionally now that Log4j requires Java 8.
-      </action>
-      <action dev="ggregory" type="update">
-		Update mongodb3.version from 3.12.1 to 3.12.6.
-      </action>
-      <action dev="ggregory" type="update">
-        Update com.fasterxml.jackson.* 2.10.2 -> 2.11.0.
-      </action>
-      <action dev="ggregory" type="update">
-        Update org.apache.activemq:activemq-broker 5.15.11 -> 5.16.0.
-      </action>
-      <action dev="ggregory" type="update">
-        Update org.apache.commons:commons-compress 1.19 -> 1.20.
-      </action>
-      <action dev="ggregory" type="update">
-        Update org.apache.commons:commons-csv 1.7 -> 1.8.
-      </action>
-      <action dev="ggregory" type="update">
-        Update org.apache.commons:commons-lang3 3.9 -> 3.10.
-      </action>
-      <action dev="ggregory" type="update">
-        Update org.codehaus.groovy:* 2.5.6 -> 3.0.5.
-      </action>
-      <action dev="ggregory" type="update">
-        Update tests junit:junit 4.12 -> 4.13.
-      </action>
-      <action dev="ggregory" type="update">
-        Update tests commons-io:commons-io 2.6 -> 2.7.
-      </action>
-      <action dev="ggregory" type="update">
-        Update jackson 2.11.0 -> 2.11.2.
-      </action>
-      <action dev="ggregory" type="update">
-        Update tests hsqldb 2.5.0 -> 2.5.1.
-      </action>
-      <action issue="LOG4J2-2895" dev="ckozak" type="fix">
-        Fix potential deadlock in asynchronous logging by avoiding blocking for queue space on Log4jThreads
-      </action>
-      <action issue="LOG4J2-2837" dev="ckozak" type="fix">
-        Disruptor and JUL no longer recursively start the AsyncLoggerDisruptor
-        resulting in an extra disruptor background thread constantly waiting.
-      </action>
-      <action issue="LOG4J2-2867" dev="ckozak" type="fix">
-        RingBufferLogEventTranslator uses a static ContextDataInjector instead of initializing a new object
-        on each thread.
-      </action>
-      <action issue="LOG4J2-2858" dev="ckozak" type="add" due-to="Stepan Gorban">
-        More flexible configuration of the Disruptor WaitStrategy.
-      </action>
-      <action issue="LOG4J2-2898" dev="ckozak" type="fix" due-to="Turbanov Andrey">
-        Avoid initializing volatile fields with default values.
-      </action>
-      <action issue="LOG4J2-2899" dev="ckozak" type="fix">
-        Fix log4j-1.2-api LogEventWrapper threadId and priority accessors when called multiple times.
-      </action>
-      <action issue="LOG4J2-2939" dev="ckozak" type="fix" due-to="Constantin Hirsch">
-        Fix NPE in MDCContextMap on 'contains' and 'isEmpty' invocations.
-      </action>
-      <action issue="LOG4J2-2954" dev="ckozak" type="fix" due-to="Henry Tung">
-        Prevent premature garbage collection of shutdown hooks in DefaultShutdownCallbackRegistry.
-      </action>
-    </release>
-    <release version="2.13.3" date="2020-05-10" description="GA Release 2.13.3">
-      <action issue="LOG4J2-2838" dev="rgoers" type="fix">
-        Fix NullPointerException in ThreadContextDataInjector.
-      </action>
-    </release>
-    <release version="2.13.2" date="2020-04-23" description="GA Release 2.13.2">
-      <action issue="LOG4J2-2824" dev="rgoers" type="fix" due-to="CrazyBills">
-        Implement requiresLocation in GelfLayout to reflect whether location information is used in the message Pattern.
-      </action>
-      <action issue="LOG4J2-2588" dev="rgoers" type="fix">
-        Add option to restore printing timeMillis in the JsonLayout.
-      </action>
-      <action issue="LOG4J2-2766" dev="rgoers" type="fix">
-        Initialize pattern processor before triggering policy during reconfiguration.
-      </action>
-      <action issue="LOG4J2-2457" dev="rgoers" type="update">
-        Allow the file extension in the file pattern to be modified during reconfiguration.
-      </action>
-      <action issue="LOG4J2-2810" dev="rgoers" type="fix">
-        Add information about using a url in log4j.configurationFile.
-      </action>
-      <action issue="LOG4J2-2813" dev="rgoers" type="fix" due-to="Keith D Gregory">
-        serializeToBytes was checking wrong variable for null.
-      </action>
-      <action issue="LOG4J2-2814" dev="rgoers" type="fix">
-        Fix Javadoc for ScriptPatternSelector.
-      </action>
-      <action issue="LOG4J2-2793" dev="rgoers" type="fix" due-to="Renukaprasad C">
-        Allow trailing and leading spaces in log level.
-      </action>
-      <action issue="LOG4J2-2819" dev="mattsicker" type="update">
-        Add support for specifying an SSL configuration for SmtpAppender.
-      </action>
-      <action issue="LOG4J2-2520" dev="rgoers" type="update">
-        Allow servlet context path to be retrieved without "/".
-      </action>
-      <action issue="LOG4J2-2818" dev="rgoers" type="update">
-        Allow Spring Lookup to return default and active profiles.
-      </action>
-      <action issue="LOG4J2-2791" dev="rgoers" type="fix" due-to="Johan Karlberg">
-        Correct JsonLayout timestamp sorting issue.
-      </action>
-      <action issue="LOG4J2-2817" dev="rgoers" type="fix" due-to="Trejkaz">
-        Allow the file size action to parse the value without being sensitive to the current locale.
-      </action>
-      <action issue="LOG4J2-2794" dev="rgoers" type="fix" due-to="Johan Karlberg">
-        Make YamlLayoutTest more resilient to environmental differences.
-      </action>
-      <action issue="LOG4J2-2815" dev="rgoers" type="update">
-        Allow Spring Boot applications to use composite configurations.
-      </action>
-      <action issue="LOG4J2-1360" dev="rgoers" type="add" due-to="Kevin Leturc">
-        Provide a Log4j implementation of System.Logger.
-      </action>
-      <action issue="LOG4J2-2790" dev="rgoers" type="fix" due-to="Marius Volkhart">
-        Conditionally allocate PluginEntry during PluginCache loading.
-      </action>
-      <action issue="LOG4J2-2811" dev="rgoers" type="fix" due-to="Kuojian21">
-        Add missing includeLocation parameter when creating AsyncLogger.
-      </action>
-      <action issue="LOG4J2-2761" dev="rgoers" type="fix" due-to="Uwe Schindler">
-        Fix Exceptions when whitespace is in the file path and Java security manager is used.
-      </action>
-      <action issue="LOG4J2-2809" dev="rgoers" type="fix" due-to="Romain Manni-Bucau">
-        Avoid NullPointerException when StackWalker returns null.
-      </action>
-      <action issue="LOG4J2-2807" dev="rgoers" type="add">
-        Added EventLookup to retrieve fields from the log event.
-      </action>
-      <action issue="LOG4J2-2805" dev="rgoers" type="fix">
-        TimeFilter did not handle daylight saving time transitions and did not support a range over 2 days.
-      </action>
-      <action issue="LOG4J2-2779" dev="rgoers" type="update">
-        Add ContextDataProviders as an alternative to having to implement a ContextDataInjector.
-      </action>
-      <action issue="LOG4J2-2812" dev="ggregory" type="update">
-        [JDBC] Throw a AppenderLoggingException instead of an NPE in the JDBC database manager.
-      </action>
-    </release>
-    <release version="2.13.1" date="2020-02-25" description="GA Release 2.13.1">
-      <action issue="LOG4J2-2717" dev="rgoers" type="fix">
-        Slow initialization on Windows due to accessing network interfaces.
-      </action>
-      <action issue="LOG4J2-2789" dev="rgoers" type="update" due-to="Marius Volkhart">
-        Conditionally perform status logging calculations in PluginRegistry.
-      </action>
-      <action issue="LOG4J2-2756" dev="rgoers" type="fix">
-        Prevent LoggerContext from being garbage collected while being created.
-      </action>
-      <action issue="LOG4J2-2769" dev="rgoers" type="fix">
-        Do not log an error if Files.move does not work.
-      </action>
-      <action issue="LOG4J2-2039" dev="rgoers" type="fix">
-        Rollover fails when file matches pattern but index is too large.
-      </action>
-      <action issue="LOG4J2-2784" dev="rgoers" type="fix">
-        Counter stuck at 10 and overwriting files when leading zeros used in the file pattern count.
-      </action>
-      <action issue="LOG4J2-2746" dev="rgoers" type="fix">
-        ClassLoaderContextSelector was not locating the LoggerContext during shutdown.
-      </action>
-      <action issue="LOG4J2-2652" dev="rgoers" type="fix">
-        JSON output wrong when using additional fields.
-      </action>
-      <action issue="LOG4J2-2649" dev="rgoers" type="fix">
-        GraalVM does not allow use of MethodHandles.
-      </action>
-      <action issue="LOG4J2-2211" dev="rgoers" type="fix">
-        Allow Lookup keys with leading dashes by using a slash as an escape character.
-      </action>
-      <action issue="LOG4J2-2782" dev="rgoers" type="update">
-        Use LinkedBlockingQueue instead of synchronized collection in StatusConfiguration.
-      </action>
-      <action issue="LOG4J2-2781" dev="rgoers" type="fix" due-to="qxo">
-        ServletContainerInitializer was obtaining the StatusLogger too soon.
-      </action>
-      <action issue="LOG4J2-2676" dev="rgoers" type="fix" due-to="Gregg Donovan">
-        PluginProcessor should use Messager instead of System.out.
-      </action>
-      <action issue="LOG4J2-2703" dev="rgoers" type="fix" due-to="Volkan Yazici">
-        MapMessage.getFormattedMessage() would incorrectly format objects.
-      </action>
-      <action issue="LOG4J2-2760" dev="rgoers" type="fix" due-to="Christoph Kaser">
-        Always write header on a new OutputStream.
-      </action>
-      <action issue="LOG4J2-2777" dev="rgoers" type="update" due-to="joongs4">
-        Add a retry count attribute to the KafkaAppender.
-      </action>
-      <action issue="LOG4J2-2776" dev="rgoers" type="fix" due-to="Christoph Kaser">
-        An error message in RollingFileAppender uses a placeholder for the name but does not specify the name
-        argument in the logging call
-      </action>
-      <action issue="LOG4J2-2758" dev="rgoers" type="fix" due-to="Christoph Kaser">
-        NullPointerException when using a custom DirectFileRolloverStrategy without a file name.
-      </action>
-      <action issue="LOG4J2-2768" dev="rgoers" type="fix" due-to="Marius Volkhart">
-        Add multi-parameter overloads to LogBuilder.
-      </action>
-      <action issue="LOG4J2-2770" dev="rgoers" type="fix" due-to="Bill Kuker">
-        Fixed NullPointerException after reconfiguring via JMX.
-      </action>
-      <action issue="LOG4J2-2759" dev="rgoers" type="fix">
-        RollingFileAppender was not rolling on startup if createOnDemand was set to true.
-      </action>
-      <action issue="LOG4J2-2767" dev="rgoers" type="fix">
-        Warn if pattern is missing on Routes element. Use default route.
-      </action>
-      <action issue="LOG4J2-2415" dev="ckozak" type="fix" due-to="Andrey Turbanov">
-        Fix lock contention in the classloader using new versions of slf4j without EventData on slf4j logger creation.
-      </action>
-      <action issue="LOG4J2-2677" dev="ckozak" type="fix">
-        Rollover handles parallel file deletion gracefully.
-      </action>
-      <action issue="LOG4J2-2744" dev="ckozak" type="fix">
-        Remove unnecessary EventLogger references from log4j-slf4j18-impl due to removal from slf4j.
-      </action>
-      <action issue="LOG4J2-2745" dev="ckozak" type="update">
-        Update log4j-slf4j18-impl slf4j version to 1.8.0-beta4 from 1.8.0-alpha2.
-      </action>
-      <action issue="LOG4J2-2747" dev="ckozak" type="fix">
-        Fix a memory leak using fully asynchronous logging when the queue is full using the 'discard' asynchronous queue full strategy.
-      </action>
-      <action issue="LOG4J2-2739" dev="ckozak" type="fix">
-        Fix erroneous log4j-jul recursive logger detection resulting in some no-op JUL loggers and 'WARN Recursive call to getLogger' being reported by the status logger.
-      </action>
-      <action issue="LOG4J2-2748" dev="ckozak" type="add">
-        Implement ISO8601_PERIOD_MICROS fixed date format matching ISO8601_PERIOD with support for microsecond precision.
-      </action>
-      <action issue="LOG4J2-2735" dev="ckozak" type="fix" due-to="Andy Wilkinson">
-        PluginCache output is reproducible allowing the annotation processor to produce deterministic results.
-      </action>
-      <action issue="LOG4J2-2751" dev="ckozak" type="fix">
-        Fix StackLocator.getCallerClass performance in cases where Reflection.getCallerClass is not accessible.
-      </action>
-      <action issue="LOG4J2-2752" dev="ckozak" type="fix">
-        MutableLogEvent and RingBufferLogEvent avoid StringBuffer and parameter array allocation unless reusable messages are used.
-      </action>
-      <action issue="LOG4J2-2754" dev="ckozak" type="fix">
-        LoaderUtil.getClassLoaders may discover additional loaders and no longer erroneously returns a result with a null element in some environments.
-      </action>
-      <action issue="LOG4J2-2575" dev="rgoers" type="fix" due-to="Nathan Friess">
-        CronExpression.getBeforeTime() would sometimes return incorrect result.
-      </action>
-      <action issue="LOG4J2-2762" dev="ggregory" type="fix">
-        [JDBC] MS-SQL Server JDBC driver throws SQLServerException when inserting a null value for a VARBINARY column.
-      </action>
-      <action issue="LOG4J2-2763" dev="ggregory" type="update">
-        Update dependencies.
-      </action>
-      <action issue="LOG4J2-2770" dev="ggregory" type="fix" due-to="Bill Kuker">
-        NullPointerException after reconfiguring via JMX.
-      </action>
-    </release>
-    <release version="2.13.0" date="2019-12-11" description="GA Release 2.13.0">
-      <action issue="LOG4J2-2058" dev="rgoers" type="fix">
-        Prevent recursive calls to java.util.LogManager.getLogger().
-      </action>
-      <action issue="LOG4J2-2725" dev="ckozak" type="fix" due-to="Dzmitry Anikechanka">
-        LOG4J2-2725 - Added try/finally around event.execute() for RingBufferLogEventHandler to clear memory
-        correctly in case of exception/error
-      </action>
-      <action issue="LOG4J2-2635" dev="rgoers" type="fix" due-to="Filipp Gunbin">
-        Wrong java version check in ThreadNameCachingStrategy.
-      </action>
-      <action issue="LOG4J2-2674" dev="rgoers" type="fix" due-to="Anton Korenkov">
-        Use a less confusing name for the CompositeConfiguration source.
-      </action>
-      <action issue="LOG4J2-2732" dev="rgoers" type="add" due-to="Matt Pavlovich">
-        Add ThreadContext.putIfNotNull method.
-      </action>
-      <action issue="LOG4J2-2731" dev="rgoers" type="add">
-        Add a Level Pattern Selector.
-      </action>
-      <action issue="LOG4J2-2701" dev="rgoers" type="update">
-        Update Jackson to 2.9.10.
-      </action>
-      <action issue="LOG4J2-2727" dev="rogers" type="fix" due-to="Clément Mathieu">
-        Add setKey method to Kafka Appender Builder.
-      </action>
-      <action issue="LOG4J2-2707" dev="rgoers" type="fix" due-to="Christian Frank">
-        ArrayIndexOutOfBoundsException could occur with MAC address longer than 6 bytes.
-      </action>
-      <action issue="LOG4J2-63" dev="rgoers" type="add">
-        Add experimental support for Log4j 1 configuration files.
-      </action>
-      <action issue="LOG4J2-2712" dev="rgoers" type="fix">
-        The rolling file appenders would fail to compress the file after rollover if the file name matched the
-        file pattern.
-      </action>
-      <action issue="LOG4J2-2716" dev="rgoers" type="add">
-        Add the ability to lookup Kubernetes attributes in the Log4j configuration. Allow Log4j properties to
-        be retrieved from the Spring environment if it is available.
-      </action>
-      <action issue="LOG4J2-2710" dev="rgoers" type="add">
-        Allow Spring Boot application properties to be accessed in the Log4j 2 configuration. Add
-        lower and upper case Lookups.
-      </action>
-      <action issue="LOG4J2-2709" dev="rgoers" type="update">
-        Allow message portion of GELF layout to be formatted using a PatternLayout. Allow
-        ThreadContext attributes to be explicitly included or excluded in the GelfLayout.
-      </action>
-      <action issue="LOG4J2-2693" dev="mattsicker" type="fix">
-        @PluginValue does not support attribute names besides "value".
-      </action>
-      <action issue="LOG4J2-2647" dev="mattsicker" type="fix">
-        Validation blocks definition of script in properties configuration.
-      </action>
-      <action issue="LOG4J2-2680" dev="rgoers" type="fix" due-to="Guillermo Xavier Hurtado Garcia">
-        Set result of rename action to true if file was copied.
-      </action>
-      <action issue="LOG4J2-2672" dev="rgoers" type="fix" due-to="Stephen Colebourne">
-        Add automatic module names where missing.
-      </action>
-      <action issue="LOG4J2-2639" dev="rgoers" type="add">
-        Add builder pattern to Logger interface.
-      </action>
-      <action issue="LOG4J2-2673" dev="ggregory" type="fix" due-to="Yuichi Sugimura">
-        OutputStreamAppender.Builder ignores setFilter().
-      </action>
-      <action issue="LOG4J2-2725" dev="ckozak" type="fix" due-to="Dzmitry Anikechanka">
-        Prevent a memory leak when async loggers throw errors.
-      </action>
-    </release>
-    <release version="2.12.1" date="2019-08-06" description="GA Release 2.12.1">
-      <action issue="LOG4J2-1946" dev="rgoers" type="fix" due-to="Igor Perelyotov">
-        Allow file renames to work when files are missing from the sequence.
-      </action>
-      <action issue="LOG4J2-2650" dev="rgoers" type="fix" due-to="Mattia Bertorello">
-        Support emulating a MAC address when using ipv6.
-      </action>
-      <action issue="LOG4J2-2366" dev="rgoers" type="fix">
-        Remove references to LoggerContext when it is shutdown.
-      </action>
-      <action issue="LOG4J2-2556" dev="rgoers" type="update">
-        Make Log4j Core optional for Log4j 1.2 API.
-      </action>
-      <action issue="LOG4J2-2644" dev="rgoers" type="fix">
-        Improve the performance of capturing location information.
-      </action>
-      <action issue="LOG4J2-2646" dev="ggregory" type="update">
-        Update MongoDB 3 driver from 3.10.1 to 3.10.2.
-      </action>
-      <action issue="LOG4J2-2657" dev="ggregory" type="update">
-        Improve exception messages in the JDBC appender.
-      </action>
-      <action issue="LOG4J2-2658" dev="ckozak" type="fix">
-        AbstractAction.reportException records a warning to the status logger, providing more information when file
-        based appenders fail to compress rolled data asynchronously.
-      </action>
-      <action issue="LOG4J2-2659" dev="ckozak" type="fix">
-        AbstractAction handles and records unchecked RuntimeException and Error in addition to IOException.
-      </action>
-      <action issue="LOG4J2-2660" dev="ggregory" type="update">
-        Retry when JDBC throws a java.sql.SQLTransactionRollbackException in commitAndClose().
-      </action>
-      <action issue="LOG4J2-2667" dev="ggregory" type="fix" due-to="Gary Gregory, Edith Chui">
-        "Values not bound to statement" when using JDBC appender, appender does not respect bufferSize="0".
-      </action>
-    </release>
-    <release version="2.12.0" date="2019-06-23" description="GA Release 2.12.0">
-      <action issue="LOG4J2-2547" dev="rgoers" type="fix">
-        RollingRandomAccessFileAppender error message referenced incorrect class name.
-      </action>
-      <action issue="LOG4J2-2616" dev="rgoers" type="fix">
-        Restore constructor to ThrowablePatternConverter that was removed in 2.8.2.
-      </action>
-      <action issue="LOG4J2-2622" dev="rgoers" type="fix">
-        StructuredDataId was ignoring maxLength attribute.
-      </action>
-      <action issue="LOG4J2-2636" dev="rgoers" type="fix">
-        RFC5424Layout was not properly setting default Structured Element id for the MDC
-      </action>
-      <action issue="LOG4J2-2403" dev="rgoers" type="add" due-to="hupfdule">
-        Allow zero padding the counter of a RollingFileAppender.
-      </action>
-      <action issue="LOG4J2-2427" dev="rgoers" type="add" due-to="Rimaljit Kaur">
-        Add filter that will match events when no marker is present.
-      </action>
-      <action issue="LOG4J2-1143" dev="rgoers" type="fix" due-to="Pascal Heinrich">
-        Lookups were not found if the plugin key was not lower case.
-      </action>
-      <action issue="LOG4J2-2406" dev="rgoers" type="add">
-        Add reconfiguration methods to Configurator.
-      </action>
-      <action issue="LOG4J2-1852" dev="rgoers" type="fix" due-to="Tanner Altares">
-        Locate plugins within a Jar using a URL Connection.
-      </action>
-      <action issue="LOG4J2-2610" dev="rgoers" type="fix">
-        Explicitly set file creation time.
-      </action>
-      <action issue="LOG4J2-2561" dev="rgoers" type="fix" due-to="Ulrich Enslin">
-        JEP223 version detection fix for JDK 9 and up.
-      </action>
-      <action issue="LOG4J2-1103" dev="rgoers" type="fix" due-to="Seán Dunne">
-        FailoverAppender was failing with ERROR appender Failover has no parameter that matches element Failovers.
-      </action>
-      <action issue="LOG4J2-2602" dev="rgoers" type="fix">
-        Update file time when size based triggering policy is used without a time-based triggering policy.
-      </action>
-      <action issue="LOG4J2-2597" dev="rgoers" type="fix">
-        Throw better exception message when both log4j-slf4j-impl and log4j-to-slf4j are present.
-      </action>
-      <action issue="LOG4J2-913" dev="rgoers" type="add">
-        Add support for reconfiguration via HTTP(S), Docker, and Spring Cloud Configuration.
-      </action>
-      <action issue="LOG4J2-2586" dev="rgoers" type="add">
-        TCP Appender should support a host name resolving to multiple IP addresses.
-      </action>
-      <action issue="LOG4J2-2559" dev="ggregory" type="fix" due-to="Li Lei, Gary Gregory">
-        NullPointerException in JdbcAppender.createAppender().
-      </action>
-      <action dev="ggregory" type="update" due-to="Gary Gregory">
-        Update tests from H2 1.4.197 to 1.4.199.
-      </action>
-      <action issue="LOG4J2-2570" dev="ggregory" type="update" due-to="Gary Gregory">
-        Update Jackson from 2.9.7 to 2.9.8.
-      </action>
-      <action issue="LOG4J2-2574" dev="ggregory" type="update" due-to="Gary Gregory">
-        Update MongoDB 3 module driver from 3.9.0 to 3.10.1.
-      </action>
-      <action issue="LOG4J2-2592" dev="ggregory" type="fix" due-to="Dávid Kaya, Gary Gregory">
-        StackOverflowException when server not reachable with SocketAppender.
-      </action>
-      <action issue="LOG4J2-2337" dev="ggregory" type="add" due-to="Arvind Sahare, Patrice Ferrot">
-        Allow custom end-of-line with JsonLayout.
-      </action>
-      <action issue="LOG4J2-2598" dev="ckozak" type="add" due-to="Carter Kozak">
-        GZIP compression on rollover supports configurable compression levels.
-      </action>
-      <action issue="LOG4J2-2598" dev="ggregory" type="fix" due-to="Gary Gregory">
-        java.lang.StackOverflowError at org.apache.logging.log4j.junit.AbstractExternalFileCleaner.println(AbstractExternalFileCleaner.java:169).
-      </action>
-      <action issue="LOG4J2-2564" dev="ckozak" type="fix">
-        MapPatternConverter is properly created from the '%K', '%map', and '%MAP' patterns.
-        PatternConverter instanceOf methods with unknown parameter types no longer elide those with known parameters.
-      </action>
-      <action issue="LOG4J2-2611" dev="ckozak" type="add">
-        AsyncQueueFullPolicy configuration short values "Default" and "Discard" are case-insensitive to avoid confusion.
-      </action>
-      <action issue="LOG4J2-2612" dev="ggregory" type="fix">
-        NullPointerException at org.apache.logging.log4j.core.appender.db.jdbc.JdbcDatabaseManager.writeInternal(JdbcDatabaseManager.java:803).
-      </action>
-      <action issue="LOG4J2-2618" dev="ggregory" type="fix">
-        Possible ClassCastException in org.apache.logging.log4j.core.script.ScriptManager.ScriptManager(Configuration, WatchManager)
-      </action>
-      <action issue="LOG4J2-2619" dev="ggregory" type="update">
-        Update Jackson from 2.9.8 to 2.9.9.
-      </action>
-      <action issue="LOG4J2-2631" dev="ckozak" type="fix">
-        RoutingAppender PurgePolicy implementations no longer stop appenders referenced from the logger configuration,
-        only those that have been created by the RoutingAppender. Note that RoutingAppender.getAppenders no longer
-        includes entries for referenced appenders, only those which it has created.
-      </action>
-      <action issue="LOG4J2-2629" dev="ckozak" type="fix">
-        Fix a race allowing events not to be recorded when a RoutingAppender purge policy attempts to delete an idle
-        appender at exactly the same time as a new event is recorded.
-      </action>
-      <action issue="LOG4J2-2606" dev="ckozak" type="fix">
-        Asynchronous logging when the queue is full no longer results in heavy CPU utilization and low throughput.
-      </action>
-      <action issue="LOG4J2-2634" dev="ckozak" type="update">
-        Refactor several AsyncLogger methods below the 35 byte threshold for inlining.
-      </action>
-      <action issue="LOG4J2-2634" dev="ggregory" type="add">
-        Add and use method org.apache.logging.log4j.message.MapMessage.toKey(String) for simpler subclasses.
-      </action>
-    </release>
-    <release version="2.11.2" date="2019-02-04" description="GA Release 2.11.2">
-      <action issue="LOG4J2-2500" dev="rgoers" type="fix">
-        Document that Properties element must be the first configuration element.
-      </action>
-      <action issue="LOG4J2-2543" dev="rgoers" type="fix" due-to="Dermot Hardy">
-        Add Log4j-to-SLF4J to BOM pom.xml.
-      </action>
-      <action issue="LOG4J2-2061" dev="rgoers" type="fix">
-        Use the file pattern as the FileManager "name" when no filename is present.
-      </action>
-      <action issue="LOG4J2-2009" dev="rgoers" type="fix">
-        Expose LoggerContext.setConfiguration as a public method.
-      </action>
-      <action issue="LOG4J2-2542" dev="rgoers" type="fix">
-        CronTriggeringPolicy was not rolling properly, especially when used with the SizeBasedTriggeringPolicy.
-      </action>
-      <action issue="LOG4J2-2266" dev="rgoers" type="fix">
-        Load PropertySources from any accessible ClassLoader. Hide any exceptions that may occur accessing a PropertySource.
-      </action>
-      <action issue="LOG4J2-1570" dev="rgoers" type="fix">
-        Logging with a lambda expression with a method call that also logs would cause logs within method call to reference line num and method name of the parent method.
-      </action>
-      <action issue="LOG4J2-1576" dev="rgoers" type="update">
-        Switch from CLIRR to RevAPI for detecting API changes.
-      </action>
-      <action issue="LOG4J2-2485" dev="rgoers" type="fix" due-to="Giovanni Matteo Fumarola">
-        SizeBasedTriggeringPolicy was not honored when using the DirectWriteRolloverStrategy if the machine restarts.
-      </action>
-      <action issue="LOG4J2-1906" dev="rgoers" type="fix">
-        Direct write was creating files with the wrong date/time.
-      </action>
-      <action issue="LOG4J2-2453" dev="rgoers" type="fix" due-to="theit">
-        Add Log4j-slf4j18-impl dependency to BOM POM.
-      </action>
-      <action issue="LOG4J2-2515" dev="rgoers" type="fix" due-to="MakarovS">
-        Configuration documentation referenced incorrect method name.
-      </action>
-      <action issue="LOG4J2-2514" dev="rgoers" type="fix" due-to="smilebrian0515">
-        Make Strings.toRootUpperCase a static method so it can be accessed.
-      </action>
-      <action issue="LOG4J2-1571" dev="rgoers" type="fix" due-to="torbenmoeller">
-        Fixed Appenders section in Extending Log4j.
-      </action>
-      <action issue="LOG4J2-2391" dev="ckozak" type="update">
-        Improve exception logging performance. ThrowableProxy construction uses a faster
-        method to discover the current stack trace. ThrowablePatternConverter and
-        ExtendedThrowablePatternConverter default configurations no longer allocate
-        an additional buffer for stack trace contents.
-      </action>
-      <action issue="LOG4J2-2397" dev="ggregory" type="fix" due-to="EckelDong">
-        Pre-deployment of PersistenceUnit that using Log4j as session logger failed (#198).
-      </action>
-      <action issue="LOG4J2-2365" dev="ckozak" type="fix" due-to="Eugene Zimichev">
-        NameAbbreviator correctly abbreviates first fragments (#188).
-      </action>
-      <action issue="LOG4J2-2201" dev="ckozak" type="fix">
-        Fix memory leak in ReusableParameterizedMessage.
-      </action>
-      <action issue="LOG4J2-2363" dev="ckozak" type="fix" due-to="Brian Laub">
-        ReusableObjectMessage parameter is properly passed to appenders (#203).
-      </action>
-      <action issue="LOG4J2-2418" dev="ggregory" type="fix" due-to="Jonas Rutishauser">
-        NullPointerException when closing never used RollingRandomAccessFileAppender.
-      </action>
-      <action issue="LOG4J2-2422" dev="ggregory" type="fix" due-to="rswart, Gary Gregory">
-        Handle some unchecked exceptions while loading plugins.
-      </action>
-      <action issue="LOG4J2-2441" dev="ckozak" type="fix">
-        Setting a null ErrorHandler on AbstractAppender is not allowed and will no-op as expected.
-      </action>
-      <action issue="LOG4J2-2444" dev="ckozak" type="fix">
-        ErrorHandler is invoked with a LogEvent and Throwable when possible, where previously only a string was used.
-      </action>
-      <action issue="LOG4J2-2447" dev="ggregory" type="update">
-        Let the NullAppender default its name to "null".
-      </action>
-      <action issue="LOG4J2-2468" dev="ggregory" type="update">
-        Update Jackson from 2.9.6 to 2.9.7.
-      </action>
-      <action issue="LOG4J2-2469" dev="ggregory" type="update">
-        Update Apache Commons Compress from 1.17 to 1.18.
-      </action>
-      <action issue="LOG4J2-2470" dev="ggregory" type="update">
-        Update Apache Commons CSV from 1.5 to 1.6.
-      </action>
-      <action issue="LOG4J2-2471" dev="ggregory" type="update">
-        Update javax.mail from 1.6.1 to 1.6.2.
-      </action>
-      <action issue="LOG4J2-2472" dev="ggregory" type="update">
-        Update mongo-java-driver 3 from 3.8.0 to 3.8.2.
-      </action>
-      <action issue="LOG4J2-2413" dev="ggregory" type="fix" due-to="Andres Luuk, Gary Gregory">
-        Exceptions are added to all columns when a JDBC Appender's ColumnMapping uses a Pattern.
-      </action>
-      <action issue="LOG4J2-2466" dev="ggregory" type="fix" due-to="Paolo Bonanomi, Gary Gregory">
-        ColumnMapping literal not working.
-      </action>
-      <action issue="LOG4J2-2478" dev="ckozak" type="fix" due-to="Diego Elias Costa">
-        AbstractStringLayoutStringEncodingBenchmark returns the computed variables on each benchmark to avoid DCE.
-      </action>
-      <action issue="LOG4J2-2134" dev="ggregory" type="fix" due-to="David del Amo Mateos, Gary Gregory">
-      	StackOverflowError at AwaitCompletionReliabilityStrategy.
-      </action>
-      <action issue="LOG4J2-2481" dev="ggregory" type="fix">
-      	Avoid NullPointerExceptions in org.apache.logging.log4j.core.config.AbstractConfiguration for null arguments.
-      </action>
-      <action issue="LOG4J2-2457" dev="ggregory" type="fix" due-to="Heiko Schwanke, Gary Gregory">
-      	RollingRandomAccessFileManager ignores new file patterns from programmatic reconfiguration.
-      </action>
-      <action issue="LOG4J2-2482" dev="ggregory" type="fix" due-to="Rob Gansevles">
-        BasicContextSelector cannot be used in a OSGI application.
-      </action>
-      <action issue="LOG4J2-2476" dev="ggregory" type="fix" due-to="Al Bundy">
-        org.apache.log4j.SimpleLayout and ConsoleAppender missing in log4j-1.2-api.
-      </action>
-      <action issue="LOG4J2-2489" dev="ggregory" type="update">
-        JDBC Appender should release parameter resources ASAP.
-      </action>
-      <action issue="LOG4J2-2491" dev="ggregory" type="update">
-        Allow all Appenders to optionally carry a Property array.
-      </action>
-      <action issue="LOG4J2-2497" dev="ggregory" type="fix">
-        JmsAppender reconnectIntervalMillis cannot be set from a configuration file.
-      </action>
-      <action issue="LOG4J2-2499" dev="ggregory" type="fix">
-        JMS Appender may throw a NullPointerException when JMS is not up while the Appender is starting.
-      </action>
-      <action issue="LOG4J2-2496" dev="ggregory" type="add">
-        JDBC Appender should reconnect to the database when a connection goes stale.
-      </action>
-      <action issue="LOG4J2-2405" dev="ggregory" type="update" due-to="Marco Herrn">
-        Better handling of %highlight pattern when using jul-bridge.
-      </action>
-      <action issue="LOG4J2-2503" dev="ggregory" type="update">
-        Update MongoDB driver from 3.8.2 to 3.9.0 for log4j-mongodb3 module.
-      </action>
-      <action issue="LOG4J2-2505" dev="ggregory" type="add">
-        Let JDBC PoolingDriverConnectionSource with Apache Commons DBCP configure a PoolableConnectionFactory.
-      </action>
-      <action issue="LOG4J2-2508" dev="ggregory" type="fix">
-      	JDBC Appender fails when using both parameter, source, and literal ColumnMapping elements.
-      </action>
-      <action issue="LOG4J2-2509" dev="ggregory" type="add">
-        Allow a JDBC Appender to truncate strings to match a table's metadata column length limit.
-      </action>
-      <action issue="LOG4J2-1246" dev="ggregory" type="add">
-        PatternLayout %date conversion pattern should render time zone designator for ISO-ISO8601.
-      </action>
-      <action issue="LOG4J2-2527" dev="ckozak" type="fix">
-        Prevent ConcurrentModificationException while iterating over ListAppender events.
-      </action>
-      <action issue="LOG4J2-2522" dev="ckozak" type="fix" due-to="Adam Lesiak">
-        Fix regression using MapMessageLookup.lookup with MapMessages that do not implement StringMapMessage.
-      </action>
-      <action issue="LOG4J2-2530" dev="ckozak" type="fix" due-to="Travis Spencer">
-        Generalize checks using MapMessage implementations with do not extend StringMapMessage.
-        Introduce new JAVA_UNQUOTED MapMessage format type based on the JAVA formatting, but without
-        quoted values.
-      </action>
-      <action issue="LOG4J2-2533" dev="ckozak" type="fix" due-to="Michail Prusakov">
-        Fix a regression introduced by LOG4J2-2301 in 2.11.1 allowing allocation to occur in AsyncLoggerConfig.
-      </action>
-    </release>
-    <release version="2.11.1" date="2018-07-22" description="GA Release 2.11.1">
-      <action issue="LOG4J2-2389" dev="rgoers" type="fix" due-to="Liu Wen">
-        ThrowableProxy was saving and retrieving cache entries using different keys.
-      </action>
-      <action issue="LOG4J2-2316" dev="rgoers" type="fix">
-        If root LoggerConfig does not have a Level return ERROR.
-      </action>
-      <action issue="LOG4J2-2390" dev="rgoers" type="fix" due-to="anton-balaniuc">
-        Fix broken links in log4j web documentation.
-      </action>
-      <action issue="LOG4J2-1721" dev="rgoers" type="update" due-to="Phokham Nonava">
-        Allow composite configuration for context parameter.
-      </action>
-      <action issue="LOG4J2-2343" dev="rgoers" type="fix" due-to="Raymond Augé">
-        The OSGi Activator specified an incorrect version.
-      </action>
-      <action issue="LOG4J2-2305" dev="rgoers" type="fix" due-to="Björn Kautler">
-        Make java.util.ServiceLoader properly work in OSGi by using the Service Loader Mediator Specification.
-      </action>
-      <action issue="LOG4J2-2305" dev="rgoers" type="fix">
-        Split the SLF4J binding into 2 implementations - one for SLF4J 1.7.x and one for SLF4J 1.8+.
-      </action>
-      <action issue="LOG4J2-2268" dev="rgoers" type="fix" due-to="Tilman Hausherr">
-        Improve plugin error message when elements are missing.
-      </action>
-      <action issue="LOG4J2-2283" dev="ggregory" type="fix" due-to="Vishnu Priya Matha">
-        ParserConfigurationException when using Log4j with oracle.xml.jaxp.JXDocumentBuilderFactory.
-      </action>
-      <action issue="LOG4J2-2300" dev="ggregory" type="fix">
-        PoolingDriverConnectionSource does not take into account properties, user name, and password.
-      </action>
-      <action issue="LOG4J2-2302" dev="ggregory" type="update">
-        Status logger should show the Log4j name and version when initializing itself.
-      </action>
-      <action issue="LOG4J2-2304" dev="ggregory" type="update" due-to="wumengsheng">
-        Log4j2 2.8.2 JMX unregister NullPointerException.
-      </action>
-      <action issue="LOG4J2-2311" dev="ggregory" type="update">
-      	Update Jackson from 2.9.4 to 2.9.5.
-      </action>
-      <action issue="LOG4J2-2313" dev="ggregory" type="update">
-      	Update LMAX Disruptor from 3.3.7 to 3.4.2.
-      </action>
-      <action issue="LOG4J2-548" dev="ggregory" type="update" due-to="Shehata, Paresh Varke, Eric Victorson, Martin Laforet">
-      	Log4j 2.0 ERROR "Could not search jar" with JBoss EAP 6.2.
-      </action>
-      <action issue="LOG4J2-2307" dev="ckozak" type="fix">
-        MutableLogEvent and RingBufferLogEvent message mementos retain the original format string.
-      </action>
-      <action issue="LOG4J2-2032" dev="ckozak" type="fix" due-to="Kostiantyn Shchepanovskyi">
-        Curly braces in parameters are not treated as placeholders.
-      </action>
-      <action issue="LOG4J2-2317" dev="ckozak" type="fix">
-        MutableLogEvent.getNonNullImmutableMessage and Log4jLogEvent.makeMessageImmutable retain format and parameters.
-      </action>
-      <action issue="LOG4J2-2318" dev="ckozak" type="fix">
-        Messages are no longer mutated when the asynchronous queue is full. A warning is logged to the status logger instead.
-      </action>
-      <action issue="LOG4J2-2320" dev="ckozak" type="fix">
-        Fix NPE in AbstractLogger when another exception is thrown, masking the root cause.
-      </action>
-      <action issue="LOG4J2-2321" dev="ckozak" type="fix">
-        AsyncLogger uses the correct level when unspecified. This provides parity between AsyncLogger and Logger.
-      </action>
-      <action issue="LOG4J2-2322" dev="ckozak" type="fix">
-        Custom ContextSelector implementations which select an AsyncLoggerContext disable LoggerConfig.includeLocation
-        by default for parity with AsyncLoggerContextSelector.
-      </action>
-      <action issue="LOG4J2-2269" dev="ckozak" type="fix">
-        MutableLogEvent references to other objects are cleared after each use.
-        Fix a memory leak causing references to parameters to be held after synchronous logging with thread locals enabled.
-      </action>
-      <action issue="LOG4J2-2328" dev="ggregory" type="update">
-        Update JAnsi from 1.17 to 1.17.1.
-      </action>
-      <action issue="LOG4J2-2301" dev="ckozak" type="fix">
-        Mixed async loggers no longer forget parameter values, providing some appenders with an array of nulls.
-      </action>
-      <action issue="LOG4J2-2331" dev="ckozak" type="fix" due-to="Mike Baranski">
-        RollingFileManager debug logging avoids string concatenation and errant braces in favor of parameterized logging.
-      </action>
-      <action issue="LOG4J2-2333" dev="ckozak" type="fix">
-        Handle errors thrown in default disruptor ExceptionHandler implementations to avoid killing background threads.
-      </action>
-      <action issue="LOG4J2-2334" dev="ggregory" type="fix">
-        Add API org.apache.logging.log4j.core.appender.AsyncAppender.getQueueSize().
-      </action>
-      <action issue="LOG4J2-2336" dev="ckozak" type="fix">
-        Remove duplicate hyphen from the AsyncLoggerConfig background thread name.
-      </action>
-      <action issue="LOG4J2-2347" dev="ggregory" type="fix">
-        Update Apache Commons Compress from 1.16.1 to 1.17.
-      </action>
-      <action issue="LOG4J2-2351" dev="ckozak" type="update">
-        Added AbstractLogEvent.getMutableInstant to allow the MutableInstant instance to be modified by classes extending AbstractLogEvent.
-      </action>
-      <action issue="LOG4J2-2352" dev="ckozak" type="fix">
-        RingBufferLogEvent memento messages provide the expected format string, and no longer attempt to substitute parameters into curly braces in parameter toString values.
-        Both RingBufferLogEvent and MutableLogEvent memento implementations memoize results to avoid rebuilding formatted string values.
-      </action>
-      <action issue="LOG4J2-2355" dev="ckozak" type="fix" due-to="Henrik Brautaset Aronsen">
-        PropertiesUtil ignores non-string system properties. Fixes a NoClassDefFoundError initializing StatusLogger
-        caused by an NPE while initializing the static PropertiesUtil field.
-      </action>
-      <action issue="LOG4J2-2357" dev="ggregory" type="update">
-        Update Jackson from 2.9.5 to 2.9.6.
-      </action>
-      <action issue="LOG4J2-2358" dev="ggregory" type="update">
-        Update Kafka client from 1.0.0 to 1.1.0.
-      </action>
-      <action issue="LOG4J2-2362" dev="ckozak" type="fix">
-        Fixed a memory leak in which ReusableObjectMessage would hold a reference to the most recently logged object.
-      </action>
-      <action issue="LOG4J2-2312" dev="ckozak" type="fix">
-        Jackson layouts used with AsyncLoggerContextSelector output the expected format rather than only a JSON string of the message text.
-      </action>
-      <action issue="LOG4J2-2364" dev="ckozak" type="fix">
-        Fixed a memory leak in which ReusableParameterizedMessage would hold a reference to the most recently
-        logged throwable and provided varargs array.
-      </action>
-      <action issue="LOG4J2-2368" dev="ckozak" type="fix">
-        Nested logging doesn't clobber AbstractStringLayout cached StringBuilders
-      </action>
-      <action issue="LOG4J2-2373" dev="ckozak" type="fix" due-to="Kevin Meurer">
-        StringBuilders.escapeJson implementation runs in linear time. Escaping large JSON strings
-        in EncodingPatternConverter and MapMessage will perform significantly better.
-      </action>
-      <action issue="LOG4J2-2376" dev="ckozak" type="fix" due-to="Kevin Meurer">
-        StringBuilders.escapeXml implementation runs in linear time. Escaping large XML strings
-        in EncodingPatternConverter and MapMessage will perform significantly better.
-      </action>
-      <action issue="LOG4J2-2377" dev="ggregory" type="fix" due-to="Mirko Rzehak, Gary Gregory">
-        NullPointerException in org.apache.logging.log4j.util.LoaderUtil.getClassLoaders() when using Bootstrap class loader.
-      </action>
-      <action issue="LOG4J2-2382" dev="ggregory" type="fix">
-        Update Mongodb 3 driver from 3.6.3 to 3.8.0.
-      </action>
-      <action issue="LOG4J2-2384" dev="ggregory" type="update">
-        Update Kafka client from 1.1.0 to 1.1.1.
-      </action>
-      <action issue="LOG4J2-2385" dev="ggregory" type="update">
-        Update Groovy from 2.4.13 to 2.5.1.
-      </action>
-      <action issue="LOG4J2-2386" dev="ggregory" type="update">
-        Update optional Apache Commons DBCP from 2.2.0 to 2.4.0.
-      </action>
-      <action issue="LOG4J2-2388" dev="ggregory" type="fix" due-to="Failled">
-        Thread indefinitely blocked when logging a message in an interrupted thread.
-      </action>
-    </release>
-    <release version="2.11.0" date="2018-03-11" description="GA Release 2.11.0">
-      <action issue="LOG4J2-2104" dev="rgoers" type="fix">
-        LoaderUtil was not looping properly over class loaders.
-      </action>
-      <action issue="LOG4J2-1976" dev="rgoers" type="fix">
-        Revert OSGi API version to 4.3.1.
-      </action>
-      <action issue="LOG4J2-2273" dev="rpopma" type="update" due-to="Bruno P. Kinoshita">
-        Documentation fix in manual page for custom configurations.
-      </action>
-      <action issue="LOG4J2-2252" dev="rpopma" type="update" due-to="Carter Kozak">
-        Reusable LogEvents now pass the original format string to downstream components like layouts and filters.
-      </action>
-      <action issue="LOG4J2-2253" dev="rpopma" type="add" due-to="Carter Kozak">
-        Add API to enable iterating over message parameters without creating temporary objects.
-      </action>
-      <action issue="LOG4J2-2271" dev="rgoers" type="fix">
-        Move module-info.class to META-INF/versions/9 directory.
-      </action>
-      <action issue="LOG4J2-2254" dev="rgoers" type="fix">
-        Incorrect automatics module name header was being included in manifests.
-      </action>
-      <action issue="LOG4J2-2247" dev="rgoers" type="fix">
-        NullPointerException would occur when header was provided to a Layout on RollingRandingAccessFileAppender
-        with DirectWriteRolloverStrategy.
-      </action>
-      <action issue="LOG4J2-2250" dev="rpopma" type="update">
-        The internal status logger timestamp format is now configurable with system property `log4j2.StatusLogger.DateFormat`.
-      </action>
-      <action issue="LOG4J2-2236" dev="rpopma" type="update">
-        Removed unnecessary dependency on jcommander since Log4j uses embedded picocli since 2.9.
-      </action>
-      <action issue="LOG4J2-1883" dev="rpopma" type="add" due-to="Anthony Maire">
-        Added support for precise (micro and nanosecond) timestamps when running on Java 9. A limited number of precise %d date formats are supported with PatternLayout. POTENTIAL BREAKING CHANGE: The XML, JSON and YAML formats have changed: they no longer have the "timeMillis" attribute and instead have an "Instant" element with "epochSecond" and "nanoOfSecond" attributes.
-      </action>
-      <action issue="LOG4J2-2190" dev="mikes" type="add" due-to="Franz Wong">
-        Output JSON object for ObjectMessage in JsonLayout.
-      </action>
-      <action issue="LOG4J2-2191" dev="rpopma" type="add">
-        Made log4j-core a multi-release ("multi-version") jar, added log4j-core-java9 module.
-      </action>
-      <action issue="LOG4J2-2129" dev="rgoers" type="fix" due-to="Blazej Bucko">
-        Log4j2 throws NoClassDefFoundError in Java 9 in java.util.ServiceLoader.
-      </action>
-      <action issue="LOG4J2-2158" dev="rpopma" type="fix" due-to="Björn Kautler">
-        Fixed bug where ThreadContext map was cleared, resulting in entries being only available for one log event.
-      </action>
-      <action issue="LOG4J2-2002" dev="mikes" type="fix" due-to="Paul Burrowes">
-        Avoid null attribute values in DefaultConfigurationBuilder.
-      </action>
-      <action issue="LOG4J2-2175" dev="mikes" type="fix" due-to="Behrang Saeedzadeh">
-        Fix typo in Property Substitution docs.
-      </action>
-      <action issue="LOG4J2-2163" dev="rgoers" type="fix">
-        Allow SortedArrayStringMap to be filtered upon deserialization. Fix build error in Java 9 when
-        compiling log4j-core test classes.
-      </action>
-      <action issue="LOG4J2-2157" dev="ggregory" type="fix" due-to="Malte Skoruppa">
-        Don't create exit message in traceExit(R) when logging is disabled.
-      </action>
-      <action issue="LOG4J2-2123" dev="rgoers" type="fix" due-to="Jacob Tolar">
-        DefaultMergeStrategy did not merge filters on loggers correctly.
-      </action>
-      <action issue="LOG4J2-2146" dev="rgoers" type="update">
-        Update version of maven bundle plugin to 3.4.0. Convert bundle plugin error to a warning.
-      </action>
-      <action issue="LOG4J2-2215" dev="rpopma" type="update">
-        Reduce compiler warnings in log4j-api.
-      </action>
-      <action issue="LOG4J2-2143" dev="mikes" type="add">
-        Add missing converters to PatternLayout.
-      </action>
-      <action issue="LOG4J2-2160" dev="ggregory" type="add">
-        Add API org.apache.logging.log4j.core.lookup.Interpolator.getStrLookupMap().
-      </action>
-      <action issue="LOG4J2-2127" dev="rpopma" type="update" due-to="Carter Kozak">
-        Removed unnecessary threadlocal StringBuilder field from MdcPatternConverter.
-      </action>
-      <action issue="LOG4J2-2126" dev="rpopma" type="fix" due-to="Oleg Kalnichevski">
-        Removed compile-time dependency on Java Management APIs from Log4J API module to improve compatibility with Android Platform which does not support JMX extensions.
-      </action>
-      <action issue="LOG4J2-2194" dev="rpopma" type="update">
-        Require Java 9 to compile the log4j-perf module to allow benchmarking with Java 9 APIs.
-      </action>
-      <action issue="LOG4J2-2193" dev="rpopma" type="update">
-        Update JMH to version 1.19 from 1.1.1.
-      </action>
-      <action issue="LOG4J2-2132" dev="ggregory" type="update">
-        Update ZeroMQ's jeromq from 0.4.2 to 0.4.3.
-      </action>
-      <action issue="LOG4J2-2165" dev="ggregory" type="update">
-        Update Jackson from 2.9.2 to 2.9.3.
-      </action>
-      <action issue="LOG4J2-2179" dev="ggregory" type="add">
-        The MongoDB Appender should use a keys and values for a Log4j MapMessage.
-      </action>
-      <action issue="LOG4J2-2180" dev="ggregory" type="add">
-        Add a MongoDbProvider builder for and deprecate org.apache.logging.log4j.mongodb.MongoDbProvider.createNoSqlProvider().
-      </action>
-      <action issue="LOG4J2-2181" dev="ggregory" type="add">
-        The JDBC Appender should use keys and values from a Log4j MapMessage.
-      </action>
-      <action issue="LOG4J2-2184" dev="ggregory" type="update">
-        Update MongoDB driver from 3.0.4 to 3.6.1.
-      </action>
-      <action issue="LOG4J2-2185" dev="ggregory" type="add">
-        Add a simple JDBC DriverManager-based ConnectionSource that uses JDBC's DriverManager#getConnection(String, String, String).
-      </action>
-      <action issue="LOG4J2-2197" dev="ggregory" type="update" due-to="Fabrice Daugan">
-        Document default property value support.
-      </action>
-      <action issue="LOG4J2-2198" dev="ggregory" type="update">
-        Update MongoDB dependencies from classic to modern.
-      </action>
-      <action issue="LOG4J2-2186" dev="ggregory" type="add">
-        Add a JDBC ConnectionSource that provides pooling through Apache Commons DBCP 2.
-      </action>
-      <action issue="LOG4J2-2187" dev="ggregory" type="add">
-        Add a hook for a Connection Source for a JDBC Appender to release its resources.
-      </action>
-      <action issue="LOG4J2-2203" dev="ggregory" type="add">
-        Add org.apache.logging.log4j.core.util.WatchManager#unwatch(File).
-      </action>
-      <action issue="LOG4J2-2204" dev="ggregory" type="update">
-        org.apache.logging.log4j.core.util.WatchManager.getWatchers() should pre-allocate its new Map.
-      </action>
-      <action issue="LOG4J2-2206" dev="ggregory" type="add">
-        Add method org.apache.logging.log4j.core.util.WatchManager.reset(File) and reset().
-      </action>
-      <action issue="LOG4J2-2208" dev="ggregory" type="add">
-        Add debug logging to org.apache.logging.log4j.mongodb.MongoDbConnection.
-      </action>
-      <action issue="LOG4J2-2209" dev="ggregory" type="update">
-        Rename existing MongoDb plugin and related artifacts from MongoDb to MongoDb2.
-      </action>
-      <action issue="LOG4J2-2210" dev="ggregory" type="update" due-to="Björn Kautler">
-        Fix error log message for Script which says ScriptFile instead.
-      </action>
-      <action issue="LOG4J2-2212" dev="ggregory" type="update" due-to="Daniel Feist, Gary Gregory">
-        Unnecessary contention in CopyOnWriteSortedArrayThreadContextMap.
-      </action>
-      <action issue="LOG4J2-2213" dev="ggregory" type="update" due-to="Daniel Feist, Gary Gregory">
-        Unnecessary contention in GarbageFreeSortedArrayThreadContextMap.
-      </action>
-      <action issue="LOG4J2-2214" dev="ggregory" type="update" due-to="Daniel Feist, Gary Gregory">
-        Unnecessary contention in DefaultThreadContextMap.
-      </action>
-      <action issue="LOG4J2-2182" dev="ggregory" type="update" due-to="liwenxian2017, Gary Gregory">
-        NullPointerException at org.apache.logging.log4j.util.Activator.loadProvider(Activator.java:81) in log4j 2.10.0.
-      </action>
-      <action issue="LOG4J2-2202" dev="ggregory" type="update" due-to="Kilian, Gary Gregory">
-        MarkerFilter onMismatch invalid attribute in .properties.
-      </action>
-      <action issue="LOG4J2-2219" dev="ggregory" type="update" due-to="Kilian, Gary Gregory">
-        Configuration builder classes should look for "onMismatch", not "onMisMatch".
-      </action>
-      <action issue="LOG4J2-2205" dev="ggregory" type="update" due-to="Gary Gregory">
-        New module log4j-mongodb3: Remove use of deprecated MongoDB APIs and code to the Java driver version 3 API.
-      </action>
-      <action issue="LOG4J2-2188" dev="ggregory" type="update" due-to="Gary Gregory">
-        Split off JPA support into a new module log4j-jpa.
-      </action>
-      <action issue="LOG4J2-2229" dev="ggregory" type="update" due-to="Gary Gregory">
-        Update Jackson from 2.9.3 to 2.9.4.
-      </action>
-      <action issue="LOG4J2-2243" dev="ggregory" type="update" due-to="Gary Gregory">
-        Cannot see or copy all of certain JAnsi exception messages on Windows due to NUL characters.
-      </action>
-      <action issue="LOG4J2-2245" dev="ggregory" type="update" due-to="Gary Gregory">
-        Update Apache Commons Compress from 1.15 to 1.16.1.
-      </action>
-      <action issue="LOG4J2-2259" dev="ggregory" type="update">
-        Update MongoDB 3 module from driver 3.6.1 to 3.6.3.
-      </action>
-      <action issue="LOG4J2-2260" dev="ggregory" type="update">
-        [SMTP] Update javax.mail from 1.6.0 to 1.6.1.
-      </action>
-      <action issue="LOG4J2-2264" dev="ggregory" type="update">
-        Update JAnsi from 1.16 to 1.17.
-      </action>
-      <action issue="LOG4J2-2270" dev="ggregory" type="fix" due-to="Cyril Martin">
-        Strings::join, when called with [null] returns "null" instead of EMPTY.
-      </action>
-      <action issue="LOG4J2-2276" dev="ggregory" type="fix" due-to="Sean Baxter">
-        ConcurrentModificationException from org.apache.logging.log4j.status.StatusLogger.&lt;clinit>(StatusLogger.java:71).
-      </action>
-      <action issue="LOG4J2-2274" dev="ggregory" type="fix" due-to="Sebastien Lannez">
-        Allow EnvironmentPropertySource to run with a SecurityManager that rejects environment variable access.
-      </action>
-      <action issue="LOG4J2-2279" dev="ggregory" type="fix" due-to="Gary Gregory">
-        Allow SystemPropertiesPropertySource to run with a SecurityManager that rejects system property access.
-      </action>
-    </release>
-    <release version="2.10.0" date="2017-11-18" description="GA Release 2.10.0">
-      <action issue="LOG4J2-2289" dev="ggregory" type="fix" due-to="Hari Menon">
-        XML Schema for DynamicFilterThreshold does not accept multiple KeyValuePairs.
-      </action>
-      <action issue="LOG4J2-2120" dev="mikes" type="add" due-to="Carter Douglas Kozak">
-        Properly escape newlines and other control characters in JSON.
-      </action>
-      <action issue="LOG4J2-2109" dev="mikes" type="add" due-to="Carter Douglas Kozak">
-        Add property to disable message pattern converter lookups.
-      </action>
-      <action issue="LOG4J2-2112" dev="mikes" type="add" due-to="Carter Douglas Kozak">
-        MapMessage should use deep toString for values.
-      </action>
-      <action issue="LOG4J2-2107" dev="mikes" type="fix" due-to="Carter Douglas Kozak">
-        MapMessage supports both StringBuilderFormattable and MultiFormatMessage.
-      </action>
-      <action issue="LOG4J2-2102" dev="mikes" type="fix" due-to="Carter Douglas Kozak">
-        MapMessage JSON encoding will escape keys and values.
-      </action>
-      <action issue="LOG4J2-2101" dev="mikes" type="fix" due-to="Carter Douglas Kozak">
-        Non-string value in MapMessage caused ClassCastException.
-      </action>
-      <action issue="LOG4J2-2103" dev="mikes" type="add">
-        XML encoding for PatternLayout.
-      </action>
-      <action issue="LOG4J2-2114" dev="ggregory" type="add">
-        Provide a native Log4j 2 implementation of Eclipse Jetty's org.eclipse.jetty.util.log.Logger.
-      </action>
-      <action issue="LOG4J2-1203" dev="mikes" type="add" due-to="Robert Turner">
-        Allow filtering of line breaks in layout pattern.
-      </action>
-      <action issue="LOG4J2-2098" dev="rgoers" type="add">
-        Add a noop AppenderSkeleton for applications still using Log4j 1.x.
-      </action>
-      <action issue="LOG4J2-2091" dev="mikes" type="fix" due-to="Carter Douglas Kozak">
-        Log4j respects the configured "log4j2.is.webapp" property
-      </action>
-      <action issue="LOG4J2-2100" dev="ggregory" type="fix">
-        LevelMixIn class for Jackson is coded incorrectly
-      </action>
-      <action issue="LOG4J2-2087" dev="rpopma" type="fix" due-to="Andy Gumbrecht">
-        Jansi now needs to be enabled explicitly (by setting system property `log4j.skipJansi` to `false`). To avoid causing problems for web applications, Log4j will no longer automatically try to load Jansi without explicit configuration.
-      </action>
-      <action issue="LOG4J2-2060" dev="rpopma" type="fix">
-        AbstractDatabaseManager should make a copy of LogEvents before holding references to them: AsyncLogger log events are mutable.
-      </action>
-      <action issue="LOG4J2-2076" dev="mikes" type="update">
-        Split up log4j-nosql into one module per appender.
-      </action>
-      <action issue="LOG4J2-2088" dev="rpopma" type="update">
-        Upgrade picocli to 2.0.3 from 0.9.8.
-      </action>
-      <action issue="LOG4J2-2062" dev="mikes" type="add" due-to="Jorge Sanchez">
-        Add possibility of sending the key of a message to Kafka using KafkaAppender.
-      </action>
-      <action issue="LOG4J2-2056" dev="rgoers" type="add">
-        Modularize Log4j-api and make most other log4j jars automatic modules.
-      </action>
-      <action issue="LOG4J2-1431" dev="mattsicker" type="add">
-        Simplify log4j system property naming scheme.
-      </action>
-      <action issue="LOG4J2-1809" dev="mattsicker" type="add">
-        Add global configuration environment SPI.
-      </action>
-      <action issue="LOG4J2-2025" dev="rgoers" type="update">
-        Provide support for overriding the Tomcat Log class in Tomcat 8.5+.
-      </action>
-      <action issue="LOG4J2-1694" dev="mikes" type="add" due-to="Michal Dvořák">
-        Add fields with fixed values to JSON/XML/YAML layouts.
-      </action>
-      <action issue="LOG4J2-2054" dev="rpopma" type="add">
-      Provide ways to configure SSL that avoid plain-text passwords in the log4j configuration. The configuration may
-        now specify a system environment variable that holds the password, or the path to a file that holds the password.
-      </action>
-      <action issue="LOG4J2-2057" dev="rgoers" type="update">
-        Support new SLF4J binding mechanism introduced in SLF4J 1.8.
-      </action>
-      <action issue="LOG4J2-2052" dev="rpopma" type="update">
-        Disable thread name caching by default when running on Java 8u102 or later.
-      </action>
-      <action issue="LOG4J2-2055" dev="rgoers" type="fix">
-        If Log4j is used as the Tomcat logging implementation startup might fail if an application also uses Log4j.
-      </action>
-      <action issue="LOG4J2-1896" dev="rpopma" type="update">
-        Update classes in org.apache.logging.log4j.core.net.ssl in APIs from String to a PasswordProvider producing
-        char[] for passwords.
-      </action>
-      <action issue="LOG4J2-2031" dev="rpopma" type="fix">
-        Until this change, messages appeared out of order in log file any time when the async logging queue was full.
-        With this change, messages are only logged out of order to prevent deadlock when Log4j2 detects recursive
-        logging while the queue is full.
-      </action>
-      <action issue="LOG4J2-2053" dev="ggregory" type="fix">
-        Exception java.nio.charset.UnsupportedCharsetException: cp65001 in 2.9.0.
-      </action>
-      <action issue="LOG4J2-1216" dev="ggregory" type="fix" due-to="Thies Wellpott, Barna Zsombor Klara, GFriedrich">
-        Nested pattern layout options broken.
-      </action>
-      <action issue="LOG4J2-2070" dev="ggregory" type="fix" due-to="Doug Hughes">
-        Log4j1XmlLayout does not provide the entire stack trace, it is missing the caused by information.
-      </action>
-      <action issue="LOG4J2-2036" dev="ggregory" type="fix" due-to="Robert Haycock">
-        CompositeConfiguration supports Reconfiguration. PR #115.
-      </action>
-      <action issue="LOG4J2-2071" dev="ggregory" type="add" due-to="Carter Kozak">
-        Add org.apache.logging.log4j.core.config.composite.CompositeConfiguration#toString().
-      </action>
-      <action issue="LOG4J2-2073" dev="ggregory" type="fix" due-to="Patrick Lucas">
-        Log4j-config.xsd should make AppenderRef optional for each Logger element.
-      </action>
-      <action issue="LOG4J2-2074" dev="ggregory" type="fix">
-        The console appender should say why it cannot load JAnsi.
-      </action>
-      <action issue="LOG4J2-2085" dev="ggregory" type="fix" due-to="István Neuwirth">
-        Wrong Apache Commons CSV version referenced in the Javadoc of CsvParameterLayout.
-      </action>
-      <action issue="LOG4J2-2078" dev="ggregory" type="update">
-        Update LMAX disruptor from 3.3.6 to 3.3.7.
-      </action>
-      <action issue="LOG4J2-2081" dev="ggregory" type="update">
-        Update Apache Commons Compress from 1.14 to 1.15.
-      </action>
-      <action issue="LOG4J2-2089" dev="ggregory" type="update">
-        [TagLib] Update servlet-api provided dependency from 2.5 to 3.0.1.
-      </action>
-      <action issue="LOG4J2-2096" dev="ggregory" type="update">
-        Update Apache Kafka kafka-clients from 0.11.0.1 to 1.0.0.
-      </action>
-      <action issue="LOG4J2-2077" dev="ggregory" type="update">
-        Update from Jackson 2.9.1 to 2.9.2.
-      </action>
-      <action issue="LOG4J2-2117" dev="ggregory" type="update">
-        Jackson dependencies for 2.9.2 incorrectly bring in jackson-annotations 2.9.0 instead of 2.9.2.
-      </action>
-    </release>
-    <release version="2.9.1" date="2017-09-17" description="GA Release 2.9.1">
-      <action issue="LOG4J2-1988" dev="rpopma" type="fix">
-        Prevent ConcurrentModificationException with AsyncLoggerConfig.
-      </action>
-      <action issue="LOG4J2-1914" dev="rpopma" type="fix">
-        Prevent ConcurrentModificationException with AsyncLoggerConfig.
-      </action>
-      <action issue="LOG4J2-2048" dev="rpopma" type="fix">
-        Increase default queue size for AsyncAppender from 128 to 1024.
-      </action>
-      <action issue="LOG4J2-2035" dev="rpopma" type="fix">
-        Fix documentation to clarify disruptor-3.3.4 is now required for async loggers (previously the docs referred to disruptor-3.3.3 which was never released).
-      </action>
-      <action issue="LOG4J2-2030" dev="rgoers" type="fix">
-        Inspect all known ClassLoaders to locate the service provider.
-      </action>
-      <action issue="LOG4J2-2028" dev="rgoers" type="fix" due-to="Jason Tedor">
-        Java 9 StackLocator was not properly skipping the initial stack frames.
-      </action>
-      <action issue="LOG4J2-2023" dev="ggregory" type="update">
-        Use a class' canonical name instead of name to create its logger name.
-      </action>
-      <action issue="LOG4J2-2026" dev="ggregory" type="fix" due-to="Leon Finker">
-        java.lang.AbstractMethodError: javax.xml.parsers.DocumentBuilderFactory.setFeature().
-      </action>
-      <action issue="LOG4J2-2029" dev="ggregory" type="fix" due-to="Fabrizio Cucci">
-        Marker examples should not use deprecated flow APIs.
-      </action>
-      <action issue="LOG4J2-1936" dev="ggregory" type="fix" due-to="Helber Belmiro">
-        ClassNotFoundException when making all loggers asynchronous under OSGi environment.
-      </action>
-      <action issue="LOG4J2-2043" dev="ggregory" type="update">
-        Update Jackson from 2.9.0 to 2.9.1 (fix for Java 9.)
-      </action>
-      <action issue="LOG4J2-2044" dev="ggregory" type="update">
-        Update Apache Commons CSV from 1.4 to 1.5.
-      </action>
-      <action issue="LOG4J2-2045" dev="ggregory" type="update">
-        Update javax.mail from 1.5.6 to 1.6.0.
-      </action>
-      <action issue="LOG4J2-2046" dev="ggregory" type="update">
-        Update Apache Commons Compress from 1.13 to 1.14.
-      </action>
-      <action issue="LOG4J2-2047" dev="ggregory" type="update">
-        Update Cassandra driver from 3.1.0 to 3.1.4.
-      </action>
-      <action issue="LOG4J2-2049" dev="ggregory" type="update">
-        Update Apache Kafka Client from 0.11.0.0 to 0.11.0.1.
-      </action>
-    </release>
-    <release version="2.9.0" date="2017-08-26" description="GA Release 2.9.0">
-      <action issue="LOG4J2-1928" dev="rgoers" type="update">
-        Add support for DirectWriteRolloverStrategy to RollingRandomAccessFileAppender.
-      </action>
-      <action issue="LOG4J2-1833" dev="rgoers" type="fix">
-        Prevent NullPointerException when a file name is specified with the DirectWriteRolloverStrategy.
-      </action>
-      <action issue="LOG4J2-2022" dev="rgoers" type="update">
-        RFC5424Layout now prints the process id.
-      </action>
-      <action issue="LOG4J2-2020" dev="mikes" type="update">
-        Remove default layout from KafkaAppender.
-      </action>
-      <action issue="LOG4J2-2018" dev="rpopma" type="fix">
-        Fix incorrect documentation for LoggerNameLevelRewritePolicy.
-      </action>
-      <action issue="LOG4J2-922" dev="ggregory" type="fix" due-to="angus.aqlu, Paul Burrowes">
-        Parameter of mdcId in SyslogAppender has no default value.
-      </action>
-      <action issue="LOG4J2-2001" dev="ggregory" type="fix" due-to="Paul Burrowes">
-        StyleConverter.newInstance argument validation is incorrect.
-      </action>
-      <action issue="LOG4J2-1999" dev="ggregory" type="fix" due-to="Paul Burrowes">
-        HighlightConverter converts all unrecognized levels to DEBUG.
-      </action>
-      <action issue="LOG4J2-2013" dev="ggregory" type="fix" due-to="Taylor Patton, Gary Gregory">
-        SslSocketManager does not apply SSLContext on TCP reconnect.
-      </action>
-      <action issue="LOG4J2-2023" dev="ggregory" type="update">
-        Use a class' canonical name instead of name to create its logger name.
-      </action>
-      <action issue="LOG4J2-2015" dev="ggregory" type="update">
-        Allow KeyStoreConfiguration and TrustStoreConfiguration to find files as resources.
-      </action>
-      <action issue="LOG4J2-2011" dev="rpopma" type="update">
-        Replace JCommander command line parser with picocli to let users run Log4j2 utility applications without requiring an external dependency.
-      </action>
-      <action issue="LOG4J2-2008" dev="rgoers" type="add">
-        Support printing multiple StructuredData elements in RFC5424Layout.
-      </action>
-      <action issue="LOG4J2-1986" dev="mikes" type="add">
-        Public API for parsing the output from JsonLayout/XmlLayout/YamlLayout into a LogEvent.
-      </action>
-      <action issue="LOG4J2-1984" dev="rgoers" type="update">
-        Allow maxLength of StructuredData to be specified by the user.
-      </action>
-      <action issue="LOG4J2-1071" dev="ggregory" type="update" due-to="Ben Ludkiewicz, Benjamin Jaton">
-        Allow for bufferSize=0 in SMTP appender.
-      </action>
-      <action issue="LOG4J2-1981" dev="mikes" type="add">
-        JsonLayout, XmlLayout and YamlLayout support 0-byte termination of log events.
-      </action>
-      <action issue="LOG4J2-1864" dev="mattsicker" type="add" due-to="Matthias Kappeller">
-        Support capped collections for MongoDb appender.
-      </action>
-      <action issue="LOG4J2-2016" dev="ggregory" type="fix" due-to="Benjamin Jaton">
-        Mark FileRenameAction as successful when using alternative ways to move files.
-      </action>
-      <action issue="LOG4J2-2012" dev="ggregory" type="fix" due-to="Benjamin Jaton">
-        No compression when using a separate drive in Linux.
-      </action>
-      <action issue="LOG4J2-1888" dev="ggregory" type="fix" due-to="Misagh Moayyed">
-        Log4j throws a java.nio.charset.UnsupportedCharsetException: cp65001.
-      </action>
-      <action issue="LOG4J2-1990" dev="ggregory" type="fix" due-to="Philippe Mouawad">
-        ConcurrentModificationException logging a parameter of type Map.
-      </action>
-      <action issue="LOG4J2-1311" dev="ggregory" type="fix" due-to="Xibing Liang">
-        SocketAppender will lose several events after re-connection to server.
-      </action>
-      <action issue="LOG4J2-1977" dev="ggregory" type="fix" due-to="Jerry xnslong">
-        Consider the StringBuilder's capacity instead of content length when trimming.
-      </action>
-      <action issue="LOG4J2-1971" dev="rgoers" type="fix">
-        Register log4j-core as an OSGi service. Skip tests for LOG4J2-1766 on macOS. Use group "staff" for LOG4J2-1699 test on macOS.
-      </action>
-      <action issue="LOG4J2-1994" dev="ggregory" type="fix">
-        TcpSocketServer does not close accepted Sockets.
-      </action>
-      <action issue="LOG4J2-1987" dev="ggregory" type="fix" due-to="Andreas Felder">
-        Log4J JUL Bridge and RMI Security Manager causes access denied ("java.util.logging.LoggingPermission" "control")
-      </action>
-      <action issue="LOG4J2-1982" dev="ggregory" type="fix" due-to="Christoph Lembeck">
-        Log4j-config.xsd only allows one AppenderRef element for each Logger element.
-      </action>
-      <action issue="LOG4J2-1985" dev="ggregory" type="fix" due-to="Kenneth McFarland">
-        Fix default buffer size to match documentation (from 8102 to 8192 a.k.a. 8KB.)
-      </action>
-      <action issue="LOG4J2-1813" dev="rpopma" type="add">
-        Log4j2 will now print all internal logging to the console if system property `log4j2.debug` is defined with any value (or no value).
-      </action>
-      <action issue="LOG4J2-1261" dev="rpopma" type="update">
-        Async Loggers no longer use deprecated LMAX Disruptor APIs. (Disruptor-3.3.3 or higher is now required.)
-      </action>
-      <action issue="LOG4J2-1908" dev="rpopma" type="update">
-        Improved error message when misconfigured with multiple incompatible appenders targeting same file.
-      </action>
-      <action issue="LOG4J2-1954" dev="rpopma" type="update">
-        Configurations with multiple root loggers now fail loudly.
-      </action>
-      <action issue="LOG4J2-1958" dev="mikes" type="update">
-        Deprecate SerializedLayout and remove it as default.
-      </action>
-      <action issue="LOG4J2-1959" dev="mikes" type="update">
-        Disable DTD processing in XML configuration files.
-      </action>
-      <action issue="LOG4J2-1766" dev="ggregory" type="add" due-to="Pierrick HYMBERT">
-        Temporary compress directory during rollover (#88).
-      </action>
-      <action issue="LOG4J2-1950" dev="ggregory" type="update" due-to="Pierrick HYMBERT">
-        Fix docker build with jdk9 requirements (#84).
-      </action>
-      <action issue="LOG4J2-1801" dev="rpopma" type="update">
-        Add more detail to WARN "Ignoring log event" messages printed to the console after log4j was shut down.
-      </action>
-      <action issue="LOG4J2-1814" dev="rpopma" type="add">
-        Added wrapper classes CustomLoggerGenerator and ExtendedLoggerGenerator to avoid class name with a dollar ($) character which has special meaning in many *nix command line environments.
-      </action>
-      <action issue="LOG4J2-1884" dev="rpopma" type="add">
-        Added process ID (pid) pattern converter.
-      </action>
-      <action issue="LOG4J2-1926" dev="rpopma" type="update">
-        Facilitate log4j use in Android applications: remove dependency on RMI and Management APIs from log4j-api.
-      </action>
-      <action issue="LOG4J2-1699" dev="ggregory" type="add" due-to="Demetrios Dimatos, Pierrick HYMBERT">
-        Configurable Log File Permissions with PosixFilePermission.
-      </action>
-      <action issue="LOG4J2-1945" dev="ggregory" type="add">
-        Generate source jas for all test jars.
-      </action>
-      <action issue="LOG4J2-1934" dev="ggregory" type="add">
-        JMS Appender does not know how to recover from a broken connection.
-      </action>
-      <action issue="LOG4J2-1955" dev="ggregory" type="add">
-        JMS Appender should be able to connect to a broker (later) even it is not present at configuration time.
-      </action>
-      <action issue="LOG4J2-1956" dev="ggregory" type="update">
-        JMS Appender broker password should be a char[], not a String.
-      </action>
-      <action issue="LOG4J2-1874" dev="rpopma" type="add" due-to="Roman Leventov">
-        Added methods ::writeBytes(ByteBuffer) and ::writeBytes(byte[], int, int) to ByteBufferDestination interface and use these methods in TextEncoderHelper where possible to prepare for future enhancements to reduce lock contention.
-      </action>
-      <action issue="LOG4J2-1912" dev="ggregory" type="fix" due-to="R Ri">
-        CompositeConfiguration logs warning "Unable to determine URI for configuration." However, the reconfiguration is completed.
-      </action>
-      <action issue="LOG4J2-1964" dev="ggregory" type="fix" due-to="Pierrick HYMBERT">
-        Dynamic reconfiguration does not work for filePattern of RollingFile.
-      </action>
-      <action issue="LOG4J2-1961" dev="ggregory" type="fix" due-to="Christian Vent">
-        Reconfigure breaks DirectWriteRolloverStrategy.
-      </action>
-      <action issue="LOG4J2-1943" dev="rgoers" type="fix">
-        The eventPrefix attribute was being ignored in the RFC5424Layout.
-      </action>
-      <action issue="LOG4J2-1953" dev="ggregory" type="fix">
-        JndiManager is not released when the JmsAppender builder catches an exception trying to build itself.
-      </action>
-      <action issue="LOG4J2-1911" dev="rgoers" type="fix">
-        Improve the documentation of the DynamicThresholdFilter.
-      </action>
-      <action issue="LOG4J2-1929" dev="ggregory" type="fix" due-to="Borys Sokolov">
-        EOFException with FormattedMessage.
-      </action>
-      <action issue="LOG4J2-1948" dev="ggregory" type="fix" due-to="Michael Lück">
-        Trim levels read from properties file to remove trailing spaces.
-      </action>
-      <action issue="LOG4J2-1971" dev="ggregory" type="fix" due-to="liwenxian2017">
-        ClassCastException: org.eclipse.osgi.internal.loader.SystemBundleLoader$1 cannot be cast to java.lang.ClassLoader.
-      </action>
-      <action issue="LOG4J2-1442" dev="mikes" type="add">
-        Generic HTTP appender.
-      </action>
-      <action issue="LOG4J2-1935" dev="ggregory" type="add">
-        Add with(String, primitive) methods to org.apache.logging.log4j.message.MapMessage.
-      </action>
-      <action issue="LOG4J2-1930" dev="ggregory" type="add">
-        Add forEach() methods to org.apache.logging.log4j.message.MapMessage.
-      </action>
-      <action issue="LOG4J2-1932" dev="ggregory" type="add">
-        Add containsKey() methods to org.apache.logging.log4j.message.MapMessage.
-      </action>
-      <action issue="LOG4J2-1917" dev="rgoers" type="update">
-        Support using java.util.ServiceLoader to locate Log4j 2 API providers.
-      </action>
-      <action issue="LOG4J2-1966" dev="ggregory" type="update" due-to="M Sazzadul Hoque">
-        Include separator option of PatternLayout in manual (and other updates).
-      </action>
-      <action issue="LOG4J2-1854" dev="mikes" type="add" due-to="Xavier Jodoin">
-        Support null byte delimiter in GelfLayout.
-      </action>
-      <action issue="LOG4J2-1359" dev="rgoers" type="add">
-        Add support for Java 9 StackWalker.
-      </action>
-      <action issue="LOG4J2-1880" dev="mikes" type="add">
-        Warn when a configuration file for an inactive ConfigurationFactory is found.
-      </action>
-      <action issue="LOG4J2-1855" dev="mattsicker" type="add" due-to="Anthony Maire">
-        Add an optional random delay in TimeBasedTriggeringPolicy
-      </action>
-      <action issue="LOG4J2-1876" dev="mikes" type="fix">
-        More reliable checking for runtime dependencies.
-      </action>
-      <action issue="LOG4J2-1867" dev="mikes" type="fix">
-        Fix configuration documentation.
-      </action>
-      <action issue="LOG4J2-1858" dev="rpopma" type="fix">
-        Ensure the ThreadLocal StringBuilder in ParameterizedMessage won't hold excessively much memory after logging a long message.
-      </action>
-      <action issue="LOG4J2-1885" dev="mattsicker" type="fix">
-        Fix documentation about default additivity value for loggers.
-      </action>
-      <action issue="LOG4J2-1920" dev="ggregory" type="fix" due-to="Ajitha">
-        ScriptEngineManager is not available in Android and causes a NoClassDefFoundError.
-      </action>
-      <action issue="LOG4J2-1989" dev="ggregory" type="fix" due-to="Kenneth McFarland">
-        Clarify Javadoc for AbstractTriggeringPolicy.
-      </action>
-      <action issue="LOG4J2-1993" dev="ggregory" type="fix" due-to="Kenneth McFarland">
-        Fix compiler warnings in LoggerConfigTest.
-      </action>
-      <action issue="LOG4J2-1851" dev="mikes" type="update">
-        Move server components from log4j-core to new log4-server module.
-      </action>
-      <action issue="LOG4J2-1860" dev="mikes" type="add">
-        Shortcut to add Property and KeyValuePair component in ConfigurationBuilder.
-      </action>
-      <action issue="LOG4J2-1294" dev="ggregory" type="add">
-        The JMS Appender should use a JMS MapMessage for a Log4j MapMessage.
-      </action>
-      <action issue="LOG4J2-1991" dev="ggregory" type="update" due-to="">
-        Refactor SimpleMessage to be concise and clear (#100)
-      </action>
-      <action issue="LOG4J2-2017" dev="ggregory" type="update">
-        Update Jackson from 2.8.9 to 2.9.0.
-      </action>
-      <action issue="LOG4J2-1868" dev="ggregory" type="update">
-        Update ZeroMQ's JeroMQ from 0.3.6 to 0.4.0.
-      </action>
-      <action issue="LOG4J2-1960" dev="ggregory" type="update">
-        Update ZeroMQ's JeroMQ from 0.4.0 to 0.4.1.
-      </action>
-      <action issue="LOG4J2-1974" dev="ggregory" type="update">
-        Update ZeroMQ's JeroMQ from 0.4.1 to 0.4.2.
-      </action>
-      <action issue="LOG4J2-1869" dev="ggregory" type="update">
-        Update Kafka client from 0.10.1.1 to 0.10.2.0
-      </action>
-      <action issue="LOG4J2-1962" dev="ggregory" type="update">
-        Update Kafka client from 0.10.2.0 to 0.11.0.0
-      </action>
-      <action issue="LOG4J2-1872" dev="ggregory" type="update">
-		Update JavaMail from 1.5.5 to 1.5.6.
-      </action>
-      <action issue="LOG4J2-1879" dev="ggregory" type="update">
-		Update JAnsi from 1.14 to 1.15.
-      </action>
-      <action issue="LOG4J2-1877" dev="ggregory" type="update" due-to="Chandra Tungathurthi">
-		Missing documentation for Max index limit in DefaultRolloverStrategy.
-      </action>
-      <action issue="LOG4J2-1899" dev="ggregory" type="update">
-        Add missing getters to classes in package org.apache.logging.log4j.core.net.ssl.
-      </action>
-      <action issue="LOG4J2-1900" dev="ggregory" type="update">
-        Update JAnsi from 1.15 to 1.16.
-      </action>
-      <action dev="ggregory" type="update">
-        Update SLF4J from 1.7.24 to 1.7.25.
-      </action>
-      <action issue="LOG4J2-1938" dev="ggregory" type="update">
-        Update Jackson from 2.8.7 to 2.8.9.
-      </action>
-      <action issue="LOG4J2-1970" dev="rpopma" type="update">
-        Update HdrHistogram from 2.1.8 to 2.1.9.
-      </action>
-      <action issue="LOG4J2-1975" dev="ggregory" type="update">
-        Update javax.persistence from 2.1.0 to 2.1.1.
-      </action>
-      <action issue="LOG4J2-1976" dev="ggregory" type="update">
-        Update org.osgi.core from 4.3.1 to 6.0.0.
-      </action>
-    </release>
-    <release version="2.8.2" date="2017-04-02" description="GA Release 2.8.2">
-      <action issue="LOG4J2-1861" dev="mattsicker" type="fix">
-        Fix JavaDoc on org.apache.logging.log4j.ThreadContext about inheritance.
-      </action>
-      <action issue="LOG4J2-1862" dev="mattsicker" type="fix" due-to="wangyuntao">
-        Fix JavaDoc about @Order and OrderComparator ordering.
-      </action>
-      <action issue="LOG4J2-1849" dev="rpopma" type="fix">
-        Fixed daylight savings time (DST) issue with FixedDateFormat.
-      </action>
-      <action issue="LOG4J2-1850" dev="mattsicker" type="fix" due-to="Ludovic Hochet">
-        Fix CassandraRule and unit tests on Windows.
-      </action>
-      <action issue="LOG4J2-1840" dev="mattsicker" type="fix" due-to="Pradeep Balasundaram">
-        Fix typo in %replace converter documentation.
-      </action>
-      <action issue="LOG4J2-1846" dev="mikes" type="fix">
-        Handle when LogEvent.getLoggerName() returns null in LoggerNameLevelRewritePolicy.
-      </action>
-      <action issue="LOG4J2-1845" dev="mikes" type="fix">
-        Handle when LogEvent.getLoggerName() returns null in KafkaAppender.
-      </action>
-      <action issue="LOG4J2-1853" dev="ggregory" type="fix" due-to="wangyuntao">
-        The default value of RandomAccessFileAppender.Builder append field is wrong.
-      </action>
-      <action issue="LOG4J2-1863" dev="mattsicker" type="add">
-        Add support for filtering input in TcpSocketServer and UdpSocketServer.
-      </action>
-      <action issue="LOG4J2-1848" dev="mattsicker" type="add">
-        Add JSON encoding support to EncodingPatternConverter %encode{}.
-      </action>
-      <action issue="LOG4J2-1843" dev="mattsicker" type="add" due-to="Zilong Song">
-        Add support for appending common suffix to each line of throwable stack trace.
-      </action>
-      <action issue="LOG4J2-1838" dev="mattsicker" type="add" due-to="Zilong Song">
-        Add support for appending common suffix to each line of extended and root throwable stack trace.
-      </action>
-      <action issue="LOG4J2-1827" dev="rgoers" type="update">
-        Move integration tests to their own module to speed up build.
-      </action>
-      <action issue="LOG4J2-1835" dev="mattsicker" type="fix">
-        Fix documentation about the licensing for JeroMQ.
-      </action>
-      <action issue="LOG4J2-1836" dev="rgoers" type="fix">
-        Update the API version to 2.6.0.
-      </action>
-      <action issue="LOG4J2-1831" dev="ggregory" type="fix" due-to="Edward Serebrinskiy">
-        NullPointerException in HtmlLayout.
-      </action>
-      <action issue="LOG4J2-1820" dev="ggregory" type="fix" due-to="Jason Tedor">
-        Log4j 2.8 can lose exceptions when a security manager is present.
-      </action>
-      <action issue="LOG4J2-1856" dev="ggregory" type="update">
-        Update Jackson from 2.8.6 to 2.8.7.
-      </action>
-    </release>
-    <release version="2.8.1" date="2017-02-26" description="GA Release 2.8.1">
-      <action issue="LOG4J2-1804" dev="rgoers" type="fix" due-to="Pierrick Hymbert">
-        Allow %i in file pattern to be preceded with characters other than just '-'.
-      </action>
-      <action issue="LOG4J2-1822" dev="rgoers" type="update">
-        Update SLF4J to 1.7.24.
-      </action>
-      <action issue="LOG4J2-1812" dev="rpopma" type="update">
-        Improved error message when log4j 2 configuration file not found.
-      </action>
-      <action issue="LOG4J2-1810" dev="rgoers" type="update">
-        Update to use Logback 1.1.10 and then Logback 1.2 for tests.
-      </action>
-      <action issue="LOG4J2-1819" dev="ggregory" type="update">
-        Update Jackson from 2.8.5 to 2.8.6.
-      </action>
-      <action issue="LOG4J2-1753" dev="ggregory" type="fix" due-to="Ludovic Hochet">
-        Fix ClassNotFoundException org.apache.logging.log4j.core.util.ExecutorServices in OSGi tests.
-      </action>
-      <action issue="LOG4J2-1816" dev="rpopma" type="fix" due-to="shubhankar1100">
-        Change minOccur to minOccurs in Log4j-config.xsd.
-      </action>
-      <action issue="LOG4J2-1803" dev="rgoers" type="fix">
-        Fix Maven POM to ensure JMH generated classes in log4j-perf are included in benchmarks jar.
-      </action>
-      <action issue="LOG4J2-1800" dev="mikes" type="fix" due-to="Vincent Tieleman">
-        Report errors when sending to Kafka when using syncSend=false.
-      </action>
-      <action issue="LOG4J2-1805" dev="rpopma" type="fix">
-        Fixed rare race condition in FixedDateFormat, made FixedDateFormat::millisSinceMidnight method public.
-      </action>
-      <action issue="LOG4J2-1799" dev="rpopma" type="fix" due-to="Eduard Gizatullin">
-        Fixed bug in PropertiesUtil::getCharsetProperty that caused UnsupportedCharsetException for ConsoleAppender.
-      </action>
-      <action issue="LOG4J2-1806" dev="rpopma" type="fix" due-to="challarao">
-        Fix Javadoc for DefaultRolloverStrategy::purgeAscending
-      </action>
-      <action issue="LOG4J2-1818" dev="ggregory" type="fix" due-to="xkr47">
-        Fix rollover to work when filePattern contains no directory components.
-      </action>
-      <action issue="LOG4J2-1823" dev="mattsicker" type="add">
-        Remove deprecation on MessageSupplier lambda functions in Logger API.
-      </action>
-      <action issue="LOG4J2-1807" dev="ggregory" type="add">
-        [core] Add and implement LogEvent.toImmutable().
-      </action>
-    </release>
-    <release version="2.8" date="2017-01-21" description="GA Release 2.8">
-      <action issue="LOG4J2-1780" dev="mikes" type="fix">
-        Eliminate the use of the ExecutorServices in the LoggerContext.
-      </action>
-      <action issue="LOG4J2-1032" dev="rgoers" type="add">
-        Make DefaultRolloverStrategy more efficient when renaming files. Add nomax option to the fileIndex attribute.
-      </action>
-      <action issue="LOG4J2-1101" dev="rgoers" type="add">
-        RollingFileAppender now supports omitting the file name and writing directly to the archive files.
-      </action>
-      <action issue="LOG4J2-1786" dev="rpopma" type="fix">
-        ConfigurationScheduler now preserves interrupt flag during stop.
-      </action>
-      <action issue="LOG4J2-1243" dev="rgoers" type="add">
-        Allow default value in property to be a Lookup.
-      </action>
-      <action issue="LOG4J2-1779" dev="rpopma" type="fix">
-        Fixed bug where AsyncLogger did not resolve configuration properties.
-      </action>
-      <action issue="LOG4J2-1769" dev="rpopma" type="fix" due-to="Brandon Goodin">
-        Fixed concurrency issue affecting all layouts except PatternLayout and GelfLayout, which caused scrambled output and exceptions when logging synchronously from multiple threads.
-      </action>
-      <action issue="LOG4J2-1724" dev="mikes" type="fix" due-to="Alexander Krasnostavsky">
-        Using variables in GelfLayout's additional fields at runtime.
-      </action>
-      <action issue="LOG4J2-1762" dev="mikes" type="fix">
-        Add Builder to GelfLayout.
-      </action>
-      <action issue="LOG4J2-1649" dev="rgoers" type="fix" due-to="Georg Friedrich">
-        Insure the ConfigurationScheduler shuts down without blocking.
-      </action>
-      <action issue="LOG4J2-1653" dev="rgoers" type="fix" due-to=" Georg Friedrich">
-        CronTriggeringPolicy would use the wrong date/time when rolling over and create multiple triggering policies on reconfiguration.
-      </action>
-      <action issue="LOG4J2-1748" dev="mikes" type="fix">
-        Do not use non-daemon thread pool for rollover tasks.
-      </action>
-      <action issue="LOG4J2-1628" dev="rpopma" type="fix">
-        Fixed file locking regression in FileAppender introduced in 2.6.
-      </action>
-      <action issue="LOG4J2-1744" dev="rpopma" type="fix">
-        The custom logger Generate tool no longer requires the log4j-api module on the classpath.
-      </action>
-      <action issue="LOG4J2-1731" dev="rpopma" type="fix" due-to="Chris Ribble">
-        SslSocketManager now respects connectTimeoutMillis.
-      </action>
-      <action issue="LOG4J2-1682" dev="ggregory" type="fix" due-to="Markus Waidhofer">
-        Logger using LocalizedMessageFactory prints key instead of message.
-      </action>
-      <action issue="LOG4J2-1720" dev="mikes" type="fix">
-        Make GelfLayout independent of Jackson.
-      </action>
-      <action issue="LOG4J2-1719" dev="rpopma" type="fix">
-        Fixed race condition in ObjectMessage and SimpleMessage, ensuring that the log message contains the value the object has during the logging call.
-      </action>
-      <action issue="LOG4J2-1688" dev="rpopma" type="fix">
-        Fixed bug where elements of a log message parameter array were nulled out in garbage-free mode.
-      </action>
-      <action issue="LOG4J2-1692" dev="mikes" type="fix" due-to="Greg Thomas">
-        Add putAll() method to CloseableThreadContext.
-      </action>
-      <action issue="LOG4J2-1689" dev="mikes" type="fix">
-        Add CleanableThreadContextMap interface supporting method removeAll(Iterable&lt;String&gt;).
-      </action>
-      <action issue="LOG4J2-1685" dev="mikes" type="fix" due-to="Raman Gupta">
-        Option 'disableAnsi' in PatternLayout to unconditionally disable ANSI escape codes.
-      </action>
-      <action issue="LOG4J2-1706" dev="rpopma" type="fix">
-        Make TimeFilter usable as global filter and as logger filter.
-      </action>
-      <action issue="LOG4J2-1722" dev="rpopma" type="fix">
-        (GC) Avoid allocating temporary objects in VariablesNotEmptyReplacementConverter.
-      </action>
-      <action issue="LOG4J2-1717" dev="rpopma" type="fix">
-        (GC) Avoid allocating temporary objects in EncodingPatternConverter.
-      </action>
-      <action issue="LOG4J2-1716" dev="rpopma" type="fix">
-        (GC) Avoid allocating temporary objects in MapPatternConverter. (Note that constructing a MapMessage is not garbage-free.)
-      </action>
-      <action issue="LOG4J2-1683" dev="rpopma" type="fix">
-        (GC) Avoid allocating temporary objects in MapMessage.
-      </action>
-      <action issue="LOG4J2-1715" dev="rpopma" type="fix">
-        (GC) Avoid allocating temporary objects in NdcPatternConverter. (Note that use of the ThreadContext stack is not garbage-free.)
-      </action>
-      <action issue="LOG4J2-1714" dev="rpopma" type="fix">
-        (GC) Avoid allocating temporary objects in AbstractStyleNameConverter.
-      </action>
-      <action issue="LOG4J2-1680" dev="rpopma" type="fix">
-        (GC) Avoid allocating temporary objects in TimeFilter.
-      </action>
-      <action issue="LOG4J2-1679" dev="rpopma" type="fix">
-        (GC) Avoid allocating temporary objects in StructuredDataFilter.
-      </action>
-      <action issue="LOG4J2-1678" dev="rpopma" type="fix">
-        (GC) Avoid allocating temporary objects in ThreadContextMapFilter.
-      </action>
-      <action issue="LOG4J2-1677" dev="rpopma" type="fix">
-        (GC) Avoid allocating temporary objects in MapFilter.
-      </action>
-      <action issue="LOG4J2-1674" dev="rpopma" type="fix">
-        (GC) Avoid allocating temporary objects in ThresholdFilter.
-      </action>
-      <action issue="LOG4J2-1673" dev="rpopma" type="fix">
-        (GC) Avoid allocating temporary objects in MarkerFilter.
-      </action>
-      <action issue="LOG4J2-1672" dev="rpopma" type="fix">
-        (GC) Avoid allocating temporary objects in LevelRangeFilter.
-      </action>
-      <action issue="LOG4J2-1671" dev="rpopma" type="fix">
-        (GC) Avoid allocating temporary objects in EqualsIgnoreCaseReplacementConverter.
-      </action>
-      <action issue="LOG4J2-1670" dev="rpopma" type="fix">
-        (GC) Avoid allocating temporary objects in EqualsReplacementConverter.
-      </action>
-      <action issue="LOG4J2-1669" dev="rpopma" type="fix">
-        (GC) Avoid allocating temporary objects in MaxLengthConverter.
-      </action>
-      <action issue="LOG4J2-1668" dev="rpopma" type="fix">
-        (GC) Avoid allocating temporary objects in MarkerPatternConverter.
-      </action>
-      <action issue="LOG4J2-1667" dev="rpopma" type="fix">
-        (GC) Avoid allocating temporary objects in SequenceNumberPatternConverter.
-      </action>
-      <action issue="LOG4J2-1666" dev="rpopma" type="fix">
-        (GC) Avoid allocating temporary objects in RelativeTimePatternConverter.
-      </action>
-      <action issue="LOG4J2-1665" dev="rpopma" type="fix">
-        (GC) Avoid allocating temporary objects in IntegerPatternConverter.
-      </action>
-      <action issue="LOG4J2-1637" dev="rpopma" type="fix">
-        Fixed problems when used in OSGi containers (IllegalAccessError, NoClassDefFoundError).
-      </action>
-      <action issue="LOG4J2-1226" dev="rpopma" type="fix">
-        Improve LogEvent serialization to handle non-serializable Messages and deserializing when required classes are missing.
-      </action>
-      <action issue="LOG4J2-1663" dev="rpopma" type="fix">
-        Ensure SortedArrayStringMap can be serialized and deserialized without errors regardless of content.
-      </action>
-      <action issue="LOG4J2-1658" dev="rpopma" type="fix">
-        Prevent NPE in ThreadContextMapFactory::createThreadContextMap when initializing Log4j with Configurator::initialize and the BasicContextSelector is used.
-      </action>
-      <action issue="LOG4J2-1645" dev="mikes" type="fix">
-        Immutable empty StringMap.
-      </action>
-      <action issue="LOG4J2-1623" dev="mikes" type="fix">
-        Configurable JVM shutdown hook timeout.
-      </action>
-      <action issue="LOG4J2-1712" dev="ggregory" type="fix">
-        Pick up bug fixes from Apache Commons Lang's org.apache.commons.lang3.time package.
-      </action>
-      <action issue="LOG4J2-1636" dev="ggregory" type="fix" due-to="Eldar Gabdullin">
-        Console Appender does not pick up Oracle Java 8's sun.stdout.encoding and sun.stderr.encoding.
-      </action>
-      <action issue="LOG4J2-1639" dev="ggregory" type="fix" due-to="Sridhar Gopinath">
-        Fix MemoryMappedFileAppender.createAppender() Javadoc for immediateFlush.
-      </action>
-      <action issue="LOG4J2-1676" dev="ggregory" type="fix" due-to="Joern Huxhorn">
-        Some LogEvents may not carry a Throwable (Use Message.getThrowable() in log(Message) methods.)
-      </action>
-      <action issue="LOG4J2-1723" dev="ggregory" type="fix" due-to="Ludovic HOCHET">
-        Unwanted transitive dependency on geronimo-jms_1.1_spec causes OSGi tests to fail.
-      </action>
-      <action issue="LOG4J2-1664" dev="ggregory" type="fix" due-to="Ludovic HOCHET">
-        Improve OSGi unit tests.
-      </action>
-      <action issue="LOG4J2-1687" dev="ggregory" type="fix" due-to="Robert Christiansen">
-        NPE in ThrowableProxy when resolving stack in Java EE/OSGi environment.
-      </action>
-      <action issue="LOG4J2-1642" dev="ggregory" type="fix" due-to="Johno Crawford">
-        DefaultShutdownCallbackRegistry can throw a NoClassDefFoundError.
-      </action>
-      <action issue="LOG4J2-1474" dev="ggregory" type="fix" due-to="yin mingjun, Neon">
-        CronTriggeringPolicy raise exception and fail to rollover log file when evaluateOnStartup is true.
-      </action>
-      <action issue="LOG4J2-1734" dev="ggregory" type="fix">
-        SslSocketManagerFactory might leak Sockets when certain startup errors occur.
-      </action>
-      <action issue="LOG4J2-1736" dev="ggregory" type="fix">
-        TcpSocketManagerFactory might leak Sockets when certain startup errors occur.
-      </action>
-      <action issue="LOG4J2-1740" dev="ggregory" type="fix">
-        Add CronTriggeringPolicy programmatically leads to NPE.
-      </action>
-      <action issue="LOG4J2-1743" dev="ggregory" type="fix" due-to="Toby Shepheard">
-        CompositeConfiguration does not add filters to appenderRefs.
-      </action>
-      <action issue="LOG4J2-1756" dev="ggregory" type="fix"  due-to="shubhankar1100">
-        Adds xmlns in schema and some other tags.
-      </action>
-      <action issue="LOG4J2-1781" dev="mattsicker" type="update">
-        Update Conversant Disruptor from 1.2.7 to 1.2.10
-      </action>
-      <action issue="LOG4J2-1774" dev="mattsicker" type="update">
-        Replace MockEJB dependency in unit tests with Spring Test and Mockito.
-      </action>
-      <action issue="LOG4J2-1644" dev="ggregory" type="update" due-to="Tim Gokcen, Pavel Sivolobtchik">
-        Inefficient locking in AbstractLoggerAdapter.
-      </action>
-      <action issue="LOG4J2-1641" dev="ggregory" type="update">
-        Update JeroMQ from 0.3.5 to 0.3.6.
-      </action>
-      <action issue="LOG4J2-1647" dev="mattsicker" type="update">
-        Update Commons Lang from 3.4 to 3.5.
-      </action>
-      <action issue="LOG4J2-1646" dev="mattsicker" type="update">
-        Migrate to Mockito 2.x in unit tests.
-      </action>
-      <action issue="LOG4J2-1655" dev="ggregory" type="update">
-        Update Jackson from 2.8.3 to 2.8.4.
-      </action>
-      <action issue="LOG4J2-1735" dev="ggregory" type="update">
-        Update Jackson from 2.8.4 to 2.8.5.
-      </action>
-      <action issue="LOG4J2-1656" dev="ggregory" type="update">
-        Update Apache Flume from 1.6.0 to 1.7.0.
-      </action>
-      <action issue="LOG4J2-1698" dev="ggregory" type="update">
-        Update LMAX Disruptor from 3.3.5 to 3.3.6.
-      </action>
-      <action issue="LOG4J2-1700" dev="ggregory" type="update">
-        Update Jansi from 1.13 to 1.14.
-      </action>
-      <action issue="LOG4J2-1750" dev="ggregory" type="update">
-        Update Kafka from 0.10.0.1 to 0.10.1.1.
-      </action>
-      <action issue="LOG4J2-1751" dev="ggregory" type="update">
-        Update liquibase-core from 3.5.1 to 3.5.3.
-      </action>
-      <action issue="LOG4J2-1302" dev="rpopma" type="update">
-        The log4j-slf4j-impl module now declares a runtime dependency on log4j-core. While not technically required, this makes the log4j-slf4j-impl module behave similarly to slf4j-log4j12, and facilitates migration to Log4j 2.
-      </action>
-      <action issue="LOG4J2-1787" dev="mattsicker" type="add">
-        Document how to exclude transitive conflicting dependencies in Maven and Gradle.
-      </action>
-      <action issue="LOG4J2-1773" dev="mattsicker" type="add">
-        Add StatusLoggerRule to allow unit tests to set a status level.
-      </action>
-      <action issue="LOG4J2-424" dev="mattsicker" type="add">
-        Add non-string data type support to JdbcAppender via new ColumnMapping plugin.
-      </action>
-      <action issue="LOG4J2-1771" dev="mattsicker" type="add">
-        Add a Builder to ColumnConfig and deprecate ColumnConfig.createColumnConfig().
-      </action>
-      <action issue="LOG4J2-1770" dev="mattsicker" type="add">
-        Add a Builder to JdbcAppender and deprecate JdbcAppender.createAppender().
-      </action>
-      <action issue="LOG4J2-1764" dev="mattsicker" type="add">
-        Use MethodHandle in ContextDataFactory cached constructor.
-      </action>
-      <action issue="LOG4J2-1730" dev="mattsicker" type="add">
-        Add Apache Cassandra appender and ColumnMapping plugin.
-      </action>
-      <action issue="LOG4J2-1759" dev="mattsicker" type="add">
-        Add TypeConverter for java.util.UUID.
-      </action>
-      <action issue="LOG4J2-1758" dev="mattsicker" type="add">
-        Add TypeConverter for java.nio.file.Path.
-      </action>
-      <action issue="LOG4J2-1755" dev="mattsicker" type="add">
-        Add TypeConverter and constraint validators for java.net.InetAddress and port numbers.
-      </action>
-      <action issue="LOG4J2-969" dev="ggregory" type="add">
-        Refactor SyslogAppender so that Layout is a Plugin element.
-      </action>
-      <action issue="LOG4J2-1660" dev="rpopma" type="add">
-        Added public method ThreadContext::getThreadContextMap; removed class ThreadContextAccess.
-      </action>
-      <action issue="LOG4J2-1379" dev="mattsicker" type="add">
-        Add documentation regarding YAML configuration format.
-      </action>
-      <action issue="LOG4J2-1718" dev="rpopma" type="add">
-        Introduce marker interface AsynchronouslyFormattable.
-      </action>
-      <action issue="LOG4J2-1681" dev="rpopma" type="add">
-        Introduce interfaces IndexedStringMap and IndexedReadOnlyStringMap, supporting garbage-free iteration over sorted map.
-      </action>
-      <action issue="LOG4J2-1695" dev="ggregory" type="add">
-        Add a Builder to ScriptPatternSelector and deprecate ScriptPatternSelector.createSelector().
-      </action>
-      <action issue="LOG4J2-1696" dev="ggregory" type="add">
-        Add a Builder to MarkerPatternSelector and deprecate MarkerPatternSelector.createSelector().
-      </action>
-      <action issue="LOG4J2-1697" dev="ggregory" type="add">
-        Add a SerializerBuilder to PatternLayout and deprecate PatternLayout.createSerializer().
-      </action>
-      <action issue="LOG4J2-1701" dev="ggregory" type="add">
-        Add a Builder to RandomAccessFileAppender and deprecate RandomAccessFileAppender.createAppender().
-      </action>
-      <action issue="LOG4J2-1703" dev="ggregory" type="add">
-        Add a Builder to MemoryMappedFileAppender and deprecate MemoryMappedFileAppender.createAppender().
-      </action>
-      <action issue="LOG4J2-1704" dev="ggregory" type="add">
-        Add a Builder to RollingRandomAccessFileAppender and deprecate RollingRandomAccessFileAppender.createAppender().
-      </action>
-      <action issue="LOG4J2-1709" dev="ggregory" type="add">
-        Add a Builder to SyslogAppender and deprecate SyslogAppender.createAppender().
-      </action>
-      <action issue="LOG4J2-1707" dev="ggregory" type="add">
-        Allow TCP Socket Appender to set socket options.
-      </action>
-      <action issue="LOG4J2-1708" dev="ggregory" type="add">
-        Allow Secure Socket Appender to set socket options.
-      </action>
-      <action issue="LOG4J2-1737" dev="ggregory" type="add">
-        Add a Builder to SyslogLayout and deprecate SyslogLayout.createLayout(Facility, boolean, String, Charset).
-      </action>
-      <action issue="LOG4J2-1738" dev="ggregory" type="add">
-        Add a Builder to JsonLayout and deprecate org.apache.logging.log4j.core.layout.JsonLayout.createLayout(Configuration, boolean, boolean, boolean, boolean, boolean, boolean, String, String, Charset, boolean).
-      </action>
-      <action issue="LOG4J2-1739" dev="ggregory" type="add">
-        Add Builder to KafkaAppender and deprecate KafkaAppender.createAppender(Layout, Filter, String, boolean, String, Property[], Configuration).
-      </action>
-      <action issue="LOG4J2-1733" dev="ggregory" type="add" due-to="Vincent Tieleman">
-        Add SyncSend attribute to KafkaAppender (as in KafkaLog4jAppender).
-      </action>
-      <action issue="LOG4J2-2195" dev="ggregory" type="fix" due-to="Raman Gupta, Gary Gregory">
-        Cannot define both `filters` and `separator` for PatternLayout %xEx.
-      </action>
-      <action issue="LOG4J2-2221" dev="ggregory" type="fix" due-to="Raman Gupta, Gary Gregory">
-        RootThrowablePatternConverter does not use TextRenderer or line separator options.
-      </action>
-    </release>
-    <release version="2.7" date="2016-10-02" description="GA Release 2.7">
-      <action issue="LOG4J2-1618" dev="rpopma" type="fix" due-to="Raman Gupta">
-        Fixed ClassCastException when using JUL logging during shutdown.
-      </action>
-      <action issue="LOG4J2-1620" dev="ggregory" type="fix" due-to="Sascha Scholz">
-        2.7-rc1: RollingFileAppender immediateFlush default value should be true, not false.
-      </action>
-      <action issue="LOG4J2-1611" dev="rpopma" type="fix">
-        Improved performance of context data injector for web applications to be on par with standalone applications.
-      </action>
-      <action issue="LOG4J2-1591" dev="rpopma" type="fix">
-        Introduced new interface LifeCycle2 with stop(long,TimeUnit) method to avoid breaking backwards compatibility with new Configurator.shutdown(LoggerContext, long, TimeUnit) API.
-      </action>
-      <action issue="LOG4J2-1590" dev="rpopma" type="fix">
-        Fixed issue with filters extending AbstractFilter that did not override methods with unrolled varargs.
-      </action>
-      <action issue="LOG4J2-1583" dev="rpopma" type="fix" due-to="Larry West">
-        Fixed scrambled log messages triggered by nested logging from toString() method of a logging parameter object.
-      </action>
-      <action issue="LOG4J2-1259" dev="ggregory" type="fix" due-to="Misagh Moayyed, Steffen Offermann">
-        Log4j threads are no longer leaking on Tomcat shutdown.
-      </action>
-      <action issue="LOG4J2-1051" dev="rpopma" type="fix" due-to="Lukasz Lenart">
-        When starting on Google App Engine, Interpolator now suppresses the NoClassDefFoundError stack trace  for the jvmrunargs lookup.
-      </action>
-      <action issue="LOG4J2-1582" dev="rpopma" type="fix">
-        When initializing on platforms where JMX is not available, Interpolator component no longer prints stack trace for warning messages.
-      </action>
-      <action issue="LOG4J2-1581" dev="rpopma" type="fix">
-        Unregistering JMX components no longer prints a stack trace when the MBean has already been unregistered.
-      </action>
-      <action issue="LOG4J2-1313" dev="rpopma" type="fix" due-to="Philipp Knobel, Leon Finker">
-        Support Property values to be specified in configuration as a value attribute as well as an element.
-      </action>
-      <action issue="LOG4J2-1575" dev="rpopma" type="fix">
-        (GC) LoggerConfig now stores configuration properties in a List, not a Map to prevent creating temporary Iterator objects. Added method LoggerConfig#getPropertyList(), deprecated method #getProperties().
-      </action>
-      <action issue="LOG4J2-1457" dev="mattsicker" type="fix" due-to="Leon Finker">
-        Fixed class loader deadlock when using async logging and extended stack trace pattern.
-      </action>
-      <action issue="LOG4J2-1563" dev="ggregory" type="fix" due-to="Jason Tedor">
-        Fix to prevent Log4j 2.6.2 and higher from losing exceptions when a security manager is present.
-      </action>
-      <action issue="LOG4J2-1530" dev="mikes" type="fix">
-        Fixed issue where LogEvent.getContextStack() returned null.
-      </action>
-      <action issue="LOG4J2-1518" dev="rpopma" type="fix" due-to="Leon Finker">
-        Prevent deadlock in Async Loggers when queue is full and logged Object's toString() logs another message.
-      </action>
-      <action issue="LOG4J2-1542" dev="rpopma" type="fix" due-to="Rogério Lecarião Leite">
-        Prevent ArrayIndexOutOfBoundsException in ParameterizedMessage.formatTo for single-char or empty messages.
-      </action>
-      <action issue="LOG4J2-1549" dev="mikes" type="fix" due-to="Jason Bedard">
-        Fixed issue where AsyncLoggerContextSelector+PropertiesConfigurationBuilder defaulted to includeLocation=true.
-      </action>
-      <action issue="LOG4J2-1562" dev="ggregory" type="fix">
-        Prevent SocketAppender memory usage from growing unbounded if it cannot connect to a server.
-      </action>
-      <action issue="LOG4J2-1559" dev="ggregory" type="fix" due-to="Andrey Plotkin">
-        Prevent NPE in Level.isInRange.
-      </action>
-      <action issue="LOG4J2-1511" dev="ggregory" type="fix" due-to="Srikanth Surukuntu">
-        DynamicThresholdFilter filtered incorrectly when params were passed as individual arguments instead of varargs.
-      </action>
-      <action issue="LOG4J2-1548" dev="ggregory" type="fix">
-        [CronTriggeringPolicy] ConfigurationScheduler scheduled the task infinitely after first fire.
-      </action>
-      <action issue="LOG4J2-1506" dev="ggregory" type="fix" due-to="Johannes Schleger">
-        Log4j should not unregister JMX MBeans when log4j2.disable.jmx property is true.
-      </action>
-      <action issue="LOG4J2-1490" dev="ggregory" type="fix" due-to="Krzysztof Taborski">
-        Log4j2 should postpone creating log file until the appender actually receives an event.
-      </action>
-      <action issue="LOG4J2-1320" dev="ggregory" type="fix" due-to="Paresh Varke, Pierrick Hymbert">
-        Support loading custom plugins from jar files and directories whose classpath entries use the "vfs" URL protocol.
-      </action>
-      <action issue="LOG4J2-1541" dev="ggregory" type="fix">
-        Fix file handle resource leak in XmlConfiguration.XmlConfiguration(ConfigurationSource).
-      </action>
-      <action issue="LOG4J2-1538" dev="ggregory" type="fix" due-to="Igor Karpov">
-        Prevent NPE when dynamically removing filters.
-      </action>
-      <action issue="LOG4J2-1532" dev="ggregory" type="fix">
-        Attributes were not merged properly in composite configurations.
-      </action>
-      <action issue="LOG4J2-1529" dev="mattsicker" type="fix" due-to="Sridevi Narra">
-        Attributes were not merged properly in composite configurations.
-      </action>
-      <action issue="LOG4J2-1527" dev="rpopma" type="fix" due-to="Jose Leon">
-        Prevent NPE in RingBufferLogEvent.getFormattedMessage() when used in web applications.
-      </action>
-      <action issue="LOG4J2-905" dev="ggregory" type="fix" due-to="Moritz Löser">
-        Added ability to disable (date) lookup completely for compatibility with other libraries like Camel.
-      </action>
-      <action issue="LOG4J2-1526" dev="mikes" type="fix">
-        Added support for setting StatusLogger destination in ConfigurationBuilder.
-      </action>
-      <action issue="LOG4J2-1448" dev="rpopma" type="fix" due-to="Keith Laban">
-        Allow comma separated agents, host list to be passed to FlumeAppender.
-      </action>
-      <action issue="LOG4J2-1500" dev="ggregory" type="fix" due-to="Jose Leon">
-        Merging configurations failed with an NPE when comparing Nodes with different attributes.
-      </action>
-      <action issue="LOG4J2-1482" dev="ggregory" type="fix" due-to="Sumit Singhal">
-        Fixed improper header in CsvParameterLayout.
-      </action>
-      <action issue="LOG4J2-1199" dev="rpopma" type="fix">
-        Documented that JVM Input Arguments Lookup (JMX) is not available on Google App Engine.
-      </action>
-      <action issue="LOG4J2-1438" dev="rpopma" type="fix">
-        (GC) Added method getParameter() to ObjectMessage (and ReusableObjectMessage).
-      </action>
-      <action issue="LOG4J2-1488" dev="rpopma" type="fix" due-to="Richard Zschech">
-        (GC) Fixed ISO8601 %date conversion pattern with a period '.' separator for milliseconds is now garbage free.
-      </action>
-      <action issue="LOG4J2-1489" dev="rpopma" type="fix" due-to="Richard Zschech">
-        (GC) Fixed %date conversion patterns with a timezone parameter are now garbage free.
-      </action>
-      <action issue="LOG4J2-1279" dev="rpopma" type="fix" due-to="Tony Baines">
-        Prevent NullPointerException in FastDateParser$TimeZoneStrategy.
-      </action>
-      <action issue="LOG4J2-1341" dev="rpopma" type="fix" due-to="Richard Zschech">
-        (GC) HighlightConverter and StyleConverter are now GC-free.
-      </action>
-      <action issue="LOG4J2-1467" dev="rpopma, ggregory" type="fix" due-to="Ralf, Gary Gregory">
-        [OSGi] Fixed missing import package.
-      </action>
-      <action issue="LOG4J2-351" dev="rpopma, ggregory" type="fix" due-to="Roland Weiglhofer">
-        [OSGi] Fixed wrong Fragment-Host in manifest files.
-      </action>
-      <action issue="LOG4J2-1313" dev="rpopma" type="fix" due-to="Philipp Knobel">
-        Properties declared in configuration can now have their value either in the element body or in an attribute named "value".
-      </action>
-      <action issue="LOG4J2-1235" dev="ggregory" type="fix" due-to="Niranjan Rao, Sascha Scholz, Aleksey Zvolinsky">
-        org.apache.logging.log4j.core.appender.routing.IdlePurgePolicy was not working correctly.
-      </action>
-      <action issue="LOG4J2-1502" dev="ggregory" type="fix" due-to="Sumit Singhal">
-        Fixed issue where CsvParameterLayout and CsvLogEventLayout inserted NUL characters if data starts with {, (, [ or "
-      </action>
-      <action issue="LOG4J2-1573" dev="ggregory" type="fix" due-to="Steffen Offermann">
-        Layout is no longer optional.
-      </action>
-      <action issue="LOG4J2-1608" dev="ggregory" type="fix">
-        ServletAppender does not provide throwable object to ServletContext.
-      </action>
-      <action issue="LOG4J2-1599" dev="ggregory" type="fix">
-        Prevent potential NPE in org.apache.logging.log4j.message.ParameterFormatter.formatMessage3(StringBuilder, char[], int, Object[], int, int[]).
-      </action>
-      <action issue="LOG4J2-1600" dev="ggregory" type="fix">
-        Prevent potential NPE due to org.apache.logging.log4j.core.layout.MarkerPatternSelector.createSelector(PatternMatch[], String, boolean, boolean, Configuration).
-      </action>
-      <action issue="LOG4J2-1601" dev="ggregory" type="fix">
-        Prevent potential NPE due to org.apache.logging.log4j.core.layout.ScriptPatternSelector.createSelector(AbstractScript, PatternMatch[], String, boolean, boolean, Configuration).
-      </action>
-      <action issue="LOG4J2-1602" dev="ggregory" type="fix">
-        Prevent potential NPE in org.apache.logging.log4j.core.util.datetime.FormatCache.MultipartKey.equals(Object) when object is null.
-      </action>
-      <action issue="LOG4J2-1603" dev="ggregory" type="fix">
-        Redo hashCode() and equals() methods in org.apache.logging.log4j.core.net.ssl classes.
-      </action>
-      <action issue="LOG4J2-1610" dev="ggregory" type="fix" due-to="Shubhankar">
-        Add targetNamespace to log4j-config.xsd. GitHub #43.
-      </action>
-      <action issue="LOG4J2-1619" dev="ggregory" type="fix">
-        new Log4jLogEvent().toString() throws an NPE.
-      </action>
-      <action issue="LOG4J2-1578" dev="ggregory" type="add">
-        RoutingAppender can be configured with scripts. Add Script in a Routes element.
-      </action>
-      <action issue="LOG4J2-1597" dev="ggregory" type="add">
-        Add a ScriptAppenderSelector to create an Appender specified by a Script.
-      </action>
-      <action issue="LOG4J2-1349" dev="rpopma" type="add">
-        (GC) Added support for garbage-free ThreadContext map. Disabled by default, users need to enable this explicitly.
-      </action>
-      <action issue="LOG4J2-1447" dev="rpopma" type="add">
-        (GC) Changed LogEvent's internal data structure for context data to be garbage-free. Added method LogEvent#getContextData(), deprecated method #getContextMap().
-      </action>
-      <action issue="LOG4J2-1010" dev="rpopma" type="add" due-to="Mikael Ståldal">
-        Users can now inject context data from other sources than ThreadContext. Values can be any Object, not just Strings.
-      </action>
-      <action issue="LOG4J2-1568" dev="mattsicker" type="add">
-        Added support for java.util.concurrent.LinkedTransferQueue to AsyncAppender.
-      </action>
-      <action issue="LOG4J2-1430" dev="mattsicker" type="add" due-to="John Cairns">
-        Added optional support for Conversant DisruptorBlockingQueue in AsyncAppender.
-      </action>
-      <action issue="LOG4J2-1439" dev="mattsicker" type="add" due-to="Anthony Maire">
-        Added optional support for JCTools MPSC bounded lock-free queue in AsyncAppender.
-      </action>
-      <action issue="LOG4J2-1558" dev="ggregory" type="add">
-        SocketAppender now supports IO buffering.
-      </action>
-      <action issue="LOG4J2-1557" dev="ggregory" type="add">
-        Add a Builder for the SocketAppender (deprecates factory method).
-      </action>
-      <action issue="LOG4J2-1609" dev="ggregory" type="add">
-        Add a Builder to ServletAppender and deprecate factory method.
-      </action>
-      <action issue="LOG4J2-1553" dev="ggregory" type="add">
-        AbstractManager now implements AutoCloseable.
-      </action>
-      <action issue="LOG4J2-1528" dev="mikes" type="add">
-        Added ability to generate Log4j 2-style XML configuration file from ConfigurationBuilder.
-      </action>
-      <action issue="LOG4J2-1181" dev="mikes" type="add">
-        Added Logging API for Scala 2.10 and 2.11.
-      </action>
-      <action issue="LOG4J2-1512" dev="mikes" type="add">
-        Added options to exclude stack trace from JSON, XML and YAML layouts.
-      </action>
-      <action issue="LOG4J2-1539" dev="ggregory" type="add">
-        Added Core API Configurator.shutdown(LoggerContext, long, TimeUnit).
-      </action>
-      <action issue="LOG4J2-1501" dev="ggregory" type="add">
-        FileAppender is now able to create files on-demand.
-      </action>
-      <action issue="LOG4J2-1504" dev="ggregory" type="add">
-        RollingFileAppender is now able to create files on-demand.
-      </action>
-      <action issue="LOG4J2-1471" dev="ggregory" type="add">
-        [PatternLayout] Add an ANSI option to %xThrowable.
-      </action>
-      <action issue="LOG4J2-1472" dev="ggregory" type="add">
-        org.apache.logging.log4j.core.LoggerContext now implements Closeable.
-      </action>
-      <action issue="LOG4J2-1458" dev="ggregory" type="add">
-        [PatternLayout] Add an ANSI option to %message.
-      </action>
-      <action issue="LOG4J2-1505" dev="ggregory" type="add">
-        Create a Builder for the FileAppender plugin to facilitate adding attributes in the future.
-      </action>
-      <action issue="LOG4J2-1507" dev="ggregory" type="add">
-        Allow Builders to be completely generic.
-      </action>
-      <action issue="LOG4J2-1508" dev="ggregory" type="add">
-        Allow a Builder to subclass another Builder.
-      </action>
-      <action issue="LOG4J2-1516" dev="rpopma" type="add" due-to="Gary Gregory">
-        Add ThreadContextMap2 interface supporting method putAll(Map&lt;String, String&gt;).
-      </action>
-      <action issue="LOG4J2-1519" dev="ggregory" type="add">
-        Add ThreadContext.putAll(Map&lt;String, String&gt;).
-      </action>
-      <action issue="LOG4J2-1520" dev="ggregory" type="add">
-        Add JUnit Rule implementations to manage the thread context.
-      </action>
-      <action issue="LOG4J2-1547" dev="ggregory" type="add">
-        The Core AbstractConfiguration now tracks its LoggerContext and add Configuration.getLoggerContext().
-      </action>
-      <action issue="LOG4J2-1540" dev="ggregory" type="add">
-        The Core AbstractManager now tracks its LoggerContext.
-      </action>
-      <action issue="LOG4J2-1577" dev="ggregory" type="add">
-        Add a Builder to the RoutingAppender and deprecate factory method.
-      </action>
-      <action issue="LOG4J2-1604" dev="ggregory" type="update" due-to="Colin Hillman">
-        Log4j2 TcpSocketServer in background.
-      </action>
-      <action issue="LOG4J2-1574" dev="ggregory" type="update">
-        Allow the RollingFileAppender to use default pattern layout.
-      </action>
-      <action issue="LOG4J2-1556" dev="ggregory" type="update">
-        Custom Log4j threads now extend Log4jThread.
-      </action>
-      <action issue="LOG4J2-1605" dev="ggregory" type="update">
-        Improve error messages for TcpSocketServer and UdpSocketServer.
-      </action>
-      <action issue="LOG4J2-1458" dev="ggregory" type="update">
-        Updated Jackson from 2.7.5 to 2.8.0.
-      </action>
-      <action issue="LOG4J2-1494" dev="ggregory" type="update">
-        Updated Jackson from 2.8.0 to 2.8.1.
-      </action>
-      <action issue="LOG4J2-1569" dev="ggregory" type="update">
-        Updated Jackson from 2.8.1 to 2.8.2.
-      </action>
-      <action issue="LOG4J2-1598" dev="ggregory" type="update">
-        Updated Jackson from 2.8.2 to 2.8.3.
-      </action>
-      <action issue="LOG4J2-1495" dev="ggregory" type="update">
-        Updated LMAX Disruptor from 3.3.4 to 3.3.5.
-      </action>
-      <action issue="LOG4J2-1496" dev="ggregory" type="update">
-        Updated Kafka client from 0.9.1.0 to 0.10.0.0.
-      </action>
-      <action issue="LOG4J2-1533" dev="ggregory" type="update">
-        Updated Kafka client from 0.10.0.0 to 0.10.0.1.
-      </action>
-      <action issue="LOG4J2-1487" dev="ggregory" type="update">
-        Updated JMS test from ActiveMQ 5.13.3 to 5.13.4.
-      </action>
-      <action issue="LOG4J2-1551" dev="ggregory" type="update">
-        Updated JMS test from ActiveMQ 5.13.4 to 5.14.0.
-      </action>
-      <action issue="LOG4J2-1757" dev="ggregory" type="update">
-        Update Apache Commons Compress from 1.12 to 1.13.
-      </action>
-      <action issue="LOG4J2-1543" dev="ggregory" type="update">
-        Removed deprecated Core API org.apache.logging.log4j.core.util.Constants.UTF_8.
-      </action>
-      <action issue="LOG4J2-1544" dev="ggregory" type="update">
-        Removed deprecated Core API org.apache.logging.log4j.core.util.Assert.requireNonNull(T, String).
-      </action>
-      <action issue="LOG4J2-1545" dev="ggregory" type="update">
-        Removed deprecated Web API org.apache.logging.log4j.web.WebLookup.getServletContext().
-      </action>
-    </release>
-    <release version="2.6.2" date="2016-07-05" description="GA Release 2.6.2">
-      <action issue="LOG4J2-904" dev="rgoers" type="fix" due-to="Bernhard Mähr">
-        If copy and delete fails in rename action then resort to truncating the source file after copying it.
-      </action>
-      <action issue="LOG4J2-1250" dev="rgoers" type="fix">
-        CronTriggeringPolicy was not properly setting the prevFileTime value for the PatternProcessor so
-        file dates and times on rolled files were incorrect.
-      </action>
-      <action issue="LOG4J2-1452" dev="rpopma" type="fix" due-to="Mikael Ståldal">
-        Fixed issue where reusable messages broke flow tracing logic.
-      </action>
-      <action issue="LOG4J2-1440" dev="rgoers" type="fix">
-        Fix bug in OnStartupTriggeringPolicy that allowed it to roll over on every reconfiguration. Added
-        minSize attribute.
-      </action>
-      <action issue="LOG4J2-1414" dev="rpopma" type="fix" due-to="Ralph Goers">
-        Fixed minor issues with the 2.6.1 website.
-      </action>
-      <action issue="LOG4J2-1434" dev="rpopma" type="fix" due-to="Luke Butters">
-        Ensure that the thread-local StringBuilders used by Layouts to format log events to text will not
-        retain excessive memory after a large message was logged.
-      </action>
-      <action issue="LOG4J2-1395" dev="mikes" type="add">
-        Add "direct" option to ConsoleAppender for increased performance.
-      </action>
-      <action issue="LOG4J2-1418" dev="mikes" type="fix">
-        Provide MessageFactory2 to custom Logger implementations.
-      </action>
-      <action issue="LOG4J2-1420" dev="rgoers" type="fix">
-        RollingRandomAccessFileManager was not properly rolling over on startup and was getting a NullPointerException.
-      </action>
-      <action issue="LOG4J2-1417" dev="rpopma" type="fix">
-        Fixed issue where Unbox utility ignored the value Constants.ENABLE_THREADLOCALS and always stored non-JDK classes in ThreadLocals.
-      </action>
-      <action issue="LOG4J2-1422" dev="rpopma" type="fix">
-        Fixed issue where AsyncAppenderQueueFullPolicyTest sometimes hangs.
-      </action>
-      <action issue="LOG4J2-1445" dev="ggregory" type="fix" due-to="Ludovic HOCHET">
-        OnStartupTriggeringPolicyTest fails on Windows saying the file is used by another process.
-      </action>
-      <action issue="LOG4J2-1437" dev="rpopma" type="add">
-        (GC) ObjectMessage and ReusableObjectMessage now avoid calling toString() on auto-boxed primitive parameters.
-      </action>
-      <action issue="LOG4J2-1415" dev="rpopma" type="add">
-        (GC) ParameterFormatter now avoids calling toString() on auto-boxed primitive message parameters.
-      </action>
-      <action issue="LOG4J2-1412" dev="rpopma" type="add">
-        Unbox utility's ringbuffer of StringBuilders is now configurable.
-      </action>
-      <action issue="LOG4J2-1432" dev="ggregory" type="update">
-        Update Jackson from 2.7.4 to 2.7.5.
-      </action>
-      <action issue="LOG4J2-1433" dev="ggregory" type="update">
-        Update Jansi from 1.11 to 1.13.
-      </action>
-      <action issue="LOG4J2-1444" dev="ggregory" type="update">
-        Update Apache Commons Compress from 1.11 to 1.12.
-      </action>
-    </release>
-    <release version="2.6.1" date="2016-06-05" description="GA Release 2.6.1">
-      <action issue="LOG4J2-1405" dev="rgoers" type="fix">
-        OnStartupTriggeringPolicy was forcing a rollover of empty files at startup and would append a second footer that was added by the prior shutdown.
-      </action>
-      <action issue="LOG4J2-1406" dev="rpopma" type="fix" due-to="Trask Stalnaker">
-        Fixed bug in ReusableParameterizedMessage where Throwable was never updated so first error was logged over and over again and subsequent errors were not logged.
-      </action>
-      <action issue="LOG4J2-1409" dev="rpopma" type="fix" due-to="Shahan">
-        Fixed ArrayIndexOutOfBoundsException that may occur in ReusableParameterizedMessage.
-      </action>
-      <action issue="LOG4J2-997" dev="rgoers" type="fix" due-to="Maytee Chinavanichkit">
-        Add filter and remove filter were not working properly in AbstractFilterable.
-      </action>
-      <action issue="LOG4J2-1032" dev="rgoers" type="fix">
-        Changed RenameAction to use java.nio to better report rename failures.
-      </action>
-      <action issue="LOG4J2-1407" dev="ggregory" type="fix">
-        Fixed misleading WARN log events from Log4j about message factories and unexpected formatting.
-      </action>
-      <action issue="LOG4J2-1408" dev="ggregory" type="fix">
-        Added the module log4j-liquibase to BOM POM.
-      </action>
-      <action issue="LOG4J2-1180" dev="ggregory" type="fix">
-        Logger cache now accounts for message factory.
-      </action>
-      <action issue="LOG4J2-1402" dev="rgoers" type="fix">
-        Fix regression in properties configuration to support arbitrary component ids.
-      </action>
-      <action issue="LOG4J2-1385" dev="ggregory" type="update">
-        (GC) CSV layouts should not create a new CSVPrinter for each log event. Requires Apache Commons CSV 1.4.
-      </action>
-      <action issue="LOG4J2-1398" dev="ggregory" type="update">
-        Update liquibase-core from 3.4.2 to 3.5.1.
-      </action>
-      <action issue="LOG4J2-1399" dev="ggregory" type="update">
-        Update Apache Commons CSV from 1.3 to 1.4.
-      </action>
-      <action issue="LOG4J2-1411" dev="mattsicker" type="add">
-        Added documentation about plugin builders compared to factories.
-      </action>
-      <action issue="LOG4J2-1394" dev="mattsicker,mikes" type="fix">
-        Fixed minor issues with the 2.6 website.
-      </action>
-    </release>
-    <release version="2.6" date="2016-05-25" description="GA Release 2.6">
-      <action issue="LOG4J2-1270" dev="rpopma" type="add">
-        (GC) Added support for garbage-free logging in steady state.
-        This includes Async Loggers and logging synchronously to the console and to a file,
-        but does not include the AsyncAppender. This release makes the GelfLayout and
-        the main patterns in the PatternLayout garbage-free.
-      </action>
-      <action issue="LOG4J2-1297" dev="rpopma" type="add">
-        (GC) Added manual page on garbage-free logging.
-      </action>
-      <action issue="LOG4J2-1373" dev="rpopma" type="add">
-        (GC) Update Logger wrapper Generator tool to generate methods for the new Logger methods.
-      </action>
-      <action issue="LOG4J2-1356" dev="mikes" type="update">
-        (GC) GelfLayout does now support garbage-free logging (with compressionType=OFF).
-      </action>
-      <action issue="LOG4J2-1326" dev="rpopma" type="add">
-        (GC) Added methods to the Logger interface for logging CharSequence messages.
-      </action>
-      <action issue="LOG4J2-1344" dev="rpopma" type="add">
-        (GC) FileAppender, RollingFileAppender and MemoryMappedFileAppender are now also garbage-free by default.
-      </action>
-      <action issue="LOG4J2-1343" dev="rpopma" type="update">
-        (GC) ConsoleAppender is now garbage-free by default. This logic is reusable for all AbstractOutputStreamAppender subclasses.
-      </action>
-      <action issue="LOG4J2-1278" dev="rpopma" type="add">
-        (GC) Added unrolled varargs methods to Logger API, added Unbox utility to avoid auto-boxing when logging primitive values.
-      </action>
-      <action issue="LOG4J2-1318" dev="rpopma" type="update">
-        (GC) Avoid allocating unnecessary temporary objects in LoggerContext's getLogger methods.
-      </action>
-      <action issue="LOG4J2-1333" dev="rpopma" type="update">
-        (GC) Avoid allocating unnecessary temporary objects in MarkerManager's getMarker methods.
-      </action>
-      <action issue="LOG4J2-1321" dev="rpopma" type="update">
-        (GC) Avoid allocating unnecessary temporary objects in PatternLayout's NamePatternConverter and ClassNamePatternConverter.
-      </action>
-      <action issue="LOG4J2-1271" dev="rpopma" type="add">
-        (GC) Add MessageFactory that avoid allocation by reusing a cached ParameterizedMessage instance.
-      </action>
-      <action issue="LOG4J2-1271" dev="rpopma" type="update">
-        (GC) ParameterizedMessage optimizations to avoid or at least postpone allocating temporary objects.
-      </action>
-      <action issue="LOG4J2-1283" dev="rpopma" type="update">
-        (GC) Provide ThreadLocal-based gc-free caching mechanism in DatePatternConverter for non-webapps.
-      </action>
-      <action issue="LOG4J2-1293" dev="rpopma" type="add">
-        (GC) Add interface StringBuilderFormattable to enable converting Messages and parameters to text without allocating temporary objects.
-        ParameterizedMessage, ObjectMessage, SimpleMessage and ThreadDumpMessage now implement StringBuilderFormattable.
-      </action>
-      <action issue="LOG4J2-1291" dev="rpopma" type="update">
-        (GC) Update PatternLayout to utilize gc-free mechanism for LogEvent processing.
-      </action>
-      <action issue="LOG4J2-1292" dev="rpopma" type="update">
-        (GC) Update RandomAccessFileAppender and RollingRandomAccessFileAppender to utilize gc-free Layout.encode() method.
-      </action>
-      <action issue="LOG4J2-1274" dev="rpopma" type="add">
-        (GC) Add encode(LogEvent, ByteBufferDestination) method to Layout API to enable converting LogEvents to bytes without creating temporary objects.
-      </action>
-      <action issue="LOG4J2-1281" dev="rpopma" type="fix">
-        (GC) LoggerConfig.getProperties() should not allocate on each call.
-      </action>
-      <action issue="LOG4J2-1272" dev="rpopma" type="update">
-        (GC) Improve LoggerConfig's data structure for AppenderControl objects to avoid allocating temporary objects during
-        traversal for each log event.
-      </action>
-      <action issue="LOG4J2-1269" dev="rpopma" type="fix">
-        (GC) AsyncLogger should use thread-local translator by default.
-      </action>
-      <action issue="LOG4J2-623" dev="rpopma" type="fix">
-        Generate MDC properties as a JSON map in JSONLayout, with option to output as list of map entries.
-      </action>
-      <action issue="LOG4J2-1362" dev="rpopma" type="add" due-to="Gary Gregory">
-        Added a YAML layout.
-      </action>
-      <action issue="LOG4J2-1387" dev="rpopma" type="fix">
-        Fixed memory leak related to shutdown hook.
-      </action>
-      <action issue="LOG4J2-1179" dev="rpopma" type="add">
-        Documented benchmark results comparing Log4j 2 performance to other logging libraries.
-      </action>
-      <action issue="LOG4J2-1382" dev="rpopma" type="fix">
-        Copying a MutableLogEvent using Log4jLogEvent.Builder should not unnecessarily obtain caller location information.
-      </action>
-      <action issue="LOG4J2-1011" dev="mikes" type="add">
-        Document dependencies for layouts.
-      </action>
-      <action issue="LOG4J2-621" dev="ggregory" type="add" due-to="Lee Theobald, Kamal Mettananda, Gary Gregory">
-        Pattern to drop first N package parts.
-      </action>
-      <action issue="LOG4J2-494" dev="rgoers" type="add" due-to="Philipp Knobel">
-        Support merging configurations to for a composite configuration.
-      </action>
-      <action issue="LOG4J2-1357" dev="mikes" type="add">
-        Option to not log stack traces for logged Throwables in GelfLayout.
-      </action>
-      <action issue="LOG4J2-1375" dev="rpopma" type="update">
-        Update SLF4J from 1.7.13 to 1.7.21.
-      </action>
-      <action issue="LOG4J2-1374" dev="rpopma" type="update">
-        Migrate tests from Logback 1.1.3 to 1.1.7.
-      </action>
-      <action issue="LOG4J2-1384" dev="ggregory" type="update">
-        Update Apache Commons CSV from 1.2 to 1.3.
-      </action>
-      <action issue="LOG4J2-1372" dev="rgoers" type="fix" due-to="Kamal Mettananda, Gary Gregory">
-        XMLLayout indents, but not the first child tag (Event).
-      </action>
-      <action issue="LOG4J2-1363" dev="rgoers" type="fix">
-        Properties Configuration did not support includeLocation attribute on Loggers.
-      </action>
-      <action issue="LOG4J2-1263" dev="rgoers" type="fix">
-        The ConfigurationSource was not saved for BuiltConfigurations so monitor interval had no effect.
-      </action>
-      <action issue="LOG4J2-1369" dev="ggregory" type="fix" due-to="Alex Birch, Gary Gregory">
-        "xz" compression results in plaintext, uncompressed files.
-      </action>
-      <action issue="LOG4J2-1365" dev="mikes" type="update">
-        (Log4j-internal) Provide message text as CharSequence for some message types to optimize some layouts.
-      </action>
-      <action issue="LOG4J2-1368" dev="rpopma" type="fix">
-        (Log4j-internal) StatusLogger dropped exceptions when logging parameterized messages.
-      </action>
-      <action issue="LOG4J2-1348" dev="ggregory" type="add" due-to="Greg Thomas, Gary Gregory">
-        Add an AutoCloseable ThreadContext class: CloseableThreadContext.
-      </action>
-      <action issue="LOG4J2-1345" dev="rpopma" type="update">
-        (Doc) Clarify documentation for properties that control Log4j behaviour.
-      </action>
-      <action issue="LOG4J2-1336" dev="ggregory" type="fix" due-to="Zbynek Vyskovsky">
-        LoggerFactory in 1.2 API module is not compatible with 1.2.
-      </action>
-      <action issue="LOG4J2-1354" dev="ggregory" type="fix" due-to="Arkadiusz Adolph">
-        No configuration reload is triggered under Windows when replacing the configuration file with one that has older last modified date.
-      </action>
-      <action issue="LOG4J2-1346" type="fix" dev="ggregory">
-        Exception from Log4jServletContextListener prevents jetty-maven-plugin run-forked.
-      </action>
-      <action issue="LOG4J2-1339" dev="rpopma" type="fix">
-        (Perf) AsyncLogger performance optimization: avoid calling instanceof TimestampMessage in hot path.
-      </action>
-      <action issue="LOG4J2-1324" dev="rpopma" type="fix">
-        Improve error handling in the Async Logger background thread: the new default exception handler no longer rethrows the error.
-      </action>
-      <action issue="LOG4J2-1309" dev="ggregory" type="fix">
-        Configuration file error does not show cause exception.
-      </action>
-      <action issue="LOG4J2-1299" dev="ggregory" type="add">
-        Add pattern converter for thread id and priority in PatternLayout.
-      </action>
-      <action issue="LOG4J2-1289" dev="ggregory" type="fix">
-        Change flow logging text from "entry' to "Enter" and "exit" to "Exit".
-      </action>
-      <action issue="LOG4J2-1284" dev="rpopma" type="fix">
-        Made default MessageFactory configurable.
-      </action>
-      <action issue="LOG4J2-1280" dev="ggregory" type="fix">
-        Deprecate org.apache.logging.log4j.util.MessageSupplier.
-      </action>
-      <action issue="LOG4J2-1280" dev="rpopma" type="fix">
-        Logger methods taking Supplier parameters now correctly handle cases where the supplied value is a Message.
-      </action>
-      <action issue="LOG4J2-1268" dev="rpopma" type="fix">
-        FixedDateFormat was incorrect for formats having MMM with the French locale.
-      </action>
-      <action issue="LOG4J2-1255" dev="rgoers" type="update">
-        Add enhanced entry and exit methods.
-      </action>
-      <action issue="LOG4J2-124" dev="rgoers" type="add">
-        Add shutdown methods to LogManager.
-      </action>
-      <action issue="LOG4J2-1222" dev="rgoers" type="fix">
-        Creation of a LoggerContext will fail if shutdown is in progress. LogManager will default to SimpleLogger instead.
-      </action>
-      <action issue="LOG4J2-1221" dev="rpopma" type="add" due-to="Michael Barker">
-        Added async logger Timeout wait strategy and made this the default wait strategy for async loggers.
-        This prevents a rare deadlock that may occur on Solaris.
-      </action>
-      <action issue="LOG4J2-1080" dev="rpopma" type="add">
-        Added option to discard events below a certain log level if the async logger ring buffer
-        or async appender queue is full.
-      </action>
-      <action issue="LOG4J2-1237" dev="ggregory" type="add" due-to="Mike Calmus, Gary Gregory">
-        Make PatternLayout header and footer accept a pattern.
-      </action>
-      <action issue="LOG4J2-1244" dev="ggregory" type="add" due-to="Anshu Garg, Remko Popma, Gary Gregory">
-        Make header and footer values customizable in JSONLayout.
-      </action>
-      <action issue="LOG4J2-1245" dev="ggregory" type="add">
-        Make CSV Layout header and footers accept patterns.
-      </action>
-      <action issue="LOG4J2-1192" dev="ggregory" type="add" due-to="Jörg Bretschneider, Gary Gregory">
-        Dynamic Subject for SMTP Appender.
-      </action>
-      <action issue="LOG4J2-1277" dev="ggregory" type="add" due-to="Gary Gregory, Ludovic Hochet">
-        FormattedMessage, MessageFormatMessage and StringFormattedMessage should support passing in a Locale to ensure appropriate formatting.
-      </action>
-      <action issue="LOG4J2-1260" dev="ggregory" type="fix" due-to="Blake Day, Gary Gregory">
-        TlsSyslogFrame calculates message length incorrectly.
-      </action>
-      <action issue="LOG4J2-1258" dev="ggregory" type="fix" due-to="Francis Lalonde">
-        Async DynamicThresholdFilter does not use the log event's context map.
-      </action>
-      <action issue="LOG4J2-1232" dev="ggregory" type="fix" due-to="Nikolai">
-        Incorrect log rotation in last week of year.
-      </action>
-      <action issue="LOG4J2-1248" dev="rpopma" type="fix">
-        Fixed broken nanotime in pattern layout.
-      </action>
-      <action issue="LOG4J2-908" dev="ggregory" type="fix" due-to="Konstantinos Liakos, Patrick Flaherty, Robin Coe, Gary Gregory">
-        JSONLayout doesn't add a comma between log events.
-      </action>
-      <action issue="LOG4J2-1230" dev="ggregory" type="fix" due-to="Vladimir Hudec, Ralph Goers, Gary Gregory">
-        Don't concatenate SYSLOG Messages.
-      </action>
-      <action issue="LOG4J2-1238" dev="ggregory" type="fix">
-        org.apache.logging.log4j.core.net.TcpSocketManager and other classes does not report internal exceptions to the status logger.
-      </action>
-      <action issue="LOG4J2-1212" dev="rpopma" type="fix">
-        Fix documentation to specify the correct default wait strategy used by async loggers.
-      </action>
-      <action issue="LOG4J2-1215" dev="ggregory" type="fix" due-to="Erik Kemperman">
-        Documentation/XSD inconsistencies.
-      </action>
-      <action issue="LOG4J2-1276" dev="ggregory" type="fix" due-to="Ludovic Hochet">
-        LoggerMessageSupplierTest and LoggerSupplierTest are Locale sensitive.
-      </action>
-      <action issue="LOG4J2-1380" dev="ggregory" type="update">
-        Update Jackson from 2.7.3 to 2.7.4.
-      </action>
-      <action issue="LOG4J2-1304" dev="ggregory" type="update">
-        Update Jackson from 2.7.0 to 2.7.2.
-      </action>
-      <action issue="LOG4J2-1253" dev="ggregory" type="update">
-        Update LMAX Disruptor from 3.3.2 to 3.3.4.
-      </action>
-      <action issue="LOG4J2-1219" dev="ggregory" type="update">
-        Update SLF4J from 1.7.12 to 1.7.13.
-      </action>
-      <action issue="LOG4J2-1239" dev="ggregory" type="update">
-        Update Jackson from 2.6.3 to 2.6.4.
-      </action>
-      <action issue="LOG4J2-1249" dev="ggregory" type="update">
-        Update Jackson from 2.6.4 to 2.7.0.
-      </action>
-      <action issue="LOG4J2-1351" dev="ggregory" type="update">
-        Update Jackson from 2.7.2 to 2.7.3.
-      </action>
-      <action issue="LOG4J2-1240" dev="ggregory" type="update">
-        Update Liquibase from 3.3.5 to 3.4.2.
-      </action>
-      <action issue="LOG4J2-1294" dev="ggregory" type="update">
-        Update Kafka client from 0.9.0.0 to 0.9.0.1.
-      </action>
-      <action issue="LOG4J2-1352" dev="ggregory" type="update">
-        Update javax.mail from 1.5.4 to 1.5.5.
-      </action>
-      <action issue="LOG4J2-1358" dev="ggregory" type="update">
-        Update Apache Commons Compress from 1.10 to 1.11.
-      </action>
-      <action issue="LOG4J2-1388" dev="rpopma" type="update">
-        Update Google java-allocation-instrumenter from 3.0 to 3.0.1.
-      </action>
-      <action issue="LOG4J2-1233" dev="ggregory" type="update" due-to="Bahri Gencsoy">
-        Misleading Value In Properties Example.
-      </action>
-      <action issue="LOG4J2-1251" dev="mattsicker" type="fix" due-to="Romain Manni-Bucau">
-        Fix JUL bridge issue where LogRecord.getParameters() is used when null.
-      </action>
-      <action issue="LOG4J2-1254" dev="rpopma" type="fix" due-to="Josh Trow">
-        Fix typo in Flow Tracing documentation.
-      </action>
-      <action issue="LOG4J2-920" dev="mattsicker" type="fix" due-to="Ludovic Hochet">
-        ClassNotFoundException for BundleContextSelector when initialising in an OSGi environment.
-      </action>
-      <action issue="LOG4J2-1300" dev="mattsicker" type="update">
-        Remove serializability from classes that don't need it.
-      </action>
-      <action issue="LOG4J2-1303" dev="mattsicker" type="add">
-        Add documentation links to runtime dependencies in each component intro page.
-      </action>
-      <action issue="LOG4J2-1275" dev="mattsicker" type="fix" due-to="Ludovic Hochet">
-        Fix RollingAppenderNoUnconditionalDeleteTest repeat test runs from failing.
-      </action>
-      <action issue="LOG4J2-1262" dev="mattsicker" type="fix">
-        Stop throwing unnecessary exception in Log4jServletContextListener.contextDestroyed().
-      </action>
-      <action issue="LOG4J2-1252" dev="mattsicker" type="add">
-        JeroMqAppender should support layouts.
-      </action>
-      <action issue="LOG4J2-1227" dev="mattsicker" type="fix" due-to="Olivier Lemasle">
-        NullPointerException in MapLookup.lookup if the event is null.
-      </action>
-      <action issue="LOG4J2-1306" dev="mattsicker" type="update">
-        JeroMqAppender should use ShutdownCallbackRegistry instead of runtime hooks.
-      </action>
-      <action issue="LOG4J2-1217" dev="mattsicker" type="add" due-to="Thies Wellpott">
-        PatternLayout option to limit length of text.
-      </action>
-      <action issue="LOG4J2-1308" dev="mattsicker" type="update">
-        Remove need to pre-specify appender et al. identifiers in property file config format.
-      </action>
-      <action issue="LOG4J2-1050" dev="mattsicker" type="fix" due-to="Adam Retter">
-        Add a Log4jLookup class to help write log files relative to log4j2.xml.
-      </action>
-      <action issue="LOG4J2-1133" dev="mattsicker" type="add">
-        Add JNDI lookup documentation.
-      </action>
-      <action issue="LOG4J2-1310" dev="mattsicker" type="fix">
-        JndiLookup mindlessly casts to String and should use String.valueOf().
-      </action>
-      <action issue="LOG4J2-1206" dev="mattsicker" type="update">
-        org.apache.logging.log4j.core.LoggerContext#updateLoggers should call firePropertyChangeEvent.
-      </action>
-      <action issue="LOG4J2-248" dev="mattsicker" type="fix">
-        Log4jWebInitializerImpl: Use Thread instead of Class for fallback classloader.
-      </action>
-      <action issue="LOG4J2-1169" dev="mattsicker" type="add" due-to="Gerald Kritzinger">
-        PatternLayout: Possible variable substitution in equals substitution parameter.
-      </action>
-      <action issue="LOG4J2-1322" dev="mattsicker" type="update">
-        Update Log4j 1.x migration guide to include information about system property lookup syntax changes.
-      </action>
-      <action issue="LOG4J2-1330" dev="mattsicker" type="fix">
-        Fix NoClassDefFoundError in ReflectionUtil on Google App Engine.
-      </action>
-    </release>
-    <release version="2.5" date="2015-12-06" description="GA Release 2.5">
-      <action issue="LOG4J2-324" dev="rpopma" type="fix">
-        Reduced memory usage of status messages in bounded queue; support zero-length queue that stores no messages.
-      </action>
-      <action issue="LOG4J2-1173" dev="rpopma" type="fix">
-        Fixed rollover error when copying to a directory mapped to a remote Linux host.
-      </action>
-      <action issue="LOG4J2-435" dev="rpopma" type="add" due-to="Robert Schaft">
-        Added support for custom delete actions triggered by a rollover.
-      </action>
-      <action issue="LOG4J2-649" dev="rgoers" type="update" due-to="Aleksey Zvolinsky">
-        Add PurgePolicy and IdlePurgePolicy to RoutingAppender.
-      </action>
-      <action issue="LOG4J2-1202" dev="rgoers" type="update">
-        Remove ConfigurationMonitor. The WatchManager is now used to check for configuration changes.
-      </action>
-      <action issue="LOG4J2-1195" dev="mikes" type="fix" due-to="Melvin Du">
-        Make KafkaAppender support SerializedLayout.
-      </action>
-      <action issue="LOG4J2-89" dev="rgoers" type="add">
-        Allow rollover to occur at any time. Add CronTriggeringPolicy.
-      </action>
-      <action issue="LOG4J2-381" dev="rgoers" type="fix" due-to="Anthony Baldocchi">
-        Allow triggering policy and rollover strategy to be modified during reconfiguration.
-      </action>
-      <action issue="LOG4J2-1136" dev="rgoers" type="add">
-        Add support for JSR 223 scripts in filters and the PatternSelector.
-      </action>
-      <action issue="LOG4J2-1168" dev="ggregory" type="add" due-to="Steven Swor">
-        Add getters for source and destination file in file rename action.
-      </action>
-      <action issue="LOG4J2-1175" dev="ggregory" type="add">
-        Add getters for classes in org.apache.logging.log4j.core.appender.rolling.action.
-      </action>
-      <action issue="LOG4J2-898" dev="rpopma" type="add">
-        Added system property to allow users to control whether messages should be formatted in the background.
-      </action>
-      <action issue="LOG4J2-1178" dev="ggregory" type="add">
-        Support use-case for JDBC's CommonDataSource.setLogWriter(PrintWriter) and java.sql.DriverManager.setLogWriter(PrintWriter).
-      </action>
-      <action issue="LOG4J2-1187" dev="ggregory" type="add">
-        Support use case for java.sql.DriverManager.setLogStream(PrintStream).
-      </action>
-      <action issue="LOG4J2-1029" dev="rpopma" type="fix" due-to="Stefan Leonhartsberger">
-        Performance improvement when gathering location information.
-      </action>
-      <action issue="LOG4J2-1172" dev="rpopma" type="fix">
-        Fixed ThreadLocal leak [AsyncLogger$Info] on Tomcat when using AsyncLoggerContextSelector.
-      </action>
-      <action issue="LOG4J2-1176" dev="rpopma" type="fix">
-        Fixed memory leak when log4j jars are in Tomcat's lib folder.
-      </action>
-      <action issue="LOG4J2-1180" dev="ggregory" type="fix" due-to="Mikael Ståldal">
-        Logger cache does not account for message factory.
-      </action>
-      <action issue="LOG4J2-879" dev="rpopma" type="fix">
-        Documentation: fixed minor issues with the site and manual pages.
-      </action>
-      <action issue="LOG4J2-999" dev="rpopma" type="fix" due-to="Joan Balagueró">
-        RollingFileAppender should also roll over when log event time is equal to rollover time, not only when later.
-      </action>
-      <action issue="LOG4J2-873" dev="rpopma" type="fix" due-to="Martin Dickins, LC, Luke Woodward">
-        Fixed bug where omitting the &lt;display-name&gt; element in web.xml caused incorrect log4j initialization,
-        resulting in memory leaks when the web application was stopped or reloaded.
-      </action>
-      <action issue="LOG4J2-323" dev="rpopma" type="fix">
-        Better web app support for async loggers: Fixed a memory leak that occurred when the logging jars are placed
-        in the container's classpath and the configuration file uses AsyncRoot/AsyncLogger.
-        The problem was that the first web application started the Disruptor background thread [AsyncLoggerConfig-1] but did not stop it until all web apps are stopped.
-        Each web application now has its own Disruptor which is stopped/started together with the web app.
-      </action>
-      <action issue="LOG4J2-493" dev="rpopma" type="fix">
-        Better web app support for async loggers: it is now possible to place the logging jars in the container's
-        classpath when making all loggers asynchronous by using AsyncLoggerContextSelector. This fixes a problem where
-        logging would stop working after stopping and restarting a web application.
-      </action>
-      <action issue="LOG4J2-1171" dev="rpopma" type="fix">
-        Use servlet context name for logger context name when available.
-      </action>
-      <action issue="LOG4J2-1159" dev="rpopma" type="fix">
-        Fixed a ThreadLocal memory leak in Tomcat8 that mentions AsyncLoggers when Async Loggers are not used.
-      </action>
-      <action issue="LOG4J2-1166" dev="rpopma" type="fix">
-        AbstractConfiguration executor should use a DaemonThreadFactory.
-      </action>
-      <action issue="LOG4J2-1165" dev="rpopma" type="fix">
-        Improve Log4j initialization status messages.
-      </action>
-      <action issue="LOG4J2-1156" dev="rpopma" type="fix">
-        Web site corrections and updates.
-      </action>
-      <action issue="LOG4J2-1158" dev="ggregory" type="fix" due-to="Michael Fortin, Gary Gregory">
-        Log4J JUL adapter is using MessageFormat on String passed by java.util.function.Supplier&lt;String>.
-      </action>
-      <action issue="LOG4J2-801" dev="mattsicker" type="fix">
-        org.apache.logging.log4j.core.Logger should be serializable.
-      </action>
-      <action issue="LOG4J2-1157" dev="mattsicker" type="fix" due-to="Norbert Bartels">
-        Fix compilation error for classes annotated with @Plugin.
-      </action>
-      <action issue="LOG4J2-948" dev="mattsicker" type="fix" due-to="Andrew Flower">
-        Fix plugin documentation error about Converters.
-      </action>
-      <action issue="LOG4J2-1193" dev="ggregory" type="fix">
-        Prefix all thread names Log4j creates with "Log4j2-".
-      </action>
-      <action issue="LOG4J2-1194" dev="ggregory" type="fix" due-to="Adam Brin">
-        Documentation does not match parameters for LoggerNameLevelRewritePolicy.
-      </action>
-      <action issue="LOG4J2-1196" dev="mattsicker" type="fix" due-to="René Zanner">
-        MongoDbConnection does not close MongoClient.
-      </action>
-      <action issue="LOG4J2-1174" dev="ggregory" type="update">
-        Update Jackson from 2.6.2 to 2.6.3.
-      </action>
-      <action issue="LOG4J2-1207" dev="ggregory" type="update">
-        Update kafka-clients from 0.8.2.2 to 0.9.0.0.
-      </action>
-    </release>
-    <release version="2.4.1" date="2015-10-08" description="GA Release 2.4.1">
-      <action issue="LOG4J2-1129" dev="rgoers" type="add">
-        Allow PatternLayout to select a pattern to use based on some selection criteria.
-      </action>
-      <action issue="LOG4J2-1145" dev="ggregory" type="add">
-        Add %equals to PatternLayout to test and replace patterns with strings.
-      </action>
-      <action issue="LOG4J2-1147" dev="ggregory" type="add">
-        Add %equalsIgnoreCase to PatternLayout to test and replace patterns with strings.
-      </action>
-      <action issue="LOG4J2-1146" dev="ggregory" type="add">
-        Add %notEmpty to PatternLayout to avoid output of patterns where all variables are empty.
-      </action>
-      <action issue="LOG4J2-1020" dev="mikes" type="add">
-        Add possibility to set shutdown timeout on AsyncAppender.
-      </action>
-      <action issue="LOG4J2-1153" dev="rpopma" type="fix">
-        Fixed NullPointerException when only root logger is defined (and no named loggers) in configuration properties file.
-      </action>
-      <action issue="LOG4J2-1140" dev="rpopma" type="fix">
-        Fixed bug where headers were not being written to first file with RollingFileAppender.
-      </action>
-      <action issue="LOG4J2-1149" dev="rpopma" type="fix">
-        Fixed bug where PatternLayout predefined date pattern with time zone always renders default date format.
-      </action>
-      <action issue="LOG4J2-1050" dev="rpopma" type="fix">
-        Fixed Log4jLookup.
-      </action>
-      <action issue="LOG4J2-1142" dev="rpopma" type="fix">
-        Fix potential memory leak in web applications by using a straight ThreadLocal field instead of subclassing ThreadLocal.
-      </action>
-      <action issue="LOG4J2-1135" dev="rpopma" type="fix">
-        Compression on rollover was broken: log file was renamed to .zip but not compressed.
-      </action>
-      <action issue="LOG4J2-1127" dev="ggregory" type="fix">
-        log4j2.xml cannot be parsed on Oracle Weblogic 12c.
-      </action>
-      <action issue="LOG4J2-1132" dev="ggregory" type="fix">
-        Do not use MongoDB driver 2.13.3 deprecated methods.
-      </action>
-      <action issue="LOG4J2-1144" dev="ggregory" type="fix">
-        Add %markerSimpleName in pattern layout should evaluate to marker name (not toString()).
-      </action>
-      <action issue="LOG4J2-1126" dev="ggregory" type="fix">
-        Web site corrections and updates.
-      </action>
-      <action issue="LOG4J2-1151" dev="rpopma" type="update">
-        Performance improvement: backport Java 8 fast ISO-8859-1 String to byte[] encoder to AbstractStringLayout.
-      </action>
-      <action issue="LOG4J2-935" dev="rpopma" type="update">
-        Performance improvement when converting Strings to byte[] arrays.
-      </action>
-      <action issue="LOG4J2-1040" dev="ggregory" type="update">
-        Update MongoDB driver from 2.13.3 to 3.0.4.
-      </action>
-      <action issue="LOG4J2-1128" dev="ggregory" type="update">
-        Reuse StringBuilder to improve performance for String-based layouts: CSV, GELF, HTML, RFC524, Syslog.
-      </action>
-      <action issue="LOG4J2-1131" dev="ggregory" type="update">
-        Update mongo-java-driver from 2.13.2 to 2.13.3.
-      </action>
-      <action issue="LOG4J2-1138" dev="ggregory" type="update">
-        Do not use Jackson deprecated methods.
-      </action>
-      <action issue="LOG4J2-1139" dev="ggregory" type="update">
-        Update Jackson from 2.6.1 to 2.6.2.
-      </action>
-      <action issue="LOG4J2-1150" dev="ggregory" type="update">
-        Update kafka-clients from 0.8.2.1 to 0.8.2.2.
-      </action>
-    </release>
-    <release version="2.4" date="2015-09-20" description="GA Release 2.4">
-      <action issue="LOG4J2-635" dev="rgoers" type="add">
-        Add support for configuration via Properties.
-      </action>
-      <action issue="LOG4J2-952" dev="rgoers" type="add">
-        Add ConfigurationBuilder for programmatic configuration.
-      </action>
-      <action issue="LOG4J2-1017" dev="ggregory" type="update">
-        Update Java platform from Java 6 to 7. From this version onwards, log4j 2 requires Java 7.
-      </action>
-      <action issue="LOG4J2-599" dev="rpopma" type="add">
-        Added support for Java 8 lambda expressions to lazily construct a log message only if
-              the requested log level is enabled.
-      </action>
-      <action issue="LOG4J2-1118" dev="rpopma" type="add">
-        Updated Logger wrapper generator tool to add Java 8 lambda support for custom log levels.
-      </action>
-      <action issue="LOG4J2-1107" dev="ggregory" type="add" due-to="Mikael Ståldal">
-        New Appender for Apache Kafka.
-      </action>
-      <action issue="LOG4J2-1113" dev="ggregory" type="add" due-to="Gary Gregory">
-        New publisher Appender for ZeroMQ (using JeroMQ).
-      </action>
-      <action issue="LOG4J2-1088" dev="ggregory" type="add" due-to="Gary Gregory">
-        Add Comma Separated Value (CSV) layouts for parameter and event logging.
-      </action>
-      <action issue="LOG4J2-812" dev="rgoers" type="update">
-        PatternLayout timestamp formatting performance improvement: replaced synchronized SimpleDateFormat with
-        Apache Commons FastDateFormat. This and better caching resulted in a ~3-30X faster timestamp formatting.
-      </action>
-      <action issue="LOG4J2-1097" dev="rpopma" type="update">
-        PatternLayout timestamp formatting performance improvement: predefined date formats (and variants using
-        a period '.' millisecond separator instead of ',') are now formatted ~2-10X faster than other date formats.
-      </action>
-      <action issue="LOG4J2-1096" dev="rpopma" type="update">
-        Improved performance of ParameterizedMessage::getFormattedMessage by ~2X.
-      </action>
-      <action issue="LOG4J2-1120" dev="rpopma" type="update">
-        LoggerConfig performance improvements: avoid unnecessary lock acquisition, use more efficient data structure.
-      </action>
-      <action issue="LOG4J2-1125" dev="rpopma" type="update">
-        PatternLayout performance improvement by caching and reusing a ThreadLocal StringBuilder.
-      </action>
-      <action issue="LOG4J2-1121" dev="rpopma" type="fix">
-        Fixed potential race condition on reconfiguration. Introduced ReliabilityStrategy to facilitate
-        switching between different mechanisms for preventing log events from being dropped on reconfiguration.
-      </action>
-      <action issue="LOG4J2-1114" dev="ggregory" type="update">
-        Add thread name to status logger layout.
-      </action>
-      <action issue="LOG4J2-1123" dev="ggregory" type="fix">
-        Core Configurator.initialize(String, ClassLoader, String) fails to work when config location is a file path.
-      </action>
-      <action issue="LOG4J2-1117" dev="ggregory" type="fix" due-to="Marcus Thiesen">
-        OutputStreamManager in ConsoleAppender leaking managers.
-      </action>
-      <action issue="LOG4J2-1044" dev="rgoers" type="fix">
-        Write pending events to Flume when the appender is stopped.
-      </action>
-      <action issue="LOG4J2-1108" dev="ggregory" type="fix" due-to="Mikael Ståldal">
-        NullPointerException when passing null to java.util.logging.Logger.setLevel().
-      </action>
-      <action issue="LOG4J2-1110" dev="ggregory" type="fix">
-        org.apache.logging.log4j.jul.CoreLogger.setLevel() checks for security permission too late.
-      </action>
-      <action dev="rpopma" type="remove">
-        Removed experimental interface LevelLogger which got committed to master by mistake.
-      </action>
-      <action issue="LOG4J2-1010" dev="rgoers" type="update">
-        Pass log event when interpolating logger properties.
-      </action>
-      <action issue="LOG4J2-1090" dev="ggregory" type="add">
-        Add Core Configurator APIs to change a logger's level.
-      </action>
-      <action issue="LOG4J2-1105" dev="ggregory" type="add" due-to="Gary Gregory">
-        Add API org.apache.logging.log4j.Level.isInRange(Level, Level).
-      </action>
-      <action issue="LOG4J2-1106" dev="ggregory" type="add" due-to="Gary Gregory">
-        Add a LevelRangeFilter class.
-      </action>
-      <action issue="LOG4J2-1074" dev="rpopma" type="add">
-        Added support for system nanosecond time in pattern layout.
-      </action>
-      <action issue="LOG4J2-1075" dev="rpopma" type="add">
-        Added support for compressing to bzip2 format on file rollover.
-      </action>
-      <action issue="LOG4J2-1077" dev="ggregory" type="add">
-        Support additional Apache Commons Compress compression formats on rollover: Deflate, Pack200, XY.
-      </action>
-      <action issue="LOG4J2-767" dev="ggregory" type="add" due-to="Mikael Ståldal">
-        New module for Liquibase integration.
-      </action>
-      <action issue="LOG4J2-1023" dev="ggregory" type="add" due-to="Mikael Ståldal">
-        New RewritePolicy for changing level of a log event.
-      </action>
-      <action issue="LOG4J2-1015" dev="ggregory" type="add" due-to="Daniel Marcotte">
-        Add a way to route messages based on the %marker in Layout for RoutingAppender.
-      </action>
-      <action issue="LOG4J2-1050" dev="ggregory" type="add" due-to="Adam Retter">
-        Add a Log4jLookup class to help write log files relative to log4j2.xml.
-      </action>
-      <action issue="LOG4J2-1057" dev="ggregory" type="add">
-        Add API org.apache.logging.log4j.LogManager.getFormatterLogger().
-      </action>
-      <action issue="LOG4J2-1066" dev="ggregory" type="add" due-to="Charles Allen">
-        Expose Log4jContextFactory's ShutdownCallbackRegistry.
-      </action>
-      <action issue="LOG4J2-1084" dev="ggregory" type="fix" due-to="Philipp Schneider">
-        Misleading StatusLogger WARN event in LogManager with java.util.Map.
-      </action>
-      <action issue="LOG4J2-1051" dev="ggregory" type="fix" due-to="Lukasz Lenart">
-        NoClassDefFoundError when starting app on Google App Engine.
-      </action>
-      <action issue="LOG4J2-684" dev="ggregory" type="fix" due-to="Joern Huxhorn, Mauro Molinari">
-        ExtendedThrowablePatternConverter does not print suppressed exceptions.
-      </action>
-      <action issue="LOG4J2-1069" dev="ggregory" type="fix" due-to="Sam Braam">
-        Improper handling of JSON escape chars when deserializing JSON log events.
-      </action>
-      <action issue="LOG4J2-1068" dev="ggregory" type="fix" due-to="Andy McMullan">
-        Exceptions not logged when using TcpSocketServer + SerializedLayout.
-      </action>
-      <action issue="LOG4J2-1067" dev="ggregory" type="fix" due-to="Sam Braam">
-        ThrowableProxy getExtendedStackTraceAsString throws NPE on deserialized nested exceptions.
-      </action>
-      <action issue="LOG4J2-1049" dev="rpopma" type="fix" due-to="Robert Schaft">
-        AsyncAppender now resets the thread interrupted flag after catching InterruptedException.
-      </action>
-      <action issue="LOG4J2-1048" dev="rpopma" type="fix" due-to="Nikhil">
-        FileConfigurationMonitor unnecessarily calls System.currentTimeMillis() causing high CPU usage.
-      </action>
-      <action issue="LOG4J2-1037" dev="ggregory" type="fix" due-to="Marc Dergacz">
-        Backward compatibility issue in log4j-1.2-api NDC pop() and peek().
-      </action>
-      <action issue="LOG4J2-1025" dev="ggregory" type="fix" due-to="Mikael Ståldal">
-        Custom java.util.logging.Level gives null Log4j Level and causes NPE.
-      </action>
-      <action issue="LOG4J2-1033" dev="ggregory" type="fix" due-to="Mikael Ståldal">
-        SimpleLogger creates unnecessary Map objects by calling ThreadContext.getContext() instead of getImmutableContext().
-      </action>
-      <action issue="LOG4J2-1026" dev="ggregory" type="fix">
-        HighlightConverter does not obey noConsoleNoAnsi.
-      </action>
-      <action issue="LOG4J2-1019" dev="ggregory" type="fix">
-        ZipCompressAction leaves files open until GC when an IO error takes place.
-      </action>
-      <action issue="LOG4J2-1020" dev="ggregory" type="fix">
-        GzCompressAction leaves files open until GC when an IO error takes place.
-      </action>
-      <action issue="LOG4J2-1038" dev="ggregory" type="fix" due-to="Gili">
-        Incorrect documentation for layout default charset.
-      </action>
-      <action issue="LOG4J2-1042" dev="ggregory" type="fix" due-to="Guillaume Turri">
-        Socket and Syslog appenders don't take timeout into account at startup.
-      </action>
-      <action issue="LOG4J2-934" dev="ggregory" type="fix" due-to="Kenneth Gendron">
-        Circular suppressed Exception throws StackOverflowError.
-      </action>
-      <action issue="LOG4J2-1046" dev="ggregory" type="fix" due-to="Kenneth Gendron">
-        Circular Exception cause throws StackOverflowError.
-      </action>
-      <action issue="LOG4J2-982" dev="ggregory" type="fix" due-to="Mikhail Mazurskiy">
-        Use System.nanoTime() to measure time intervals.
-      </action>
-      <action issue="LOG4J2-1045" dev="ggregory" type="fix" due-to="Günter Albrecht">
-        Externalize log4j2.xml via URL resource.
-      </action>
-      <action issue="LOG4J2-1058" dev="ggregory" type="fix" due-to="Daniel Branzea">
-        Log4jMarker#contains(String) does not respect org.slf4j.Marker contract.
-      </action>
-      <action issue="LOG4J2-1060" dev="ggregory" type="fix">
-        Log4jMarker#contains(Marker) does not respect org.slf4j.Marker contract.
-      </action>
-      <action issue="LOG4J2-1061" dev="ggregory" type="fix">
-        Log4jMarker#remove(Marker) does not respect org.slf4j.Marker contract.
-      </action>
-      <action issue="LOG4J2-1062" dev="ggregory" type="fix">
-        Log4jMarker#add(Marker) does not respect org.slf4j.Marker contract.
-      </action>
-      <action issue="LOG4J2-1064" dev="ggregory" type="fix">
-        org.apache.logging.slf4j.Log4jMarker does not implement org.slf4j.Marker.equals(Object) org.slf4j.Marker.hashCode().
-      </action>
-      <action issue="LOG4J2-889" dev="rpopma" type="fix" due-to="Maciej Karaś, Kenneth Leider">
-        Header in layout should not be written on application startup if appending to an existing file. Fixes LOG4J2-1030.
-      </action>
-      <action issue="LOG4J2-918" dev="rpopma" type="fix">
-        Clarify documentation for combining async with sync loggers.
-      </action>
-      <action issue="LOG4J2-1078" dev="ggregory" type="fix" due-to="Mikael Ståldal">
-        GelfLayout throws exception if some log event fields are null.
-      </action>
-      <action issue="LOG4J2-1044" dev="rgoers" type="update">
-        Support batchSize in FlumeAvroManager.
-      </action>
-      <action issue="LOG4J2-1065" dev="ggregory" type="update">
-        Define org.apache.logging.log4j.Marker.equals(Object) and org.apache.logging.log4j.Marker.hashCode().
-      </action>
-      <action issue="LOG4J2-1063" dev="ggregory" type="update">
-        Avoid creating temporary array object in org.apache.logging.slf4j.Log4jMarker.iterator().
-      </action>
-      <action issue="LOG4J2-890" dev="ggregory" type="update" due-to="Hassan Kalaldeh, Robert Andersson, Remko Popma">
-        log4j-web-2.1 should work around a bug in JBOSS EAP 6.2.
-      </action>
-      <action issue="LOG4J2-403" dev="ggregory" type="update" due-to="Poorna Subhash P, Jeremy Lautman">
-        MongoDB appender, username and password should be optional.
-      </action>
-      <action issue="LOG4J2-1035" dev="ggregory" type="update">
-        Log4j2 tries to SystemClassLoader when running on Google AppEngine.
-      </action>
-      <action issue="LOG4J2-1022" dev="rgoers" type="update">
-        Allow a list of keys to be specified in the MDC pattern converter.
-      </action>
-      <action issue="LOG4J2-959" dev="ggregory" type="update">
-        Fix FindBugs DM_DEFAULT_ENCODING bug in SimpleLogger.logMessage() and simplify code.
-      </action>
-      <action issue="LOG4J2-1036" dev="ggregory" type="update">
-        Update Apache Flume from 1.5.2 to 1.6.0.
-      </action>
-      <action issue="LOG4J2-1041" dev="ggregory" type="update">
-        Update MongoDB driver from 2.11.2 to 2.13.2.
-      </action>
-      <action issue="LOG4J2-1018" dev="ggregory" type="update">
-        Update database tests from H2 1.3.175 to 1.3.176.
-      </action>
-      <action issue="LOG4J2-1070" dev="ggregory" type="update">
-        Update Java Mail from 1.5.2 to 1.5.4.
-      </action>
-      <action issue="LOG4J2-1079" dev="ggregory" type="update">
-        Update Jackson from 2.5.3 to 2.5.4.
-      </action>
-      <action issue="LOG4J2-1879" dev="ggregory" type="update">
-        Update Jackson from 2.5.4 to 2.6.0.
-      </action>
-      <action issue="LOG4J2-1092" dev="ggregory" type="update">
-        Update Jackson from 2.6.0 to 2.6.1.
-      </action>
-      <action issue="LOG4J2-1104" dev="ggregory" type="update">
-        Update Apache Commons Compress from 1.9 to 1.10.
-      </action>
-    </release>
-    <release version="2.3" date="2015-05-09" description="GA Release 2.3">
-      <action issue="LOG4J2-1009" dev="ggregory" type="fix" due-to="Mikael Ståldal">
-        Incorrectly defined compressionType parameter to GelfLayout.
-      </action>
-      <action issue="LOG4J2-1008" dev="ggregory" type="fix" due-to="Ralph Goers, Gary Gregory">
-        org.apache.logging.log4j.core.config.plugins.util.ResolverUtil.extractPath(URL) incorrectly converts '+' characters to spaces.
-      </action>
-      <action issue="LOG4J2-1007" dev="ggregory" type="fix" due-to="Ralph Goers, Gary Gregory">
-        org.apache.logging.log4j.core.util#fileFromUri(URI uri) incorrectly converts '+' characters to spaces.
-      </action>
-      <action issue="LOG4J2-1003" dev="ggregory" type="fix" due-to="Dan Armbrust">
-        JUL Logger.throwing is mis-mapped to ERROR when it should be TRACE.
-      </action>
-      <action issue="LOG4J2-965" dev="ggregory" type="fix" due-to="Khotyn Huang">
-        System.out no longer works after the Console appender and JANSI are initialized.
-      </action>
-      <action issue="LOG4J2-998" dev="ggregory" type="update" due-to="Mariano Gonzalez">
-        Make org.apache.logging.log4j.core.Logger#updateConfiguration protected.
-      </action>
-      <action issue="LOG4J2-995" dev="rgoers" type="update">
-        Move UTF-8 constant from Charsets to Constants class. Remove Charsets class.
-      </action>
-      <action issue="LOG4J2-993" dev="rgoers" type="fix">
-        Deadlock would occur if appender thread creates a new Logger during reconfiguration.
-      </action>
-      <action issue="LOG4J2-991" dev="rpopma" type="fix" due-to="Ryan Rupp">
-        Async root logger config should default includeLocation to false.
-      </action>
-      <action issue="LOG4J2-985" dev="rpopma" type="fix" due-to="Sean Dawson">
-        AbstractFilter should not implement equals() and hashCode().
-      </action>
-      <action issue="LOG4J2-984" dev="ggregory" type="add" due-to="Jonas Höpfner">
-        PatternLayout %highlight to support noConsoleNoAnsi like %style.
-      </action>
-      <action issue="LOG4J2-926" dev="ggregory" type="add" due-to="David Ohana">
-        Truncate from the end of text format modifier.
-      </action>
-      <action issue="LOG4J2-980" dev="ggregory" type="fix" due-to="Mikhail Mazurskiy">
-        Numerical overflow in BurstFilter not handled correctly.
-      </action>
-      <action issue="LOG4J2-981" dev="ggregory" type="fix" due-to="Mikhail Mazurskiy">
-        Incorrect unlock in ProviderUtil.
-      </action>
-      <action issue="LOG4J2-966" dev="ggregory" type="fix">
-        KeyStoreConfiguration.createKeyStoreConfiguration() ignores keyManagerFactoryAlgorithm.
-      </action>
-      <action issue="LOG4J2-976" dev="ggregory" type="fix" due-to="Matt Quinn">
-        Using monitorInterval with YAML config file format causes JSONParseException.
-      </action>
-      <action issue="LOG4J2-964" dev="ggregory" type="fix" due-to="Jonne Jyrylä">
-        StringFormattedMessage serialization is incorrect.
-      </action>
-      <action issue="LOG4J2-947" dev="ggregory" type="fix" due-to="Stefan Wehner">
-        A new StatusLoggerAdmin listener is added to StatusLogger every time the log is reconfigured.
-      </action>
-      <action issue="LOG4J2-968" dev="ggregory" type="fix" due-to="Paul D Johe">
-        SyslogLayout contains extra space.
-      </action>
-      <action issue="LOG4J2-967" dev="ggregory" type="fix" due-to="Stefan Wehner">
-        log4j2.component.properties not read for all properties.
-      </action>
-      <action issue="LOG4J2-971" dev="ggregory" type="fix" due-to="Paul D Johe">
-        Another bad priority in Syslog messages.
-      </action>
-      <action issue="LOG4J2-972" dev="ggregory" type="fix">
-        org.apache.logging.log4j.core.net.ssl.TlsSyslogInputStreamReader does not need to create temp Integer objects.
-      </action>
-      <action issue="LOG4J2-974" dev="ggregory" type="fix" due-to="Daniel Galán y Martins">
-        Typo in EventLogger documentation.
-      </action>
-      <action issue="LOG4J2-988" dev="ggregory" type="update">
-        Update LMAX Disruptor from 3.3.0 to 3.3.2.
-      </action>
-      <action issue="LOG4J2-987" dev="ggregory" type="update">
-        Migrate tests from Logback 1.1.2 to 1.1.3.
-      </action>
-      <action issue="LOG4J2-988" dev="ggregory" type="update">
-        Update tests to use ActiveMQ from 5.10 to 5.11.1.
-      </action>
-      <action issue="LOG4J2-1004" dev="ggregory" type="update">
-        Update Jackson from 2.5.1 to 2.5.3.
-      </action>
-      <action issue="LOG4J2-1005" dev="ggregory" type="update">
-        Update Slf4j from 1.7.7 to 1.7.12.
-      </action>
-    </release>
-    <release version="2.2" date="2015-02-22" description="GA Release 2.2">
-      <action issue="LOG4J2-938" dev="rpopma" type="fix" due-to="Mauro Molinari">
-        (JMX) To avoid memory leaks when web applications are restarted, JMX notifications are sent from
-        the caller thread in web applications. For non-web applications notifications are sent from a background thread
-        as before.
-      </action>
-      <action issue="LOG4J2-957" dev="ggregory" type="fix" due-to="fatih guleryuz">
-        Missing toUpperCase(Locale.ENGLISH).
-      </action>
-      <action issue="LOG4J2-956" dev="ggregory" type="fix" due-to="David Kellerman">
-        Manual refers to Route "AppenderRef" attribute, should be "ref".
-      </action>
-      <action issue="LOG4J2-955" dev="rpopma" type="update">
-        Documentation: clarify system properties to control status logger, improve troubleshooting FAQ entry.
-      </action>
-      <action issue="LOG4J2-950" dev="ggregory" type="update" due-to="Joel Edwards">
-        Incorrect attribute name in PropertiesRewritePolicy example.
-      </action>
-      <action issue="LOG4J2-944" dev="ggregory" type="fix" due-to="Vinayaka Ramachandra">
-        Log4j Flume appender is not adding millisecond to the event headers when the event is logged at 000 milliseconds.
-      </action>
-      <action issue="LOG4J2-941" dev="ggregory" type="add" due-to="Konstantinos Liakos">
-        Allow JSON layout to create one compact log record per line.
-      </action>
-      <action issue="LOG4J2-933" dev="ggregory" type="add" due-to="ppiman at gmail.com">
-        HTML layout should not use attribute minimalization for hr noshade.
-      </action>
-      <action issue="LOG4J2-895" dev="ggregory" type="add">
-        Specify the SyslogAppender connect timeout value as part of the configuration.
-        The SyslogAppender takes a new parameter connectTimeoutMillis.
-      </action>
-      <action issue="LOG4J2-899" dev="ggregory" type="add">
-        Specify the SocketAppender connect timeout value as part of the configuration.
-        The SyslogAppender takes a new parameter connectTimeoutMillis.
-      </action>
-      <action issue="LOG4J2-924" dev="ggregory" type="fix" due-to="Ryan Rupp">
-        Log4j 1.2 Bridge doesn't map level ALL correctly in Category.getEffectiveLevel().
-      </action>
-      <action issue="LOG4J2-931" dev="ggregory" type="fix" due-to="Robert Gacki">
-        ConsoleAppender is missing @PluginFactory annotation at createAppender method.
-      </action>
-      <action issue="LOG4J2-919" dev="ggregory" type="fix" due-to="David Johle">
-        Logging system fails to initialize if XInclude API is not available.
-      </action>
-      <action issue="LOG4J2-914" dev="ggregory" type="fix" due-to="Kaj Bjurman">
-        ThrowableProxy.getExtendedStackTraceAsString causes NullPointerException.
-      </action>
-      <action issue="LOG4J2-912" dev="ggregory" type="fix">
-        XML configuration does not report full error message for XInclude parser configuration problems.
-      </action>
-      <action issue="LOG4J2-903" dev="ggregory" type="fix" due-to="Mauro Molinari">
-        ClassLoaderContextSelector uses ClassLoader.toString() as a key
-      </action>
-      <action issue="LOG4J2-834" dev="ggregory" type="fix" due-to="Nikita Koval, Leonard Broman, Thiago Kronig">
-        ThrowableProxy throws NoClassDefFoundError.
-      </action>
-      <action issue="LOG4J2-893" dev="ggregory" type="fix">
-        NullPointerException on filter when mapping JUL to Log4j2.
-      </action>
-      <action issue="LOG4J2-892" dev="ggregory" type="fix">
-        JUL adapter does not map Log4j'2 FATAL level to a JUL level.
-      </action>
-      <action issue="LOG4J2-881" dev="ggregory" type="fix" due-to="Mariano Gonzalez">
-        AbstractLifecycle should not implement equals() and hashCode().
-      </action>
-      <action issue="LOG4J2-897" dev="ggregory" type="fix">
-        Javadoc for org.apache.log4j.BasicConfigurator.configure() is incorrect.
-      </action>
-      <action issue="LOG4J2-891" dev="ggregory" type="fix">
-        AbstractLifecycle should not implement equals() and hashCode().
-      </action>
-      <action issue="LOG4J2-946" dev="ggregory" type="fix" due-to="artemonster">
-        [docs] Using Log4j 2 in Web Applications: Update example (Log4jWebLifeCycle is not visible).
-      </action>
-      <action issue="LOG4J2-901" dev="ggregory" type="update" due-to="Tihomir Meščić, Siegfried Greisinger">
-        Update docs for SyslogAppender: "No structured id name was supplied"
-      </action>
-      <action issue="LOG4J2-958" dev="ggregory" type="update">
-        Update from Jackson 2.5.0 to 2.5.1.
-      </action>
-      <action issue="LOG4J2-925" dev="ggregory" type="update">
-        Update from Jackson 2.4.4 to 2.5.0.
-      </action>
-      <action issue="LOG4J2-910" dev="ggregory" type="update">
-        Update Jackson from 2.4.3 to 2.4.4.
-      </action>
-      <action issue="LOG4J2-881" dev="ggregory" type="update">
-        Update Jackson from 2.4.2 to 2.4.3.
-      </action>
-      <action issue="LOG4J2-882" dev="ggregory" type="update">
-        Update maven-core from 3.1.0 to 3.2.3.
-      </action>
-      <action issue="LOG4J2-883" dev="ggregory" type="update">
-        Update tests from org.apache.felix.framework 4.2.1 to 4.4.1.
-      </action>
-      <action issue="LOG4J2-884" dev="ggregory" type="update">
-        Update org.eclipse.osgi from 3.6.0 to 3.7.1.
-      </action>
-      <action issue="LOG4J2-900" dev="ggregory" type="update">
-        Update Apache Flume from 1.5.0.1 to 1.5.2.
-      </action>
-    </release>
-    <release version="2.1" date="2014-10-19" description="GA Release 2.1">
-      <action issue="LOG4J2-676" dev="rgoers" type="fix" due-to="Stefan Bodewig">
-        Some typo fixes and enhancements for the site.
-      </action>
-      <action issue="LOG4J2-868" dev="mattsicker" type="add">
-        Add ShutdownCallbackRegistry interface for customizable shutdown callback handling. This is particularly
-        useful for application servers that wish to integrate with Log4j 2.
-      </action>
-      <action issue="LOG4J2-866" dev="rpopma" type="fix" due-to="Gerard Weatherby">
-        Documentation: fixed missing closing parenthesis in code example.
-      </action>
-      <action issue="LOG4J2-862" dev="mattsicker" type="fix" due-to="Michael Sutherland">
-        Fixed classloader issue that prevented Log4j from finding the implementation when used in a custom Ant task.
-      </action>
-      <action issue="LOG4J2-589" dev="rpopma" type="add">
-        Supported filtering on custom log levels in configuration.
-      </action>
-      <action issue="LOG4J2-861" dev="rpopma" type="fix">
-        Documentation: fix broken links on left navigation Extending Log4j Configuration sub-menu.
-      </action>
-      <action issue="LOG4J2-856" dev="rpopma" type="add">
-        Documentation: add sections on the JUL Adapter, IO Streams and NoSQL Appenders to the Maven and Ivy page.
-      </action>
-      <action issue="LOG4J2-797" dev="rpopma" type="fix" due-to="Andreas Rytina">
-        Documentation: clarified why log4j-core is a compile-time dependency in Maven and Ivy page.
-      </action>
-      <action issue="LOG4J2-855" dev="rpopma" type="fix">
-        Documentation: fix broken links on Appenders manual page.
-      </action>
-      <action issue="LOG4J2-807" dev="rpopma" type="fix">
-        Prevent NPE when configuration with AsyncLogger/AsyncRoot is reloaded.
-      </action>
-      <action issue="LOG4J2-848" dev="ggregory" type="add">
-        Add a Java lookup to provide nicely formatted runtime version information.
-      </action>
-      <action issue="LOG4J2-809" dev="mattsicker" type="add">
-        Move reflection utility class to API's private utility classes.
-      </action>
-      <action issue="LOG4J2-845" dev="mattsicker" type="update">
-        Add 2.1.0 to compatible versions in Log4j API ProviderUtil and update Log4jAPIVersion to 2.1.0 in
-        core META-INF/log4j-provider.properties.
-      </action>
-      <action issue="LOG4J2-833" dev="rpopma" type="add">
-        Documentation: added Runtime Dependencies link to left nav-bar on site.
-      </action>
-      <action issue="LOG4J2-816" dev="rpopma" type="add">
-        Documentation: added section on XInclude to user manual Configuration page.
-      </action>
-      <action issue="LOG4J2-678" dev="rpopma" type="fix" due-to="Matt Sicker">
-        Documentation: fixed minor issues with Log4j2 website/documentation.
-      </action>
-      <action issue="LOG4J2-844" dev="rpopma" type="update">
-        Update JMH to 1.1 from 0.7.2.
-      </action>
-      <action issue="LOG4J2-843" dev="rpopma" type="fix">
-        Migrate JpaHyperSqlAppenderTest JUnit performance test to log4j-perf.
-      </action>
-      <action issue="LOG4J2-842" dev="rpopma" type="fix">
-        Migrate JpaH2AppenderTest JUnit performance test to log4j-perf.
-      </action>
-      <action issue="LOG4J2-841" dev="rpopma" type="fix">
-        Migrate JdbcHyperSqlAppenderTest JUnit performance test to log4j-perf.
-      </action>
-      <action issue="LOG4J2-840" dev="rpopma" type="fix">
-        Migrate JdbcH2AppenderTest JUnit performance test to log4j-perf.
-      </action>
-      <action issue="LOG4J2-830" dev="rpopma" type="fix">
-        Respect external interrupt signal to allow application shutdown after joining AsyncAppender thread.
-      </action>
-      <action issue="LOG4J2-813" dev="ggregory" type="fix" due-to="David Erichsen, Brandon Barry">
-        MarkerManager Log4jMarker.hasParents() returns opposite of correct result.
-      </action>
-      <action issue="LOG4J2-785" dev="rpopma" type="fix">
-        Documentation: fixed capitalization inconsistency in user manual example config.
-      </action>
-      <action issue="LOG4J2-829" dev="rpopma" type="fix">
-        Fixed issue in RollingFile filePattern: backslashes are path separators, not escape characters.
-      </action>
-      <action issue="LOG4J2-547" dev="mattsicker" type="add">
-        Add the Log4j IOStreams component.
-      </action>
-      <action issue="LOG4J2-431" dev="rpopma" type="add" due-to="Claude Mamo">
-        Added Memory-Mapped File Appender.
-      </action>
-      <action issue="LOG4J2-832" dev="ggregory" type="fix" due-to="Seth Leger">
-        ThrowableProxy fails if a class in logged stack trace throws java.lang.Error from initializer
-      </action>
-      <action issue="LOG4J2-831" dev="rpopma" type="update">
-        Documentation: updated FAQ "which jars" diagrams for JUL bridge and 2.1 version.
-      </action>
-      <action issue="LOG4J2-827" dev="mattsicker" type="add">
-        Support use of TypeConverter classes through the standard Plugin system.
-      </action>
-      <action issue="LOG4J2-745" dev="mattsicker" type="fix" due-to="Scott Harrington">
-        Avoid ConverterKey plugin clashes by using a more predictable plugin loading infrastructure.
-        Plugins have been segmented into three parts: class path, user-specified packages, and OSGi bundles.
-      </action>
-      <action issue="LOG4J2-798" dev="mattsicker" type="fix" due-to="Scott Harrington">
-        Fixed plugin scanning redundancy causing massive slowdowns in certain environments.
-      </action>
-      <action issue="LOG4J2-753" dev="rpopma" type="fix">
-        Reduced CachedClock thread contention.
-      </action>
-      <action issue="LOG4J2-819" dev="mattsicker" type="fix" due-to="Gary Gregory">
-        Fixed memory leak in Tomcat 6 caused by clock background threads unintentionally
-        started by Tomcat after web application stop.
-      </action>
-      <action issue="LOG4J2-825" dev="mattsicker" type="add">
-        Add simple validation constraint annotations for the Plugin system.
-      </action>
-      <action issue="LOG4J2-428" dev="ggregory" type="add" due-to="Mark Paluch, Mikael Ståldal">
-        Implement a GELF layout.
-      </action>
-      <action issue="LOG4J2-391" dev="rgoers" type="fix" due-to="Kamal Bahadur">
-        FlumePersistentManager now handles LockConflictExceptions in Berkeley Db when sending a batch.
-      </action>
-      <action issue="LOG4J2-782" dev="mattsicker" type="fix">
-        Remove invalid Oracle Maven repository.
-      </action>
-      <action issue="LOG4J2-780" dev="mattsicker" type="update">
-        Update Spring Framework to 3.2.11.RELEASE from 3.2.8.RELEASE.
-      </action>
-      <action issue="LOG4J2-815" dev="mattsicker" type="update">
-        Unify the two JMS appenders into a single appender. Configurations written for 2.0 will still work in 2.1+.
-      </action>
-      <action issue="LOG4J2-608" dev="mattsicker" type="add">
-        Add java.util.logging implementation based on log4j-api. See log4j-jul documentation for more details.
-      </action>
-      <action issue="LOG4J2-796" dev="rpopma" type="fix">
-        Fixed issue where log4j-to-slf4j did not work correctly with SLF4J Simple Logger.
-      </action>
-      <action issue="LOG4J2-811" dev="ggregory" type="fix" due-to="Yogesh Rao">
-        SimpleLogger throws ArrayIndexOutOfBoundsException for an empty array.
-      </action>
-      <action issue="LOG4J2-663" dev="mattsicker" type="fix" due-to="Florian Brunner">
-        Fix OSGi Import-Package problem with the JMS API.
-      </action>
-      <action issue="LOG4J2-793" dev="mattsicker" type="add">
-        Add support for custom SLF4J Markers in log4j-slf4j-impl module.
-      </action>
-      <action issue="LOG4J2-783" dev="rpopma" type="fix" due-to="Minglei Lee">
-        PatternLayout should use platform character encoding by default, not UTF-8.
-      </action>
-      <action issue="LOG4J2-771" dev="ggregory" type="add">
-        Add lookup for application main arguments.
-      </action>
-      <action issue="LOG4J2-787" dev="ggregory" type="add">
-        Add lookup for JVM arguments.
-      </action>
-      <action issue="LOG4J2-790" dev="ggregory" type="update">
-        Update Jackson to 2.4.2 from 2.4.1 (for XML and JSON processing).
-      </action>
-      <action issue="LOG4J2-766" dev="ggregory" type="update" due-to="Bruno P. Kinoshita">
-        Incomplete documentation for JSONLayout.
-      </action>
-      <action issue="LOG4J2-800" dev="ggregory" type="update">
-        All life cycle implementations should be serializable.
-        This is still work in progress.
-      </action>
-      <action issue="LOG4J2-801" dev="ggregory" type="update">
-        org.apache.logging.log4j.core.Logger should be serializable.
-        This is still work in progress.
-      </action>
-      <action issue="LOG4J2-810" dev="ggregory" type="update">
-        Update javax.mail to 1.5.2 from 1.5.0.
-      </action>
-      <action issue="LOG4J2-822" dev="ggregory" type="update">
-        Update org.eclipse.persistence.jpa to 2.5.2 from 2.5.1.
-      </action>
-      <action issue="LOG4J2-867" dev="ggregory" type="update">
-        FlumeAppender: maxDelay not in seconds, but milliseconds.
-        Add time scale to some settings, for example maxDelayMillis instead of maxDelay.
-        The old names are aliased for compatibility.
-      </action>
-    </release>
-    <release version="2.0.2" date="2014-08-16" description="Bug fixes and enhancements">
-      <action issue="LOG4J2-775" dev="ggregory" type="update">
-        Update Apache Flume to 1.5.0.1 from 1.5.0.
-      </action>
-      <action issue="LOG4J2-773" dev="rpopma" type="fix">
-        Site: log4j-core component pages were still using the old logo.
-      </action>
-      <action issue="LOG4J2-760" dev="rpopma" type="fix">
-        Documentation improvement: link to dependency tree from log4j-core component page,
-        link to log4j-core component page from FAQ page.
-      </action>
-      <action issue="LOG4J2-679" dev="rpopma" type="fix">
-        Resolved race condition that caused log file rotation to fail with error: "Unable to create directory ..."
-      </action>
-      <action issue="LOG4J2-726" dev="rpopma" type="fix">
-        Prevent application from hanging when PatternLayout configuration has opening '{' but no closing '}'.
-      </action>
-      <action issue="LOG4J2-769" dev="rpopma" type="fix" due-to="Scott Harrington">
-        Startup takes a long time if you have empty packages attribute.
-      </action>
-      <action issue="LOG4J2-763" dev="rpopma" type="fix" due-to="Stephen Connolly">
-        Improved asynchronous loggers and appenders to ensure the formatted message does not change even if
-        parameters are modified by the application. (ParameterizedMessage was already safe.)
-        Improved documentation.
-      </action>
-      <action issue="LOG4J2-729" dev="rpopma" type="fix">
-        Emit warning message to console if no configuration file found.
-      </action>
-      <action issue="LOG4J2-765" dev="rpopma" type="fix">
-        Improve warning message when missing log4j-core in the classpath.
-      </action>
-      <action issue="LOG4J2-722" dev="rpopma" type="fix">
-        Clarified in documentation that Commons Logging jar is required when using log4j-jcl.
-      </action>
-      <action issue="LOG4J2-723" dev="rpopma" type="fix">
-        Clarified in documentation that SLF4J API jar is required when using log4j-slf4j-impl.
-      </action>
-      <action issue="LOG4J2-730" dev="rpopma" type="update">
-        Allow Log4jContextFactory subclasses to specify a custom ContextSelector.
-      </action>
-      <action issue="LOG4J2-759" dev="rpopma" type="fix">
-        Fixed various minor site/documentation issues, mostly versioning related.
-      </action>
-      <action issue="LOG4J2-756" dev="rpopma" type="fix" due-to="Scott Harrington">
-        Prevent JUnit test from creating unnecessary Log4j2Plugins.dat during build.
-      </action>
-    </release>
-    <release version="2.0.1" date="2014-07-29" description="Bug fixes">
-      <action issue="LOG4J2-744" dev="rpopma" type="fix" due-to="Scott Harrington">
-        Avoid unnecessary Clock calls when TimestampMessage is logged.
-      </action>
-      <action issue="LOG4J2-704" dev="rpopma" type="fix">
-        Improved error message if configuration file not found.
-      </action>
-      <action issue="LOG4J2-750" dev="ggregory" type="fix" due-to="Mike Calmus">
-        Webapp configuration page has incorrect class name.
-      </action>
-      <action issue="LOG4J2-749" dev="rpopma" type="fix" due-to="Scott Harrington">
-        Retain the default date pattern after fixing the ISO8601 pattern.
-      </action>
-      <action issue="LOG4J2-670" dev="rpopma" type="fix">
-        DatePatternConverter ISO8601_PATTERN now conforms to ISO8601.
-      </action>
-      <action issue="LOG4J2-741" dev="rpopma" type="fix">
-        Reinstate the package configuration attribute for discovering custom plugins.
-      </action>
-      <action issue="LOG4J2-742" dev="ggregory" type="fix" due-to="Pascal Chollet">
-        XInclude not working with relative path.
-      </action>
-      <action issue="LOG4J2-740" dev="mattsicker" type="fix" due-to="Kosta Krauth">
-        Fixed typo in webapp manual regarding sample web.xml file.
-      </action>
-      <action issue="LOG4J2-738" dev="ggregory" type="fix" due-to="Timothy Stack">
-        RollingFileManager deadlock if async action thread fails to start.
-      </action>
-      <action issue="LOG4J2-736" dev="mattsicker" type="fix">
-        Fixed log4j-bom so that it won't specify a default scope on any third party dependencies.
-      </action>
-      <action issue="LOG4J2-735" dev="mattsicker" type="fix">
-        Fixed log4j-bom so that it won't interfere with spring-bom and others.
-      </action>
-      <action issue="LOG4J2-731" dev="mattsicker" type="fix">
-        Updated documentation regarding extensions to LoggerContextFactory and Log4j 2 providers.
-      </action>
-      <action issue="LOG4J2-373" dev="mattsicker" type="fix">
-        Fixed ClassLoader issues in loading Log4j providers in an OSGi environment.
-      </action>
-      <action issue="LOG4J2-725" dev="mattsicker" type="add">
-        Added WebLoggerContextUtils class to log4j-web for helper methods useful for asynchronous servlets.
-      </action>
-      <action issue="LOG4J2-710" dev="rpopma" type="add">
-        Added documentation for Custom Levels and Custom Loggers.
-      </action>
-      <action issue="LOG4J2-719" dev="rpopma" type="fix">
-        Correctly handle NetworkOnMainThreadException thrown on Android during Log4j2 initialization.
-      </action>
-      <action issue="LOG4J2-716" dev="rpopma" type="fix">
-        Automatically disable log4j JMX when detecting we are running on Android.
-      </action>
-      <action issue="LOG4J2-657" dev="rpopma" type="fix" due-to="Stefan Wehner">
-        Fixed AbstractDatabaseManager to close connection on writeInternal error.
-      </action>
-      <action issue="LOG4J2-713" dev="ggregory" type="fix" due-to="Nelson Melina">
-        Android: java.lang.VerifyError: org/apache/logging/log4j/core/util/Closer
-      </action>
-      <action issue="LOG4J2-703" dev="ggregory" type="fix" due-to="Nelson Melina">
-        Android: Could not find class 'javax.naming.InitialContext', referenced from method org.apache.logging.log4j.core.lookup.JndiLookup.lookup.
-      </action>
-      <action issue="LOG4J2-732" dev="ggregory" type="update">
-        Update to LMAX Disruptor 3.3.0 from 3.2.1.
-      </action>
-      <action issue="LOG4J2-733" dev="ggregory" type="update">
-        Update to latest Jackson jars from the 2.4.1.X line.
-      </action>
-    </release>
-    <release version="2.0" date="2014-07-12" description="GA Release">
-      <action issue="LOG4J2-705" dev="rpopma" type="fix">
-        Fixed issue where Async Logger does not log thread context stack data.
-        API change: added method getImmutableStackOrNull() to ThreadContext.ContextStack interface.
-      </action>
-      <action issue="LOG4J2-631" dev="rpopma" type="fix">
-        Update docs to clarify how to use formatter logger and standard logger together.
-      </action>
-      <action issue="LOG4J2-519" dev="rpopma" type="add">
-        Added support for generating custom logger wrappers that replace the existing log levels
-        and extended logger wrappers that add custom log levels to the existing ones.
-      </action>
-      <action issue="LOG4J2-441" dev="rgoers" type="fix">
-        LoggerConfigs with no Level now inherit the Level from their parent.
-      </action>
-      <action issue="LOG4J2-696" dev="ggregory" type="add">
-        RegexFilter does not match multiline log messages.
-      </action>
-      <action issue="LOG4J2-699" dev="rpopma" type="fix">
-        PatternLayout manual page missing documentation on header/footer.
-      </action>
-      <action issue="LOG4J2-625" dev="rpopma" type="fix">
-        Fixed Serialization error with SocketAppender and Async Loggers.
-        (Fixed in RC2, but wasn't included in release notes.)
-      </action>
-      <action issue="LOG4J2-538" dev="rpopma" type="fix">
-        JMX GUI: fixed occasional ArrayIndexOutOfBoundsException after pressing "reconfigure with XML below".
-        (Fixed in RC2, but wasn't included in release notes.)
-      </action>
-      <action issue="LOG4J2-666" dev="rpopma" type="fix">
-        AsyncLoggerContextSelector should ensure that different AsyncLoggerContext objects created by web app classloaders have unique names.
-      </action>
-      <action issue="LOG4J2-683" dev="mattsicker" type="fix" due-to="Jurriaan Mous">
-        Fix annotation processor warnings on JDK 1.7+.
-      </action>
-      <action issue="LOG4J2-694" dev="mattsicker" type="fix">
-        Fix strange compilation error that popped up in a test class.
-      </action>
-      <action issue="LOG4J2-692" dev="rgoers" type="fix">
-        Update documentation to specify only Maven 3 is supported.
-      </action>
-      <action issue="LOG4J2-690" dev="rgoers" type="fix" due-to="Philip Helger">
-        Log4j Web test dependencies should be in scope "test" in the pom.
-      </action>
-      <action issue="LOG4J2-682" dev="ggregory" type="fix" due-to="Scott Harrington">
-        Special characters (tab and so on) in PatternLayout do not work.
-      </action>
-      <action issue="LOG4J2-685" dev="ggregory" type="update">
-        Make org.apache.logging.log4j.core.layout.AbstractLayout immutable.
-      </action>
-      <action issue="LOG4J2-686" dev="ggregory" type="fix">
-        Core's OptionConverter support for \b is broken (affects PatternLayout).
-      </action>
-      <action issue="LOG4J2-687" dev="ggregory" type="fix">
-        Rename org.apache.logging.log4j.core.util.Closer.closeSilent() to closeSilently().
-      </action>
-      <action issue="LOG4J2-688" dev="ggregory" type="fix">
-        Make org.apache.logging.log4j.core.layout.PatternLayout immutable.
-      </action>
-      <action issue="LOG4J2-689" dev="ggregory" type="update">
-        Update Jackson to 2.4.1.
-      </action>
-      <action issue="LOG4J2-707" dev="ggregory" type="fix">
-        Some exceptions are not logged when configuration problems are detected.
-      </action>
-      <action issue="LOG4J2-709" dev="ggregory" type="update">
-        Update Apache Commons Logging to 1.2 from 1.1.3.
-      </action>
-    </release>
-    <release version="2.0-rc2" date="2014-06-21" description="Bug fixes and enhancements">
-      <action issue="LOG4J2-675" dev="rpopma" type="add">
-        RollingFile and RollingRandomAccessFile now write the layout footer before rollover.
-      </action>
-      <action issue="LOG4J2-581" dev="rpopma" type="fix" due-to="Alexander Khokhlov">
-        RollingRandomAccessFile now writes the layout header after rollover.
-      </action>
-      <action issue="LOG4J2-622" dev="rpopma" type="fix" due-to="Farooq Khan">
-        RollingFileManager now correctly honours the bufferedIO configuration after rollover.
-      </action>
-      <action issue="LOG4J2-674" dev="rpopma" type="add">
-        Made RollingFileAppender buffer size configurable.
-      </action>
-      <action issue="LOG4J2-141" dev="rpopma" type="fix" due-to="Joern Huxhorn">
-        Improved documentation regarding log4j status logger.
-      </action>
-      <action issue="LOG4J2-539" dev="rpopma" type="fix" due-to="Colin Froggatt">
-        Fixed issue with "Reconfigure using XML below" function in JMX Client GUI.
-        ConfigurationSource is now a top-level class and can be obtained with Configuration.getConfigurationSource().
-        LoggerContext.getConfiguration().getConfigurationSource()
-        provides a reliable public method for obtaining a logger context's configuration location and content.
-      </action>
-      <action issue="LOG4J2-619" dev="rgoers" type="fix" due-to="Scott Harrington">
-        Invalid XML configuration files do not prevent the config file from being checked again.
-      </action>
-      <action issue="LOG4J2-637" dev="rpopma" type="fix" due-to="Mansoor Sajjad, Jon Wilmoth">
-        JMX: Updating a Logger's level via jConsole now correctly takes effect.
-      </action>
-      <action issue="LOG4J2-668" dev="rpopma" type="fix">
-        Correctly process log events when combining AsyncLoggers with AsyncAppender.
-      </action>
-      <action issue="LOG4J2-669" dev="rpopma" type="fix">
-        Prevent NPE when combining AsyncLoggers with AsyncLoggerConfigs.
-      </action>
-      <action issue="LOG4J2-42" dev="rgoers" type="add">
-        Create an appender to route log events to the ServletContext log.
-      </action>
-      <action issue="LOG4J2-419" dev="rgoers" type="update" due-to="Woonsan Ko">
-        Support default value for missing key in look-ups with fallback to looking in the properties map.
-      </action>
-      <action issue="LOG4J2-563" dev="rgoers" type="fix" due-to="Michael Friedmann">
-        FlumeAvroManager now always uses a client type of default_failover.
-      </action>
-      <action issue="LOG4J2-554" dev="rgoers" type="update">
-        Allow configuration files to be located as Servlet Context resources.
-      </action>
-      <action issue="LOG4J2-535" dev="rgoers" type="fix">
-        Reset rollover time when size rollover is triggered.
-      </action>
-      <action issue="LOG4J2-664" dev="mattsicker" type="fix">
-        Moved plugin cache file to META-INF for OSGi compatibility.
-      </action>
-      <action issue="LOG4J2-640" dev="mattsicker" type="fix">
-        Fix NPE that can be caused by a null ThreadContextClassLoader.
-      </action>
-      <action issue="LOG4J2-655" dev="mattsicker" type="add">
-        Add Vagrantfile for testing in GNU+Linux.
-      </action>
-      <action issue="LOG4J2-651" dev="ggregory" type="fix">
-        Log4j 2 throws ArrayIndexOutOfBoundsException.
-      </action>
-      <action issue="LOG4J2-654" dev="rpopma" type="add">
-        Add log4j-perf module to provide a home for all log4j performance tests.
-        Add support for JMH microbenchmark performance tests.
-      </action>
-      <action issue="LOG4J2-652" dev="mattsicker" type="add">
-        Add support for default plugin values and attributes.
-      </action>
-      <action issue="LOG4J2-598" dev="mattsicker" type="add">
-        Add support for types other than String for plugin factory values/attributes.
-      </action>
-      <action issue="LOG4J2-250" dev="rpopma" type="update">
-        Refactor Log4jLogEvent to lazily create ThrowableProxy.
-      </action>
-      <action issue="LOG4J2-647" dev="ggregory" type="update">
-        Upgrade to Flume 1.5.0.
-      </action>
-      <action issue="LOG4J2-644" dev="ggregory" type="add">
-        Implement a SecureSocketAppender and secure server (SSL/TLS).
-      </action>
-      <action issue="LOG4J2-646" dev="ggregory" type="update">
-        Merge the TLS Syslog appender into the Syslog appender.
-      </action>
-      <action issue="LOG4J2-620" dev="rgoers" type="fix">
-        Perform reconfiguration in a separate thread to prevent deadlocks.
-      </action>
-      <action issue="LOG4J2-641" dev="mattsicker" type="update">
-        Override commons-logging dependency version in tests.
-      </action>
-      <action issue="LOG4J2-639" dev="rpopma" type="fix" due-to="Mck SembWever">
-        Prevent NPE in AsyncLogger and AsyncLoggerConfig if logger is used after log4j has been shut down.
-      </action>
-      <action issue="LOG4J2-469" dev="rgoers" type="fix">
-        FailoverAppender was not resetting its status after the primary appender recovered.
-      </action>
-      <action issue="LOG4J2-623" dev="rgoers" type="fix">
-        Generate MDC properties as a JSON map in JSONLayout.
-      </action>
-      <action issue="LOG4J2-566" dev="rpopma" type="update" due-to="Luigi Alice">
-        Made RollingRandomAccessFileAppender buffer size configurable.
-      </action>
-      <action issue="LOG4J2-520" dev="rpopma" type="fix" due-to="JavaTech, Andre Bogus">
-        Resolved issue where AsyncAppender dropped events if queue still contained
-        events when application is stopped.
-      </action>
-      <action issue="LOG4J2-392" dev="rpopma" type="fix" due-to="Andre Bogus">
-        Resolved a problem with the previous solution for LOG4J2-392 that resulted in dropped events
-        when using AsyncLoggerConfig with slow appenders when application is stopped.
-      </action>
-      <action issue="LOG4J2-613" dev="mattsicker" type="fix">
-        The OSGi version of log4j-web imports Servlet 2.5 at minimum instead of 3.0.
-      </action>
-      <action issue="LOG4J2-602" dev="rgoers" type="fix">
-        Unit tests are now less verbose during the build process.
-      </action>
-      <action issue="LOG4J2-570" dev="mattsicker" type="fix">
-        Fix shutdown thread memory leak in servlet containers.
-      </action>
-      <action issue="LOG4J2-628" dev="rpopma" type="update">
-        Use Clock to generate all log event timestamps, not just for Async Loggers.
-      </action>
-      <action issue="LOG4J2-629" dev="rpopma" type="add">
-          Document the system properties used in Log4J 2.
-      </action>
-      <action issue="LOG4J2-542" dev="rgoers" type="fix">
-        Make Throwable transient in ThrowableProxy.
-      </action>
-      <action issue="LOG4J2-617" dev="mattsicker" type="update">
-        Update SLF4J to 1.7.7.
-      </action>
-      <action issue="LOG4J2-616" dev="mattsicker" type="update">
-        Update Jackson to 2.3.3.
-      </action>
-      <action issue="LOG4J2-440" dev="mattsicker" type="fix">
-        During shutdown, a NullPointerException could be thrown due to the NullConfiguration class no longer being
-        available to the ClassLoader.
-      </action>
-      <action issue="LOG4J2-346" dev="mattsicker" type="fix">
-        Cyclic dependency with log4j-slf4j-impl in OSGi.
-      </action>
-      <action issue="LOG4J2-345" dev="mattsicker" type="fix">
-        The log4j-1.2-api module didn't export any packages to OSGi.
-      </action>
-      <action issue="LOG4J2-605" dev="mattsicker" type="fix">
-        Password data from the NoSQL plugins no longer shows up in cleartext in debug logging.
-      </action>
-      <action issue="LOG4J2-448" dev="rgoers" type="fix" due-to="X86core">
-        A StringIndexOutOfBounds exception could occur during property substitution.
-      </action>
-      <action issue="LOG4J2-597" dev="rgoers" type="fix">
-        StatusLogger was not skipping multiple instances of the FQCN class, causing messages from classes in
-        the Verbose list to be printed.
-      </action>
-      <action issue="LOG4J2-585" dev="rgoers" type="update" due-to="Bruce Brouwer">
-        Add support for multiple parents to Markers.
-      </action>
-      <action issue="LOG4J2-595" dev="mattsicker" type="add">
-        Introduce Java annotation processor as the new plugin pre-caching mechanism. This is available in log4j-core.
-        All custom plugins created before this should be re-built against the current log4j-core.
-      </action>
-      <action issue="LOG4J2-564" dev="mattsicker" type="fix">
-          Renamed SLF4J logger class to Log4jLogger.
-      </action>
-      <action issue="LOG4J2-579" dev="ggregory" type="fix">
-          Rework Level comparison APIs.
-      </action>
-      <action issue="LOG4J2-576" dev="ggregory" type="add">
-          Add org.apache.logging.log4j.Logger.getLevel().
-      </action>
-      <action issue="LOG4J2-574" dev="rpopma" type="update">
-          Make Blocking the default WaitStrategy for Async Loggers.
-      </action>
-      <action issue="LOG4J2-555" dev="rpopma" type="update" due-to="Bruce Brouwer">
-          Introduce ExtendedLogger interface to facilitate implementing and extending Loggers.
-      </action>
-      <action issue="LOG4J2-560" dev="rgoers" type="fix">
-          SyslogAppenderTest and RFC5424LayoutTest were failing in Java 8.
-      </action>
-      <action issue="LOG4J2-561" dev="ggregory" type="update" due-to="vibin">
-        Allow spaces around commas in Configuration's package attribute.
-      </action>
-      <action issue="LOG4J2-547" dev="rgoers" type="update" due-to="Bruce Brouwer">
-        Have Logger API expose a PrintWriter instead of custom LoggerStream.
-      </action>
-      <action issue="LOG4J2-439" dev="rgoers" type="add" due-to="Bruce Brouwer">
-        Add EncodingPatternConverter to escape newlines and HTML special characters.
-      </action>
-      <action issue="LOG4J2-496" dev="rgoers" type="update">
-        Allow header and footer to be specified as lookup patterns in PatternLayout.
-      </action>
-      <action issue="LOG4J2-499" dev="rgoers"  type="fix">
-        Add equals and hashcode to Log4jLogEvent.
-      </action>
-      <action issue="LOG4J2-410" dev="rgoers" type="update" due-to="Ivlin Zeng">
-        SLf4JLogger is now Serializable.
-      </action>
-      <action issue="LOG4J2-427" dev="rgoers" type="add" due-to="Alexander Reelsen">
-        Add support for configuration via YAML.
-      </action>
-      <action issue="LOG4J2-378" dev="rgoers" type="fix">
-        Add DateLookup and ThreadContextLookup to default lookups.
-      </action>
-      <action issue="LOG4J2-468" dev="rgoers" type="update">
-        Add support to add a LoggerConfig. Document two ways to modify the configuration.
-      </action>
-      <action issue="LOG4J2-582" dev="ggregory" type="update">
-        Rename org.apache.logging.log4j.core.net.SocketServer to TCPSocketServer and refactor with UDP.
-      </action>
-      <action issue="LOG4J2-592" dev="ggregory" type="update">
-        Update Jackson to 2.3.2 from 2.2.2.
-      </action>
-    </release>
-    <release version="2.0-rc1" date="2014-02-16" description="Bug fixes and enhancements">
-      <action dev="nickwilliams" type="remove">
-        Removed the DataSourceConnectionSource and the &lt;DriverManager&gt; plugin for the JDBC Appender. It is not
-        safe to use. Please use the DataSource or factory connection sources backed by a connection pool.
-      </action>
-      <action dev="nickwilliams" type="update">
-        Renamed the org.apache.logging.log4j.core.appender.db.nosql.mongo package to
-        org.apache.logging.log4j.core.appender.db.nosql.mongodb.
-      </action>
-      <action dev="grobmeier" type="update">
-        Renamed the org.apache.logging.log4j.core.appender.db.nosql.couch package to
-        org.apache.logging.log4j.core.appender.db.nosql.couchdb.
-      </action>
-      <action issue="LOG4J2-500" dev="rpopma" type="fix">
-        (JMX - ObjectNames changed!) Unloading one web application unloads JMX MBeans for all web applications.
-      </action>
-      <action issue="LOG4J2-507" dev="ggregory" type="update">
-        Space Level numbers by 100 instead of 1.
-      </action>
-      <action issue="LOG4J2-531" dev="rpopma" type="fix" due-to="Geoff Ballinger">
-        Fixed bugs where rolled log files were overwritten by RollingFile appender with
-        composite time and size based policies.
-      </action>
-      <action issue="LOG4J2-475" dev="nickwilliams" type="fix" due-to="Matt Sicker">
-        Changed the MongoDBConnection to add a MongoDB encoding hook instead of a decoding hook.
-      </action>
-      <action issue="LOG4J2-489" dev="nickwilliams" type="fix">
-        Fixed the JPAAppender's overuse of transactions by connecting (borrowing from pool) on new write internal or on
-        flush.
-      </action>
-      <action issue="LOG4J2-457" dev="nickwilliams" type="fix">
-        Fixed failure of JDBC and JPA appender to properly release database connections by connecting (borrowing from
-        pool) on new write internal or on flush.
-      </action>
-      <action issue="LOG4J2-442" dev="nickwilliams" type="fix">
-        Fixed problem with JDBC and JPA appender connectivity in WebSphere by connecting (borrowing from pool) on new
-        write internal or on flush.
-      </action>
-      <action issue="LOG4J2-438" dev="nickwilliams" type="fix">
-        Ensured the JDBCAppender commits transactions after a single write or a flush of multiple writes.
-      </action>
-      <action issue="LOG4J2-407" dev="nickwilliams" type="fix">
-        Fixed inability to recover from lost database connection in database appenders by connecting (borrowing from
-        pool) on new write internal or on flush.
-      </action>
-      <action issue="LOG4J2-530" dev="rpopma" type="add">
-        (JMX) JMX Client GUI should dynamically update when LoggerContext MBeans are registered/unregistered in MBean
-        server.
-      </action>
-      <action issue="LOG4J2-511" dev="rpopma" type="fix" due-to="James Pretorius">
-        Stop AsyncLoggerConfig Disruptor thread(s), then AsyncAppender thread(s) first
-        before stopping other appenders.
-      </action>
-      <action issue="LOG4J2-392" dev="rpopma" type="fix" due-to="ilynaf, Andre Bogus">
-        Stop AsyncLoggerConfig Disruptor thread(s), then AsyncAppender thread(s) first
-        before stopping other appenders.
-      </action>
-      <action issue="LOG4J2-345" dev="rpopma" type="fix" due-to="Roland Weiglhofer, Matt Sicker">
-        (OSGi) logging.log4j-1.2-api doesn't export the log4j API 1.2. Dependent bundles can not be resolved.
-      </action>
-      <action issue="LOG4J2-523" dev="ggregory" type="fix">
-        LocalizedMessage serialization is broken.
-      </action>
-      <action issue="LOG4J2-385" dev="rpopma" type="fix" due-to="Ace Funk, Porfirio Partida">
-        Fixed issues with time-based file rollover (monthly, weekly, hourly and every minute).
-      </action>
-      <action issue="LOG4J2-452" dev="nickwilliams" type="fix">
-        Added a ServletContext attribute that, when set to "true", disables Log4j's auto-initialization in
-        Servlet 3.0+ web applications.
-      </action>
-      <action issue="LOG4J2-512" dev="nickwilliams" type="fix" due-to="Chandra Sekhar Kakarla, Matt Sicker">
-        Exposed Log4j web support interface and methods and the LoggerContext through ServletContext attributes
-        so that threads not affected by filters (such as asynchronous threads) can utilize the LoggerContext. Also
-        updated the Log4j filter so that it supports async.
-      </action>
-      <action issue="LOG4J2-409" dev="nickwilliams" type="fix" due-to="Frank Steinmann, Thomas Neidhart">
-        Created a utility to properly escape backslashes before creating URIs, and changed URI creation to use the
-        utility instead of instantiating URI directly.
-      </action>
-      <action issue="LOG4J2-344" dev="nickwilliams" type="fix" due-to="Keir Lawson, Tomasz Wladzinski">
-        Changed the Servlet 3.0 auto-initializer to add the filter by class to get around a WebLogic bug.
-      </action>
-      <action issue="LOG4J2-359" dev="nickwilliams" type="fix" due-to="Abhinav Shah">
-        Changed the Servlet 3.0 auto-initializer so that it does nothing in a Servlet 2.5 or older application. This
-        ensures behavioral consistency across containers. This includes additional fixes to abort initialization if a
-        duplicate filter already exists and to check the actual Servlet EFFECTIVE version.
-      </action>
-      <action issue="LOG4J2-517" dev="rpopma" type="fix">
-        Switch in log4j-1.2-api Category.getEffectiveLevel has no cases for FATAL, OFF.
-      </action>
-      <action issue="LOG4J2-41" dev="rgoers" type="update" due-to="Nick Williams">
-        Add support for custom logging levels.
-      </action>
-      <action issue="LOG4J2-406" dev="rpopma" type="fix" due-to="Kerrigan Joseph">
-        (JMX) Unregister all log4j JMX MBeans when the LoggerContext is stopped
-        to allow web application classes to be GC-ed on undeploy.
-      </action>
-      <action issue="LOG4J2-405" dev="rgoers" type="fix">
-        Configuration was being processed twice at startup.
-      </action>
-      <action issue="LOG4J2-479" dev="rpopma" type="add" due-to="MK">
-        ThreadContext now uses plain ThreadLocal by default, unless system property
-        isThreadContextMapInheritable has value "true".
-      </action>
-      <action issue="LOG4J2-398" dev="rgoers" type="fix">
-        Configure properties and setup Interpolator before processing rest of configuration.
-      </action>
-      <action issue="LOG4J2-481" dev="rgoers" type="add" due-to="Matt Sicker">
-        Add Stream interface to Loggers.
-      </action>
-      <action issue="LOG4J2-490" dev="rgoers" type="update" due-to="Matt Sicker">
-        Update EasyMock to version 3.2.
-      </action>
-      <action issue="LOG4J2-470" dev="rgoers" type="fix">
-        hostName property was not being set until after the first configuration element.
-      </action>
-      <action issue="LOG4J2-464" dev="rgoers" type="fix">
-        Support arrays as sub-elements of a JSON configuration.
-      </action>
-      <action issue="LOG4J2-492" dev="rpopma" type="fix" due-to="Shaddy Baddah, Herlani Junior">
-        (JMX) Fixed MalformedObjectNameException if context name contains '=' or newline characters.
-      </action>
-      <action issue="LOG4J2-377" dev="rpopma" type="fix" due-to="Roland Weiglhofer, Matt Sicker">
-        (OSGi) Fix NPE during shutdown.
-      </action>
-      <action issue="LOG4J2-463" dev="rpopma" type="fix" due-to="Michael Diamond, Matt Sicker">
-        Fixed documentation for MyApp example application in the Automatic Configuration section
-      </action>
-      <action issue="LOG4J2-408" dev="rpopma" type="fix" due-to="Dongqing Hu, Matt Sicker">
-        Fixed error in documentation code example in manual/eventlogging.html
-      </action>
-      <action issue="LOG4J2-451" dev="rpopma" type="fix" due-to="Vinay Pothnis, Matt Sicker">
-        Fixed typo in documentation: system property should be log4j2.loggerContextFactory
-      </action>
-      <action issue="LOG4J2-443" dev="rpopma" type="fix" due-to="Colin Froggatt, Tudor Har">
-        (JMX) Fixed issue where log4j2 LoggerContext did not show up in JMX GUI or JConsole.
-      </action>
-      <action issue="LOG4J2-485" dev="rpopma" type="fix">
-        Fixed issue where toString methods that perform logging could deadlock AsyncAppender.
-      </action>
-      <action issue="LOG4J2-445" dev="rpopma" type="fix" due-to="Anthony Baldocchi">
-        ResolverUtil cannot find packages in file URLs which include the '+' character.
-      </action>
-      <action issue="LOG4J2-430" dev="rgoers" type="fix" due-to="David Gstir">
-        Use the formatted Message in RFC5424Layout for non-StructuredDataMessages.
-      </action>
-      <action issue="LOG4J2-459" dev="rgoers" type="fix">
-        Set external context when constructing the LoggerContext.
-      </action>
-      <action issue="LOG4J2-466" dev="rpopma" type="fix" due-to="Jan Tepke">
-        Cannot load log4j2 config file if path contains plus '+' characters.
-      </action>
-      <action issue="LOG4J2-462" dev="rpopma" type="fix" due-to="Daisuke Baba">
-        Fix LogEvent to never return null Level, fixes LevelPatternConverter.format may throw NPE.
-      </action>
-      <action issue="LOG4J2-465" dev="rpopma" type="fix" due-to="Daisuke Baba">
-        Fix LogEvent to never return null Level, fixes ThresholdFilter throws NPE.
-      </action>
-      <action issue="LOG4J2-471" dev="rpopma" type="fix" due-to="Anthony Baldocchi">
-        Fixed issue where toString methods that perform logging could deadlock AsyncLogger.
-      </action>
-      <action issue="LOG4J2-482" dev="rpopma" type="add" due-to="Hongdi Ren">
-        Documentation fix: The attribute of Route to refer to an appender is "ref" not "AppenderRef".
-      </action>
-      <action issue="LOG4J2-467" dev="rpopma" type="add" due-to="Anthony Baldocchi">
-        Added option to toggle Thread name caching in AsyncLogger.
-      </action>
-      <action issue="LOG4J2-478" dev="ggregory" type="fix" due-to="Michael Friedmann.">
-        The message and ndc fields are not JavaScript escaped in JSONLayout.
-      </action>
-      <action issue="LOG4J2-455" dev="rpopma" type="fix" due-to="Robin Zhang Tao">
-        RingBufferLogEvent should return Message timestamp for TimestampMessage messages.
-      </action>
-      <action issue="LOG4J2-477" dev="rpopma" type="fix" due-to="Tal Liron">
-        NPE in ClassLoaderContextSelector.
-      </action>
-      <action issue="LOG4J2-454" dev="rpopma" type="fix" due-to="Robin Zhang Tao">
-        TimeBasedTriggeringPolicy should use event time millis.
-      </action>
-      <action issue="LOG4J2-472" dev="rpopma" type="fix" due-to="Tal Liron">
-        BaseConfiguration class does not properly implement Configuration interface.
-      </action>
-      <action issue="LOG4J2-447" dev="ggregory" type="fix" due-to="Jeff Hudren, Mark Paluch, Scott Deboy">
-        XMLLayout does not include marker name.
-      </action>
-      <action issue="LOG4J2-453" dev="rgoers" type="update">
-        Update Flume Appender to use Flume 1.4.0.
-      </action>
-      <action issue="LOG4J2-423" dev="rpopma" type="add">
-        (JMX) Added MBeans for instrumenting AsyncAppenders and AsyncLogger RingBuffers,
-        exposing queue size, remaining capacity and other attributes.
-      </action>
-      <action issue="LOG4J2-323" dev="rpopma" type="fix">
-        Resolved memory leak by releasing reference to ThreadLocal when
-        AsyncLogger is stopped.
-      </action>
-      <action issue="LOG4J2-425" dev="rpopma" type="fix">
-        Resolved memory leak by populating AsyncLoggerConfigHelper ring buffer
-        via EventTranslatorTwoArg, eliminating the need for a ThreadLocal.
-      </action>
-      <action issue="LOG4J2-420" dev="ggregory" type="add">
-        Create a lookup for resource bundle substitution.
-      </action>
-      <action issue="LOG4J2-417" dev="ggregory" type="fix">
-        Fix Event Level / LoggerConfig Level table at the architecture documentation page.
-      </action>
-      <action issue="LOG4J2-415" dev="ggregory" type="add">
-        Format log event time as UNIX time (seconds or milliseconds).
-      </action>
-      <action issue="LOG4J2-404" dev="rgoers" type="fix" due-to="Kamal Bahadur">
-        @EnterpriseNumber" was missing in the ID of structured data when RFC5424Layout is used
-      </action>
-      <action issue="LOG4J2-379" dev="rpopma" type="fix">
-        Fixed issue that prevented Log4J from working in Google App Engine.
-      </action>
-      <action issue="LOG4J2-401" dev="ggregory" type="add">
-        Configure FileAppender buffer size.
-      </action>
-      <action issue="LOG4J2-402" dev="ggregory" type="add">
-        Configure RandomAccessFileAppender buffer size.
-      </action>
-      <action issue="LOG4J2-528" dev="ggregory" type="update">
-        Rename package org.apache.logging.log4j.core.appender.rolling.helper to org.apache.logging.log4j.core.appender.rolling.action.
-      </action>
-      <action issue="LOG4J2-532" dev="ggregory" type="update">
-        Resource leak in Flume appender when it cannot create a BerkeleyDB db.
-      </action>
-      <action issue="LOG4J2-413" dev="ggregory" type="update">
-        PatternLayout option to not output ANSI escape codes if no Console is available.
-      </action>
-    </release>
-    <release version="2.0-beta9" date="2013-09-14" description="Bug fixes and enhancements">
-      <action issue="LOG4J2-317" dev="ggregory" type="update">
-        Renamed FastFileAppender and FastRollingFileAppender to RandomAccessFileAppender
-        and RollingRandomAccessFileAppender. Configurations using the Fast(Rolling)File element
-        no longer work and should be modified to use the (Rolling)RandomAccessFile element.
-      </action>
-      <action dev="nickwilliams" type="update">
-        Changed the "suppressExceptions" configuration attribute for all Appenders to "ignoreExceptions" to avoid
-        confusion with Java 7 suppressed exceptions. Also renamed the Appender#isExceptionSuppressed() method to
-        Appender#ignoreExceptions() to avoid the same confusion. All Appenders by default internally log and then ignore
-        exceptions encountered while logging. Setting "ignoreExceptions" to "false" on an Appender causes it to allow
-        exceptions to propagate to the caller. You must set "ignoreExceptions" to "false" for Appenders you are wrapping
-        in the Failover Appender.
-      </action>
-      <action dev="nickwilliams" type="update">
-        Changed the (relatively new) PatternLayout configuration attribute "suppressExceptions" to
-        "alwaysWriteExceptions" to more correctly indicate what it does. As such, the meaning of this attribute has
-        reversed (previous "true"s should become "false"s, and vice versa). Since this was an undocumented attribute up
-        until now, it's unlikely this change will affect any users.
-      </action>
-      <action issue="LOG4J2-226" dev="rgoers" type="fix">
-        Fix table of contents generation in pdf.
-      </action>
-      <action issue="LOG4J2-395" dev="rgoers" type="fix" due-to="Abhinav Shah">
-        Allow classpath scheme when specifying configuration file location as a system property.
-      </action>
-      <action issue="LOG4J2-393" dev="rgoers" type="fix">
-        Initialize PluginManager once during configuration. Move advertisement setup into BaseConfiguration.
-      </action>
-      <action issue="LOG4J2-391" dev="rgoers" type="fix" due-to="Kamal Bahadur">
-        FlumePersistentManager now handles LockConflictExceptions in Berkeley Db.
-      </action>
-      <action issue="LOG4J2-399" dev="ggregory" type="add">
-        Allow the default file rollover strategy to define the compression level.
-      </action>
-      <action issue="LOG4J2-338" dev="rgoers" type="add" due-to="Tibor Benke">
-        Add TLSAppender. Also added missing license headers to several files.
-      </action>
-      <action issue="LOG4J2-380" dev="rgoers" type="fix">
-        Use rollover date when substituting ${date} in the filePattern.
-      </action>
-      <action issue="LOG4J2-253" dev="rpopma" type="add">
-        Added FAQ page to the site.
-      </action>
-      <action issue="LOG4J2-362" dev="rpopma" type="add">
-        Add a diagram to the site (FAQ page) that explains when to use which jar.
-      </action>
-      <action issue="LOG4J2-322" dev="nickwilliams" type="fix">
-        Centralized reflective use of Reflection#getCallerClass and properly handled its instability in various versions
-        of Java.
-      </action>
-      <action issue="LOG4J2-293" dev="rgoers" type="fix">
-        Reset the Configuration if the ClassLoaderContextSelector creates a LoggerContext without a configuration
-        location and then is later provided one.
-      </action>
-      <action issue="LOG4J2-293" dev="nickwilliams" type="fix" due-to="Abhinav Shah">
-        Changed the ConfigurationFactory to recognize and properly use the classpath: URI scheme in addition to the
-        classloader: URI scheme.
-      </action>
-      <action issue="LOG4J2-359" dev="nickwilliams" type="fix" due-to="Abhinav Shah">
-        Changed the Servlet 3.0 auto-initializer so that it does nothing in a Servlet 2.5 or older application. This
-        ensures behavioral consistency across containers.
-      </action>
-      <action issue="LOG4J2-374" dev="ggregory" type="add" due-to="Tibor Benke">
-        Add more options to PatternLayout to display more detailed information about a Throwable.
-      </action>
-      <action issue="LOG4J2-383" dev="ggregory" type="add">
-        [Pattern Layout] Customize level names by length.
-      </action>
-      <action issue="LOG4J2-384" dev="ggregory" type="add">
-        [Pattern Layout] Customize level names to lower-case.
-      </action>
-      <action issue="LOG4J2-355" dev="ggregory" type="update" due-to="Tibor Benke">
-        Add support for multiple SD-ELEMENTs in an RFC 5424 syslog message.
-      </action>
-      <action dev="nickwilliams" type="update">
-        Cleaned up tests and cleared up documentation for the JPA appender following the resolution of EclipseLink
-        issue #412454.
-      </action>
-      <action issue="LOG4J2-310" dev="rpopma" type="fix" due-to="Olivier Lemasle">
-        Fixed issue where SMTPAppender did not send mails with error or fatal level without prior info event.
-      </action>
-      <action issue="LOG4J2-368" dev="rgoers" type="fix">
-        Add PatternLayout constructor to Log4j 1.2 bridge for Velocity.
-      </action>
-      <action issue="LOG4J2-333" dev="ggregory" type="fix" due-to="Hervé Boutemy">
-        Match artifact ids with Maven module names.
-      </action>
-      <action issue="LOG4J2-364" dev="rgoers" type="add" due-to="David Nault">
-        Add WebLookup to retrieve information from the ServletContext.
-      </action>
-      <action issue="LOG4J2-367" dev="ggregory" type="fix" due-to="David Parry">
-        JMS appenders send two messages for one append.
-      </action>
-      <action issue="LOG4J2-319" dev="ggregory" type="fix">
-        Double stack trace logging when using %throwable in %style and %highlight.
-      </action>
-      <action issue="LOG4J2-360" dev="rgoers" type="add">
-        Allow Plugins to have aliases.
-      </action>
-      <action issue="LOG4J2-358" dev="nickwilliams" type="fix">
-        NoSQLAppender using MongoDB provider ignores username and password attributes
-      </action>
-      <action issue="LOG4J2-356" dev="ggregory" type="add">
-        Create a JSON Layout.
-      </action>
-      <action issue="LOG4J2-343" dev="rpopma" type="fix" due-to="Henning Schmiedehausen">
-        Removed unnecessary generics from Appender interface and implementing classes.
-      </action>
-      <action issue="LOG4J2-351" dev="rpopma" type="fix" due-to="Roland Weiglhofer">
-        [OSGi] wrong Fragment-Host in manifest files.
-      </action>
-      <action issue="LOG4J2-336" dev="rpopma" type="fix" due-to="Andre Bogus">
-        AsyncLogger errors after multiple calls to LoggerContext.reconfigure().
-      </action>
-      <action issue="LOG4J2-347" dev="rpopma" type="fix" due-to="David Phillips">
-        Give the AsyncAppender thread a more descriptive name for easier debugging/profiling.
-      </action>
-      <action issue="LOG4J2-332" dev="rgoers" type="fix" due-to="Hervé Boutemy">
-        Modified documentation to refer to SLF4J Binding instead of SLF4J Bridge.
-      </action>
-      <action issue="LOG4J2-342" dev="rgoers" type="fix">
-        Ignore xml:base attributes.
-      </action>
-      <action issue="LOG4J2-309" dev="rgoers" type="fix">
-        Insure jars and distributions only have a single License and Notice file.
-      </action>
-      <action issue="LOG4J2-341" dev="ggregory" type="add">
-        Enable XInclude for XML configurations.
-      </action>
-      <action issue="LOG4J2-320" dev="ggregory" type="fix">
-        JPAAppender stops logging because META-INF/log4j-provider.properties is left open.
-      </action>
-      <action issue="LOG4J2-335" dev="rgoers" type="fix">
-        FlumePersistentManager's writer thread had high CPU usage.
-      </action>
-      <action issue="LOG4J2-331" dev="nickwilliams" type="fix">
-        Removed erroneous check for affected MongoDB records, which always returns zero on inserts.
-      </action>
-      <action issue="LOG4J2-330" dev="nickwilliams" type="fix">
-        Added a BSON Transformer so that MongoDB can persist Log4j events.
-      </action>
-      <action issue="LOG4J2-329" dev="rgoers" type="fix">
-        StatusLogger now only creates StatusData objects if they are the appropriate logging level.
-      </action>
-      <action issue="LOG4J2-328" dev="rgoers" type="fix">
-        FlumePersistentManager was calling Berkeley DB's count method too frequently.
-      </action>
-      <action issue="LOG4J2-280" dev="rpopma" type="fix">
-        Additional fix to make AsyncAppender threads daemon threads and improve their thread name.
-      </action>
-      <action issue="LOG4J2-165" dev="rgoers" type="fix">
-        The slf4j-ext jar is now an optional dependency of the SLF4J bridge.
-      </action>
-      <action issue="LOG4J2-318" dev="rgoers" type="update">
-        Allow shutdown hook to be disabled in the configuration.
-      </action>
-      <action issue="LOG4J2-166" dev="rgoers" type="fix">
-        RoutingAppender's default Route can now be an appender reference.
-      </action>
-      <action issue="LOG4J2-313" dev="rgoers" type="add" due-to="Woonsan Ko">
-        Add JNDILookup plugin.
-      </action>
-      <action issue="LOG4J2-299" dev="rgoers" type="fix">
-        Add getThrowable method to ThrowableProxy.
-      </action>
-      <action issue="LOG4J2-216" dev="rgoers" type="fix">
-        ThrowableProxy no longer extends Throwable.
-      </action>
-      <action issue="LOG4J2-311" dev="rpopma" type="fix">
-        Synchronized flush() and close() methods in the XxxFileManager and OutputStreamManager classes.
-      </action>
-      <action issue="LOG4J2-312" dev="ggregory" type="update">
-        XML layout improvements (compact vs. pretty, namespace, namespace prefix, root element).
-      </action>
-      <action issue="LOG4J2-388" dev="ggregory" type="update">
-        Update Java Mail dependency to 1.5.0 from 1.4.7.
-      </action>
-      <action issue="LOG4J2-325" dev="ggregory" type="update">
-        Update JDBC tests to use H2 database 1.3.173 from 1.3.172.
-      </action>
-      <action issue="LOG4J2-366" dev="ggregory" type="update">
-        Update commons-logging to 1.1.3 from 1.1.1.
-      </action>
-      <action issue="LOG4J2-390" dev="ggregory" type="update">
-        Update HSQLDB dependency to 2.3.0 from 2.2.9.
-      </action>
-      <action issue="LOG4J2-308" dev="rpopma" type="update">
-        Clarified which library versions were used in Async Loggers performance test.
-      </action>
-      <action issue="LOG4J2-307" dev="rpopma" type="update">
-        Updated Async Loggers' LMAX Disruptor library from 3.0.1 to 3.2.0.
-      </action>
-      <action issue="LOG4J2-306" dev="ggregory" type="update">
-        Update JSON Jackson library to 2.2.2 from 2.2.1.
-      </action>
-      <action issue="LOG4J2-387" dev="ggregory" type="update">
-        Update Jackson dependency to 1.9.13 from 1.9.11.
-      </action>
-      <action issue="LOG4J2-305" dev="ggregory" type="add">
-        Ease porting from 1.x Logger.getRootLogger(): add LogManager.getRootLogger().
-      </action>
-      <action issue="LOG4J2-304" dev="rpopma" type="fix">
-        Fixed Async Loggers memory leak.
-      </action>
-      <action issue="LOG4J2-291" dev="nickwilliams" type="fix">
-        Fixed JDBC, JPA, and NoSQL appenders so that the failover appender properly fails over on error.
-      </action>
-      <action dev="nickwilliams" type="update">
-        Improved site by adding quick jump-off page and menu for Javadoc links for all components.
-      </action>
-      <action issue="LOG4J2-397" dev="ggregory" type="fix" due-to="Yonatan Graber">
-        Logger.info(Message) Javadoc is incorrect.
-      </action>
-    </release>
-    <release version="2.0-beta8" date="2013-07-10" description="Bug fixes and enhancements">
-      <action issue="LOG4J2-270" dev="nickwilliams" type="update">
-        Improved logging initialization in Servlet containers, especially Servlet 3.0 and newer where Log4j now
-        initializes and deinitializes automatically with no deployment descriptor configuration.
-      </action>
-      <action issue="LOG4J2-302" dev="rpopma" type="fix">
-        Added toString methods to ThreadContextStack/Map implementation classes.
-      </action>
-      <action issue="LOG4J2-301" dev="rgoers" type="update">
-        Add printf methods to Logger API.
-      </action>
-      <action issue="LOG4J2-300" dev="rgoers" type="fix">
-        WriterThread was ending when no agents are available which caused an OutOfMemoryError.
-      </action>
-      <action issue="LOG4J2-282" dev="rgoers" type="update">
-        Allow the default status level to be specified as a system property.
-      </action>
-      <action issue="LOG4J2-278" dev="rgoers" type="fix">
-        Filter calls from Avro or Flume to be ignored by the FlumeAppender.
-      </action>
-      <action issue="LOG4J2-279" dev="rgoers" type="fix">
-        FlumePersistentManager now calls Berkeley DB from threads to avoid encountering interrupts in the application.
-      </action>
-      <action issue="LOG4J2-296" dev="ggregory" type="fix">
-        Wasted work in FlumePersistentManager.createManager.
-      </action>
-      <action issue="LOG4J2-297" dev="ggregory" type="fix">
-        Wasted work in TestConfigurator.testEnvironment.
-      </action>
-      <action issue="LOG4J2-298" dev="ggregory" type="fix">
-        Wasted work in StyleConverterTest.setupClass.
-      </action>
-      <action issue="LOG4J2-280" dev="rpopma" type="fix">
-        AsyncLogger threads are now daemon threads and won't prevent the JVM from shutting down anymore.
-      </action>
-      <action issue="LOG4J2-295" dev="rpopma" type="fix">
-        Fast(Rolling)FileAppender now correctly handles messages exceeding the buffer size.
-      </action>
-      <action issue="LOG4J2-271" dev="rpopma" type="fix">
-        FastRollingFileAppender with TimeBasedTriggeringPolicy now works correctly if append=false.
-      </action>
-      <action issue="LOG4J2-267" dev="rpopma" type="fix">
-        FastRollingFileAppender with TimeBasedTriggeringPolicy now works correctly if append=false.
-      </action>
-      <action issue="LOG4J2-292" dev="rpopma" type="fix">
-        Fast(Rolling)FileAppender now correctly appends to (does not overwrite) existing file.
-      </action>
-      <action issue="LOG4J2-294" dev="rgoers" type="update">
-        LogManager.getLogger can now be called without a logger name or with a null logger name.
-      </action>
-      <action issue="LOG4J2-289" dev="rgoers" type="fix">
-        Upgrade javadoc plugin to 2.9.1 to fix javadoc security issue.
-      </action>
-      <action issue="LOG4J2-288" dev="gregory" type="update">
-        Update JUnit to 4.11 from 4.7.
-      </action>
-      <action issue="LOG4J2-286" dev="gregory" type="update">
-        Update test H2 JDBC driver to 1.172 from 1.171.
-      </action>
-      <action issue="LOG4J2-285" dev="gregory" type="update">
-        Update Jansi jar to 1.11 from 1.9.
-      </action>
-      <action issue="LOG4J2-284" dev="gregory" type="update">
-        Update Log4j 1 dependency to 1.2.17 from 1.2.16.
-      </action>
-      <action issue="LOG4J2-386" dev="gregory" type="update">
-        Update NoSQL dependencies: lightcouch 0.0.6 from 0.0.5, mongodb 2.11.2 from 2.11.1.
-      </action>
-      <action issue="LOG4J2-283" dev="gregory" type="update">
-        Remove dependency on Apache ORO jar.
-      </action>
-      <action issue="LOG4J2-277" dev="gregory" type="update">
-        Wasted work in RollingAppenderSizeTest.testAppender() and others.
-      </action>
-      <action issue="LOG4J2-139" dev="rgoers" type="fix">
-        Fix NullPointerException (regression due to fix for LOG4J2-228)
-      </action>
-      <action issue="LOG4J2-168" dev="rgoers" type="update" due-to="Scott Severtson">
-        Include arbitrary message fields in RFC-5424 structured data.
-      </action>
-      <action issue="LOG4J2-275" dev="rgoers" type="fix">
-        FlumeAvroManager fails to notify client of failing event if Flume RPCClient cannot be created.
-      </action>
-      <action issue="LOG4J2-274" dev="ggregory" type="update">
-        Wasted work in UUIDUtil initialization.
-      </action>
-      <action issue="LOG4J2-273" dev="ggregory" type="update">
-        Wasted work in XMLLayout.toSerializable().
-      </action>
-    </release>
-    <release version="2.0-beta7" date="2013-06-01" description="Bug fixes and enhancements">
-      <action issue="LOG4J2-249" dev="rgoers" type="update">
-        Allow context parameters in Log4jContextListener to include properties.
-      </action>
-      <action issue="LOG4J2-263" dev="rgoers" type="fix">
-        Do not allow a charset on RFC5424Layout - use UTF-8.
-      </action>
-      <action issue="LOG4J2-242" dev="rgoers" type="fix">
-        StringFormattedMessage and MessageFormatMessage now will accept a Throwable as their last argument and
-        pass it on.
-      </action>
-      <action issue="LOG4J2-243" dev="rgoers" type="update">
-        Allow custom LogEventFactories.
-      </action>
-      <action issue="LOG4J2-262" dev="rgoers" type="update" due-to="Edward Sargisson">
-        Add support for interceptors in the embedded Flume Appender.
-      </action>
-      <action issue="LOG4J2-269" dev="rgoers" type="fix">
-        Use transaction when batch size is 1.
-      </action>
-      <action issue="LOG4J2-268" dev="rgoers" type="fix">
-        Add guid to FlumeEvent headers for non-Map Messages.
-      </action>
-      <action issue="LOG4J2-246" dev="rgoers" type="fix">
-        Data buffer is reset in finally clause.
-      </action>
-      <action issue="LOG4J2-228" dev="rgoers" type="fix">
-        UDP now sends one event per packet.
-      </action>
-      <action dev="rpopma" type="update">
-        Method name changes in interface org.apache.logging.log4j.spi.ThreadContextMap:
-        getContext() to getCopy(), get() to getImmutableMapOrNull().
-      </action>
-      <action issue="LOG4J2-154" dev="rpopma" type="update">
-        Improve ThreadContext performance with copy-on-write map and stack.
-      </action>
-      <action issue="LOG4J2-261" dev="rgoers" type="fix" due-to="Edward Sargisson">
-        Add missing "not" to error message.
-      </action>
-      <action issue="LOG4J2-10" dev="rgoers" type="add" due-to="Timothy Ward">
-        Break up core into multiple osgi jars.
-      </action>
-      <action issue="LOG4J2-223" dev="rgoers" type="fix">
-        Remove LoggerContext when LoggerContext is stopped.
-      </action>
-      <action issue="LOG4J2-260" dev="ggregory" type="fix">
-        XML layout does not specify charset in content type.
-      </action>
-      <action issue="LOG4J2-259" dev="ggregory" type="fix">
-        HTML layout does not specify charset in content type.
-      </action>
-      <action issue="LOG4J2-258" dev="ggregory" type="fix">
-        HTML layout does not output meta element for charset.
-      </action>
-      <action issue="LOG4J2-257" dev="ggregory" type="fix">
-        XML layout ignores charset for the XML processing instruction's encoding attribute.
-      </action>
-      <action issue="LOG4J2-255" dev="rpopma" type="fix">
-        Multi-byte character strings are now assumed to be in the platform default encoding, not UTF-8.
-      </action>
-      <action issue="LOG4J2-254" dev="rgoers" type="fix">
-        Mark OutputStream in OutputStreamManager as volatile. Mark header and footer as final.
-      </action>
-      <action issue="LOG4J2-244" dev="rgoers" type="fix">
-        Rewrite Appender was ignoring filters on referenced appenders.
-      </action>
-      <action issue="LOG4J2-245" dev="rgoers" type="fix">
-        Avoid EmptyStack exception if getCallerClass and SecurityManager are not available.
-      </action>
-      <action issue="LOG4J2-229" dev="ggregory" type="add" due-to="Nick Williams">
-        New JDBC, JPA, and NoSQL database Appenders.
-      </action>
-      <action issue="LOG4J2-247" dev="ggregory" type="fix">
-        SocketServer.isActive should be volatile because it is accessed from different threads.
-      </action>
-      <action issue="LOG4J2-251" dev="sdeboy" type="add">
-        Provide configuration information (location, content type, content if possible) via a registered Advertiser.
-      </action>
-    </release>
-    <release version="2.0-beta6" date="2013-05-05" description="Bug fixes and enhancements">
-      <action issue="LOG4J2-231" dev="rgoers" type="fix">
-        Logger.getParent() was not returning the correct Logger.
-      </action>
-      <action issue="LOG4J2-201" dev="rgoers" type="fix">
-        Renamed Plugin annotation attribute from "type" to "category".
-      </action>
-      <action issue="LOG4J2-237" dev="rpopma" type="update">
-        Moved JMX Client GUI classes into separate jmx-gui submodule.
-      </action>
-      <action issue="LOG4J2-219" dev="rpopma" type="fix" due-to="Peter DePasquale">
-        Fix: install default root logger if not configured (this is unchanged),
-        but make sure to include configured named loggers. Clarified documentation.
-      </action>
-      <action issue="LOG4J2-159" dev="rgoers" type="fix">
-        Use OSGi version format in Fragment-Host
-      </action>
-      <action issue="LOG4J2-234" dev="rgoers" type="fix">
-        RegexFilter threw a NullPointerException when used as a context-wide filter.
-      </action>
-      <action issue="LOG4J2-192" dev="rgoers" type="fix">
-        Add support for interpolating Environment variables when processing the configuration.
-      </action>
-      <action issue="LOG4J2-235" dev="rpopma" type="fix" due-to="Sebastian Oerding">
-        Removed dependency on tools jar from core module, made jconsole dependency optional.
-      </action>
-      <action issue="LOG4J2-233" dev="rpopma" type="fix">
-        Fixed link to log4j-user mailing list.
-      </action>
-      <action issue="LOG4J2-230" dev="rpopma" type="update" due-to="Wojciech Zaręba">
-        Improved error reporting when misconfigured.
-      </action>
-      <action issue="LOG4J2-222" dev="rgoers" type="fix" due-to="Steven Yang">
-        Disruptor will now shut down during Tomcat shutdown.
-      </action>
-      <action dev="rpopma" type="update">
-        Renamed AsynchAppender to AsyncAppender. Plugin name became Async (was Asynch).
-      </action>
-      <action dev="rpopma" type="update">
-        Removed CheckStyle false positives for NewlineAtEndOfFile and whitespace following '*' at end of line in javadoc.
-      </action>
-      <action dev="rpopma" type="update">
-        Moved Clock interface to package org.apache.logging.log4j.core.helpers.
-      </action>
-      <action issue="LOG4J2-225" dev="rpopma" type="update">
-        Documentation updates to clarify use and impact of location in pattern layouts.
-      </action>
-      <action issue="LOG4J2-224" dev="rgoers" type="fix">
-        The FlumeAppender failed to start if the Flume RPCClient could not connect to any Flume agents.
-      </action>
-      <action issue="LOG4J2-223" dev="rgoers" type="fix">
-        Fix LoggerContext start and stop to eliminate IllegalStateException and NoClassDefFound errors.
-      </action>
-      <action issue="LOG4J2-221" dev="rgoers" type="fix" due-to="Nick Williams">
-        Remove hundreds of compiler warnings.
-      </action>
-      <action issue="LOG4J2-215" dev="rpopma" type="fix">
-        Various small documentation fixes.
-      </action>
-      <action issue="LOG4J2-217" dev="rpopma" type="fix" due-to="Fabien Sanglard">
-        Ensure PluginManager streams are always closed.
-      </action>
-    </release>
-    <release version="2.0-beta5" date="2013-04-20" description="Bug fixes and enhancements">
-      <action issue="LOG4J2-205" dev="rgoers" type="fix">
-        Fix deadlock in SocketAppender. Added option to not wait for socket reconnect.
-      </action>
-      <action issue="LOG4J2-207" dev="rgoers" type="add" due-to="Remko Popma">
-        Add JMX support.
-      </action>
-      <action issue="LOG4J2-211" dev="rgoers" type="fix" due-to="Nick Williams">
-        Removing extra spaces in entry and exit method output.
-      </action>
-      <action issue="LOG4J2-214" dev="rgoers" type="update" due-to="Remko Popma">
-        Async documentation update.
-      </action>
-      <action issue="LOG4J2-212" dev="rgoers" type="fix">
-        Loggers without a "." had no parent logger.
-      </action>
-      <action issue="LOG4J2-208" dev="rgoers" type="update" due-to="Remko Popma">
-        Move async subproject into core.
-      </action>
-      <action issue="LOG4J2-212" dev="rgoers" type="fix">
-        Call LoggerContext.stop when the application is shutdown.
-      </action>
-      <action issue="LOG4J2-210" dev="rgoers" type="fix" due-to="Arkin Yetis">
-        MapMessage was not enclosing key value in quotes when generating XML.
-      </action>
-      <action issue="LOG4J2-198" dev="rgoers" type="fix">
-        FlumeAvroManager now uses Flume RPCClient.
-      </action>
-      <action issue="LOG4J2-196" dev="rgoers" type="fix">
-        FlumeAvroManager now uses Flume RPCClient.
-      </action>
-      <action issue="LOG4J2-207" dev="ggregory" type="fix">
-        Use the Maven group ID org.apache.logging.log4j for all artifacts.
-      </action>
-      <action issue="LOG4J2-187" dev="rgoers" type="add" due-to="Nick Williams">
-        Add tag library.
-      </action>
-      <action issue="LOG4J2-195" dev="rgoers" type="fix" due-to="Remko Popma">
-        Unit tests now create files in the target directory.
-      </action>
-      <action issue="LOG4J2-193" dev="rgoers" type="fix" due-to="Remko Popma">
-        RollingFastFileAppender (in log4j-async) did not roll over.
-      </action>
-      <action issue="LOG4J2-199" dev="rgoers" type="fix" due-to="Remko Popma">
-        Highlight subprojects in sub-navigation.
-      </action>
-      <action issue="LOG4J2-200" dev="rgoers" type="fix" due-to="Remko Popma">
-        LoggerContext method renamed to removeFilter from removeFiler.
-      </action>
-      <action issue="LOG4J2-194" dev="rgoers" type="fix" due-to="Remko Popma">
-        ThrowableFormatOptionsTest failed on Windows due to CR/LF issue.
-      </action>
-      <action issue="LOG4J2-190" dev="rgoers" type="fix" due-to="Werner">
-        BaseConfiguration addLoggerAppender saved appender using the Logger name.
-      </action>
-      <action issue="LOG4J2-160" dev="rgoers" type="update" due-to="Joanne Polsky">
-        Move Throwable pattern converter options processing to ThrowableFormatOptions class.
-      </action>
-      <action issue="LOG4J2-157" dev="rgoers" type="update" due-to="Remko Popma">
-        Allowed Loggers access to the properties in the LoggerConfig.
-      </action>
-      <action issue="LOG4J2-153" dev="rgoers" type="update" due-to="Remko Popma">
-        Added ability to include or exclude location information.
-      </action>
-      <action issue="LOG4J2-151" dev="rgoers" type="update" due-to="Remko Popma">
-        Allow Logger and LoggerContext to be subclassed.
-      </action>
-      <action issue="LOG4J2-164" dev="rgoers" type="add" due-to="Remko Popma">
-        Add methods is/setEndOfBatch to LogEvent.
-      </action>
-      <action issue="LOG4J2-163" dev="rgoers" type="add" due-to="Remko Popma">
-        Add support for asynchronous loggers.
-      </action>
-      <action issue="LOG4J2-189" dev="rgoers" type="fix" due-to="Werner">
-        The blocking parameter did not work properly on AsynchAppender.
-      </action>
-      <action issue="LOG4J2-188" dev="rgoers" type="fix" due-to="Werner">
-        AppenderRefs on AsynchAppender didn't support the level and filter elements.
-      </action>
-      <action issue="LOG4J2-176" dev="rgoers" type="fix" due-to="Remko Popma">
-        Avoid IllegalArgumentException in AsynchAppender.
-      </action>
-      <action issue="LOG4J2-179" dev="ggregory" type="add">
-        Add Logger interface APIs to log at given levels.
-      </action>
-      <action issue="LOG4J2-181" dev="rgoers" type="fix">
-        OutputStreamManager now adds the layout header whenever the OutputStream is set.
-      </action>
-      <action issue="LOG4J2-177" dev="rgoers" type="fix" due-to="Remko Popma">
-        Fix NullPointerException in DatagramOutputStream when flush is called from multiple threads.
-      </action>
-      <action dev="rgoers" type="add">
-        Added FlumePersistentManager which writes to BerkeleyDB and then writes to Flume asynchronously.
-      </action>
-      <action issue="LOG4J2-175" dev="sdeboy" type="fix">
-        Plugin cache should be reset when addPackages is called.
-      </action>
-      <action issue="LOG4J2-155" dev="sdeboy" type="add">
-        Expose file appender configuration details via an advertisement mechanism.
-      </action>
-      <action issue="LOG4J2-159" dev="rgoers" type="fix" due-to="Jan Winter">
-        Add Fragment-Host to MANIFEST.MF for log4j-core.
-      </action>
-      <action issue="LOG4J2-167" dev="rgoers" type="fix">
-        Configurator throws a ClassCastException if LogManager returns a SimpleLoggerContext.
-      </action>
-      <action issue="LOG4J2-169" dev="rgoers" type="fix">
-        ConfigurationFactory was adding factories on every call.
-      </action>
-      <action issue="LOG4J2-161" dev="rgoers" type="fix">
-        Modify ClassLoaderContextSelector to use the first ClassLoader in the child parent hierarchy that
-        has a Context with a configuration to allow JSPs to use the WebApp's context and configuration.
-      </action>
-      <action issue="LOG4J2-158" dev="rgoers" due-to="Scott Severtson">
-        Add RFC 5424 compliant escaping rules to RFC5424Layout.
-      </action>
-    </release>
-    <release version="2.0-beta4" date="2013-01-28" description="Bug fixes and enhancements">
-      <action issue="LOG4J2-156" dev="ggregory" type="fix" due-to="Andreas Born">
-        LocalizedMessageTest fails on linux system.
-      </action>
-      <action issue="LOG4J2-152" dev="rgoers" type="fix" due-to="Remko Popma">
-        RollingFileAppender's FileRenameAction was throwing a NullPointerException if no directory was specified
-        on the target file name.
-      </action>
-      <action issue="LOG4J2-150" dev="rgoers" type="fix">
-        Convert all System.getProperty calls to use PropertiesUtil to suppress SecurityExceptions.
-      </action>
-      <action issue="LOG4J2-147" dev="rgoers" type="fix" due-to="William Burns">
-        ThreadContextMapFilter was matching on the key instead of the value of the key.
-      </action>
-      <action dev="rgoers" type="fix">
-        Allow FlumeAvroManager to initialize even if it cannot connect to an agent.
-      </action>
-      <action issue="LOG4J2-149" dev="rgoers" type="fix" due-to="Scott Severtson">
-        SMTPAppender will only cache filtered events.
-      </action>
-      <action issue="LOG4J2-145" dev="ggregory" type="fix">
-        Add missing serial version IDs.
-      </action>
-      <action issue="LOG4J2-144" dev="ggregory" type="fix">
-        NullPointerException in RFC5424Layout.
-      </action>
-      <action issue="LOG4J2-143" dev="rgoers" type="fix">
-        MessagePatternConverter now returns "null" if the log message is null.
-      </action>
-      <action issue="LOG4J2-142" dev="rgoers" type="fix">
-        Serialized LogEvents were not reset in the output stream causing them to deserialize incorrectly.
-      </action>
-      <action issue="LOG4J2-139" dev="rgoers" type="fix">
-        Fix null pointer exception in SocketAppender if no protocol is specified. The protocol will default
-        to TCP for the SocketAppender and UDP for the SyslogAppender.
-      </action>
-      <action dev="rgoers" type="add">
-        Added Log4j 2 to SLF4J adapter.
-      </action>
-      <action issue="LOG4J2-140" dev="ggregory" type="fix" due-to="Joern Huxhorn">
-        Typo in documentation of SocketAppender.
-      </action>
-      <action issue="LOG4J2-137" dev="rgoers" type="fix">
-        Fix hang in Dumbster SMTP test server.
-      </action>
-      <action issue="LOG4J2-136" dev="rgoers" type="update" due-to="Scott Severtson">
-        Allow newlines to be escaped in Syslog and RFC5424 layouts. Allow Throwables to be included in
-        the output from RFC5424Layout.
-      </action>
-      <action issue="LOG4J2-131" dev="rgoers" type="add" due-to="Scott Severtson">
-        Add SMTPAppender.
-      </action>
-      <action issue="LOG4J2-130" dev="rgoers" type="fix">
-        PatternLayout should format throwables without requiring a converter.
-      </action>
-      <action dev="rgoers" type="add">
-        Added hostName and contextName to property map.
-      </action>
-      <action issue="LOG4J2-135" dev="ggregory" type="fix" due-to="Ingo Feltes">
-        BaseConfiguration does not close the first appender.
-      </action>
-      <action dev="rgoers" type="add">
-        Add MessageFormatMessage and FormattedMessage.
-      </action>
-      <action issue="LOG4J2-134" dev="ggregory" type="add">
-        Use %red, %white, %blue, and so on in the console appender.
-      </action>
-      <action issue="LOG4J2-133" dev="ggregory" type="add">
-        Allow custom message creation via a message factory.
-      </action>
-      <action issue="LOG4J2-132" dev="ggregory" type="fix">
-        AbstractLogger.catching(Throwable) checks for DEBUG level but logs at ERROR level.
-      </action>
-      <action issue="LOG4J2-129" dev="rgoers" type="fix">
-        RoutingAppender was only creating a single appender for the default Route.
-      </action>
-      <action issue="LOG4J2-126" dev="rgoers" type="fix">
-        Allow JMS appenders to recover if the queue or topic is unavailable.
-      </action>
-      <action issue="LOG4J2-128" dev="rgoers" type="update">
-        Add follow attribute to Console Appender.
-      </action>
-      <action issue="LOG4J2-127" dev="rgoers" type="fix">
-        AbstractLogger methods were not passing Markers to the isEnabled methods.
-      </action>
-      <action dev="rgoers" type="add">
-        Added Flume Appender samples.
-      </action>
-      <action issue="LOG4J2-122" dev="rgoers" type="update">
-        Add unit test to verify exceptions are thrown when the socket connection fails.
-      </action>
-      <action issue="LOG4J2-125" dev="rgoers" type="fix">
-        JMSQueue and JMSTopic Appenders did not allow name to be specified.
-      </action>
-      <action issue="LOG4J2-111" dev="rgoers" type="fix">
-        Enhanced javadoc copyright statement.
-      </action>
-      <action issue="LOG4J2-110" dev="rgoers" type="update">
-        Renamed log4j12-api to log4j-1.2-api.
-      </action>
-      <action issue="LOG4J2-120" dev="rgoers" type="fix">
-        TCPSocketManager would fail if the initial connection could not be established.
-      </action>
-      <action issue="LOG4J2-119" dev="rgoers" type="fix">
-        A broken socket connection would cause the TCPSocketManager to continuously reconnect.
-      </action>
-      <action issue="LOG4J2-123" dev="rgoers" type="fix" due-to="Olivier Lamy">
-        The example for ThreadContextMapFilter was incorrect.
-      </action>
-      <action issue="LOG4J2-116" dev="rgoers" type="fix">
-        File renaming was using the wrong date value. Enhanced DefaultRolloverStrategy to store newest files in
-        highest index as well as lowest.
-      </action>
-      <action issue="LOG4J2-115" dev="rgoers" type="fix">
-        ThreadContext Map elements with null values are now ignored when constructing a Flume event and in the
-        RFC5424 Layout.
-      </action>
-      <action issue="LOG4J2-113" dev="rgoers" type="fix">
-        StructuredDataFilter createFilter was annotated with PluginAttr instead of PluginElement for the
-        KeyValuePairs.
-      </action>
-      <action issue="LOG4J2-114" dev="rgoers" type="fix" due-to="Arkin Yetis">
-        StructuredDataMessage was validating the length of the values in the event Map instead of the lengths
-        of the keys.
-      </action>
-    </release>
-    <release version="2.0-beta3" date="2012-11-11" description= "Bug fixes and enhancements">
-      <action issue="LOG4J2-108" dev="rgoers" type="fix">
-        Fix NullPointerException in ClassLoaderContextSelector when no class is returned from
-        the SecurityManager.
-      </action>
-      <action issue="LOG4J2-105" dev="rgoers" type="update">
-        Add ability to customize the names of the Levels in the LevelPatternConverter.
-      </action>
-      <action issue="LOG4J2-107" dev="rgoers" type="fix">
-        PatternParser was not properly handling adjacent nested options
-      </action>
-      <action issue="LOG4J2-95" dev="rgoers" type="fix">
-        Add support for loading plugins inside the OSGi bundle.
-      </action>
-      <action issue="LOG4J2-85" dev="rgoers" type="update">
-        Add ThreadContext.push(String format, Object... args)
-      </action>
-      <action issue="LOG4J2-103" dev="rgoers" type="fix" due-to="Das Archive">
-        The LogEvent was wrapping a ThrowableProxy with another ThrowableProxy when deserializing.
-      </action>
-      <action dev="rgoers" type="update">
-        Created combined jar to combine API and Core contents for users who only want the Log4j implementation.
-      </action>
-      <action issue="LOG4J2-104" dev="rgoers" type="fix">
-        Convert LogManager binding to use "regular" java properties instead of XML properties to work around a
-        bug in Oracle's xmlparserv2 jar.
-      </action>
-      <action issue="LOG4J2-28" dev="rgoers" type="add">
-        Added PropertiesRewritePolicy and ability to define properties on a Logger.
-      </action>
-      <action issue="LOG4J2-87" dev="rgoers" type="update">
-        Build pdf of user's guide.
-      </action>
-      <action issue="LOG4J2-29" dev="rgoers" type="update">
-        Added font and fontSize parameters to HTMLLayout. Replace newlines in message with br tag.
-      </action>
-      <action issue="LOG4J2-55" dev="rgoers" type="add">
-        Added ability to configure from an InputSource.
-      </action>
-      <action issue="LOG4J2-102" dev="rgoers" type="fix" due-to="Emanuele Colombo">
-        The Facility value was being improperly calculated.
-      </action>
-      <action issue="LOG4J2-101" dev="rgoers" type="fix" due-to="Emanuele Colombo">
-        A NullPointerException would occur if no format value was passed to the SyslogAppender.
-      </action>
-      <action issue="LOG4J2-99" dev="rgoers" type="fix" due-to="Das Archive">
-        MapRewritePolicy had an extra call to putAll that caused updates to behave like adds.
-      </action>
-      <action dev="rgoers" type="fix">
-        Avoid NPE when duplicate LoggerContextFactorys are present. Allow factories to specify a weight to allow
-        real implementations to outrank test implementations. Provide a simple default LoggerContextFactory.
-      </action>
-      <action issue="LOG4J2-97" dev="rgoers" type="fix">
-        Added several missing classes and methods for Log4j 1.x compatibility.
-      </action>
-      <action issue="LOG4J2-94" dev="rgoers" type="fix" due-to="Denis Treskunov">
-        Interpolator was not stripping Lookup key separator when trying to locate the default value for a variable.
-      </action>
-      <action dev="rgoers" type="fix">
-        Log4j 1.2 Category.forcedLog was wrapping the message with an ObjectMessage even if the parameter was an
-        ObjectMessage.
-      </action>
-    </release>
-    <release version="2.0-beta2" date="2012-10-07" description="Bug fixes and enhancements">
-      <action dev="rgoers" type="update">
-        Made ParameterizedMessage, StringFormattedMessage and ThreadDumpMessage immutable. LocalizedMessage is
-        immutable except that it will be updated with the logger name when it is added to the LogEvent.
-      </action>
-      <action dev="rgoers" type="fix">
-        DefaultConfiguration was not starting the Console Appender.
-      </action>
-      <action issue="LOG4J2-35" dev="rgoers" type="add">
-        Add interval and modulate options to TimeBasedTriggeringPolicy to allow more fine-grained control of
-        when file rolling should occur.
-      </action>
-      <action issue="LOG4J2-58" dev="rgoers" type="add">
-        Add support for filtering packages from stack traces.
-      </action>
-      <action issue="LOG4J2-84" dev="rgoers" type="add">
-        If system property "disableThreadContextStack" is set pushes to the ThreadContext will be ignored. If
-        system property "disableThreadContext" is set both puts and pushes will be ignored.
-      </action>
-      <action issue="LOG4J2-83" dev="rgoers" type="add">
-        If system property "disableThreadContextMap" is set puts to the ThreadContext will be ignored. If
-        system property "disableThreadContext" is set both puts and pushes will be ignored.
-      </action>
-      <action dev="rgoers" type="add">
-        Add support for ANSI colors by adding the highlight and style pattern converters. Fix pattern
-        parsing to allow nested patterns.
-      </action>
-      <action issue="LOG4J2-92" dev="rgoers" type="fix">
-        Converted DynamicThresholdFilter to use KeyValuePair. Fixed bugs in the Map-based filters
-        to allow declaration of multiple values for a key to match the documentation.
-      </action>
-      <action issue="LOG4J2-88" dev="rgoers" type="fix">
-        Many logging methods in AbstractLogger were set to an incorrect logging level. catching was
-        using the THROWING marker and was set to debug instead of error.
-      </action>
-      <action dev="rgoers" type="add">
-        Allow the status logging to be directed to stderr or to a file.
-      </action>
-      <action issue="LOG4J2-91" dev="rgoers" type="fix">
-        Log4j 1.2 adapter's Category class was missing 3 log methods.
-      </action>
-      <action issue="LOG4J2-84" dev="rgoers" type="fix">
-        If the ThreadContext stack is empty the LogEvent will contain a null value to reduce the overhead of
-        creating log events and in the size of the serialized object. Changed the ThreadContext stack to use
-        a custom stack interface instead of java.util.Stack as that class is overly heavy. This change will
-        cause an API incompatibility.
-      </action>
-      <action issue="LOG4J2-83" dev="rgoers" type="fix">
-        If the ThreadContext map is empty the LogEvent will contain a null value to reduce the overhead of creating
-        log events and in the size of the serialized object.
-      </action>
-      <action dev="rgoers" type="add">
-        Add getFormats to MultiformatMessage and allow StructuredDataMessage to format as XML.
-      </action>
-      <action issue="LOG4J2-90" dev="rgoers" type="fix">
-        Add documentation on client vs server mode to performance page.
-      </action>
-      <action dev="rgoers" type="fix">
-        Move variable substitution from PatternLayout to appropriate converters to improve performance.
-      </action>
-    </release>
-    <release version="2.0-beta1" date="2012-09-18" description="Bug fixes and enhancements">
-      <action dev="rgoers" type="add">
-        Added AsynchAppender.
-      </action>
-      <action issue="LOG4J2-81" dev="rgoers" type="fix">
-        PatternLayout was not honoring format modifiers.
-      </action>
-      <action dev="rgoers" type="fix">
-        Created web module to allow web applications to include the Log4j context listener in WEB-INF/lib even if
-        Log4j is in the container's class path. Allow locating the LoggerContext to include the ClassLoader. Updated
-        the Loader utility to always choose the child ClassLoader. Verified in Jboss 5 and Tomcat.
-      </action>
-      <action issue="LOG4J2-82" dev="rgoers" type="fix">
-        MarkerFilter called MarkerManager.getMarker causing the Marker to be created during the processing of the
-        configuration. This prevents the application from creating the Marker with any parents. MarkerWrapper in
-        SLF4J-impl was getting a ClassCastException in instanceOf because the Marker isn't a MarkerWrapper.
-      </action>
-      <action issue="LOG4J2-80" dev="rgoers" type="fix" due-to="Oliver Lamy">
-        Allow Log4j 2 to be used as the implementation with SLF4J and SLF4J's jcl-over-slf4j by adding filtering
-        to the log method in SLF4JLogger.
-      </action>
-      <action issue="LOG4J2-78" dev="rgoers" type="fix">
-        LogFactoryImpl.setAttribute in the Commons Logging bridge got a NullPointerException when passed a null value.
-        It will now remove the attribute.
-      </action>
-      <action issue="LOG4J2-77" dev="rgoers" type="fix">
-        RoutingAppender was calling the stop method for each of its referenced Appenders and was calling
-        the stop method of the default Appender a second time. It will now only call the stop method of
-        Appenders it creates.
-      </action>
-      <action issue="LOG4J2-76" dev="rgoers" type="fix">
-        RewriteAppender was calling the stop method of the referenced appender causing the referenced appender's
-        manager to have its use count decremented too many times.
-      </action>
-      <action issue="LOG4J2-74" dev="rgoers" type="fix">
-        Logger.error(Marker, Message, Throwable) was internally using Level.TRACE.
-      </action>
-      <action issue="LOG4J2-75" dev="rgoers" type="fix">
-        Enhanced Log4jContextListener to accept a configuration file location. Modified FileConfigurationMonitor
-        to monitor files configured that way. Fixed other reconfiguration related bugs. Tested in JBoss and
-        Tomcat.
-      </action>
-      <action issue="LOG4J2-72" dev="rgoers" type="fix">
-        NullPointerException in RollingFileManager when filePattern does not cause the file to be compressed.
-      </action>
-      <action issue="LOG4J2-71" dev="rgoers" type="fix">
-        FileRenameAction did not create the parent directories of the archive files causing the rollover to fail.
-      </action>
-      <action dev="rgoers" type="update">
-        Update the versions of SLF4J and Logback.
-      </action>
-    </release>
-    <release version="2.0-alpha2" date="2012-08-24" description="Bug fixes and minor enhancements">
-      <action issue="LOG4J2-70" dev="rgoers" type="add">
-        Add getLogger(Class) to LogManager.
-      </action>
-      <action issue="LOG4J2-69" dev="rgoers" type="add">
-        Allow Flume agents to be embedded into the Flume Appender.
-      </action>
-      <action issue="LOG4J2-68" dev="rgoers" type="add">
-        Add support for formatting using String.format().
-      </action>
-      <action issue="LOG4J2-67" dev="rgoers" type="add">
-        Allow components besides core to create a PluginMap for faster plugin loading and not
-        having to specify the plugin package in the configuration.
-      </action>
-      <action issue="LOG4J2-64" dev="rgoers" type="fix">
-        Fix compilation problems in Java 7.
-      </action>
-      <action issue="LOG4J2-65" dev="rgoers" type="fix">
-        Allow variable substitution on the configuration attributes and on the root log level.
-      </action>
-    </release>
-    <release version="2.0-alpha1" date="2012-07-29" description="Rewrite of Log4j">
-      <action issue="LOG4J2-60" dev="rgoers" type="add" due-to="Shane Kelly">
-        Added ability to filter on the AppenderRef by adding either a level or a filter.
-      </action>
-      <action issue="LOG4J2-56" dev="rgoers" type="fix" due-to="John Owen Atala">
-        Level.toLevel would throw an IllegalArgumentException instead of returning the default value.
-      </action>
-      <action issue="LOG4J2-51" dev="rgoers" type="fix" due-to="John Vasileff">
-        Remove LoggerContext support for custom logger factories. All Loggers returned
-        by LoggerContext should be compatible and of the same type.
-      </action>
-      <action issue="LOG4J2-50" dev="rgoers" type="fix" due-to="John Vasileff">
-        Make sure all application facing log methods use their own FQCN. This patch
-        resolves a unit test failure for the %C pattern when using the Category logger.
-      </action>
-    </release>
-  </body>
-</document>
diff --git a/src/site/asciidoc/changelog/index.adoc b/src/site/asciidoc/changelog/index.adoc
index e3c02eedc5..52164f5533 100644
--- a/src/site/asciidoc/changelog/index.adoc
+++ b/src/site/asciidoc/changelog/index.adoc
@@ -1,11 +1,18 @@
 ////
-Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements.
-See the `NOTICE.txt` file distributed with this work for additional information regarding copyright ownership.
-The ASF licenses this file to _you_ under the Apache License, Version 2.0 (the _License_); you may not use this file except in compliance with the License.
-You may obtain a copy of the License at [http://www.apache.org/licenses/LICENSE-2.0].
+    Licensed to the Apache Software Foundation (ASF) under one or more
+    contributor license agreements.  See the NOTICE file distributed with
+    this work for additional information regarding copyright ownership.
+    The ASF licenses this file to You under the Apache License, Version 2.0
+    (the "License"); you may not use this file except in compliance with
+    the License.  You may obtain a copy of the License at
 
-Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an _AS IS_ BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and limitations under the License.
+         http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing, software
+    distributed under the License is distributed on an "AS IS" BASIS,
+    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+    See the License for the specific language governing permissions and
+    limitations under the License.
 ////
 
 ////
@@ -15,53 +22,53 @@ This file is automatically generated from the release changelog directory!
 
 = Release changelogs
 
-* [2022-09-09] xref:20220909-2.19.0.adoc[2.19.0]
-* [2022-06-28] xref:20220628-2.18.0.adoc[2.18.0]
-* [2022-02-23] xref:20220223-2.17.2.adoc[2.17.2]
-* [2021-12-27] xref:20211227-2.17.1.adoc[2.17.1]
-* [2021-12-17] xref:20211217-2.17.0.adoc[2.17.0]
-* [2021-12-13] xref:20211213-2.16.0.adoc[2.16.0]
-* [2015-05-09] xref:20150509-2.3.adoc[2.3]
-* [2017-11-18] xref:20171118-2.10.0.adoc[2.10.0]
-* [2017-08-26] xref:20170826-2.9.0.adoc[2.9.0]
-* [2018-03-11] xref:20180311-2.11.0.adoc[2.11.0]
-* [2016-10-02] xref:20161002-2.7.adoc[2.7]
-* [2018-07-22] xref:20180722-2.11.1.adoc[2.11.1]
-* [2015-09-20] xref:20150920-2.4.adoc[2.4]
-* [2017-01-21] xref:20170121-2.8.adoc[2.8]
-* [2019-06-23] xref:20190623-2.12.0.adoc[2.12.0]
-* [2015-12-06] xref:20151206-2.5.adoc[2.5]
-* [2015-02-22] xref:20150222-2.2.adoc[2.2]
-* [2019-08-06] xref:20190806-2.12.1.adoc[2.12.1]
-* [2017-04-02] xref:20170402-2.8.2.adoc[2.8.2]
-* [2014-07-12] xref:20140712-2.0.adoc[2.0]
-* [2019-02-04] xref:20190204-2.11.2.adoc[2.11.2]
-* [2016-05-25] xref:20160525-2.6.adoc[2.6]
-* [2017-02-26] xref:20170226-2.8.1.adoc[2.8.1]
-* [2014-10-19] xref:20141019-2.1.adoc[2.1]
-* [2016-06-05] xref:20160605-2.6.1.adoc[2.6.1]
-* [2014-07-29] xref:20140729-2.0.1.adoc[2.0.1]
-* [2016-07-05] xref:20160705-2.6.2.adoc[2.6.2]
-* [2015-10-08] xref:20151008-2.4.1.adoc[2.4.1]
-* [2017-09-17] xref:20170917-2.9.1.adoc[2.9.1]
-* [2014-08-16] xref:20140816-2.0.2.adoc[2.0.2]
-* [2019-12-11] xref:20191211-2.13.0.adoc[2.13.0]
-* [2020-02-25] xref:20200225-2.13.1.adoc[2.13.1]
-* [2020-04-23] xref:20200423-2.13.2.adoc[2.13.2]
-* [2020-05-10] xref:20200510-2.13.3.adoc[2.13.3]
-* [2020-11-06] xref:20201106-2.14.0.adoc[2.14.0]
-* [2021-03-06] xref:20210306-2.14.1.adoc[2.14.1]
-* [2021-12-06] xref:20211206-2.15.0.adoc[2.15.0]
-* [2012-07-29] xref:20120729-2.0-alpha1.adoc[2.0-alpha1]
-* [2012-08-24] xref:20120824-2.0-alpha2.adoc[2.0-alpha2]
-* [2012-09-18] xref:20120918-2.0-beta1.adoc[2.0-beta1]
-* [2012-11-11] xref:20121111-2.0-beta3.adoc[2.0-beta3]
-* [2012-10-07] xref:20121007-2.0-beta2.adoc[2.0-beta2]
-* [2013-01-28] xref:20130128-2.0-beta4.adoc[2.0-beta4]
-* [2013-04-20] xref:20130420-2.0-beta5.adoc[2.0-beta5]
-* [2013-05-05] xref:20130505-2.0-beta6.adoc[2.0-beta6]
-* [2013-06-01] xref:20130601-2.0-beta7.adoc[2.0-beta7]
-* [2013-07-10] xref:20130710-2.0-beta8.adoc[2.0-beta8]
-* [2013-09-14] xref:20130914-2.0-beta9.adoc[2.0-beta9]
-* [2014-02-16] xref:20140216-2.0-rc1.adoc[2.0-rc1]
-* [2014-06-21] xref:20140621-2.0-rc2.adoc[2.0-rc2]
+* [2022-09-09] xref:2.19.0.adoc[2.19.0]
+* [2022-06-28] xref:2.18.0.adoc[2.18.0]
+* [2022-02-23] xref:2.17.2.adoc[2.17.2]
+* [2021-12-27] xref:2.17.1.adoc[2.17.1]
+* [2021-12-17] xref:2.17.0.adoc[2.17.0]
+* [2021-12-13] xref:2.16.0.adoc[2.16.0]
+* [2015-05-09] xref:2.3.adoc[2.3]
+* [2017-11-18] xref:2.10.0.adoc[2.10.0]
+* [2017-08-26] xref:2.9.0.adoc[2.9.0]
+* [2018-03-11] xref:2.11.0.adoc[2.11.0]
+* [2016-10-02] xref:2.7.adoc[2.7]
+* [2018-07-22] xref:2.11.1.adoc[2.11.1]
+* [2015-09-20] xref:2.4.adoc[2.4]
+* [2017-01-21] xref:2.8.adoc[2.8]
+* [2019-06-23] xref:2.12.0.adoc[2.12.0]
+* [2015-12-06] xref:2.5.adoc[2.5]
+* [2015-02-22] xref:2.2.adoc[2.2]
+* [2019-08-06] xref:2.12.1.adoc[2.12.1]
+* [2017-04-02] xref:2.8.2.adoc[2.8.2]
+* [2014-07-12] xref:2.0.adoc[2.0]
+* [2019-02-04] xref:2.11.2.adoc[2.11.2]
+* [2016-05-25] xref:2.6.adoc[2.6]
+* [2017-02-26] xref:2.8.1.adoc[2.8.1]
+* [2014-10-19] xref:2.1.adoc[2.1]
+* [2016-06-05] xref:2.6.1.adoc[2.6.1]
+* [2014-07-29] xref:2.0.1.adoc[2.0.1]
+* [2016-07-05] xref:2.6.2.adoc[2.6.2]
+* [2015-10-08] xref:2.4.1.adoc[2.4.1]
+* [2017-09-17] xref:2.9.1.adoc[2.9.1]
+* [2014-08-16] xref:2.0.2.adoc[2.0.2]
+* [2019-12-11] xref:2.13.0.adoc[2.13.0]
+* [2020-02-25] xref:2.13.1.adoc[2.13.1]
+* [2020-04-23] xref:2.13.2.adoc[2.13.2]
+* [2020-05-10] xref:2.13.3.adoc[2.13.3]
+* [2020-11-06] xref:2.14.0.adoc[2.14.0]
+* [2021-03-06] xref:2.14.1.adoc[2.14.1]
+* [2021-12-06] xref:2.15.0.adoc[2.15.0]
+* [2012-07-29] xref:2.0-alpha1.adoc[2.0-alpha1]
+* [2012-08-24] xref:2.0-alpha2.adoc[2.0-alpha2]
+* [2012-09-18] xref:2.0-beta1.adoc[2.0-beta1]
+* [2012-11-11] xref:2.0-beta3.adoc[2.0-beta3]
+* [2012-10-07] xref:2.0-beta2.adoc[2.0-beta2]
+* [2013-01-28] xref:2.0-beta4.adoc[2.0-beta4]
+* [2013-04-20] xref:2.0-beta5.adoc[2.0-beta5]
+* [2013-05-05] xref:2.0-beta6.adoc[2.0-beta6]
+* [2013-06-01] xref:2.0-beta7.adoc[2.0-beta7]
+* [2013-07-10] xref:2.0-beta8.adoc[2.0-beta8]
+* [2013-09-14] xref:2.0-beta9.adoc[2.0-beta9]
+* [2014-02-16] xref:2.0-rc1.adoc[2.0-rc1]
+* [2014-06-21] xref:2.0-rc2.adoc[2.0-rc2]
diff --git a/src/site/markdown/changelog.md b/src/site/markdown/changelog.md
deleted file mode 100644
index d021ed1965..0000000000
--- a/src/site/markdown/changelog.md
+++ /dev/null
@@ -1,34 +0,0 @@
-<!-- vim: set syn=markdown : -->
-<!--
-    Licensed to the Apache Software Foundation (ASF) under one or more
-    contributor license agreements.  See the NOTICE file distributed with
-    this work for additional information regarding copyright ownership.
-    The ASF licenses this file to You under the Apache License, Version 2.0
-    (the "License"); you may not use this file except in compliance with
-    the License.  You may obtain a copy of the License at
-
-         http://www.apache.org/licenses/LICENSE-2.0
-
-    Unless required by applicable law or agreed to in writing, software
-    distributed under the License is distributed on an "AS IS" BASIS,
-    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-    See the License for the specific language governing permissions and
-    limitations under the License.
--->
-
-# Release Changelog
-
-[JIRA-generated changelog](jira-report.html)
-
-[Manual change log](changes-report.html)
-
-Apache Log4j 2 is not compatible with the previous versions. Please have the following in mind when upgrading to
-Log4j 2 in your project:
-
-* Log4j 2.4 and greater requires Java 7, versions 2.0-alpha1 to 2.3 required Java 6.
-* The XML configuration has been simplified and is not compatible with Log4j 1.x.
-* Configuration via property files is supported from version 2.4, but is not compatible with Log4j 1.x.
-* Configuration via JSON or YAML is supported, but these formats require
-[additional runtime dependencies](runtime-dependencies.html).
-* Although Log4j 2 is not directly compatible with Log4j 1.x a compatibility bridge has been provided to reduce the
-need to make coding changes.
diff --git a/src/site/markdown/index.md.vm b/src/site/markdown/index.md.vm
index 6ee9c734e3..3b3c4a42ef 100644
--- a/src/site/markdown/index.md.vm
+++ b/src/site/markdown/index.md.vm
@@ -184,7 +184,7 @@ Log4j 1.x, an adapter is available to allow applications to continue to use the
 Adapters are also available for Apache Commons Logging, SLF4J, and java.util.logging.
 
 Log4j $Log4jReleaseVersion is the latest release of Log4j. As of Log4j 2.13.0 Log4j 2 requires Java 8 or greater at
-runtime. This release contains new features and fixes which can be found
-in the latest [changes report](changes-report.html#a$Log4jReleaseVersion).
+runtime.
+This release contains new features and fixes which are explained further in [changelogs](changelog/).
 
 Log4j $Log4jReleaseVersion maintains binary compatibility with previous releases.
diff --git a/src/site/site.xml b/src/site/site.xml
index 02915740ea..8db9e6be29 100644
--- a/src/site/site.xml
+++ b/src/site/site.xml
@@ -60,7 +60,7 @@
         <item name="Snapshot builds" href="/maven-artifacts.html#Snapshot_builds" />
       </item>
       <item name="Runtime Dependencies" href="/runtime-dependencies.html"/>
-      <item name="Changelog" href="/changelog.html"/>
+      <item name="Changelog" href="/changelog/"/>
       <item name="FAQ" href="/faq.html"/>
       <item name="Performance" href="/performance.html" collapse="true">
         <item name="Benchmarks" href="/performance.html#benchmarks" />
@@ -357,8 +357,6 @@
     </menu>
 
     <menu name="Project Reports" img="img/glyphicons/layers.png">
-      <item name="Changes Report" href="/changes-report.html" />
-      <item name="JIRA Report" href="/jira-report.html" />
       <item name="RAT Report" href="/rat-report.html" />
     </menu>
     <footer><![CDATA[<p align="center">Copyright &copy; ${project.inceptionYear}-${currentYear} <a class="external" href="https://www.apache.org">The Apache Software Foundation</a>. All Rights Reserved.<br>