| //// |
| 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. |
| //// |
| |
| = 2.20.0 (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]. |
| |
| == Changes |
| |
| === Added |
| |
| * Add support for timezones in `RollingFileAppender` date pattern (for https://issues.apache.org/jira/browse/LOG4J2-1631[LOG4J2-1631] by Piotr P. Karwasz, Danas Mikelinskas) |
| * Add `LogEvent` timestamp to `ProducerRecord` in `KafkaAppender` (for https://issues.apache.org/jira/browse/LOG4J2-2678[LOG4J2-2678] by Piotr P. Karwasz, Federico D'Ambrosio) |
| * Add `PatternLayout` support for abbreviating the name of all logger components except the 2 rightmost (for https://issues.apache.org/jira/browse/LOG4J2-2785[LOG4J2-2785] by Ralph Goers, Markus Spann) |
| * Removes internal field that leaked into public API. (for https://issues.apache.org/jira/browse/LOG4J2-3615[LOG4J2-3615] by Piotr P. Karwasz) |
| * Add a `LogBuilder#logAndGet()` method to emulate the `Logger#traceEntry` method. (for https://issues.apache.org/jira/browse/LOG4J2-3645[LOG4J2-3645] by Piotr P. Karwasz) |
| |
| === Changed |
| |
| * Simplify site generation (for https://github.com/apache/logging-log4j2/pull/1166[1166] by Volkan Yazıcı) |
| * Switch the issue tracker from https://issues.apache.org/jira/browse/LOG4J2[JIRA] to https://github.com/apache/logging-log4j2/issues[GitHub Issues] (for https://github.com/apache/logging-log4j2/pull/1172[1172] by Volkan Yazıcı) |
| * Remove liquibase-log4j2 maven module (for https://github.com/apache/logging-log4j2/pull/1193[1193] by StevenMassaro) |
| * Fix order of stacktrace elements, that causes cache misses in `ThrowableProxyHelper`. (for https://github.com/apache/logging-log4j2/pull/1214[1214] by Aliaksei Durbouski, Piotr P. Karwasz) |
| * Switch from `com.sun.mail` to Eclipse Angus. (for https://issues.apache.org/jira/browse/LOG4J2-3554[LOG4J2-3554] by Oleh Astappiev, Piotr P. Karwasz) |
| * Add Log4j2 Core as default runtime dependency of the SLF4J2-to-Log4j2 API bridge. (for https://issues.apache.org/jira/browse/LOG4J2-3601[LOG4J2-3601] by Andy Seaborne, Piotr P. Karwasz) |
| * Replace `maven-changes-plugin` with a custom changelog implementation (for https://issues.apache.org/jira/browse/LOG4J2-3628[LOG4J2-3628] by Volkan Yazıcı) |
| * Moved `log4j-api` and `log4j-core` artifacts with classifier `tests` to `log4j-api-test` and `log4j-core-test` respectively. (for https://issues.apache.org/jira/browse/LOG4J2-3650[LOG4J2-3650] by Piotr P. Karwasz) |
| |
| === Deprecated |
| |
| * Deprecate support for package scanning for plugins (for https://issues.apache.org/jira/browse/LOG4J2-3644[LOG4J2-3644] by Ralph Goers) |
| |
| === Fixed |
| |
| * Copy programmatically supplied location even if `includeLocation="false"`. (for https://github.com/apache/logging-log4j2/pull/1197[1197] by Piotr P. Karwasz) |
| * Eliminate status logger warning, when `disableAnsi` or `noConsoleNoAnsi` is used the style and highlight patterns. (for https://github.com/apache/logging-log4j2/pull/1202[1202] by `wleese`, Piotr P. Karwasz) |
| * Fix detection of location requirements in `RewriteAppender`. (for https://github.com/apache/logging-log4j2/pull/1274[1274] by `amirhadadi`, Piotr P. Karwasz) |
| * Replace regex with manual code to escape characters in Rfc5424Layout. (for https://github.com/apache/logging-log4j2/pull/1277[1277] by Adwait Kumar Singh) |
| * Fix `java.sql.Time` object formatting in `MapMessage` (for https://issues.apache.org/jira/browse/LOG4J2-2297[LOG4J2-2297] by Ralph Goers) |
| * Fix previous fire time computation in `CronTriggeringPolicy` (for https://issues.apache.org/jira/browse/LOG4J2-3357[LOG4J2-3357] by Ralph Goers) |
| * Correct default to not include location for ``AsyncRootLogger``s (for https://issues.apache.org/jira/browse/LOG4J2-3487[LOG4J2-3487] by Ralph Goers, Dave Messink) |
| * Lazily evaluate the level of a SLF4J `LogEventBuilder` (for https://issues.apache.org/jira/browse/LOG4J2-3598[LOG4J2-3598] by Piotr P. Karwasz) |
| * Fixes priority of Legacy system properties, which are now back to having higher priority than Environment variables. (for https://issues.apache.org/jira/browse/LOG4J2-3621[LOG4J2-3615] by Adwait Kumar Singh, Piotr P. Karwasz) |
| * Protects `ServiceLoaderUtil` from unchecked `ServiceLoader` exceptions. (for https://issues.apache.org/jira/browse/LOG4J2-3624[LOG4J2-3624] by Piotr P. Karwasz) |
| * Fix `Configurator#setLevel` for internal classes (for https://issues.apache.org/jira/browse/LOG4J2-3631[LOG4J2-3631] by Piotr P. Karwasz, Jeff Thomas) |
| * Fix level propagation in `Log4jBridgeHandler` (for https://issues.apache.org/jira/browse/LOG4J2-3634[LOG4J2-3634] by Piotr P. Karwasz, Marcel Koch) |
| * Disable `OsgiServiceLocator` if not running in OSGI container. (for https://issues.apache.org/jira/browse/LOG4J2-3642[LOG4J2-3642] by Adwait Kumar Singh, Piotr P. Karwasz) |
| * When using a Date Lookup in the file pattern the current time should be used. (for https://issues.apache.org/jira/browse/LOG4J2-3643[LOG4J2-3643] by Ralph Goers) |
| * Fixed `LogBuilder` filtering in the presence of global filters. (for https://issues.apache.org/jira/browse/LOG4J2-3647[LOG4J2-3647] by Piotr P. Karwasz) |