Re: [VOTE] Release Apache Log4j `2.25.0` (RC1)

2025-06-15 Thread Jan Friedrich

+1

Confirmed the release on my Linux system by following the steps provided 
in the review kit.


openjdk 17.0.15 2025-04-15
OpenJDK Runtime Environment (build 17.0.15+6-Ubuntu-0ubuntu124.04)
OpenJDK 64-Bit Server VM (build 17.0.15+6-Ubuntu-0ubuntu124.04, mixed 
mode, sharing)




On 6/13/25 20:59, Piotr P. Karwasz wrote:

This is a vote to release the Apache Log4j `2.25.0`.

Website: https://logging.staged.apache.org/log4j/2.25.0/index.html
GitHub: https://github.com/apache/logging-log4j2
Commit: ea10ad3e78469e43f138853b8c9892bc51bc87ec
Distribution: https://dist.apache.org/repos/dist/dev/logging/log4j/2.25.0
Nexus:
https://repository.apache.org:443/content/repositories/orgapachelogging-1319
Signing key: 0x077e8893a6dcc33dd4a4d5b256e73ba9a0b592d0
Review kit:
https://logging.apache.org/logging-parent/release-review-instructions.html[*]

Please download, test, and cast your votes on this mailing list and
optionally on ATR[**].

[ ] +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. At least 3 +1 votes and more positive than negative votes are
required.

[*] The reproducibility check for the
`log4j-bom-2.25.0-cyclonedx.xml` artifact may fail for an
undetermined reason. Local testing indicates that any differences are
limited to the ordering of the `jspecify` dependency in the XML file,
which does not affect the meaning of the SBOM.

Reviewers are advised to ignore this failure by adding the following
parameter to the Maven command line:

   -Dbuildinfo.ignore="*/log4j-bom-2.25.0-cyclonedx.xml"

[**] Since Apache Trusted Release is in an alpha stage, votes cast
through ATR will not be officially counted. Nevertheless I invite Apache
committers to test it at this URL:

https://release-test.apache.org/vote/logging-log4j/2.25.0


Release Notes
-

This minor release introduces bug fixes, behavior improvements, and
complete support for GraalVM native image generation.

GraalVM Reachability Metadata
-

Log4j Core and all extension modules now include embedded GraalVM
reachability metadata [1], enabling seamless generation of native
images with GraalVM out of the box—no manual configuration required.
For more information, refer to our GraalVM guide [2].

Note:

When building third-party Log4j plugins, using the new
`GraalVmProcessor` introduced in version `2.25.0` will automatically
generate the required reachability metadata for GraalVM native images.
However, the processor will fail the build if the required
`log4j.graalvm.groupId` and `log4j.graalvm.artifactId` parameters are
not provided. For detailed instructions, see Registering plugins [3].

Exception Handling in Pattern Layout


Exception handling in Pattern Layout [4] has undergone a significant
rewrite. This update resolves several bugs and ensures consistent
behavior across all exception converters. Key improvements include:

* Stack traces are now consistently prefixed with a newline.
* The default exception converter has changed from extended [5] to
   plain [6], offering better performance.
* Support for the `{ansi}` option in exception converters has been
   removed.

Date & Time Formatting
--

Log4j has historically provided custom date and time formatters for
performance, such as FixedDateFormat [7] and FastDateFormat [8]. These
are now deprecated in favor of Java’s standard DateTimeFormatter [9].

If you encounter formatting issues after upgrading—particularly with `n`
or `x` directives—you can temporarily revert to the legacy formatters by
setting the `log4j2.instantFormatter` property to `legacy` [10]. Please
report any issues via our issue tracker [11].

ANSI Support on Windows


Modern Windows versions (10 and newer) provide native ANSI escape
sequence support. As a result, dependency on the outdated JAnsi 1.x
library has been removed. For details, refer to ANSI styling on Windows
[12].

Jakarta JMS Appender
-

A Jakarta-compatible version of the JMS Appender [13] is now included in
the core distribution.

Detailed release notes
---

For all the changes in this release, see the website [14].

Links:
[1] https://www.graalvm.org/latest/reference-manual/native-image/metadata/
[2] https://logging.staged.apache.org/log4j/2.25.0/manual/graalvm.html
[3]
https://logging.staged.apache.org/log4j/2.25.0/manual/plugins.html#plugin-registry

[4]
https://logging.staged.apache.org/log4j/2.25.0/manual/pattern-layout.html
[5]
https://logging.staged.apache.org/log4j/2.25.0/manual/pattern-layout.html#converter-exception-extended

[6]
https://logging.staged.apache.org/log4j/2.25.0/manual/pattern-layout.html#converter-exception

[7]
https://logging.staged.apache.org/log4j/2.25.0/j

Re: [DISCUSS][VOTE] Release Apache Log4j `2.25.0` (RC1)

2025-06-15 Thread Gary Gregory
+1

If I don't enable Docker, then the whole build passes, I can validate
the src zip file with:

mvn clean verify

FWIW, you can't just exclude "log4j-layout-template-json-test" with:

mvn clean verify -Pdocker -D'docker.showLogs=true' -pl
'!log4j-layout-template-json-test'

because:

[INFO] --- bnd-baseline:7.1.0:baseline (check-api-compat) @ log4j-osgi-test ---
[INFO]
[INFO] --< org.apache.logging.log4j:log4j-perf-test >--
[INFO] Building Apache Log4J Performance Tests 2.25.0   [34/40]
[INFO]   from log4j-perf-test/pom.xml
[INFO] [ jar ]-
Downloading from central:
https://repo.maven.apache.org/maven2/org/apache/logging/log4j/log4j-layout-template-json-test/2.25.0/log4j-layout-template-json-test-2.25.0.pom
[WARNING] The POM for
org.apache.logging.log4j:log4j-layout-template-json-test:jar:2.25.0 is
missing, no dependency information available
Downloading from central:
https://repo.maven.apache.org/maven2/org/apache/logging/log4j/log4j-layout-template-json-test/2.25.0/log4j-layout-template-json-test-2.25.0.jar
[INFO] 
[INFO] Reactor Summary for Apache Log4j BOM 2.25.0:
[INFO]
[INFO] Apache Log4j BOM ... SUCCESS [  8.310 s]
[INFO] Apache Log4j Parent  SUCCESS [  0.524 s]
[INFO] Apache Log4j API Java 9 support  SUCCESS [  3.451 s]
[INFO] Apache Log4j API ... SUCCESS [  8.557 s]
[INFO] Apache Log4j Implementation Java 9 support . SUCCESS [  2.198 s]
[INFO] Apache Log4j Core .. SUCCESS [ 18.234 s]
[INFO] Apache Log4j API Tests . SUCCESS [ 10.939 s]
[INFO] Apache Log4j Core Tests  SUCCESS [01:13 min]
[INFO] Apache Log4j 1.x Compatibility API . SUCCESS [ 12.593 s]
[INFO] Apache Log4j App Server Support  SUCCESS [  1.742 s]
[INFO] Log4j API to SLF4J Adapter . SUCCESS [  3.449 s]
[INFO] SLF4J 1 Binding for Log4j API .. SUCCESS [  4.246 s]
[INFO] Apache Log4j Cassandra . SUCCESS [  3.662 s]
[INFO] Apache Log4j fuzz tests  SUCCESS [  2.281 s]
[INFO] Apache Log4j Core fuzz tests ... SUCCESS [  1.575 s]
[INFO] Apache Log4j Core Integration Tests  SUCCESS [  0.863 s]
[INFO] Apache Log4j CouchDB ... SUCCESS [  2.228 s]
[INFO] Apache Log4j Docker Library  SUCCESS [  2.165 s]
[INFO] Apache Log4j Streaming Interface ... SUCCESS [  5.533 s]
[INFO] Apache Log4j Jakarta JMS ... SUCCESS [  3.729 s]
[INFO] Apache Log4j Jakarta SMTP .. SUCCESS [  3.281 s]
[INFO] Apache Log4j Jakarta Web ... SUCCESS [  4.299 s]
[INFO] Apache Log4j Commons Logging Bridge  SUCCESS [  2.859 s]
[INFO] Apache Log4j JPA ... SUCCESS [  5.001 s]
[INFO] Apache Log4j JDK Platform Logging Adapter .. SUCCESS [  2.915 s]
[INFO] Apache Log4j JDBC DBCP 2 ... SUCCESS [  3.180 s]
[INFO] Apache Log4j JUL Adapter ... SUCCESS [  6.863 s]
[INFO] Apache Log4j JSON Template Layout .. SUCCESS [  4.633 s]
[INFO] Apache Log4j JSON Template Layout fuzz tests ... SUCCESS [  1.609 s]
[INFO] Apache Log4j MongoDB 4 . SUCCESS [ 22.622 s]
[INFO] Apache Log4j MongoDB Appender .. SUCCESS [  3.264 s]
[INFO] Apache Log4j to JUL Bridge . SUCCESS [  3.177 s]
[INFO] Apache Log4j OSGi tests  SUCCESS [  4.821 s]
[INFO] Apache Log4J Performance Tests . FAILURE [  0.175 s]
[INFO] SLF4J 2 Provider for Log4j API . SKIPPED
[INFO] SLF4J 2 Provider for Log4j API fuzz tests .. SKIPPED
[INFO] Apache Log4j Spring Boot Support ... SKIPPED
[INFO] Apache Log4j Spring Cloud Config Client Support  SKIPPED
[INFO] Apache Log4j Web ... SKIPPED
[INFO] Apache Log4j Tag Library ... SKIPPED
[INFO] 
[INFO] BUILD FAILURE
[INFO] 
[INFO] Total time:  03:59 min
[INFO] Finished at: 2025-06-15T12:52:51-04:00
[INFO] 
[ERROR] Failed to execute goal on project log4j-perf-test: Could not
resolve dependencies for project
org.apache.logging.log4j:log4j-perf-test:jar:2.25.0
[ERROR] dependency:
org.apache.logging.log4j:log4j-layout-template-json-test:jar:2.25.0
(compile)
[ERROR] Could