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 2020/11/06 20:56:29 UTC

[logging-log4j2] 01/02: Prepare for release. Add missing license headers

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

rgoers pushed a commit to branch release-2.x
in repository https://gitbox.apache.org/repos/asf/logging-log4j2.git

commit 3076c667a913cd1aec71f6e91f839f3583d663ea
Author: Ralph Goers <rg...@apache.org>
AuthorDate: Fri Nov 6 09:43:19 2020 -0700

    Prepare for release. Add missing license headers
---
 RELEASE-NOTES.md                                   | 122 ++++++++++++++++++---
 log4j-api-java9/src/test/java/module-info.java     |  16 +++
 .../template/json/util/StringParameterParser.java  |  16 +++
 .../log4j/layout/template/json/EcsLayoutTest.java  |  16 +++
 .../log4j/layout/template/json/GelfLayoutTest.java |  16 +++
 .../log4j/layout/template/json/JsonLayoutTest.java |  16 +++
 .../JsonTemplateLayoutNullEventDelimiterTest.java  |  16 +++
 .../template/json/LayoutComparisonHelpers.java     |  16 +++
 .../log4j/layout/template/json/LogstashIT.java     |  16 +++
 .../json/util/StringParameterParserTest.java       |  16 +++
 .../json/util/TruncatingBufferedWriterTest.java    |  16 +++
 .../json/JsonTemplateLayoutBenchmarkReport.java    |  16 +++
 .../config/sample/controller/K8SController.java    |  16 ++-
 pom.xml                                            |   5 +-
 src/changes/announcement.vm                        |  16 +--
 src/changes/changes.xml                            |   8 +-
 src/site/markdown/faq.md.vm                        |   2 +-
 src/site/markdown/index.md.vm                      |  21 +---
 18 files changed, 324 insertions(+), 42 deletions(-)

diff --git a/RELEASE-NOTES.md b/RELEASE-NOTES.md
index e6d1ba4..5fcd126 100644
--- a/RELEASE-NOTES.md
+++ b/RELEASE-NOTES.md
@@ -14,9 +14,9 @@
  See the License for the specific language governing permissions and
  limitations under the License.
 -->
-# Apache Log4j 2.13.3 Release Notes
+# Apache Log4j 2.14.0 Release Notes
 
-The Apache Log4j 2 team is pleased to announce the Log4j 2.13.3 release!
+The Apache Log4j 2 team is pleased to announce the Log4j 2.14.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
@@ -27,32 +27,124 @@ temporary objects) while logging. In addition, Log4j 2 will not lose events whil
 
 The artifacts may be downloaded from https://logging.apache.org/log4j/2.x/download.html.
 
-This release contains a fix for bug LOG4J2-2838.
+This release contains a new Layout, JsonTemplateLayout, that is intended to ultimately replace JsonLayout. As its
+name suggests it uses a template to define the elements to include in the JSON. This Layout was contributed by the
+author of the log4j2-logstash-layout at GitHub, and who is now a member of the Log4j community.
+
+Log4j 2.14.0 adds support for MongoDB 4 and removes support for MongoDB 2.
+
+This release also contains a number of bug fixes which are listed below.
 
 Due to a break in compatibility in the SLF4J binding, Log4j now ships with two versions of the SLF4J to Log4j adapters.
 log4j-slf4j-impl should be used with SLF4J 1.7.x and earlier and log4j-slf4j18-impl should be used with SLF4J 1.8.x and
 later.
 
-Note that the default XML, JSON and YAML formats changed in the 2.11.0 release: they no longer have the "timeMillis"
-attribute and instead have an "Instant" element with "epochSecond" and "nanoOfSecond" attributes. If the previous
-behavior is desired the "includeTimeMillis" attribute may be set to true on each of the respective Layouts.
-
-The Log4j 2.13.3 API, as well as many core components, maintains binary compatibility with previous releases.
+The Log4j 2.14.0 API, as well as many core components, maintains binary compatibility with previous releases.
 
-## GA Release 2.13.3
+## GA Release 2.14.0
 
 Changes in this version include:
 
+### New Features
+* [LOG4J2-2957](https://issues.apache.org/jira/browse/LOG4J2-2957):
+Add JsonTemplateLayout.
+* [LOG4J2-2848](https://issues.apache.org/jira/browse/LOG4J2-2848):
+Create module log4j-mongodb4 to use new major version 4 MongoDB driver.
+* [LOG4J2-2858](https://issues.apache.org/jira/browse/LOG4J2-2858):
+More flexible configuration of the Disruptor WaitStrategy. Thanks to Stepan Gorban.
 
 ### Fixed Bugs
-* [LOG4J2-2838](https://issues.apache.org/jira/browse/LOG4J2-2838):
-Fix NullPointerException in ThreadContextDataInjector.
-
-
+* [LOG4J2-2925](https://issues.apache.org/jira/browse/LOG4J2-2925):
+Fix broken link in FAQ.
+* [LOG4J2-2911](https://issues.apache.org/jira/browse/LOG4J2-2911):
+Log4j2EventListener in spring.cloud.config.client listens for wrong event.
+* [LOG4J2-2919](https://issues.apache.org/jira/browse/LOG4J2-2919):
+Call ReliabilityStrategy's beforeStopAppenders() method before stopping AsyncAppender. Thanks to Geng Yuanzhe.
+* [LOG4J2-2906](https://issues.apache.org/jira/browse/LOG4J2-2906):
+Fix UnsupportedOperationException when initializing the Log4j2CloudConfigLoggingSystem. Thanks to Stephen Joyner.
+* [LOG4J2-2908](https://issues.apache.org/jira/browse/LOG4J2-2908):
+Move Spring Lookup and Spring PropertySource to its own module.
+* [LOG4J2-2910](https://issues.apache.org/jira/browse/LOG4J2-2910):
+Log4j-web should now stores the servlet context as a map entry instead of in the single external context field.
+* [LOG4J2-2822](https://issues.apache.org/jira/browse/LOG4J2-2822):
+Javadoc link in ThreadContext description was incorrect.
+* [LOG4J2-2894](https://issues.apache.org/jira/browse/LOG4J2-2894):
+Fix spelling error in log message.
+* [LOG4J2-2901](https://issues.apache.org/jira/browse/LOG4J2-2901):
+Missing configuration files should be ignored when creating a composite configuration.
+* [LOG4J2-2883](https://issues.apache.org/jira/browse/LOG4J2-2883):
+When using DirectFileRolloverStrategy the file pattern was not being recalculated on
+        size based rollover after a time based rollover had occurred.
+* [LOG4J2-2875](https://issues.apache.org/jira/browse/LOG4J2-2875):
+Rollover was failing to create directories when using a DirectFileeRolloverStrategy.
+* [LOG4J2-2859](https://issues.apache.org/jira/browse/LOG4J2-2859):
+Fixed typos where mergeFactory should be mergeStrategy. Thanks to Yanming Zhou.
+* [LOG4J2-2832](https://issues.apache.org/jira/browse/LOG4J2-2832):
+Correct class name printed in error message in RollingFileAppender. Thanks to Benjamin Asbach.
+* [LOG4J2-2882](https://issues.apache.org/jira/browse/LOG4J2-2882):
+Support java.util.logging filters when using that API. Thanks to Emmanuel Bourg.
+* [LOG4J2-2880](https://issues.apache.org/jira/browse/LOG4J2-2880):
+Create StackWalker benchmark. Revert back to StackWalker.walk based on benchmark results.
+* [LOG4J2-2867](https://issues.apache.org/jira/browse/LOG4J2-2867):
+Obtain ContextDataProviders asynchronously.
+* [LOG4J2-2877](https://issues.apache.org/jira/browse/LOG4J2-2877):
+Determine the container id to obtain container and image information.
+* [LOG4J2-2844](https://issues.apache.org/jira/browse/LOG4J2-2844):
+Null pointer exception when no network interfaces are available.
+* [LOG4J2-2895](https://issues.apache.org/jira/browse/LOG4J2-2895):
+Fix potential deadlock in asynchronous logging by avoiding blocking for queue space on Log4jThreads
+* [LOG4J2-2837](https://issues.apache.org/jira/browse/LOG4J2-2837):
+Disruptor and JUL no longer recursively start the AsyncLoggerDisruptor
+        resulting in an extra disruptor background thread constantly waiting.
+* [LOG4J2-2867](https://issues.apache.org/jira/browse/LOG4J2-2867):
+RingBufferLogEventTranslator uses a static ContextDataInjector instead of initializing a new object
+        on each thread.
+* [LOG4J2-2898](https://issues.apache.org/jira/browse/LOG4J2-2898):
+Avoid initializing volatile fields with default values. Thanks to Turbanov Andrey.
+* [LOG4J2-2899](https://issues.apache.org/jira/browse/LOG4J2-2899):
+Fix log4j-1.2-api LogEventWrapper threadId and priority accessors when called multiple times.
+* [LOG4J2-2939](https://issues.apache.org/jira/browse/LOG4J2-2939):
+Fix NPE in MDCContextMap on 'contains' and 'isEmpty' invocations. Thanks to Constantin Hirsch.
+* [LOG4J2-2954](https://issues.apache.org/jira/browse/LOG4J2-2954):
+Prevent premature garbage collection of shutdown hooks in DefaultShutdownCallbackRegistry. Thanks to Henry Tung.
+
+### Changes
+* [LOG4J2-2889](https://issues.apache.org/jira/browse/LOG4J2-2889):
+Add date pattern support for HTML layout. Thanks to Geng Yuanzhe.
+* [LOG4J2-2892](https://issues.apache.org/jira/browse/LOG4J2-2892):
+Allow GelfLayout to produce newline delimited events. Thanks to Jakub Lukes.
+* [](https://issues.apache.org/jira/browse/LOG4J2-2892):
+Update MongoDB tests to require Java 8 unconditionally now that Log4j requires Java 8.
+* [](https://issues.apache.org/jira/browse/LOG4J2-2892):
+Update mongodb3.version from 3.12.1 to 3.12.6.
+* [](https://issues.apache.org/jira/browse/LOG4J2-2892):
+Update com.fasterxml.jackson.* 2.10.2 -&gt; 2.11.0.
+* [](https://issues.apache.org/jira/browse/LOG4J2-2892):
+Update org.apache.activemq:activemq-broker 5.15.11 -&gt; 5.16.0.
+* [](https://issues.apache.org/jira/browse/LOG4J2-2892):
+Update org.apache.commons:commons-compress 1.19 -&gt; 1.20.
+* [](https://issues.apache.org/jira/browse/LOG4J2-2892):
+Update org.apache.commons:commons-csv 1.7 -&gt; 1.8.
+* [](https://issues.apache.org/jira/browse/LOG4J2-2892):
+Update org.apache.commons:commons-lang3 3.9 -&gt; 3.10.
+* [](https://issues.apache.org/jira/browse/LOG4J2-2892):
+Update org.codehaus.groovy:* 2.5.6 -&gt; 3.0.5.
+* [](https://issues.apache.org/jira/browse/LOG4J2-2892):
+Update tests junit:junit 4.12 -&gt; 4.13.
+* [](https://issues.apache.org/jira/browse/LOG4J2-2892):
+Update tests commons-io:commons-io 2.6 -&gt; 2.7.
+* [](https://issues.apache.org/jira/browse/LOG4J2-2892):
+Update jackson 2.11.0 -&gt; 2.11.2.
+* [](https://issues.apache.org/jira/browse/LOG4J2-2892):
+Update tests hsqldb 2.5.0 -&gt; 2.5.1.
+
+### Removed
+* [LOG4J2-2851](https://issues.apache.org/jira/browse/LOG4J2-2851):
+Drop log4j-mongodb2 module.
 ---
 
-Apache Log4j 2.13.3 requires a minimum of Java 8 to build and run. Log4j 2.3 was the
-last release that supported Java 6 and Log4j 2.12.1 is the last release to support Java 7.
+Apache Log4j 2.14.0 requires a minimum of Java 8 to build and run. Log4j 2.12.1 is the last release to support
+Java 7.
 
 For complete information on Apache Log4j 2, including instructions on how to submit bug
 reports, patches, or suggestions for improvement, see the Apache Apache Log4j 2 website:
diff --git a/log4j-api-java9/src/test/java/module-info.java b/log4j-api-java9/src/test/java/module-info.java
index 8121d75..761c4be 100644
--- a/log4j-api-java9/src/test/java/module-info.java
+++ b/log4j-api-java9/src/test/java/module-info.java
@@ -1,3 +1,19 @@
+/*
+ * 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.
+ */
 open module org.apache.logging.log4j.java9test {
     exports org.apache.logging.log4j.util.java9;
     requires org.apache.logging.log4j;
diff --git a/log4j-layout-template-json/src/main/java/org/apache/logging/log4j/layout/template/json/util/StringParameterParser.java b/log4j-layout-template-json/src/main/java/org/apache/logging/log4j/layout/template/json/util/StringParameterParser.java
index 9524a19..2952d06 100644
--- a/log4j-layout-template-json/src/main/java/org/apache/logging/log4j/layout/template/json/util/StringParameterParser.java
+++ b/log4j-layout-template-json/src/main/java/org/apache/logging/log4j/layout/template/json/util/StringParameterParser.java
@@ -1,3 +1,19 @@
+/*
+ * 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.
+ */
 package org.apache.logging.log4j.layout.template.json.util;
 
 import org.apache.logging.log4j.util.Strings;
diff --git a/log4j-layout-template-json/src/test/java/org/apache/logging/log4j/layout/template/json/EcsLayoutTest.java b/log4j-layout-template-json/src/test/java/org/apache/logging/log4j/layout/template/json/EcsLayoutTest.java
index 21a87aa..4449041 100644
--- a/log4j-layout-template-json/src/test/java/org/apache/logging/log4j/layout/template/json/EcsLayoutTest.java
+++ b/log4j-layout-template-json/src/test/java/org/apache/logging/log4j/layout/template/json/EcsLayoutTest.java
@@ -1,3 +1,19 @@
+/*
+ * 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.
+ */
 package org.apache.logging.log4j.layout.template.json;
 
 import co.elastic.logging.log4j2.EcsLayout;
diff --git a/log4j-layout-template-json/src/test/java/org/apache/logging/log4j/layout/template/json/GelfLayoutTest.java b/log4j-layout-template-json/src/test/java/org/apache/logging/log4j/layout/template/json/GelfLayoutTest.java
index 03ded3c..fed0205 100644
--- a/log4j-layout-template-json/src/test/java/org/apache/logging/log4j/layout/template/json/GelfLayoutTest.java
+++ b/log4j-layout-template-json/src/test/java/org/apache/logging/log4j/layout/template/json/GelfLayoutTest.java
@@ -1,3 +1,19 @@
+/*
+ * 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.
+ */
 package org.apache.logging.log4j.layout.template.json;
 
 import org.apache.logging.log4j.core.LogEvent;
diff --git a/log4j-layout-template-json/src/test/java/org/apache/logging/log4j/layout/template/json/JsonLayoutTest.java b/log4j-layout-template-json/src/test/java/org/apache/logging/log4j/layout/template/json/JsonLayoutTest.java
index 30cdfe6..5a564d0 100644
--- a/log4j-layout-template-json/src/test/java/org/apache/logging/log4j/layout/template/json/JsonLayoutTest.java
+++ b/log4j-layout-template-json/src/test/java/org/apache/logging/log4j/layout/template/json/JsonLayoutTest.java
@@ -1,3 +1,19 @@
+/*
+ * 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.
+ */
 package org.apache.logging.log4j.layout.template.json;
 
 import org.apache.logging.log4j.core.LogEvent;
diff --git a/log4j-layout-template-json/src/test/java/org/apache/logging/log4j/layout/template/json/JsonTemplateLayoutNullEventDelimiterTest.java b/log4j-layout-template-json/src/test/java/org/apache/logging/log4j/layout/template/json/JsonTemplateLayoutNullEventDelimiterTest.java
index 73d365c..4af1ca1 100644
--- a/log4j-layout-template-json/src/test/java/org/apache/logging/log4j/layout/template/json/JsonTemplateLayoutNullEventDelimiterTest.java
+++ b/log4j-layout-template-json/src/test/java/org/apache/logging/log4j/layout/template/json/JsonTemplateLayoutNullEventDelimiterTest.java
@@ -1,3 +1,19 @@
+/*
+ * 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.
+ */
 package org.apache.logging.log4j.layout.template.json;
 
 import org.apache.logging.log4j.Level;
diff --git a/log4j-layout-template-json/src/test/java/org/apache/logging/log4j/layout/template/json/LayoutComparisonHelpers.java b/log4j-layout-template-json/src/test/java/org/apache/logging/log4j/layout/template/json/LayoutComparisonHelpers.java
index c1a9b37..e0be875 100644
--- a/log4j-layout-template-json/src/test/java/org/apache/logging/log4j/layout/template/json/LayoutComparisonHelpers.java
+++ b/log4j-layout-template-json/src/test/java/org/apache/logging/log4j/layout/template/json/LayoutComparisonHelpers.java
@@ -1,3 +1,19 @@
+/*
+ * 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.
+ */
 package org.apache.logging.log4j.layout.template.json;
 
 import org.apache.logging.log4j.core.Layout;
diff --git a/log4j-layout-template-json/src/test/java/org/apache/logging/log4j/layout/template/json/LogstashIT.java b/log4j-layout-template-json/src/test/java/org/apache/logging/log4j/layout/template/json/LogstashIT.java
index 84673ef..0ec0aa3 100644
--- a/log4j-layout-template-json/src/test/java/org/apache/logging/log4j/layout/template/json/LogstashIT.java
+++ b/log4j-layout-template-json/src/test/java/org/apache/logging/log4j/layout/template/json/LogstashIT.java
@@ -1,3 +1,19 @@
+/*
+ * 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.
+ */
 package org.apache.logging.log4j.layout.template.json;
 
 import co.elastic.logging.log4j2.EcsLayout;
diff --git a/log4j-layout-template-json/src/test/java/org/apache/logging/log4j/layout/template/json/util/StringParameterParserTest.java b/log4j-layout-template-json/src/test/java/org/apache/logging/log4j/layout/template/json/util/StringParameterParserTest.java
index 651f3b1..601c578 100644
--- a/log4j-layout-template-json/src/test/java/org/apache/logging/log4j/layout/template/json/util/StringParameterParserTest.java
+++ b/log4j-layout-template-json/src/test/java/org/apache/logging/log4j/layout/template/json/util/StringParameterParserTest.java
@@ -1,3 +1,19 @@
+/*
+ * 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.
+ */
 package org.apache.logging.log4j.layout.template.json.util;
 
 import org.apache.logging.log4j.layout.template.json.util.StringParameterParser.DoubleQuotedStringValue;
diff --git a/log4j-layout-template-json/src/test/java/org/apache/logging/log4j/layout/template/json/util/TruncatingBufferedWriterTest.java b/log4j-layout-template-json/src/test/java/org/apache/logging/log4j/layout/template/json/util/TruncatingBufferedWriterTest.java
index 4b3d3e0..6e46197 100644
--- a/log4j-layout-template-json/src/test/java/org/apache/logging/log4j/layout/template/json/util/TruncatingBufferedWriterTest.java
+++ b/log4j-layout-template-json/src/test/java/org/apache/logging/log4j/layout/template/json/util/TruncatingBufferedWriterTest.java
@@ -1,3 +1,19 @@
+/*
+ * 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.
+ */
 package org.apache.logging.log4j.layout.template.json.util;
 
 import org.assertj.core.api.Assertions;
diff --git a/log4j-perf/src/main/java/org/apache/logging/log4j/layout/template/json/JsonTemplateLayoutBenchmarkReport.java b/log4j-perf/src/main/java/org/apache/logging/log4j/layout/template/json/JsonTemplateLayoutBenchmarkReport.java
index 5f8dd2c..523278f 100644
--- a/log4j-perf/src/main/java/org/apache/logging/log4j/layout/template/json/JsonTemplateLayoutBenchmarkReport.java
+++ b/log4j-perf/src/main/java/org/apache/logging/log4j/layout/template/json/JsonTemplateLayoutBenchmarkReport.java
@@ -1,3 +1,19 @@
+/*
+ * 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.
+ */
 package org.apache.logging.log4j.layout.template.json;
 
 import org.apache.logging.log4j.layout.template.json.util.JsonReader;
diff --git a/log4j-spring-cloud-config/log4j-spring-cloud-config-samples/log4j-spring-cloud-config-sample-application/src/main/java/org/apache/logging/log4j/spring/cloud/config/sample/controller/K8SController.java b/log4j-spring-cloud-config/log4j-spring-cloud-config-samples/log4j-spring-cloud-config-sample-application/src/main/java/org/apache/logging/log4j/spring/cloud/config/sample/controller/K8SController.java
index 5059a49..6322361 100644
--- a/log4j-spring-cloud-config/log4j-spring-cloud-config-samples/log4j-spring-cloud-config-sample-application/src/main/java/org/apache/logging/log4j/spring/cloud/config/sample/controller/K8SController.java
+++ b/log4j-spring-cloud-config/log4j-spring-cloud-config-samples/log4j-spring-cloud-config-sample-application/src/main/java/org/apache/logging/log4j/spring/cloud/config/sample/controller/K8SController.java
@@ -1,6 +1,18 @@
 /*
- * Copyright (c) 2020 Nextiva, Inc. to Present.
- * All rights reserved.
+ * 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.
  */
 
 package org.apache.logging.log4j.spring.cloud.config.sample.controller;
diff --git a/pom.xml b/pom.xml
index 5ef4de1..2ba42a9 100644
--- a/pom.xml
+++ b/pom.xml
@@ -179,7 +179,7 @@
   <properties>
     <!-- make sure to update these for each release! -->
     <log4jParentDir>${basedir}</log4jParentDir>
-    <Log4jReleaseVersion>2.13.3</Log4jReleaseVersion>
+    <Log4jReleaseVersion>2.14.0</Log4jReleaseVersion>
     <Log4jReleaseManager>Ralph Goers</Log4jReleaseManager>
     <Log4jReleaseKey>B3D8E1BA</Log4jReleaseKey>
     <!--<Log4jReleaseManager>Matt Sicker</Log4jReleaseManager> -->
@@ -1315,6 +1315,7 @@
             <exclude>felix-cache/**</exclude>
             <exclude>**/README.md</exclude>
             <exclude>RELEASE-NOTES.md</exclude>
+            <exclude>SECURITY.md</exclude>
             <exclude>**/*.yml</exclude>
             <exclude>**/*.yaml</exclude>
             <exclude>**/*.json</exclude>
@@ -1448,6 +1449,7 @@
             <!-- Other -->
             <exclude>felix-cache/**</exclude>
             <exclude>**/README.md</exclude>
+            <exclude>SECURITY.md</exclude>
             <exclude>RELEASE-NOTES.md</exclude>
             <exclude>**/*.yml</exclude>
             <exclude>**/*.yaml</exclude>
@@ -1621,6 +1623,7 @@
                 <exclude>felix-cache/**</exclude>
                 <exclude>**/README.md</exclude>
                 <exclude>RELEASE-NOTES.md</exclude>
+                <exclude>SECURITY.md</exclude>
                 <exclude>**/*.yml</exclude>
                 <exclude>**/*.yaml</exclude>
                 <exclude>**/*.json</exclude>
diff --git a/src/changes/announcement.vm b/src/changes/announcement.vm
index 2828b54..b72d307 100644
--- a/src/changes/announcement.vm
+++ b/src/changes/announcement.vm
@@ -65,16 +65,18 @@ temporary objects) while logging. In addition, Log4j 2 will not lose events whil
 
 The artifacts may be downloaded from https://logging.apache.org/log4j/2.x/download.html.
 
-This release contains a fix for bug LOG4J2-2838.
+This release contains a new Layout, JsonTemplateLayout, that is intended to ultimately replace JsonLayout. As its
+name suggests it uses a template to define the elements to include in the JSON. This Layout was contributed by the
+author of the log4j2-logstash-layout at GitHub, and who is now a member of the Log4j community.
+
+Log4j 2.14.0 adds support for MongoDB 4 and removes support for MongoDB 2.
+
+This release also contains a number of bug fixes which are listed below.
 
 Due to a break in compatibility in the SLF4J binding, Log4j now ships with two versions of the SLF4J to Log4j adapters.
 log4j-slf4j-impl should be used with SLF4J 1.7.x and earlier and log4j-slf4j18-impl should be used with SLF4J 1.8.x and
 later.
 
-Note that the default XML, JSON and YAML formats changed in the 2.11.0 release: they no longer have the "timeMillis"
-attribute and instead have an "Instant" element with "epochSecond" and "nanoOfSecond" attributes. If the previous
-behavior is desired the "includeTimeMillis" attribute may be set to true on each of the respective Layouts.
-
 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
@@ -117,8 +119,8 @@ $h3 Removed
 #end
 ---
 
-Apache Log4j ${relVersion} requires a minimum of Java 8 to build and run. Log4j 2.3 was the
-last release that supported Java 6 and Log4j 2.12.1 is the last release to support Java 7.
+Apache Log4j ${relVersion} requires a minimum of Java 8 to build and run. Log4j 2.12.1 is the last release to support
+Java 7.
 
 For complete information on ${project.name}, including instructions on how to submit bug
 reports, patches, or suggestions for improvement, see the Apache ${project.name} website:
diff --git a/src/changes/changes.xml b/src/changes/changes.xml
index 9268ab4..3fe570d 100644
--- a/src/changes/changes.xml
+++ b/src/changes/changes.xml
@@ -29,7 +29,13 @@
          - "update" - Change
          - "remove" - Removed
     -->
-    <release version="2.14.0" date="2020-MM-DD" description="GA Release 2.14.0">
+    <release version="2.14.0" date="2020-11-06" description="GA Release 2.14.0">
+      <action issue="LOG4J2-2925" dev="rgoers" type="fix">
+        Fix broken link in FAQ.
+      </action>
+      <action issue="LOG4J2-2957" dev="vy" type="add">
+        Add JsonTemplateLayout.
+      </action>
       <action issue="LOG4J2-2911" dev="rgoers" type="fix">
         Log4j2EventListener in spring.cloud.config.client listens for wrong event.
       </action>
diff --git a/src/site/markdown/faq.md.vm b/src/site/markdown/faq.md.vm
index 26dbe34..d68e69f 100644
--- a/src/site/markdown/faq.md.vm
+++ b/src/site/markdown/faq.md.vm
@@ -434,7 +434,7 @@ Log4j 2 API lets you log any java.lang.CharSequence, and even any Objects.
 Log4j can log any Object that implements `java.lang.CharSequence`
 or `org.apache.logging.log4j.util.StringBuilderFormattable` without creating garbage.
 
-The [`org.slf4j.spi.LocationAwareLogger::log`](http://www.slf4j.org/api/org/slf4j/spi/LocationAwareLogger.html\#log(org.slf4j.Marker, java.lang.String, int, java.lang.String, java.lang.Object[], java.lang.Throwable))
+The [`org.slf4j.spi.LocationAwareLogger::log`](http://www.slf4j.org/api/org/slf4j/spi/LocationAwareLogger.html\#log(org.slf4j.Marker,java.lang.String,int,java.lang.String,java.lang.Object%5B%5D,java.lang.Throwable))
 method is not yet implemented
 in a garbage-free manner in the log4j-slf4j-impl binding. It creates a new message object for each call.
 
diff --git a/src/site/markdown/index.md.vm b/src/site/markdown/index.md.vm
index 8edc96d..d00b1db 100644
--- a/src/site/markdown/index.md.vm
+++ b/src/site/markdown/index.md.vm
@@ -131,9 +131,8 @@ The Log4j 2 User's Guide is available on this [site](manual/index.html) or as a
 
 $h2 Requirements
 
-Log4j 2.13.0 and greater require Java 8. Version 2.4 through 2.12.1 required Java 7 and versions 2.0-alpha1 to 2.3
-required Java 6. Some features require optional dependencies; the documentation for these features specifies the
-dependencies.
+Log4j 2.13.0 and greater require Java 8. Version 2.4 through 2.12.1 required Java 7. Some features require optional
+dependencies; the documentation for these features will specify the required dependencies.
 
 $h2 News
 
@@ -145,18 +144,10 @@ Log4j $Log4jReleaseVersion is the latest release of Log4j. As of Log4j 2.13.0 Lo
 runtime. This release contains new features and fixes which can be found
 in the latest [changes report](changes-report.html#a$Log4jReleaseVersion).
 
-Note that subsequent to the release of Log4j 2.6 a minor source incompatibility with prior release was found due to the
-addition of new methods to the Logger interface. If you have code that does:
+Log4j 2.14.0 contains a new Layout, [JsonTemplateLayout](manual/json-template-layout.html), that is intended to
+ultimately replace JsonLayout. As its name suggests it uses a template to define the elements to include in the JSON.
+This Layout was contributed by the author of the log4j2-logstash-layout at GitHub, and who is now a member of the Log4j community.
 
-    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);
+Log4j 2.14.0 adds support for MongoDB 4 and removes support for MongoDB 2.
 
 Log4j $Log4jReleaseVersion maintains binary compatibility with previous releases.