This is the first beta release of the upcoming major release, i.e., 3.0.0.
Added
- Add annotations for nullability. (LOG4J2-1477)
- Remove deprecated code. (LOG4J2-2493)
- Add a more generalized dependency injection system to plugins inspired by JSR 330. (LOG4J2-2803)
- Add and enhance structured properties for per-context settings outside configuration files. (LOG4J2-3299[LOG4J2-3299], #1473)
- Automate artifact publishing and release preparation. (LOG4J2-3466)
- Add support for dependency injection of plugins into container types such as
Optional<T>,Collection<T>,Set<T>,Stream<T>,List<T>, andMap<String, T>. (LOG4J2-3496) - Add support for
ConstraintValidatorin plugin classes. (LOG4J2-3497)
Changed
- Remove liquibase-log4j2 maven module (#1193)
- Make the output of annotation processing reproducible. (#1520)
- Replace
synchronizedblocks with locks for improved performance with virtual threads. (#1532) - Removes additional
isFilteredchecks inAsyncLoggerConfig. (#1550) - Ignore exceptions thrown by PropertySources. Eliminate ClassCastException when SimpleLoggerContext is used. (spring-projects/spring-boot#33450, #1799)
- Update
com.lmax:disruptorto version4.0.0(#1829) - Migrate most tests to JUnit 5. This includes a more powerful set of test extensions. (LOG4J2-2653)
- Make Log4j use its own BOM. (LOG4J2-3511)
- Change encoding of HTTP Basic Authentication to UTF-8. (#1970)
- Upgraded the required compiler version to Java 17
- Upgraded the required runtime version to Java 17
- Update
actions/checkoutto version4.1.1(#1869) - Update
actions/setup-javato version3.13.0(#1809) - Update
actions/setup-pythonto version4.7.1(#1831) - Update
ch.qos.logback:logback-classicto version1.4.14(#2028) - Update
com.datastax.cassandra:cassandra-driver-coreto version3.11.5(#1889) - Update
com.fasterxml.jackson:jackson-bomto version2.16.0(#1974) - Update
com.github.luben:zstd-jnito version1.5.5-11(#2032) - Update
com.github.spotbugs:spotbugs-maven-pluginto version4.7.3.6(#1879) - Update
com.github.tomakehurst:wiremock-jre8to version2.35.1(#1765) - Update
com.google.code.java-allocation-instrumenter:java-allocation-instrumenterto version3.3.4(#2102) - Update
com.google.errorprone:error_prone_coreto version2.23.0(#1871) - Update
com.google.guava:guava-testlibto version32.1.3-jre(#1934) - Update
com.h2database:h2to version2.2.224(#1917) - Update
commons-codec:commons-codecto version1.16.0(#2054) - Update
commons-io:commons-ioto version2.15.1(#2035) - Update
commons-logging:commons-loggingto version1.3.0(#2046) - Update
de.flapdoodle.reverse:de.flapdoodle.reverseto version1.7.2(#2000) - Update
io.netty:netty-bomto version4.1.104.Final(#2097) - Update
net.java.dev.jna:jnato version5.14.0(#2082) - Update
org.apache.aries.spifly:org.apache.aries.spifly.dynamic.bundleto version1.3.7(#2053) - Update
org.apache.commons:commons-compressto version1.25.0(#2055) - Update
org.apache.commons:commons-csvto version1.10.0(#2041) - Update
org.apache.commons:commons-dbcp2to version2.11.0(#2044) - Update
org.apache.commons:commons-lang3to version3.14.0(#2036) - Update
org.apache.commons:commons-pool2to version2.12.0(#2038) - Update
org.apache.groovy:groovy-bomto version4.0.16(#2039) - Update
org.apache.maven:maven-coreto version3.9.6(#2049) - Update
org.apache.maven.surefire:surefire-junit47to version3.2.3(#2091) - Update
org.apache.tomcat:tomcat-julito version10.1.17(#2086) - Update
org.codehaus.plexus:plexus-utilsto version3.5.1(#2061) - Update
org.eclipse.jetty:jetty-bomto version9.4.53.v20231009(#1931) - Update
org.eclipse.persistence:org.eclipse.persistence.jpato version2.7.13(#1933) - Update
org.eclipse.platform:org.eclipse.osgito version3.18.600(#2064) - Update
org.elasticsearch.client:elasticsearch-rest-high-level-clientto version7.17.16(#2085) - Update
org.graalvm.truffle:truffle-apito version23.1.1(#1872) - Update
org.jctools:jctools-coreto version4.0.2(#1995) - Update
org.jmdns:jmdnsto version3.5.9(#2069) - Update
org.junit:junit-bomto version5.10.1(#1993) - Update
org.junit-pioneer:junit-pioneerto version2.2.0(#1986) - Update
org.mockito:mockito-bomto version5.8.0(#2031) - Update
org.mongodb:bsonto version4.11.1(#1991) - Update
org.springframework.boot:spring-bootto version2.7.17(#1902) - Update
org.springframework.boot:spring-boot-dependenciesto version2.7.18(#2002) - Update
org.springframework:spring-framework-bomto version5.3.30(#1903) - Update
org.springframework:spring-testto version5.3.31(#1992) - Update
org.xerial.snappy:snappy-javato version1.1.10.5(#1877) - Update
org.zeromq:jeromqto version0.5.4(#1888) - Update
uk.org.webcompere:system-stubs-coreto version2.1.5(#2001) - Update OpenTest4J from version 1.2.0 to 1.3.0.
Removed
- Remove
GelfLayout(a GELF-compatible layout is still possible using JSON Template Layout) (#1951) - Remove
log4j-cassandra(#1951) - Remove
log4j-couchdb(#1951) - Remove Jackson-based JSON configuration support. JSON configuration files are now handled through a built-in JSON parser.
- Moved Log4j Jakarta EE modules (
log4j-jakarta-jms,log4j-jakarta-smtp, andlog4j-jakarta-web) to their own repository and website (#1966) - Removed all Java EE modules:
log4j-jms,log4j-jpa,log4j-smtp,log4j-web(#1966) - Remove
log4j-jeromqmodule (users are recommended to migrate to loghublog4j2) (#1951) - Remove
log4j-kafka(#1951) - Remove
log4j-layout-jackson-jsonmodule (it is superseded by JSON Template Layout) (#1951) - Remove
log4j-layout-jackson-yamlmodule (#1951) - Remove legacy OSGi integration.
ServiceLoadermechanism should be used instead. - Remove
log4j-mongodb3module (#1951) - Remove support for
SecurityManager. Starting in Java 21, a customSecurityManagercannot be used. - Remove
log4j-spring-bootmodule (its features are upstreamed toorg.springframework.boot:spring-boot-starter-log4j2) (#1951)
Fixed
- Remove locale-dependent
toLowerCase/toUpperCasecalls. (#1281) - Add environment variable arbiter. (#1312)
- Fixed logging of java.sql.Date objects by appending it before Log4J tries to call java.util.Date.toInstant() on it. (#1366)
- Adapt the OSGi metadata of
log4j-api,log4j-core,log4j-slf4j-implandlog4j-slf4j2-implto activate the bundle when it is accessed. To achieve that set theBundle-ActivationPolicytolazyfor the log4j bundles. (#1367) - Fix runtime dependencies documentation. (#1530)
- Allow to override fqcn in
Log4jEventBuilderby implementingCallerBoundaryAware. (#1533) - Migrate MongoDB tests to JUnit 5 and Flapdoodle Embedded MongoDB 4. (#1589)
- Fixed rollover strategy in the Log4j 1.x compatibility layer. (#1650)
- Only shutdown Log4j after last
Log4jServletContextListeneris executed. (#1782) - Fixes context data loss if
<AsyncLogger>components are used with an all async logger context. (#1786) - AppenderLoggingException logging any exception to a MongoDB Appender. (LOG4J2-3392)