| //// |
| 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 |
| |
| https://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. |
| //// |
| |
| //// |
| ██ ██ █████ ██████ ███ ██ ██ ███ ██ ██████ ██ |
| ██ ██ ██ ██ ██ ██ ████ ██ ██ ████ ██ ██ ██ |
| ██ █ ██ ███████ ██████ ██ ██ ██ ██ ██ ██ ██ ██ ███ ██ |
| ██ ███ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ |
| ███ ███ ██ ██ ██ ██ ██ ████ ██ ██ ████ ██████ ██ |
| |
| IF THIS FILE DOESN'T HAVE A `.ftl` SUFFIX, IT IS AUTO-GENERATED, DO NOT EDIT IT! |
| |
| Version-specific release notes (`7.8.0.adoc`, etc.) are generated from `src/changelog/*/.release-notes.adoc.ftl`. |
| Auto-generation happens during `generate-sources` phase of Maven. |
| Hence, you must always |
| |
| 1. Find and edit the associated `.release-notes.adoc.ftl` |
| 2. Run `./mvnw generate-sources` |
| 3. Commit both `.release-notes.adoc.ftl` and the generated `7.8.0.adoc` |
| //// |
| |
| [#release-notes-2-20-0] |
| == 2.20.0 |
| |
| Release date:: 2023-02-17 |
| |
| This release primarily contains bug fixes and minor enhancements. |
| |
| Due to a break in compatibility in the SLF4J binding, Log4j now ships with two versions of the SLF4J to Log4j adapters. |
| `log4j-slf4j-impl` should be used with SLF4J 1.7.x and earlier and `log4j-slf4j18-impl` should be used with SLF4J 1.8.x and later. |
| SLF4J-2.0.0 alpha releases are not fully supported. |
| See https://issues.apache.org/jira/browse/LOG4J2-2975[LOG4J2-2975] and https://jira.qos.ch/browse/SLF4J-511[SLF4J-511]. |
| |
| The Log4j 2.20.0 API, as well as many core components, maintains binary compatibility with previous releases. |
| |
| Apache Log4j 2.20.0 requires a minimum of Java 8 to build and run. |
| Log4j 2.12.4 is the last release to support Java 7. |
| Log4j 2.3.2 is the last release to support Java 6. |
| Java 6 and Java 7 are no longer supported by the Log4j team. |
| |
| For complete information on Apache Log4j 2, including instructions on how to submit bug reports, patches, or suggestions for improvement, see http://logging.apache.org/log4j/2.x/[the Apache Log4j 2 website]. |
| |
| |
| === Added |
| |
| * Add support for timezones in `RollingFileAppender` date pattern (https://issues.apache.org/jira/browse/LOG4J2-1631[LOG4J2-1631]) |
| * Add `LogEvent` timestamp to `ProducerRecord` in `KafkaAppender` (https://issues.apache.org/jira/browse/LOG4J2-2678[LOG4J2-2678]) |
| * Add `PatternLayout` support for abbreviating the name of all logger components except the 2 rightmost (https://issues.apache.org/jira/browse/LOG4J2-2785[LOG4J2-2785]) |
| * Removes internal field that leaked into public API. (https://issues.apache.org/jira/browse/LOG4J2-3615[LOG4J2-3615]) |
| * Add a `LogBuilder#logAndGet()` method to emulate the `Logger#traceEntry` method. (https://issues.apache.org/jira/browse/LOG4J2-3645[LOG4J2-3645]) |
| |
| === Changed |
| |
| * Simplify site generation (https://github.com/apache/logging-log4j2/pull/1166[1166]) |
| * Switch the issue tracker from https://issues.apache.org/jira/browse/LOG4J2[JIRA] to https://github.com/apache/logging-log4j2/issues[GitHub Issues] (https://github.com/apache/logging-log4j2/pull/1172[1172]) |
| * Remove liquibase-log4j2 maven module (https://github.com/apache/logging-log4j2/pull/1193[1193]) |
| * Fix order of stacktrace elements, that causes cache misses in `ThrowableProxyHelper`. (https://github.com/apache/logging-log4j2/pull/1214[1214]) |
| * Switch from `com.sun.mail` to Eclipse Angus. (https://issues.apache.org/jira/browse/LOG4J2-3554[LOG4J2-3554]) |
| * Add Log4j2 Core as default runtime dependency of the SLF4J2-to-Log4j2 API bridge. (https://issues.apache.org/jira/browse/LOG4J2-3601[LOG4J2-3601]) |
| * Replace `maven-changes-plugin` with a custom changelog implementation (https://issues.apache.org/jira/browse/LOG4J2-3628[LOG4J2-3628]) |
| * Moved `log4j-api` and `log4j-core` artifacts with classifier `tests` to `log4j-api-test` and `log4j-core-test` respectively. (https://issues.apache.org/jira/browse/LOG4J2-3650[LOG4J2-3650]) |
| |
| === Deprecated |
| |
| * Deprecate support for package scanning for plugins (https://issues.apache.org/jira/browse/LOG4J2-3644[LOG4J2-3644]) |
| |
| === Fixed |
| |
| * Copy programmatically supplied location even if `includeLocation="false"`. (https://github.com/apache/logging-log4j2/pull/1197[1197]) |
| * Eliminate status logger warning, when `disableAnsi` or `noConsoleNoAnsi` is used the style and highlight patterns. (https://github.com/apache/logging-log4j2/pull/1202[1202]) |
| * Fix detection of location requirements in `RewriteAppender`. (https://github.com/apache/logging-log4j2/pull/1274[1274]) |
| * Replace regex with manual code to escape characters in Rfc5424Layout. (https://github.com/apache/logging-log4j2/pull/1277[1277]) |
| * Fix `java.sql.Time` object formatting in `MapMessage` (https://issues.apache.org/jira/browse/LOG4J2-2297[LOG4J2-2297]) |
| * Fix previous fire time computation in `CronTriggeringPolicy` (https://issues.apache.org/jira/browse/LOG4J2-3357[LOG4J2-3357]) |
| * Correct default to not include location for ``AsyncRootLogger``s (https://issues.apache.org/jira/browse/LOG4J2-3487[LOG4J2-3487]) |
| * Lazily evaluate the level of a SLF4J `LogEventBuilder` (https://issues.apache.org/jira/browse/LOG4J2-3598[LOG4J2-3598]) |
| * Fixes priority of Legacy system properties, which are now back to having higher priority than Environment variables. (https://issues.apache.org/jira/browse/LOG4J2-3621[LOG4J2-3615]) |
| * Protects `ServiceLoaderUtil` from unchecked `ServiceLoader` exceptions. (https://issues.apache.org/jira/browse/LOG4J2-3624[LOG4J2-3624]) |
| * Fix `Configurator#setLevel` for internal classes (https://issues.apache.org/jira/browse/LOG4J2-3631[LOG4J2-3631]) |
| * Fix level propagation in `Log4jBridgeHandler` (https://issues.apache.org/jira/browse/LOG4J2-3634[LOG4J2-3634]) |
| * Disable `OsgiServiceLocator` if not running in OSGI container. (https://issues.apache.org/jira/browse/LOG4J2-3642[LOG4J2-3642]) |
| * When using a Date Lookup in the file pattern the current time should be used. (https://issues.apache.org/jira/browse/LOG4J2-3643[LOG4J2-3643]) |
| * Fixed `LogBuilder` filtering in the presence of global filters. (https://issues.apache.org/jira/browse/LOG4J2-3647[LOG4J2-3647]) |