+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/javadoc/log4j-core/org/apache/logging/log4j/core/util/datetime/FixedDateFormat.html

[8]
https://logging.staged.apache.org/log4j/2.25.0/javadoc/log4j-core/org/apache/logging/log4j/core/util/datetime/FastDateFormat.html

[9]
https://docs.oracle.com/javase/8/docs/api/java/time/format/DateTimeFormatter.html

[10]
https://logging.staged.apache.org/log4j/2.25.0/manual/systemproperties.html#log4j2.instantFormatter

[11] https://logging.apache.org/logging-services/support.html#issues
[12]
https://logging.staged.apache.org/log4j/2.25.0/manual/pattern-layout.html#jansi

[13]
https://logging.staged.apache.org/log4j/2.25.0/manual/appenders/message-queue.html#JmsAppender

[14]
https://logging.staged.apache.org/log4j/2.25.0/release-notes.html#release-notes-2-25-0

Reply via email to