You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@logging.apache.org by mi...@apache.org on 2016/10/24 08:08:47 UTC

[36/50] [abbrv] logging-log4j2 git commit: [LOG4J2-1636] Console Appender does not pick up Oracle Java 8's sun.stdout.encoding and sun.stderr.encoding. This is a partial fix. See discussion in Jira.

http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/d65bf73c/src/changes/changes.xml
----------------------------------------------------------------------
diff --git a/src/changes/changes.xml b/src/changes/changes.xml
index cd2f379..659440d 100644
--- a/src/changes/changes.xml
+++ b/src/changes/changes.xml
@@ -1,3085 +1,3090 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- vi: set sw=2: -->
-<!--
-   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>
-    <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-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 web site.
-      </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 web site.
-      </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 garabage-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">
-        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\u015b, 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 workaround 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\u0161\u010di\u0107, 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 web site/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-7

<TRUNCATED>