This is a vote to release the Apache Log4j 3.0.0-beta2. Website: https://logging.staged.apache.org/log4j/3.x/ GitHub: https://github.com/apache/logging-log4j2 Commit: 086db24a04f905b40649666aafe3bb4778a75291 Distribution: https://dist.apache.org/repos/dist/dev/logging/log4j Nexus: https://repository.apache.org/content/repositories/orgapachelogging-1259 Signing key: 0x077e8893a6dcc33dd4a4d5b256e73ba9a0b592d0
Please download, test, and cast your votes on this mailing list. [ ] +1, release the artifacts [ ] -1, don't release, because... This vote is open for 72 hours and will pass unless getting a net negative vote count. All votes are welcome and we encourage everyone to test the release, but only the Logging Services PMC votes are officially counted. Countdown: https://www.timeanddate.com/countdown/generic?iso=20240221T0807&p0=1440&font=cursive == Verification instructions The following environment is required to verify the build: * any UNIX OS, * JDK 17 Short verification procedure: # Download distribution wget --recursive --no-parent --cut-dirs=5 --no-host-directories \ https://dist.apache.org/repos/dist/dev/logging/log4j/ # Verify hashes sha512sum -c *sha512 # Verify signatures for sig in *asc; do gpg --verify $sig; done # Prepare build environment: unzip -d src apache-log4j-3.0.0-beta2-src.zip && cd src umask 0022 # Run build and verification ./mvnw clean verify artifact:compare -Prelease \ -Dreference.repo=https://repository.apache.org/content/repositories/orgapachelogging-1258 == Release Notes This release provides a continuation of the modularisation process of Log4j Core. The following features were moved to separate artifacts: * The async logger feature was moved to `log4j-async-logger` and it was upgraded to use LMAX Disruptor 4.x. The async appender is still available by default in `log4j-core`. * The YAML configuration is available now in `log4j-config-yaml`. * The Java properties configuration was removed and replaced with a similar format based on `jackson-dataformat-properties` in a new `log4j-config-properties` artifact. Other features were removed: * Jetty 9.x users are encouraged to migrate to Jetty 10.x or later and replace `log4j-appserver` with `log4j-slf4j2-impl`. * Tomcat JULI support will be available from a third-party (cf. https://github.com/copernik-eu/log4j-plugins). * Apache Commons Logging users are encouraged to upgrade `commons-logging` to version 1.3.0 or later and remove `log4j-jcl`. * Support for the XML layout was dropped. * Support for JMX was dropped and will be replaced with a more recent technology. === Added * Add and update DSLs for setting up dependency injection for test and non-test code. (#2147) * Add a `ConfigurationExtension` mechanism to allow third-party JARs to extend the `<Configuration>` element. * Add a new properties configuration factory based on `jackson-dataformat-properties`. === Changed * Change the order of evaluation of `FormattedMessage` formatters. Messages are evaluated using `java.util.Format` only if they don't comply to the `java.text.MessageFormat` or `ParameterizedMessage` format. (#1223) * Split off async logger support into a new `log4j-async-logger` module. * Split off YAML configuration into a new `log4j-config-yaml` module. === Fixed * Rewrote message parameter formatter with improved escape handling (#1626) * The MongoDb4 appender now supports long values to configure `collectionSize` (#1747) * Mark `JdkMapAdapterStringMap` as frozen if map is immutable. (#2098) * Fix regression in `JdkMapAdapterStringMap` performance. (#2238) * Prevents ClassCastException when trying to assign a SimpleLoggerContext to a core LoggerContext (LOG4J2-1921) * Possible NullPointerException in MongoDb4DocumentObject, MongoDbDocumentObject, DefaultNoSqlObject. (LOG4J2-3392) * Fix NPE in `CloseableThreadContext`. (#1426) * Fix NPE in `RollingFileManager`. (#1645) * Fix `log4j-spring-cloud-config-client` dependencies to include only those required. (2157) * Workaround a Coursier/Ivy dependency resolution bug affecting `log4j-slf4j-impl` and `log4j-mongodb3`. (#2065) === Removed * Removed legacy `2.x` properties configuration factory. * Remove `DefaultLogEventFactory` * Remove `log4j-appserver` module (#2257) * Remove `org.apache.logging.log4j.core.parser` and related packages. (#2154) * Remove `log4j-jcl` module (#2257) * Removed JMX support. * Remove `log4j-layout-jackson` module (#2198) * Remove `log4j-layout-jackson-xml` module (#2198) * Remove `log4j2.enable.threadlocals` property (#2105) === Updated * Update `apache/logging-parent` to version `` (#2191) * Update `com.fasterxml.jackson:jackson-bom` to version `2.16.1` (#2127) * Update `commons-codec:commons-codec` to version `1.16.1` (#2276) * Update `io.netty:netty-bom` to version `4.1.107.Final` (#2283) * Update `org.apache.logging:logging-parent` to version `10.6.0` (#2193) * Update `org.apache.tomcat:tomcat-juli` to version `10.1.18` (#2176) * Update `org.eclipse.jetty:jetty-bom` to version `9.4.54.v20240208` (#2285) * Update `org.jctools:jctools-core` to version `4.0.3` (#2267) * Update `org.slf4j:slf4j-api` to version `2.0.10` (#2136) * Update `org.springframework.boot:spring-boot-autoconfigure` to version `3.2.2` (#2222) * Update `org.springframework.cloud:spring-cloud-context` to version `4.1.1` (#2236) * Update `org.springframework:spring-framework-bom` to version `6.1.4` (#2294) Piotr