You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@logging.apache.org by rg...@apache.org on 2017/08/26 07:06:24 UTC

logging-log4j2 git commit: Updates in preparation for a release

Repository: logging-log4j2
Updated Branches:
  refs/heads/master 3aec69d7a -> 9223977cd


Updates in preparation for a release


Project: http://git-wip-us.apache.org/repos/asf/logging-log4j2/repo
Commit: http://git-wip-us.apache.org/repos/asf/logging-log4j2/commit/9223977c
Tree: http://git-wip-us.apache.org/repos/asf/logging-log4j2/tree/9223977c
Diff: http://git-wip-us.apache.org/repos/asf/logging-log4j2/diff/9223977c

Branch: refs/heads/master
Commit: 9223977cdb02ffd249601924357c6fabb360e1e9
Parents: 3aec69d
Author: Ralph Goers <rg...@nextiva.com>
Authored: Sat Aug 26 00:06:18 2017 -0700
Committer: Ralph Goers <rg...@nextiva.com>
Committed: Sat Aug 26 00:06:18 2017 -0700

----------------------------------------------------------------------
 RELEASE-NOTES.md                                | 270 +++++++++++++++----
 pom.xml                                         |  12 +-
 src/changes/announcement.vm                     |  23 +-
 src/site/markdown/articles.md                   |  15 +-
 src/site/markdown/javadoc.md                    |   1 -
 src/site/resources/images/logo.png              | Bin 40494 -> 33588 bytes
 .../resources/logo/logo-big-blue-cup-2.9.png    | Bin 0 -> 33588 bytes
 .../resources/logo/logo-big-blue-cup-2.9.xcf    | Bin 0 -> 61083 bytes
 src/site/resources/logo/logo-big-blue-cup.xcf   | Bin 0 -> 60186 bytes
 src/site/site.xml                               |   1 -
 10 files changed, 242 insertions(+), 80 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/9223977c/RELEASE-NOTES.md
----------------------------------------------------------------------
diff --git a/RELEASE-NOTES.md b/RELEASE-NOTES.md
index 2ffc4fe..c1c0d2e 100644
--- a/RELEASE-NOTES.md
+++ b/RELEASE-NOTES.md
@@ -1,6 +1,6 @@
-# Apache Log4j 2.8.2 Release Notes
+# Apache Log4j 2.9.0 Release Notes
 
-The Apache Log4j 2 team is pleased to announce the Log4j 2.8.2 release!
+The Apache Log4j 2 team is pleased to announce the Log4j 2.9.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
@@ -9,74 +9,242 @@ property substitution using Lookups, multiple patterns on a PatternLayout and as
 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.
 
-This release primarily contains bugfixes and minor enhancements. More details on the new features and
-fixes are itemized below.
+This release contains the first support of Java 9 as well as bugfixes and minor
+enhancements. The Log4j API was modified to use java.util.ServiceLoader to locate Log4j implementations,
+although the former binding mechanism is still supported. The Log4j jar is now a multi-release jar
+to provide implementations of the Java 9 specific classes. Multi-release jars are not supported by
+the OSGi specification so OSGi modules will not be able to take advantage of these implementations
+but will not lose functionality as they will fall back to the implementations used in Java 7 and 8.
+More details on the new features and fixes are itemized below.
 
-Note that subsequent to the 2.6 release a minor source incompatibility was found due to the
-addition of new methods to the Logger interface. If you have code that does:
+Note that subsequent to the 2.9 release, for security reasons, SerializedLayout is deprecated and no
+longer used as default in the Socket and JMS appenders. SerializedLayout can still be used as before,
+but has to be specified explicitly. To retain old behaviour, you have to change configuration like:
 
-    logger.error(null, “This is the log message”, throwable);
+    <Appenders>
+      <Socket name="socket" host="localhost" port="9500"/>
+    </Appenders>
 
-or similar with any log level you will get a compiler error saying the reference is ambiguous.
-To correct this either do:
+into:
 
-    logger.error(“This is the log message”, throwable);
+    <Appenders>
+      <Socket name="socket" host="localhost" port="9500">
+        <SerializedLayout/>
+      </Socket>
+    </Appenders>
 
-or
+We do, however, discourage the use of SerializedLayout and recommend JsonLayout as a replacement:
 
-    logger.error((Marker) null, “This is the log message”, throwable);
+    <Appenders>
+      <Socket name="socket" host="localhost" port="9500">
+        <JsonLayout properties="true"/>
+      </Socket>
+    </Appenders>
 
-The Log4j 2.8.2 API, as well as many core components, maintains binary compatibility with previous releases.
+Note that subsequent to the 2.9 release, for security reasons, Log4j does not process DTD in XML files.
+If you used DTD for including snippets, you have to use XInclude or Composite Configuration instead.
 
-## GA Release 2.8.2
+The Log4j 2.9.0 API, as well as many core components, maintains binary compatibility with previous releases.
+
+## GA Release 2.9.0
 
 Changes in this version include:
 
 ### New Features
-* [LOG4J2-1863](https://issues.apache.org/jira/browse/LOG4J2-1863):
-Add support for filtering input in TcpSocketServer and UdpSocketServer.
-* [LOG4J2-1848](https://issues.apache.org/jira/browse/LOG4J2-1848):
-Add JSON encoding support to EncodingPatternConverter %encode{}.
-* [LOG4J2-1843](https://issues.apache.org/jira/browse/LOG4J2-1843):
-Add support for appending common suffix to each line of throwable stack trace. Thanks to Zilong Song.
-* [LOG4J2-1838](https://issues.apache.org/jira/browse/LOG4J2-1838):
-Add support for appending common suffix to each line of extended and root throwable stack trace. Thanks to Zilong Song.
+* [LOG4J2-2008](https://issues.apache.org/jira/browse/LOG4J2-2008):
+Support printing multiple StructuredData elements in RFC5424Layout.
+* [LOG4J2-1986](https://issues.apache.org/jira/browse/LOG4J2-1986):
+Public API for parsing the output from JsonLayout/XmlLayout/YamlLayout into a LogEvent.
+* [LOG4J2-1981](https://issues.apache.org/jira/browse/LOG4J2-1981):
+JsonLayout, XmlLayout and YamlLayout support 0-byte termination of log events.
+* [LOG4J2-1864](https://issues.apache.org/jira/browse/LOG4J2-1864):
+Support capped collections for MongoDb appender. Thanks to Matthias Kappeller.
+* [LOG4J2-1813](https://issues.apache.org/jira/browse/LOG4J2-1813):
+Log4j2 will now print all internal logging to the console if system property `log4j2.debug` is defined with any value (or no value).
+* [LOG4J2-1766](https://issues.apache.org/jira/browse/LOG4J2-1766):
+Temporary compress directory during rollover (#88). Thanks to Pierrick HYMBERT.
+* [LOG4J2-1814](https://issues.apache.org/jira/browse/LOG4J2-1814):
+Added wrapper classes CustomLoggerGenerator and ExtendedLoggerGenerator to avoid class name with a dollar ($) character which has special meaning in many *nix command line environments.
+* [LOG4J2-1884](https://issues.apache.org/jira/browse/LOG4J2-1884):
+Added process ID (pid) pattern converter.
+* [LOG4J2-1699](https://issues.apache.org/jira/browse/LOG4J2-1699):
+Configurable Log File Permissions with PosixFilePermission. Thanks to Demetrios Dimatos, Pierrick HYMBERT.
+* [LOG4J2-1945](https://issues.apache.org/jira/browse/LOG4J2-1945):
+Generate source jas for all test jars.
+* [LOG4J2-1934](https://issues.apache.org/jira/browse/LOG4J2-1934):
+JMS Appender does not know how to recover from a broken connection.
+* [LOG4J2-1955](https://issues.apache.org/jira/browse/LOG4J2-1955):
+JMS Appender should be able connect to a broker (later) even it is not present at configuration time.
+* [LOG4J2-1874](https://issues.apache.org/jira/browse/LOG4J2-1874):
+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. Thanks to Roman Leventov.
+* [LOG4J2-1442](https://issues.apache.org/jira/browse/LOG4J2-1442):
+Generic HTTP appender.
+* [LOG4J2-1935](https://issues.apache.org/jira/browse/LOG4J2-1935):
+Add with(String, primitive) methods to org.apache.logging.log4j.message.MapMessage.
+* [LOG4J2-1930](https://issues.apache.org/jira/browse/LOG4J2-1930):
+Add forEach() methods to org.apache.logging.log4j.message.MapMessage.
+* [LOG4J2-1932](https://issues.apache.org/jira/browse/LOG4J2-1932):
+Add containsKey() methods to org.apache.logging.log4j.message.MapMessage.
+* [LOG4J2-1854](https://issues.apache.org/jira/browse/LOG4J2-1854):
+Support null byte delimiter in GelfLayout. Thanks to Xavier Jodoin.
+* [LOG4J2-1359](https://issues.apache.org/jira/browse/LOG4J2-1359):
+Add support for Java 9 StackWalker.
+* [LOG4J2-1880](https://issues.apache.org/jira/browse/LOG4J2-1880):
+Warn when a configuration file for an inactive ConfigurationFactory is found.
+* [LOG4J2-1855](https://issues.apache.org/jira/browse/LOG4J2-1855):
+Add an optional random delay in TimeBasedTriggeringPolicy Thanks to Anthony Maire.
+* [LOG4J2-1860](https://issues.apache.org/jira/browse/LOG4J2-1860):
+Shortcut to add Property and KeyValuePair component in ConfigurationBuilder.
+* [LOG4J2-1294](https://issues.apache.org/jira/browse/LOG4J2-1294):
+The JMS Appender should use a JMS MapMessage for a Log4j MapMessage.
 
 ### Fixed Bugs
-* [LOG4J2-1861](https://issues.apache.org/jira/browse/LOG4J2-1861):
-Fix JavaDoc on org.apache.logging.log4j.ThreadContext about inheritance.
-* [LOG4J2-1862](https://issues.apache.org/jira/browse/LOG4J2-1862):
-Fix JavaDoc about @Order and OrderComparator ordering. Thanks to wangyuntao.
-* [LOG4J2-1849](https://issues.apache.org/jira/browse/LOG4J2-1849):
-Fixed daylight savings time issue with FixedDateFormat.
-* [LOG4J2-1850](https://issues.apache.org/jira/browse/LOG4J2-1850):
-Fix CassandraRule and unit tests on Windows. Thanks to Ludovic Hochet.
-* [LOG4J2-1840](https://issues.apache.org/jira/browse/LOG4J2-1840):
-Fix typo in %replace converter documentation. Thanks to Pradeep Balasundaram.
-* [LOG4J2-1846](https://issues.apache.org/jira/browse/LOG4J2-1846):
-Handle when LogEvent.getLoggerName() returns null in LoggerNameLevelRewritePolicy.
-* [LOG4J2-1845](https://issues.apache.org/jira/browse/LOG4J2-1845):
-Handle when LogEvent.getLoggerName() returns null in KafkaAppender.
-* [LOG4J2-1853](https://issues.apache.org/jira/browse/LOG4J2-1853):
-The default value of RandomAccessFileAppender.Builder append field is wrong. Thanks to wangyuntao.
-* [LOG4J2-1835](https://issues.apache.org/jira/browse/LOG4J2-1835):
-Fix documentation about the licensing for JeroMQ.
-* [LOG4J2-1836](https://issues.apache.org/jira/browse/LOG4J2-1836):
-Update the API version to 2.6.0.
-* [LOG4J2-1831](https://issues.apache.org/jira/browse/LOG4J2-1831):
-NullPointerException in HtmlLayout. Thanks to Edward Serebrinskiy.
-* [LOG4J2-1820](https://issues.apache.org/jira/browse/LOG4J2-1820):
-Log4j 2.8 can lose exceptions when a security manager is present. Thanks to Jason Tedor.
+* [LOG4J2-1833](https://issues.apache.org/jira/browse/LOG4J2-1833):
+Prevent NullPointerException when a file name is specified with the DirectWriteRolloverStrategy.
+* [LOG4J2-2018](https://issues.apache.org/jira/browse/LOG4J2-2018):
+Fix incorrect documentation for LoggerNameLevelRewritePolicy.
+* [LOG4J2-922](https://issues.apache.org/jira/browse/LOG4J2-922):
+Parameter of mdcId in SyslogAppender has no default value. Thanks to angus.aqlu, Paul Burrowes.
+* [LOG4J2-2001](https://issues.apache.org/jira/browse/LOG4J2-2001):
+StyleConverter.newInstance argument validation is incorrect. Thanks to Paul Burrowes.
+* [LOG4J2-1999](https://issues.apache.org/jira/browse/LOG4J2-1999):
+HighlightConverter converts all unrecognized levels to DEBUG. Thanks to Paul Burrowes.
+* [LOG4J2-2013](https://issues.apache.org/jira/browse/LOG4J2-2013):
+SslSocketManager does not apply SSLContext on TCP reconnect. Thanks to Taylor Patton, Gary Gregory.
+* [LOG4J2-2016](https://issues.apache.org/jira/browse/LOG4J2-2016):
+Mark FileRenameAction as successful when using alternative ways to move files. Thanks to Benjamin Jaton.
+* [LOG4J2-2012](https://issues.apache.org/jira/browse/LOG4J2-2012):
+No compression when using a separate drive in Linux. Thanks to Benjamin Jaton.
+* [LOG4J2-1888](https://issues.apache.org/jira/browse/LOG4J2-1888):
+Log4j throws a java.nio.charset.UnsupportedCharsetException: cp65001. Thanks to Misagh Moayyed.
+* [LOG4J2-1990](https://issues.apache.org/jira/browse/LOG4J2-1990):
+ConcurrentModificationException logging a parameter of type Map. Thanks to Philippe Mouawad.
+* [LOG4J2-1311](https://issues.apache.org/jira/browse/LOG4J2-1311):
+SocketAppender will lose several events after re-connection to server. Thanks to Xibing Liang.
+* [LOG4J2-1977](https://issues.apache.org/jira/browse/LOG4J2-1977):
+Consider the StringBuilder's capacity instead of content length when trimming. Thanks to Jerry xnslong.
+* [LOG4J2-1971](https://issues.apache.org/jira/browse/LOG4J2-1971):
+Register log4j-core as an OSGi service. Skip tests for LOG4J2-1766 on MacOS. Use group "staff" for LOG4J2-1699 test on MacOS.
+* [LOG4J2-1994](https://issues.apache.org/jira/browse/LOG4J2-1994):
+TcpSocketServer does not close accepted Sockets.
+* [LOG4J2-1987](https://issues.apache.org/jira/browse/LOG4J2-1987):
+Log4J JUL Bridge and RMI Security Manager causes access denied ("java.util.logging.LoggingPermission" "control") Thanks to Andreas Felder.
+* [LOG4J2-1982](https://issues.apache.org/jira/browse/LOG4J2-1982):
+Log4j-config.xsd only allows one AppenderRef element for each Logger element. Thanks to Christoph Lembeck.
+* [LOG4J2-1985](https://issues.apache.org/jira/browse/LOG4J2-1985):
+Fix default buffer size to match documentation (from 8102 to 8192 a.k.a. 8KB.) Thanks to Kenneth McFarland.
+* [LOG4J2-1912](https://issues.apache.org/jira/browse/LOG4J2-1912):
+CompositeConfiguration logs warning "Unable to determine URI for configuration." However, the reconfiguration is completed. Thanks to R Ri.
+* [LOG4J2-1964](https://issues.apache.org/jira/browse/LOG4J2-1964):
+Dynamic reconfiguration does not work for filePattern of RollingFile. Thanks to Pierrick HYMBERT.
+* [LOG4J2-1961](https://issues.apache.org/jira/browse/LOG4J2-1961):
+Reconfigure breaks DirectWriteRolloverStrategy. Thanks to Christian Vent.
+* [LOG4J2-1943](https://issues.apache.org/jira/browse/LOG4J2-1943):
+The eventPrefix attribute was being ignored in the RFC5424Layout.
+* [LOG4J2-1953](https://issues.apache.org/jira/browse/LOG4J2-1953):
+JndiManager is not released when the JmsAppender builder catches an exception trying to build itself.
+* [LOG4J2-1911](https://issues.apache.org/jira/browse/LOG4J2-1911):
+Improve the documentation of the DynamicThresholdFilter.
+* [LOG4J2-1929](https://issues.apache.org/jira/browse/LOG4J2-1929):
+EOFException with FormattedMessage. Thanks to Borys Sokolov.
+* [LOG4J2-1948](https://issues.apache.org/jira/browse/LOG4J2-1948):
+Trim levels read from properties file to remove trailing spaces. Thanks to Michael Lück.
+* [LOG4J2-1971](https://issues.apache.org/jira/browse/LOG4J2-1971):
+ClassCastException: org.eclipse.osgi.internal.loader.SystemBundleLoader$1 cannot be cast to java.lang.ClassLoader. Thanks to liwenxian2017.
+* [LOG4J2-1876](https://issues.apache.org/jira/browse/LOG4J2-1876):
+More reliable checking for runtime dependencies.
+* [LOG4J2-1867](https://issues.apache.org/jira/browse/LOG4J2-1867):
+Fix configuration documentation.
+* [LOG4J2-1858](https://issues.apache.org/jira/browse/LOG4J2-1858):
+Ensure the ThreadLocal StringBuilder in ParameterizedMessage won't hold excessively much memory after logging a long message.
+* [LOG4J2-1885](https://issues.apache.org/jira/browse/LOG4J2-1885):
+Fix documentation about default additivity value for loggers.
+* [LOG4J2-1920](https://issues.apache.org/jira/browse/LOG4J2-1920):
+ScriptEngineManager is not available in Android and causes a NoClassDefFoundError. Thanks to Ajitha.
+* [LOG4J2-1989](https://issues.apache.org/jira/browse/LOG4J2-1989):
+Clarify Javadoc for AbstractTriggeringPolicy. Thanks to Kenneth McFarland.
+* [LOG4J2-1993](https://issues.apache.org/jira/browse/LOG4J2-1993):
+Fix compiler warnings in LoggerConfigTest. Thanks to Kenneth McFarland.
 
 ### Changes
-* [LOG4J2-1827](https://issues.apache.org/jira/browse/LOG4J2-1827):
-Move integration tests to their own module to speed up build.
-* [LOG4J2-1856](https://issues.apache.org/jira/browse/LOG4J2-1856):
-Update Jackson from 2.8.6 to 2.8.7.
+* [LOG4J2-1928](https://issues.apache.org/jira/browse/LOG4J2-1928):
+Add support for DirectWriteRolloverStrategy to RollingRandomAcessFileAppender.
+* [LOG4J2-2022](https://issues.apache.org/jira/browse/LOG4J2-2022):
+RFC5424Layout now prints the process id.
+* [LOG4J2-2020](https://issues.apache.org/jira/browse/LOG4J2-2020):
+Remove default layout from KafkaAppender.
+* [LOG4J2-2023](https://issues.apache.org/jira/browse/LOG4J2-2023):
+Use a class' canonical name instead of name to create its logger name.
+* [LOG4J2-2015](https://issues.apache.org/jira/browse/LOG4J2-2015):
+Allow KeyStoreConfiguration and TrustStoreConfiguration to find files as resources.
+* [LOG4J2-2011](https://issues.apache.org/jira/browse/LOG4J2-2011):
+Replace JCommander command line parser with picocli to let users run Log4j2 utility applications without requiring an external dependency.
+* [LOG4J2-1984](https://issues.apache.org/jira/browse/LOG4J2-1984):
+Allow maxLength of StructuredData to be specified by the user.
+* [LOG4J2-1071](https://issues.apache.org/jira/browse/LOG4J2-1071):
+Allow for bufferSize=0 in SMTP appender. Thanks to Ben Ludkiewicz, Benjamin Jaton.
+* [LOG4J2-1261](https://issues.apache.org/jira/browse/LOG4J2-1261):
+Async Loggers no longer use deprecated LMAX Disruptor APIs. (Disruptor-3.3.3 or higher is now required.)
+* [LOG4J2-1908](https://issues.apache.org/jira/browse/LOG4J2-1908):
+Improved error message when misconfigured with multiple incompatible appenders targeting same file.
+* [LOG4J2-1954](https://issues.apache.org/jira/browse/LOG4J2-1954):
+Configurations with multiple root loggers now fail loudly.
+* [LOG4J2-1958](https://issues.apache.org/jira/browse/LOG4J2-1958):
+Deprecate SerializedLayout and remove it as default.
+* [LOG4J2-1959](https://issues.apache.org/jira/browse/LOG4J2-1959):
+Disable DTD processing in XML configuration files.
+* [LOG4J2-1950](https://issues.apache.org/jira/browse/LOG4J2-1950):
+Fix docker build with jdk9 requirements (#84). Thanks to Pierrick HYMBERT.
+* [LOG4J2-1801](https://issues.apache.org/jira/browse/LOG4J2-1801):
+Add more detail to WARN "Ignoring log event" messages printed to the console after log4j was shut down.
+* [LOG4J2-1926](https://issues.apache.org/jira/browse/LOG4J2-1926):
+Facilitate log4j use in Android applications: remove dependency on RMI and Management APIs from log4j-api.
+* [LOG4J2-1956](https://issues.apache.org/jira/browse/LOG4J2-1956):
+JMS Appender broker password should be a char[], not a String.
+* [LOG4J2-1917](https://issues.apache.org/jira/browse/LOG4J2-1917):
+Support using java.util.ServiceLoader to locate Log4j 2 API providers.
+* [LOG4J2-1966](https://issues.apache.org/jira/browse/LOG4J2-1966):
+Include separator option of PatternLayout in manual (and other updates). Thanks to M Sazzadul Hoque.
+* [LOG4J2-1851](https://issues.apache.org/jira/browse/LOG4J2-1851):
+Move server components from log4j-core to new log4-server module.
+* [LOG4J2-1991](https://issues.apache.org/jira/browse/LOG4J2-1991):
+Refactor SimpleMessage to be concise and clear (#100) Thanks to .
+* [LOG4J2-2017](https://issues.apache.org/jira/browse/LOG4J2-2017):
+Update Jackson from 2.8.9 to 2.9.0.
+* [LOG4J2-1868](https://issues.apache.org/jira/browse/LOG4J2-1868):
+Update ZeroMQ's JeroMQ from 0.3.6 to 0.4.0.
+* [LOG4J2-1960](https://issues.apache.org/jira/browse/LOG4J2-1960):
+Update ZeroMQ's JeroMQ from 0.4.0 to 0.4.1.
+* [LOG4J2-1974](https://issues.apache.org/jira/browse/LOG4J2-1974):
+Update ZeroMQ's JeroMQ from 0.4.1 to 0.4.2.
+* [LOG4J2-1869](https://issues.apache.org/jira/browse/LOG4J2-1869):
+Update Kafka client from 0.10.1.1 to 0.10.2.0
+* [LOG4J2-1962](https://issues.apache.org/jira/browse/LOG4J2-1962):
+Update Kafka client from 0.10.2.0 to 0.11.0.0
+* [LOG4J2-1872](https://issues.apache.org/jira/browse/LOG4J2-1872):
+Update JavaMail from 1.5.5 to 1.5.6.
+* [LOG4J2-1879](https://issues.apache.org/jira/browse/LOG4J2-1879):
+Update JAnsi from 1.14 to 1.15.
+* [LOG4J2-1877](https://issues.apache.org/jira/browse/LOG4J2-1877):
+Missing documentation for Max index limit in DefaultRolloverStrategy. Thanks to Chandra Tungathurthi.
+* [LOG4J2-1899](https://issues.apache.org/jira/browse/LOG4J2-1899):
+Add missing getters to classes in package org.apache.logging.log4j.core.net.ssl.
+* [LOG4J2-1900](https://issues.apache.org/jira/browse/LOG4J2-1900):
+Update JAnsi from 1.15 to 1.16.
+* [LOG4J2-](https://issues.apache.org/jira/browse/LOG4J2-):
+Update SLF4J from 1.7.24 to 1.7.25.
+* [LOG4J2-1938](https://issues.apache.org/jira/browse/LOG4J2-1938):
+Update Jackson from 2.8.7 to 2.8.9.
+* [LOG4J2-1970](https://issues.apache.org/jira/browse/LOG4J2-1970):
+Update HdrHistogram from 2.1.8 to 2.1.9.
+* [LOG4J2-1975](https://issues.apache.org/jira/browse/LOG4J2-1975):
+Update javax.persistence from 2.1.0 to 2.1.1.
+* [LOG4J2-1976](https://issues.apache.org/jira/browse/LOG4J2-1976):
+Update org.osgi.core from 4.3.1 to 6.0.0.
 
 ---
 
-Apache Log4j 2.8.2 requires a minimum of Java 7 to build and run. Log4j 2.3 was the
+Apache Log4j 2.9.0 requires a minimum of Java 7 to build and run. Log4j 2.3 was the
 last release that supported Java 6.
 
 Basic compatibility with Log4j 1.x is provided through the log4j-1.2-api component, however it

http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/9223977c/pom.xml
----------------------------------------------------------------------
diff --git a/pom.xml b/pom.xml
index 4ecd566..60cf6ad 100644
--- a/pom.xml
+++ b/pom.xml
@@ -170,11 +170,11 @@
   <properties>
     <!-- make sure to update these for each release! -->
     <log4jParentDir>${basedir}</log4jParentDir>
-    <Log4jReleaseVersion>2.8.2</Log4jReleaseVersion>
-    <!--<Log4jReleaseManager>Ralph Goers</Log4jReleaseManager>-->
-    <!--<Log4jReleaseKey>B3D8E1BA</Log4jReleaseKey>-->
-    <Log4jReleaseManager>Matt Sicker</Log4jReleaseManager>
-    <Log4jReleaseKey>FA1C814D</Log4jReleaseKey>
+    <Log4jReleaseVersion>2.9.0</Log4jReleaseVersion>
+    <Log4jReleaseManager>Ralph Goers</Log4jReleaseManager>
+    <Log4jReleaseKey>B3D8E1BA</Log4jReleaseKey>
+    <!--<Log4jReleaseManager>Matt Sicker</Log4jReleaseManager> -->
+    <!--<Log4jReleaseKey>FA1C814D</Log4jReleaseKey> -->
     <!-- note that any properties you want available in velocity templates must not use periods! -->
     <slf4jVersion>1.7.25</slf4jVersion>
     <logbackVersion>1.2.3</logbackVersion>
@@ -1333,7 +1333,7 @@
               <templateDirectory>src/changes</templateDirectory>
               <runOnlyAtExecutionRoot>true</runOnlyAtExecutionRoot>
               <announcementDirectory>.</announcementDirectory>
-              <announcementFile>RELEASE-NOTES.txt</announcementFile>
+              <announcementFile>RELEASE-NOTES.md</announcementFile>
               <issueManagementSystems>
                 <issueManagementSystem>changes.xml</issueManagementSystem>
                 <!--<issueManagementSystem>JIRA</issueManagementSystem> -->

http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/9223977c/src/changes/announcement.vm
----------------------------------------------------------------------
diff --git a/src/changes/announcement.vm b/src/changes/announcement.vm
index d4a71ca..4a48f8e 100644
--- a/src/changes/announcement.vm
+++ b/src/changes/announcement.vm
@@ -47,8 +47,13 @@ property substitution using Lookups, multiple patterns on a PatternLayout and as
 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.
 
-This release primarily contains bugfixes and minor enhancements. More details on the new features and
-fixes are itemized below.
+This release contains the first support of Java 9 as well as bugfixes and minor
+enhancements. The Log4j API was modified to use java.util.ServiceLoader to locate Log4j implementations,
+although the former binding mechanism is still supported. The Log4j jar is now a multi-release jar
+to provide implementations of the Java 9 specific classes. Multi-release jars are not supported by
+the OSGi specification so OSGi modules will not be able to take advantage of these implementations
+but will not lose functionality as they will fall back to the implementations used in Java 7 and 8.
+More details on the new features and fixes are itemized below.
 
 Note that subsequent to the 2.9 release, for security reasons, SerializedLayout is deprecated and no
 longer used as default in the Socket and JMS appenders. SerializedLayout can still be used as before,
@@ -77,20 +82,6 @@ We do, however, discourage the use of SerializedLayout and recommend JsonLayout
 Note that subsequent to the 2.9 release, for security reasons, Log4j does not process DTD in XML files.
 If you used DTD for including snippets, you have to use XInclude or Composite Configuration instead.
 
-Note that subsequent to the 2.6 release a minor source incompatibility was found due to the
-addition of new methods to the Logger interface. If you have code that does:
-
-    logger.error(null, “This is the log message”, throwable);
-
-or similar with any log level you will get a compiler error saying the reference is ambiguous.
-To correct this either do:
-
-    logger.error(“This is the log message”, throwable);
-
-or
-
-    logger.error((Marker) null, “This is the log message”, throwable);
-
 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

http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/9223977c/src/site/markdown/articles.md
----------------------------------------------------------------------
diff --git a/src/site/markdown/articles.md b/src/site/markdown/articles.md
index 0e12563..529f8cd 100644
--- a/src/site/markdown/articles.md
+++ b/src/site/markdown/articles.md
@@ -44,11 +44,16 @@ guide for up-to-date and detailed information on how to configure and use Log4j
 
 ## English
 
-* [Log4j 2 and Lambda Expressions](http://www.baeldung.com/log4j-2-lazy-logging)(August 22, 2017)
-* [How to use Log4j 2 with Spring Boot](https://www.callicoder.com/spring-boot-log4j-2-example/)(August 11, 2017)
-* [Log4j 2 - RollingFileAppender example](https://www.boraji.com/log4j-2-rollingfileappender-example)(July 26, 2017)
-* [How Log4J2 Works: 10 Ways to Get the Most Out Of It](https://stackify.com/log4j2-java/)(June 14, 2017)
-* [Intro to Log4j2 – Appenders, Layouts and Filters](http://www.baeldung.com/log4j2-appenders-layouts-filters)(February 28, 2017)
+* [Log4j 2 and Lambda Expressions](http://www.baeldung.com/log4j-2-lazy-logging)
+(August 22, 2017)
+* [How to use Log4j 2 with Spring Boot](https://www.callicoder.com/spring-boot-log4j-2-example/)
+(August 11, 2017)
+* [Log4j 2 - RollingFileAppender example](https://www.boraji.com/log4j-2-rollingfileappender-example)
+(July 26, 2017)
+* [How Log4J2 Works: 10 Ways to Get the Most Out Of It](https://stackify.com/log4j2-java/)
+(June 14, 2017)
+* [Intro to Log4j2 – Appenders, Layouts and Filters](http://www.baeldung.com/log4j2-appenders-layouts-filters)
+(February 28, 2017)
 * [Getting Your Own Log4j2 File for Mule via Spring](https://dzone.com/articles/getting-own-log4j2-file-for-mule-via-spring)
 (December 29, 2016)
 * [Understanding and working with Log4j2 for logging in Selenium framework (Part B)](https://www.youtube.com/watch?v=-XNvCNHjIKw)

http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/9223977c/src/site/markdown/javadoc.md
----------------------------------------------------------------------
diff --git a/src/site/markdown/javadoc.md b/src/site/markdown/javadoc.md
index cf366df..b2e435f 100644
--- a/src/site/markdown/javadoc.md
+++ b/src/site/markdown/javadoc.md
@@ -30,7 +30,6 @@ Component | Description
 [Log4j IO Streams](log4j-iostreams/apidocs/index.html) | Extra classes for dealing with older APIs that expect classes from `java.io` for logging.
 [JSP Tag Library](log4j-taglib/apidocs/index.html) | The tag library that enables Java-free logging in JavaServer Pages™ using Log4j 2.
 [JSP Tag Library (TLD Doc)](log4j-taglib/tlddoc/index.html) | The special Javadoc-like Tag Library Documentation for the Log4j 2 JSP Tag Library.
-[Scala API (Scaladoc)](log4j-api-scala_2.12/scaladocs/index.html#org.apache.logging.log4j.scala.package) | The Scala wrapper for the Log4j API.
 
 The table below contains links to the Javadoc API Documentation for all the other Log4j 2 components, which you
 likely will not use directly in code but instead will only configure or include in your dependencies.

http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/9223977c/src/site/resources/images/logo.png
----------------------------------------------------------------------
diff --git a/src/site/resources/images/logo.png b/src/site/resources/images/logo.png
index 3c7a536..225e0ef 100644
Binary files a/src/site/resources/images/logo.png and b/src/site/resources/images/logo.png differ

http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/9223977c/src/site/resources/logo/logo-big-blue-cup-2.9.png
----------------------------------------------------------------------
diff --git a/src/site/resources/logo/logo-big-blue-cup-2.9.png b/src/site/resources/logo/logo-big-blue-cup-2.9.png
new file mode 100644
index 0000000..225e0ef
Binary files /dev/null and b/src/site/resources/logo/logo-big-blue-cup-2.9.png differ

http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/9223977c/src/site/resources/logo/logo-big-blue-cup-2.9.xcf
----------------------------------------------------------------------
diff --git a/src/site/resources/logo/logo-big-blue-cup-2.9.xcf b/src/site/resources/logo/logo-big-blue-cup-2.9.xcf
new file mode 100644
index 0000000..5bbb536
Binary files /dev/null and b/src/site/resources/logo/logo-big-blue-cup-2.9.xcf differ

http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/9223977c/src/site/resources/logo/logo-big-blue-cup.xcf
----------------------------------------------------------------------
diff --git a/src/site/resources/logo/logo-big-blue-cup.xcf b/src/site/resources/logo/logo-big-blue-cup.xcf
new file mode 100644
index 0000000..fc33c49
Binary files /dev/null and b/src/site/resources/logo/logo-big-blue-cup.xcf differ

http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/9223977c/src/site/site.xml
----------------------------------------------------------------------
diff --git a/src/site/site.xml b/src/site/site.xml
index 7a0059f..c684752 100644
--- a/src/site/site.xml
+++ b/src/site/site.xml
@@ -37,7 +37,6 @@
         <item name="JSP Tag Library" href="/log4j-taglib/apidocs/index.html" />
         <item name="JSP Tag Library (TLD Doc)" href="/log4j-taglib/tlddoc/index.html" />
       </item>
-      <item name="Scaladoc" href="/log4j-api-scala_2.12/scaladocs/index.html#org.apache.logging.log4j.scala.package" />
       <item name="Maven, Ivy, Gradle Artifacts" href="/maven-artifacts.html"/>
       <item name="Runtime Dependencies" href="/runtime-dependencies.html"/>
       <item name="Changelog" href="/changelog.html"/>