This is an automated email from the ASF dual-hosted git repository.
vy pushed a commit to branch 2.x
in repository https://gitbox.apache.org/repos/asf/logging-log4j2.git
The following commit(s) were added to refs/heads/2.x by this push:
new e4adc416a1 Start new development cycle using version `2.26.0` (#3748)
e4adc416a1 is described below
commit e4adc416a1d10d1bdd098eeba45174dfdd78a653
Author: Piotr P. Karwasz <[email protected]>
AuthorDate: Fri Jun 20 11:11:30 2025 +0200
Start new development cycle using version `2.26.0` (#3748)
---
.../internal/map/UnmodifiableArrayBackedMap.java | 8 ---
.../internal/instant/InstantPatternFormatter.java | 2 +-
pom.xml | 12 ++--
src/changelog/.2.x.x/.release-notes.adoc.ftl | 34 +---------
...pdate_co_elastic_clients_elasticsearch_java.xml | 8 ---
...update_co_elastic_logging_log4j2_ecs_layout.xml | 8 ---
.../.2.x.x/update_com_code_intelligence_jazzer.xml | 8 ---
.../.2.x.x/update_com_github_jnr_jnr_ffi.xml | 8 ---
.../.2.x.x/update_com_github_luben_zstd_jni.xml | 8 ---
.../.2.x.x/update_com_google_guava_guava.xml | 8 ---
.../.2.x.x/update_commons_codec_commons_codec.xml | 8 ---
.../.2.x.x/update_commons_io_commons_io.xml | 8 ---
src/changelog/.2.x.x/update_fast_xml_parser.xml | 8 ---
.../.2.x.x/update_gradle_develocity_actions.xml | 8 ---
.../.2.x.x/update_net_java_dev_jna_jna.xml | 8 ---
.../update_org_apache_activemq_activemq_broker.xml | 8 ---
.../.2.x.x/update_org_apache_groovy_groovy_bom.xml | 8 ---
...g4j_transform_maven_shade_plugin_extensions.xml | 8 ---
.../.2.x.x/update_org_apache_maven_maven_core.xml | 8 ---
..._org_apache_maven_surefire_surefire_junit47.xml | 8 ---
.../.2.x.x/update_org_assertj_assertj_core.xml | 8 ---
.../.2.x.x/update_org_awaitility_awaitility.xml | 8 ---
.../update_org_codehaus_plexus_plexus_utils.xml | 8 ---
...pdate_org_eclipse_platform_org_eclipse_osgi.xml | 8 ---
src/changelog/.2.x.x/update_org_hsqldb_hsqldb.xml | 8 ---
src/changelog/.2.x.x/update_org_json_json.xml | 8 ---
.../.2.x.x/update_org_junit_junit_bom.xml | 8 ---
.../update_org_openjdk_nashorn_nashorn_core.xml | 8 ---
..._org_openrewrite_maven_rewrite_maven_plugin.xml | 8 ---
...enrewrite_recipe_rewrite_logging_frameworks.xml | 8 ---
...org_openrewrite_recipe_rewrite_migrate_java.xml | 8 ---
...update_org_ops4j_pax_exam_exam_maven_plugin.xml | 8 ---
.../.2.x.x/update_org_ops4j_pax_exam_pax_exam.xml | 8 ---
.../.2.x.x/update_org_slf4j_slf4j_nop.xml | 8 ---
.../.2.x.x/update_org_xmlunit_xmlunit_core.xml | 8 ---
src/changelog/2.25.0/.release-notes.adoc.ftl | 76 ++++++++++++++++++++++
src/changelog/2.25.0/.release.xml | 21 ++++++
.../1736_split_jansi_support.xml | 0
.../{.2.x.x => 2.25.0}/2229_mongodb_docker.xml | 0
.../2295_add_JMS_Jakarta_Appender.xml | 0
...ix_RollingFileManager_unsuccessful_rollover.xml | 0
...91_change_PatternLayout_exception_rendering.xml | 0
.../2691_deprecate_ThrowableProxy.xml | 0
.../2691_fix_PatternLayout_exception_rendering.xml | 0
.../{.2.x.x => 2.25.0}/2767_reload_key_stores.xml | 0
.../2767_simplify_SSL_config_logic.xml | 0
.../2769_pluginAttribute_publicSetterWarning.xml | 0
.../2916_rewrite_jansi_renderer.xml | 0
...eprecate_AbstractLogger_checkMessageFactory.xml | 0
.../{.2.x.x => 2.25.0}/2937-http-watcher.xml | 0
.../2942_fix_ThreadContext_putAll.xml | 0
.../{.2.x.x => 2.25.0}/2949_add_fuzzing.xml | 0
.../3011_http_appender_validation.xml | 0
.../3030_fix_log4j1_getLogger.xml | 0
.../3045_change_PatternLayout_prefix.xml | 0
.../3045_fix_PatternLayout_rEx_property.xml | 0
.../3045_remove_PatternLayout_ex_ansi.xml | 0
.../3048_fix_ThreadContext_remove.xml | 0
.../{.2.x.x => 2.25.0}/3053_graalvm_processor.xml | 0
.../{.2.x.x => 2.25.0}/3056_android_support.xml | 0
src/changelog/{.2.x.x => 2.25.0}/3066_fix_bom.xml | 0
.../3074_monitor_additional_files.xml | 0
.../3085_fix_log4j_1_priority.xml | 0
.../{.2.x.x => 2.25.0}/3118_default_layout.xml | 0
.../3119_set_level_call_parent.xml | 0
.../3121_deprecate_FixedDateFormat.xml | 0
.../{.2.x.x => 2.25.0}/3121_instant_format.xml | 0
...123_change_PatternLayout_exception_renderer.xml | 0
...127_JDBC_appender_IOException_stream_closed.xml | 0
.../{.2.x.x => 2.25.0}/3143_logger_registry.xml | 0
.../3149_change_StatusData_prefix.xml | 0
...51_fix_mongodb_appender_deprecation_warning.xml | 0
.../3153_fix_StringMatchFilter_guardNPE.xml | 0
...fix_AsyncWaitStrategyFactoryConfig_guardNPE.xml | 0
.../3206_fix_rootLogger_shorthand_npe.xml | 0
.../3212_fix_JTL_StackTraceStringResolver.xml | 0
.../3215_fix-RegexReplacement.xml | 0
.../{.2.x.x => 2.25.0}/3217_precise_clock.xml | 0
.../3257_fix_AsyncAppender_requiresLocation.xml | 0
.../3257_fix_FailoverAppender_requiresLocation.xml | 0
.../{.2.x.x => 2.25.0}/3300_fix-javadoc.xml | 0
.../{.2.x.x => 2.25.0}/3359_fix-javadoc.xml | 0
.../3369_fix_typo_in_RootLogger_Builder_method.xml | 0
.../3398_fix_JTL_RecyclerFactoryConverter.xml | 0
.../{.2.x.x => 2.25.0}/3399_logger_registry.xml | 0
..._InternalLoggerRegistry_stale_entry_expunge.xml | 0
.../3431_default_config_name.xml | 0
.../3437_transtive_compile_only_dependencies.xml | 0
.../3467_add_mongodb_conn_db_name.xml | 0
.../3508_LoggerContext_shutdownDisable.xml | 0
.../3562_StatusData_ArrayIndexOutOfBounds.xml | 0
.../{.2.x.x => 2.25.0}/3586_improve_GcpLayout.xml | 0
.../3601_deprecate_or_remove_hiding_methods.xml | 0
...le_optimization_for_filling_the_stack_trace.xml | 0
.../3645_speedup_array_logging.xml | 0
...g_stack_traces_in_ExtendedThreadInformation.xml | 0
.../3665_fix_StatusLogger_writing_to_stdout.xml | 0
.../3669_generalize_ReadOnlyStringMap_equality.xml | 0
...til_base64_directly_instead_of_reflectively.xml | 0
.../{.2.x.x => 2.25.0}/3706_osgi-disruptor.xml | 0
.../fix_JsonWriter_surrogate_handling.xml | 0
.../throwable-proxy-clean-up.xml | 0
.../{.2.x.x => 2.25.0}/update_actions_stale.xml | 0
.../update_ch_qos_logback_logback_core.xml | 0
.../update_com_fasterxml_jackson_jackson_bom.xml | 0
...te_com_github_spotbugs_spotbugs_annotations.xml | 0
.../update_io_fabric8_docker_maven_plugin.xml | 0
.../update_org_apache_cassandra_cassandra_all.xml | 0
.../update_org_apache_commons_commons_csv.xml | 0
.../update_org_apache_commons_commons_dbcp2.xml | 0
.../update_org_apache_commons_commons_pool2.xml | 0
.../update_org_apache_kafka_kafka_clients.xml | 0
.../update_org_apache_logging_logging_parent.xml | 2 +-
.../update_org_apache_tomcat_tomcat_juli.xml | 0
.../update_org_eclipse_jetty_jetty_util.xml | 0
.../{.2.x.x => 2.25.0}/update_org_jmdns_jmdns.xml | 0
.../{.2.x.x => 2.25.0}/update_org_mongodb_bson.xml | 0
.../update_org_slf4j_slf4j_api.xml | 0
..._springframework_cloud_spring_cloud_context.xml | 0
.../ROOT/pages/manual/appenders/message-queue.adoc | 35 +++++++++-
.../properties-log4j-core-misc.adoc | 4 +-
121 files changed, 140 insertions(+), 302 deletions(-)
diff --git
a/log4j-api/src/main/java/org/apache/logging/log4j/internal/map/UnmodifiableArrayBackedMap.java
b/log4j-api/src/main/java/org/apache/logging/log4j/internal/map/UnmodifiableArrayBackedMap.java
index 45f61cefd9..2911710bd3 100644
---
a/log4j-api/src/main/java/org/apache/logging/log4j/internal/map/UnmodifiableArrayBackedMap.java
+++
b/log4j-api/src/main/java/org/apache/logging/log4j/internal/map/UnmodifiableArrayBackedMap.java
@@ -269,10 +269,6 @@ public class UnmodifiableArrayBackedMap extends
AbstractMap<String, String> impl
/**
* Creates a new instance that contains the same entries as this map, plus
the
* new entries or updated values passed in the parameters.
- *
- * @param key
- * @param value
- * @return
*/
public UnmodifiableArrayBackedMap copyAndPutAll(Map<String, String>
entriesToAdd) {
// create a new array that can hold the maximum output size
@@ -304,10 +300,6 @@ public class UnmodifiableArrayBackedMap extends
AbstractMap<String, String> impl
/**
* Creates a new instance that contains the same entries as this map,
minus the
* entry with the specified key (if such an entry exists).
- *
- * @param key
- * @param value
- * @return
*/
public UnmodifiableArrayBackedMap copyAndRemove(String key) {
int indexToRemove = -1;
diff --git
a/log4j-core/src/main/java/org/apache/logging/log4j/core/util/internal/instant/InstantPatternFormatter.java
b/log4j-core/src/main/java/org/apache/logging/log4j/core/util/internal/instant/InstantPatternFormatter.java
index e3fab77e18..785968c26e 100644
---
a/log4j-core/src/main/java/org/apache/logging/log4j/core/util/internal/instant/InstantPatternFormatter.java
+++
b/log4j-core/src/main/java/org/apache/logging/log4j/core/util/internal/instant/InstantPatternFormatter.java
@@ -40,7 +40,7 @@ import org.apache.logging.log4j.util.PropertiesUtil;
public interface InstantPatternFormatter extends InstantFormatter {
boolean LEGACY_FORMATTERS_ENABLED =
-
"legacy".equalsIgnoreCase(PropertiesUtil.getProperties().getStringProperty("log4j2.instant.formatter"));
+
"legacy".equalsIgnoreCase(PropertiesUtil.getProperties().getStringProperty("log4j2.instantFormatter"));
String getPattern();
diff --git a/pom.xml b/pom.xml
index 3de3452381..55f20e1ea7 100644
--- a/pom.xml
+++ b/pom.xml
@@ -31,7 +31,7 @@
<parent>
<groupId>org.apache.logging</groupId>
<artifactId>logging-parent</artifactId>
- <version>12.1.0</version>
+ <version>12.1.1</version>
<relativePath />
</parent>
@@ -307,11 +307,11 @@
<properties>
<!-- project version -->
- <revision>2.25.0-SNAPSHOT</revision>
+ <revision>2.26.0-SNAPSHOT</revision>
<!-- Versions used on the site: no snapshots! -->
- <site-log4j-api.version>2.24.3</site-log4j-api.version>
- <site-log4j-core.version>2.24.3</site-log4j-core.version>
-
<site-log4j-layout-template-json.version>2.24.3</site-log4j-layout-template-json.version>
+ <site-log4j-api.version>2.25.0</site-log4j-api.version>
+ <site-log4j-core.version>2.25.0</site-log4j-core.version>
+
<site-log4j-layout-template-json.version>2.25.0</site-log4j-layout-template-json.version>
<!-- =================
Common properties
@@ -325,7 +325,7 @@
2. This value is employed in various places while creating the
distribution
To mitigate these, we define a *dummy* value here and let the CI
replace it during a release.
Hence, *DO NOT MANUALLY EDIT THIS VALUE*! -->
-
<project.build.outputTimestamp>2024-12-10T10:15:05Z</project.build.outputTimestamp>
+
<project.build.outputTimestamp>2025-06-13T17:08:55Z</project.build.outputTimestamp>
<!-- ========================
Site-specific properties
diff --git a/src/changelog/.2.x.x/.release-notes.adoc.ftl
b/src/changelog/.2.x.x/.release-notes.adoc.ftl
index 6283d1079d..115b566708 100644
--- a/src/changelog/.2.x.x/.release-notes.adoc.ftl
+++ b/src/changelog/.2.x.x/.release-notes.adoc.ftl
@@ -20,38 +20,6 @@
<#if release.date?has_content>Release date:: ${release.date}</#if>
-This minor release contains bug fixes, behavioral improvements, and a
fully-fledged support for the GraalVM native image generation.
-
-[#release-notes-2-25-0-graalvm]
-=== GraalVM reachability metadata
-
-Log4j Core and all its extension modules have been enriched with embedded
-https://www.graalvm.org/latest/reference-manual/native-image/metadata/[GraalVM
reachability metadata].
-This allows the generation of GraalVM native images out-of-the-box without any
additional steps.
-See our xref:graalvm.adoc[GraalVM guide] for details.
-
-[#release-notes-2-25-0-PL-ex]
-=== Exception handling in Pattern Layout
-
-Exception handling in xref:manual/pattern-layout.adoc[Pattern Layout] went
through a major rewrite.
-This effectively helped with fixing some bugs by matching the feature parity
of all exception converters.
-Some important highlights from this rewrite:
-
-* Rendered stack traces are ensured to be prefixed with a newline, which used
to be a whitespace in earlier versions.
-* Switched the default exception converter from
xref:manual/pattern-layout.adoc#converter-exception-extended[the extended
exception converter] to xref:manual/pattern-layout.adoc#converter-exception[the
plain exception converter], which is more performant.
-* The support for the `\{ansi}` option in exception converters is removed.
-
-[#release-notes-2-25-0-instant-format]
-=== Date & time formatting
-
-Historically, Log4j contains custom date & time formatting utilities for
performance reasons, i.e.,
link:javadoc/log4j-core/org/apache/logging/log4j/core/util/datetime/FixedDateFormat.html[`FixedDateFormat`]
and
link:javadoc/log4j-core/org/apache/logging/log4j/core/util/datetime/FastDateFormat.html[`FastDateFormat`].
-These have been deprecated for removal in favor of Java's
https://docs.oracle.com/javase/{java-target-version}/docs/api/java/time/format/DateTimeFormatter.html[`DateTimeFormatter`].
-After upgrading, if you experience any date & time formatting problems (in
particular, related with the usage of `n` and `x` directives), please
{logging-services-url}/support.html#issues[submit an issue ticket] – as a
temporary workaround, you can set
xref:manual/systemproperties.adoc#log4j2.instant.formatter[the
`log4j2.instant.formatter` property] to `legacy` to switch to the old behaviour.
-
-=== ANSI support on Windows
-
-Since 2017, Windows 10 and newer have offered native support for ANSI escapes.
-The support for the outdated Jansi 1.x library has therefore been removed.
-See xref:manual/pattern-layout.adoc#jansi[ANSI styling on Windows] for more
information.
+This release...
<#include "../.changelog.adoc.ftl">
diff --git
a/src/changelog/.2.x.x/update_co_elastic_clients_elasticsearch_java.xml
b/src/changelog/.2.x.x/update_co_elastic_clients_elasticsearch_java.xml
deleted file mode 100644
index 8131f1dc56..0000000000
--- a/src/changelog/.2.x.x/update_co_elastic_clients_elasticsearch_java.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<entry xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xmlns="https://logging.apache.org/xml/ns"
- xsi:schemaLocation="https://logging.apache.org/xml/ns
https://logging.apache.org/xml/ns/log4j-changelog-0.xsd"
- type="updated">
- <issue id="3521" link="https://github.com/apache/logging-log4j2/pull/3521"/>
- <description format="asciidoc">Update
`co.elastic.clients:elasticsearch-java` to version `8.17.3`</description>
-</entry>
diff --git
a/src/changelog/.2.x.x/update_co_elastic_logging_log4j2_ecs_layout.xml
b/src/changelog/.2.x.x/update_co_elastic_logging_log4j2_ecs_layout.xml
deleted file mode 100644
index 609183e5ce..0000000000
--- a/src/changelog/.2.x.x/update_co_elastic_logging_log4j2_ecs_layout.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<entry xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xmlns="https://logging.apache.org/xml/ns"
- xsi:schemaLocation="https://logging.apache.org/xml/ns
https://logging.apache.org/xml/ns/log4j-changelog-0.xsd"
- type="updated">
- <issue id="3615" link="https://github.com/apache/logging-log4j2/pull/3615"/>
- <description format="asciidoc">Update `co.elastic.logging:log4j2-ecs-layout`
to version `1.7.0`</description>
-</entry>
diff --git a/src/changelog/.2.x.x/update_com_code_intelligence_jazzer.xml
b/src/changelog/.2.x.x/update_com_code_intelligence_jazzer.xml
deleted file mode 100644
index a1c1a2d609..0000000000
--- a/src/changelog/.2.x.x/update_com_code_intelligence_jazzer.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<entry xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xmlns="https://logging.apache.org/xml/ns"
- xsi:schemaLocation="https://logging.apache.org/xml/ns
https://logging.apache.org/xml/ns/log4j-changelog-0.xsd"
- type="updated">
- <issue id="3424" link="https://github.com/apache/logging-log4j2/pull/3424"/>
- <description format="asciidoc">Update `com.code-intelligence:jazzer` to
version `0.24.0`</description>
-</entry>
diff --git a/src/changelog/.2.x.x/update_com_github_jnr_jnr_ffi.xml
b/src/changelog/.2.x.x/update_com_github_jnr_jnr_ffi.xml
deleted file mode 100644
index 0484a6ba49..0000000000
--- a/src/changelog/.2.x.x/update_com_github_jnr_jnr_ffi.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<entry xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xmlns="https://logging.apache.org/xml/ns"
- xsi:schemaLocation="https://logging.apache.org/xml/ns
https://logging.apache.org/xml/ns/log4j-changelog-0.xsd"
- type="updated">
- <issue id="3082" link="https://github.com/apache/logging-log4j2/pull/3082"/>
- <description format="asciidoc">Update `com.github.jnr:jnr-ffi` to version
`2.2.17`</description>
-</entry>
diff --git a/src/changelog/.2.x.x/update_com_github_luben_zstd_jni.xml
b/src/changelog/.2.x.x/update_com_github_luben_zstd_jni.xml
deleted file mode 100644
index 45803bb9a7..0000000000
--- a/src/changelog/.2.x.x/update_com_github_luben_zstd_jni.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<entry xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xmlns="https://logging.apache.org/xml/ns"
- xsi:schemaLocation="https://logging.apache.org/xml/ns
https://logging.apache.org/xml/ns/log4j-changelog-0.xsd"
- type="updated">
- <issue id="3646" link="https://github.com/apache/logging-log4j2/pull/3646"/>
- <description format="asciidoc">Update `com.github.luben:zstd-jni` to version
`1.5.7-3`</description>
-</entry>
diff --git a/src/changelog/.2.x.x/update_com_google_guava_guava.xml
b/src/changelog/.2.x.x/update_com_google_guava_guava.xml
deleted file mode 100644
index f996aa9257..0000000000
--- a/src/changelog/.2.x.x/update_com_google_guava_guava.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<entry xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xmlns="https://logging.apache.org/xml/ns"
- xsi:schemaLocation="https://logging.apache.org/xml/ns
https://logging.apache.org/xml/ns/log4j-changelog-0.xsd"
- type="updated">
- <issue id="3614" link="https://github.com/apache/logging-log4j2/pull/3614"/>
- <description format="asciidoc">Update `com.google.guava:guava` to version
`33.4.8-jre`</description>
-</entry>
diff --git a/src/changelog/.2.x.x/update_commons_codec_commons_codec.xml
b/src/changelog/.2.x.x/update_commons_codec_commons_codec.xml
deleted file mode 100644
index dd89663c0b..0000000000
--- a/src/changelog/.2.x.x/update_commons_codec_commons_codec.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<entry xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xmlns="https://logging.apache.org/xml/ns"
- xsi:schemaLocation="https://logging.apache.org/xml/ns
https://logging.apache.org/xml/ns/log4j-changelog-0.xsd"
- type="updated">
- <issue id="3421" link="https://github.com/apache/logging-log4j2/pull/3421"/>
- <description format="asciidoc">Update `commons-codec:commons-codec` to
version `1.18.0`</description>
-</entry>
diff --git a/src/changelog/.2.x.x/update_commons_io_commons_io.xml
b/src/changelog/.2.x.x/update_commons_io_commons_io.xml
deleted file mode 100644
index 31671ca8f6..0000000000
--- a/src/changelog/.2.x.x/update_commons_io_commons_io.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<entry xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xmlns="https://logging.apache.org/xml/ns"
- xsi:schemaLocation="https://logging.apache.org/xml/ns
https://logging.apache.org/xml/ns/log4j-changelog-0.xsd"
- type="updated">
- <issue id="3223" link="https://github.com/apache/logging-log4j2/pull/3223"/>
- <description format="asciidoc">Update `commons-io:commons-io` to version
`2.18.0`</description>
-</entry>
diff --git a/src/changelog/.2.x.x/update_fast_xml_parser.xml
b/src/changelog/.2.x.x/update_fast_xml_parser.xml
deleted file mode 100644
index ad03215ba0..0000000000
--- a/src/changelog/.2.x.x/update_fast_xml_parser.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<entry xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xmlns="https://logging.apache.org/xml/ns"
- xsi:schemaLocation="https://logging.apache.org/xml/ns
https://logging.apache.org/xml/ns/log4j-changelog-0.xsd"
- type="updated">
- <issue id="3487" link="https://github.com/apache/logging-log4j2/pull/3487"/>
- <description format="asciidoc">Update `fast-xml-parser` to version
`5.0.6`</description>
-</entry>
diff --git a/src/changelog/.2.x.x/update_gradle_develocity_actions.xml
b/src/changelog/.2.x.x/update_gradle_develocity_actions.xml
deleted file mode 100644
index 22e83bd5f1..0000000000
--- a/src/changelog/.2.x.x/update_gradle_develocity_actions.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<entry xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xmlns="https://logging.apache.org/xml/ns"
- xsi:schemaLocation="https://logging.apache.org/xml/ns
https://logging.apache.org/xml/ns/log4j-changelog-0.xsd"
- type="updated">
- <issue id="3717" link="https://github.com/apache/logging-log4j2/pull/3717"/>
- <description format="asciidoc">Update `gradle/develocity-actions` to version
`1.4`</description>
-</entry>
diff --git a/src/changelog/.2.x.x/update_net_java_dev_jna_jna.xml
b/src/changelog/.2.x.x/update_net_java_dev_jna_jna.xml
deleted file mode 100644
index 86e4889987..0000000000
--- a/src/changelog/.2.x.x/update_net_java_dev_jna_jna.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<entry xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xmlns="https://logging.apache.org/xml/ns"
- xsi:schemaLocation="https://logging.apache.org/xml/ns
https://logging.apache.org/xml/ns/log4j-changelog-0.xsd"
- type="updated">
- <issue id="3542" link="https://github.com/apache/logging-log4j2/pull/3542"/>
- <description format="asciidoc">Update `net.java.dev.jna:jna` to version
`5.17.0`</description>
-</entry>
diff --git
a/src/changelog/.2.x.x/update_org_apache_activemq_activemq_broker.xml
b/src/changelog/.2.x.x/update_org_apache_activemq_activemq_broker.xml
deleted file mode 100644
index 529dd954de..0000000000
--- a/src/changelog/.2.x.x/update_org_apache_activemq_activemq_broker.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<entry xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xmlns="https://logging.apache.org/xml/ns"
- xsi:schemaLocation="https://logging.apache.org/xml/ns
https://logging.apache.org/xml/ns/log4j-changelog-0.xsd"
- type="updated">
- <issue id="3531" link="https://github.com/apache/logging-log4j2/pull/3531"/>
- <description format="asciidoc">Update `org.apache.activemq:activemq-broker`
to version `6.1.6`</description>
-</entry>
diff --git a/src/changelog/.2.x.x/update_org_apache_groovy_groovy_bom.xml
b/src/changelog/.2.x.x/update_org_apache_groovy_groovy_bom.xml
deleted file mode 100644
index 8da9f3005b..0000000000
--- a/src/changelog/.2.x.x/update_org_apache_groovy_groovy_bom.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<entry xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xmlns="https://logging.apache.org/xml/ns"
- xsi:schemaLocation="https://logging.apache.org/xml/ns
https://logging.apache.org/xml/ns/log4j-changelog-0.xsd"
- type="updated">
- <issue id="3693" link="https://github.com/apache/logging-log4j2/pull/3693"/>
- <description format="asciidoc">Update `org.apache.groovy:groovy-bom` to
version `4.0.27`</description>
-</entry>
diff --git
a/src/changelog/.2.x.x/update_org_apache_logging_log4j_log4j_transform_maven_shade_plugin_extensions.xml
b/src/changelog/.2.x.x/update_org_apache_logging_log4j_log4j_transform_maven_shade_plugin_extensions.xml
deleted file mode 100644
index 99088c485d..0000000000
---
a/src/changelog/.2.x.x/update_org_apache_logging_log4j_log4j_transform_maven_shade_plugin_extensions.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<entry xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xmlns="https://logging.apache.org/xml/ns"
- xsi:schemaLocation="https://logging.apache.org/xml/ns
https://logging.apache.org/xml/ns/log4j-changelog-0.xsd"
- type="updated">
- <issue id="3147" link="https://github.com/apache/logging-log4j2/pull/3147"/>
- <description format="asciidoc">Update
`org.apache.logging.log4j:log4j-transform-maven-shade-plugin-extensions` to
version `0.2.0`</description>
-</entry>
diff --git a/src/changelog/.2.x.x/update_org_apache_maven_maven_core.xml
b/src/changelog/.2.x.x/update_org_apache_maven_maven_core.xml
deleted file mode 100644
index 5186823ca0..0000000000
--- a/src/changelog/.2.x.x/update_org_apache_maven_maven_core.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<entry xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xmlns="https://logging.apache.org/xml/ns"
- xsi:schemaLocation="https://logging.apache.org/xml/ns
https://logging.apache.org/xml/ns/log4j-changelog-0.xsd"
- type="updated">
- <issue id="3715" link="https://github.com/apache/logging-log4j2/pull/3715"/>
- <description format="asciidoc">Update `org.apache.maven:maven-core` to
version `3.9.10`</description>
-</entry>
diff --git
a/src/changelog/.2.x.x/update_org_apache_maven_surefire_surefire_junit47.xml
b/src/changelog/.2.x.x/update_org_apache_maven_surefire_surefire_junit47.xml
deleted file mode 100644
index 7763d139b3..0000000000
--- a/src/changelog/.2.x.x/update_org_apache_maven_surefire_surefire_junit47.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<entry xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xmlns="https://logging.apache.org/xml/ns"
- xsi:schemaLocation="https://logging.apache.org/xml/ns
https://logging.apache.org/xml/ns/log4j-changelog-0.xsd"
- type="updated">
- <issue id="3162" link="https://github.com/apache/logging-log4j2/pull/3162"/>
- <description format="asciidoc">Update
`org.apache.maven.surefire:surefire-junit47` to version `3.5.2`</description>
-</entry>
diff --git a/src/changelog/.2.x.x/update_org_assertj_assertj_core.xml
b/src/changelog/.2.x.x/update_org_assertj_assertj_core.xml
deleted file mode 100644
index a147262348..0000000000
--- a/src/changelog/.2.x.x/update_org_assertj_assertj_core.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<entry xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xmlns="https://logging.apache.org/xml/ns"
- xsi:schemaLocation="https://logging.apache.org/xml/ns
https://logging.apache.org/xml/ns/log4j-changelog-0.xsd"
- type="updated">
- <issue id="3404" link="https://github.com/apache/logging-log4j2/pull/3404"/>
- <description format="asciidoc">Update `org.assertj:assertj-core` to version
`3.27.3`</description>
-</entry>
diff --git a/src/changelog/.2.x.x/update_org_awaitility_awaitility.xml
b/src/changelog/.2.x.x/update_org_awaitility_awaitility.xml
deleted file mode 100644
index 00746c8e47..0000000000
--- a/src/changelog/.2.x.x/update_org_awaitility_awaitility.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<entry xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xmlns="https://logging.apache.org/xml/ns"
- xsi:schemaLocation="https://logging.apache.org/xml/ns
https://logging.apache.org/xml/ns/log4j-changelog-0.xsd"
- type="updated">
- <issue id="3489" link="https://github.com/apache/logging-log4j2/pull/3489"/>
- <description format="asciidoc">Update `org.awaitility:awaitility` to version
`4.3.0`</description>
-</entry>
diff --git a/src/changelog/.2.x.x/update_org_codehaus_plexus_plexus_utils.xml
b/src/changelog/.2.x.x/update_org_codehaus_plexus_plexus_utils.xml
deleted file mode 100644
index 1070c7694f..0000000000
--- a/src/changelog/.2.x.x/update_org_codehaus_plexus_plexus_utils.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<entry xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xmlns="https://logging.apache.org/xml/ns"
- xsi:schemaLocation="https://logging.apache.org/xml/ns
https://logging.apache.org/xml/ns/log4j-changelog-0.xsd"
- type="updated">
- <issue id="3297" link="https://github.com/apache/logging-log4j2/pull/3297"/>
- <description format="asciidoc">Update `org.codehaus.plexus:plexus-utils` to
version `3.6.0`</description>
-</entry>
diff --git
a/src/changelog/.2.x.x/update_org_eclipse_platform_org_eclipse_osgi.xml
b/src/changelog/.2.x.x/update_org_eclipse_platform_org_eclipse_osgi.xml
deleted file mode 100644
index 8b2b236502..0000000000
--- a/src/changelog/.2.x.x/update_org_eclipse_platform_org_eclipse_osgi.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<entry xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xmlns="https://logging.apache.org/xml/ns"
- xsi:schemaLocation="https://logging.apache.org/xml/ns
https://logging.apache.org/xml/ns/log4j-changelog-0.xsd"
- type="updated">
- <issue id="3724" link="https://github.com/apache/logging-log4j2/pull/3724"/>
- <description format="asciidoc">Update
`org.eclipse.platform:org.eclipse.osgi` to version `3.23.100`</description>
-</entry>
diff --git a/src/changelog/.2.x.x/update_org_hsqldb_hsqldb.xml
b/src/changelog/.2.x.x/update_org_hsqldb_hsqldb.xml
deleted file mode 100644
index c793048766..0000000000
--- a/src/changelog/.2.x.x/update_org_hsqldb_hsqldb.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<entry xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xmlns="https://logging.apache.org/xml/ns"
- xsi:schemaLocation="https://logging.apache.org/xml/ns
https://logging.apache.org/xml/ns/log4j-changelog-0.xsd"
- type="updated">
- <issue id="3163" link="https://github.com/apache/logging-log4j2/pull/3163"/>
- <description format="asciidoc">Update `org.hsqldb:hsqldb` to version
`2.7.4`</description>
-</entry>
diff --git a/src/changelog/.2.x.x/update_org_json_json.xml
b/src/changelog/.2.x.x/update_org_json_json.xml
deleted file mode 100644
index 72ef0051f8..0000000000
--- a/src/changelog/.2.x.x/update_org_json_json.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<entry xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xmlns="https://logging.apache.org/xml/ns"
- xsi:schemaLocation="https://logging.apache.org/xml/ns
https://logging.apache.org/xml/ns/log4j-changelog-0.xsd"
- type="updated">
- <issue id="3673" link="https://github.com/apache/logging-log4j2/pull/3673"/>
- <description format="asciidoc">Update `org.json:json` to version
`20250517`</description>
-</entry>
diff --git a/src/changelog/.2.x.x/update_org_junit_junit_bom.xml
b/src/changelog/.2.x.x/update_org_junit_junit_bom.xml
deleted file mode 100644
index 5fb2af6483..0000000000
--- a/src/changelog/.2.x.x/update_org_junit_junit_bom.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<entry xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xmlns="https://logging.apache.org/xml/ns"
- xsi:schemaLocation="https://logging.apache.org/xml/ns
https://logging.apache.org/xml/ns/log4j-changelog-0.xsd"
- type="updated">
- <issue id="3723" link="https://github.com/apache/logging-log4j2/pull/3723"/>
- <description format="asciidoc">Update `org.junit:junit-bom` to version
`5.13.1`</description>
-</entry>
diff --git a/src/changelog/.2.x.x/update_org_openjdk_nashorn_nashorn_core.xml
b/src/changelog/.2.x.x/update_org_openjdk_nashorn_nashorn_core.xml
deleted file mode 100644
index 709decd8ff..0000000000
--- a/src/changelog/.2.x.x/update_org_openjdk_nashorn_nashorn_core.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<entry xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xmlns="https://logging.apache.org/xml/ns"
- xsi:schemaLocation="https://logging.apache.org/xml/ns
https://logging.apache.org/xml/ns/log4j-changelog-0.xsd"
- type="updated">
- <issue id="3331" link="https://github.com/apache/logging-log4j2/pull/3331"/>
- <description format="asciidoc">Update `org.openjdk.nashorn:nashorn-core` to
version `15.6`</description>
-</entry>
diff --git
a/src/changelog/.2.x.x/update_org_openrewrite_maven_rewrite_maven_plugin.xml
b/src/changelog/.2.x.x/update_org_openrewrite_maven_rewrite_maven_plugin.xml
deleted file mode 100644
index 8dceff5bef..0000000000
--- a/src/changelog/.2.x.x/update_org_openrewrite_maven_rewrite_maven_plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<entry xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xmlns="https://logging.apache.org/xml/ns"
- xsi:schemaLocation="https://logging.apache.org/xml/ns
https://logging.apache.org/xml/ns/log4j-changelog-0.xsd"
- type="updated">
- <issue id="3397" link="https://github.com/apache/logging-log4j2/pull/3397"/>
- <description format="asciidoc">Update
`org.openrewrite.maven:rewrite-maven-plugin` to version `6.0.1`</description>
-</entry>
diff --git
a/src/changelog/.2.x.x/update_org_openrewrite_recipe_rewrite_logging_frameworks.xml
b/src/changelog/.2.x.x/update_org_openrewrite_recipe_rewrite_logging_frameworks.xml
deleted file mode 100644
index 910698cf1e..0000000000
---
a/src/changelog/.2.x.x/update_org_openrewrite_recipe_rewrite_logging_frameworks.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<entry xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xmlns="https://logging.apache.org/xml/ns"
- xsi:schemaLocation="https://logging.apache.org/xml/ns
https://logging.apache.org/xml/ns/log4j-changelog-0.xsd"
- type="updated">
- <issue id="3446" link="https://github.com/apache/logging-log4j2/pull/3446"/>
- <description format="asciidoc">Update
`org.openrewrite.recipe:rewrite-logging-frameworks` to version
`3.2.0`</description>
-</entry>
diff --git
a/src/changelog/.2.x.x/update_org_openrewrite_recipe_rewrite_migrate_java.xml
b/src/changelog/.2.x.x/update_org_openrewrite_recipe_rewrite_migrate_java.xml
deleted file mode 100644
index 2d30218d94..0000000000
---
a/src/changelog/.2.x.x/update_org_openrewrite_recipe_rewrite_migrate_java.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<entry xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xmlns="https://logging.apache.org/xml/ns"
- xsi:schemaLocation="https://logging.apache.org/xml/ns
https://logging.apache.org/xml/ns/log4j-changelog-0.xsd"
- type="updated">
- <issue id="3390" link="https://github.com/apache/logging-log4j2/pull/3390"/>
- <description format="asciidoc">Update
`org.openrewrite.recipe:rewrite-migrate-java` to version `3.0.0`</description>
-</entry>
diff --git
a/src/changelog/.2.x.x/update_org_ops4j_pax_exam_exam_maven_plugin.xml
b/src/changelog/.2.x.x/update_org_ops4j_pax_exam_exam_maven_plugin.xml
deleted file mode 100644
index 3e469e133e..0000000000
--- a/src/changelog/.2.x.x/update_org_ops4j_pax_exam_exam_maven_plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<entry xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xmlns="https://logging.apache.org/xml/ns"
- xsi:schemaLocation="https://logging.apache.org/xml/ns
https://logging.apache.org/xml/ns/log4j-changelog-0.xsd"
- type="updated">
- <issue id="3280" link="https://github.com/apache/logging-log4j2/pull/3280"/>
- <description format="asciidoc">Update `org.ops4j.pax.exam:exam-maven-plugin`
to version `4.14.0`</description>
-</entry>
diff --git a/src/changelog/.2.x.x/update_org_ops4j_pax_exam_pax_exam.xml
b/src/changelog/.2.x.x/update_org_ops4j_pax_exam_pax_exam.xml
deleted file mode 100644
index 5c9a6db58a..0000000000
--- a/src/changelog/.2.x.x/update_org_ops4j_pax_exam_pax_exam.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<entry xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xmlns="https://logging.apache.org/xml/ns"
- xsi:schemaLocation="https://logging.apache.org/xml/ns
https://logging.apache.org/xml/ns/log4j-changelog-0.xsd"
- type="updated">
- <issue id="3277" link="https://github.com/apache/logging-log4j2/pull/3277"/>
- <description format="asciidoc">Update `org.ops4j.pax.exam:pax-exam` to
version `4.14.0`</description>
-</entry>
diff --git a/src/changelog/.2.x.x/update_org_slf4j_slf4j_nop.xml
b/src/changelog/.2.x.x/update_org_slf4j_slf4j_nop.xml
deleted file mode 100644
index 534c7b9884..0000000000
--- a/src/changelog/.2.x.x/update_org_slf4j_slf4j_nop.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<entry xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xmlns="https://logging.apache.org/xml/ns"
- xsi:schemaLocation="https://logging.apache.org/xml/ns
https://logging.apache.org/xml/ns/log4j-changelog-0.xsd"
- type="updated">
- <issue id="3490" link="https://github.com/apache/logging-log4j2/pull/3490"/>
- <description format="asciidoc">Update `org.slf4j:slf4j-nop` to version
`2.0.17`</description>
-</entry>
diff --git a/src/changelog/.2.x.x/update_org_xmlunit_xmlunit_core.xml
b/src/changelog/.2.x.x/update_org_xmlunit_xmlunit_core.xml
deleted file mode 100644
index 4746ba196c..0000000000
--- a/src/changelog/.2.x.x/update_org_xmlunit_xmlunit_core.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<entry xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xmlns="https://logging.apache.org/xml/ns"
- xsi:schemaLocation="https://logging.apache.org/xml/ns
https://logging.apache.org/xml/ns/log4j-changelog-0.xsd"
- type="updated">
- <issue id="3685" link="https://github.com/apache/logging-log4j2/pull/3685"/>
- <description format="asciidoc">Update `org.xmlunit:xmlunit-core` to version
`2.10.2`</description>
-</entry>
diff --git a/src/changelog/2.25.0/.release-notes.adoc.ftl
b/src/changelog/2.25.0/.release-notes.adoc.ftl
new file mode 100644
index 0000000000..76b92252d7
--- /dev/null
+++ b/src/changelog/2.25.0/.release-notes.adoc.ftl
@@ -0,0 +1,76 @@
+////
+ 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.
+////
+
+[#release-notes-${release.version?replace("[^a-zA-Z0-9]", "-", "r")}]
+== ${release.version}
+
+<#if release.date?has_content>Release date:: ${release.date}</#if>
+
+This minor release introduces bug fixes, behavior improvements, and complete
support for GraalVM native image generation.
+
+[#release-notes-2-25-0-graalvm]
+=== GraalVM Reachability Metadata
+
+Log4j Core and all extension modules now include embedded
+https://www.graalvm.org/latest/reference-manual/native-image/metadata/[GraalVM
reachability metadata],
+enabling seamless generation of native images with GraalVM out of the box—no
manual configuration required.
+For more information, refer to our xref:graalvm.adoc[GraalVM guide].
+
+[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
xref:manual/plugins.adoc#plugin-registry[Registering plugins].
+====
+
+[#release-notes-2-25-0-PL-ex]
+=== Exception Handling in Pattern Layout
+
+Exception handling in xref:manual/pattern-layout.adoc[Pattern Layout] 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 instead of other
whitespace.
+* The default exception converter has changed from
xref:manual/pattern-layout.adoc#converter-exception-extended[extended] to
xref:manual/pattern-layout.adoc#converter-exception[plain], offering better
performance.
+* Support for the `\{ansi}` option in exception converters has been removed.
+
+[#release-notes-2-25-0-instant-format]
+=== Date & Time Formatting
+
+Log4j has historically provided custom date and time formatters for
performance, such as
+link:javadoc/log4j-core/org/apache/logging/log4j/core/util/datetime/FixedDateFormat.html[`FixedDateFormat`]
and
+link:javadoc/log4j-core/org/apache/logging/log4j/core/util/datetime/FastDateFormat.html[`FastDateFormat`].
+These are now deprecated in favor of Java’s standard
+https://docs.oracle.com/javase/{java-target-version}/docs/api/java/time/format/DateTimeFormatter.html[`DateTimeFormatter`].
+
+If you encounter formatting issues after upgrading—particularly with `n` or
`x` directives—you can temporarily revert to the legacy formatters by setting
the
xref:manual/systemproperties.adoc#log4j2.instantFormatter[`log4j2.instantFormatter`]
property to `legacy`.
+Please report any issues via our
{logging-services-url}/support.html#issues[issue tracker].
+
+[#release-notes-2-25-0-windows-ansi]
+=== 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 xref:manual/pattern-layout.adoc#jansi[ANSI styling on
Windows].
+
+[#release-notes-2-25-0-jakarta-jms]
+=== Jakarta JMS Appender
+
+A Jakarta-compatible version of the
xref:manual/appenders/message-queue.adoc#JmsAppender[JMS Appender] is now
included in the core distribution.
+
+<#include "../.changelog.adoc.ftl">
diff --git a/src/changelog/2.25.0/.release.xml
b/src/changelog/2.25.0/.release.xml
new file mode 100644
index 0000000000..0ddf31ead7
--- /dev/null
+++ b/src/changelog/2.25.0/.release.xml
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ 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
+ ~
+ ~ http://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.
+ -->
+<release xmlns="https://logging.apache.org/xml/ns"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="https://logging.apache.org/xml/ns
https://logging.apache.org/xml/ns/log4j-changelog-0.xsd"
+ date="2025-06-13" version="2.25.0"/>
diff --git a/src/changelog/.2.x.x/1736_split_jansi_support.xml
b/src/changelog/2.25.0/1736_split_jansi_support.xml
similarity index 100%
rename from src/changelog/.2.x.x/1736_split_jansi_support.xml
rename to src/changelog/2.25.0/1736_split_jansi_support.xml
diff --git a/src/changelog/.2.x.x/2229_mongodb_docker.xml
b/src/changelog/2.25.0/2229_mongodb_docker.xml
similarity index 100%
rename from src/changelog/.2.x.x/2229_mongodb_docker.xml
rename to src/changelog/2.25.0/2229_mongodb_docker.xml
diff --git a/src/changelog/.2.x.x/2295_add_JMS_Jakarta_Appender.xml
b/src/changelog/2.25.0/2295_add_JMS_Jakarta_Appender.xml
similarity index 100%
rename from src/changelog/.2.x.x/2295_add_JMS_Jakarta_Appender.xml
rename to src/changelog/2.25.0/2295_add_JMS_Jakarta_Appender.xml
diff --git
a/src/changelog/.2.x.x/2592_fix_RollingFileManager_unsuccessful_rollover.xml
b/src/changelog/2.25.0/2592_fix_RollingFileManager_unsuccessful_rollover.xml
similarity index 100%
rename from
src/changelog/.2.x.x/2592_fix_RollingFileManager_unsuccessful_rollover.xml
rename to
src/changelog/2.25.0/2592_fix_RollingFileManager_unsuccessful_rollover.xml
diff --git
a/src/changelog/.2.x.x/2691_change_PatternLayout_exception_rendering.xml
b/src/changelog/2.25.0/2691_change_PatternLayout_exception_rendering.xml
similarity index 100%
rename from
src/changelog/.2.x.x/2691_change_PatternLayout_exception_rendering.xml
rename to src/changelog/2.25.0/2691_change_PatternLayout_exception_rendering.xml
diff --git a/src/changelog/.2.x.x/2691_deprecate_ThrowableProxy.xml
b/src/changelog/2.25.0/2691_deprecate_ThrowableProxy.xml
similarity index 100%
rename from src/changelog/.2.x.x/2691_deprecate_ThrowableProxy.xml
rename to src/changelog/2.25.0/2691_deprecate_ThrowableProxy.xml
diff --git
a/src/changelog/.2.x.x/2691_fix_PatternLayout_exception_rendering.xml
b/src/changelog/2.25.0/2691_fix_PatternLayout_exception_rendering.xml
similarity index 100%
rename from src/changelog/.2.x.x/2691_fix_PatternLayout_exception_rendering.xml
rename to src/changelog/2.25.0/2691_fix_PatternLayout_exception_rendering.xml
diff --git a/src/changelog/.2.x.x/2767_reload_key_stores.xml
b/src/changelog/2.25.0/2767_reload_key_stores.xml
similarity index 100%
rename from src/changelog/.2.x.x/2767_reload_key_stores.xml
rename to src/changelog/2.25.0/2767_reload_key_stores.xml
diff --git a/src/changelog/.2.x.x/2767_simplify_SSL_config_logic.xml
b/src/changelog/2.25.0/2767_simplify_SSL_config_logic.xml
similarity index 100%
rename from src/changelog/.2.x.x/2767_simplify_SSL_config_logic.xml
rename to src/changelog/2.25.0/2767_simplify_SSL_config_logic.xml
diff --git a/src/changelog/.2.x.x/2769_pluginAttribute_publicSetterWarning.xml
b/src/changelog/2.25.0/2769_pluginAttribute_publicSetterWarning.xml
similarity index 100%
rename from src/changelog/.2.x.x/2769_pluginAttribute_publicSetterWarning.xml
rename to src/changelog/2.25.0/2769_pluginAttribute_publicSetterWarning.xml
diff --git a/src/changelog/.2.x.x/2916_rewrite_jansi_renderer.xml
b/src/changelog/2.25.0/2916_rewrite_jansi_renderer.xml
similarity index 100%
rename from src/changelog/.2.x.x/2916_rewrite_jansi_renderer.xml
rename to src/changelog/2.25.0/2916_rewrite_jansi_renderer.xml
diff --git
a/src/changelog/.2.x.x/2936_deprecate_AbstractLogger_checkMessageFactory.xml
b/src/changelog/2.25.0/2936_deprecate_AbstractLogger_checkMessageFactory.xml
similarity index 100%
rename from
src/changelog/.2.x.x/2936_deprecate_AbstractLogger_checkMessageFactory.xml
rename to
src/changelog/2.25.0/2936_deprecate_AbstractLogger_checkMessageFactory.xml
diff --git a/src/changelog/.2.x.x/2937-http-watcher.xml
b/src/changelog/2.25.0/2937-http-watcher.xml
similarity index 100%
rename from src/changelog/.2.x.x/2937-http-watcher.xml
rename to src/changelog/2.25.0/2937-http-watcher.xml
diff --git a/src/changelog/.2.x.x/2942_fix_ThreadContext_putAll.xml
b/src/changelog/2.25.0/2942_fix_ThreadContext_putAll.xml
similarity index 100%
rename from src/changelog/.2.x.x/2942_fix_ThreadContext_putAll.xml
rename to src/changelog/2.25.0/2942_fix_ThreadContext_putAll.xml
diff --git a/src/changelog/.2.x.x/2949_add_fuzzing.xml
b/src/changelog/2.25.0/2949_add_fuzzing.xml
similarity index 100%
rename from src/changelog/.2.x.x/2949_add_fuzzing.xml
rename to src/changelog/2.25.0/2949_add_fuzzing.xml
diff --git a/src/changelog/.2.x.x/3011_http_appender_validation.xml
b/src/changelog/2.25.0/3011_http_appender_validation.xml
similarity index 100%
rename from src/changelog/.2.x.x/3011_http_appender_validation.xml
rename to src/changelog/2.25.0/3011_http_appender_validation.xml
diff --git a/src/changelog/.2.x.x/3030_fix_log4j1_getLogger.xml
b/src/changelog/2.25.0/3030_fix_log4j1_getLogger.xml
similarity index 100%
rename from src/changelog/.2.x.x/3030_fix_log4j1_getLogger.xml
rename to src/changelog/2.25.0/3030_fix_log4j1_getLogger.xml
diff --git a/src/changelog/.2.x.x/3045_change_PatternLayout_prefix.xml
b/src/changelog/2.25.0/3045_change_PatternLayout_prefix.xml
similarity index 100%
rename from src/changelog/.2.x.x/3045_change_PatternLayout_prefix.xml
rename to src/changelog/2.25.0/3045_change_PatternLayout_prefix.xml
diff --git a/src/changelog/.2.x.x/3045_fix_PatternLayout_rEx_property.xml
b/src/changelog/2.25.0/3045_fix_PatternLayout_rEx_property.xml
similarity index 100%
rename from src/changelog/.2.x.x/3045_fix_PatternLayout_rEx_property.xml
rename to src/changelog/2.25.0/3045_fix_PatternLayout_rEx_property.xml
diff --git a/src/changelog/.2.x.x/3045_remove_PatternLayout_ex_ansi.xml
b/src/changelog/2.25.0/3045_remove_PatternLayout_ex_ansi.xml
similarity index 100%
rename from src/changelog/.2.x.x/3045_remove_PatternLayout_ex_ansi.xml
rename to src/changelog/2.25.0/3045_remove_PatternLayout_ex_ansi.xml
diff --git a/src/changelog/.2.x.x/3048_fix_ThreadContext_remove.xml
b/src/changelog/2.25.0/3048_fix_ThreadContext_remove.xml
similarity index 100%
rename from src/changelog/.2.x.x/3048_fix_ThreadContext_remove.xml
rename to src/changelog/2.25.0/3048_fix_ThreadContext_remove.xml
diff --git a/src/changelog/.2.x.x/3053_graalvm_processor.xml
b/src/changelog/2.25.0/3053_graalvm_processor.xml
similarity index 100%
rename from src/changelog/.2.x.x/3053_graalvm_processor.xml
rename to src/changelog/2.25.0/3053_graalvm_processor.xml
diff --git a/src/changelog/.2.x.x/3056_android_support.xml
b/src/changelog/2.25.0/3056_android_support.xml
similarity index 100%
rename from src/changelog/.2.x.x/3056_android_support.xml
rename to src/changelog/2.25.0/3056_android_support.xml
diff --git a/src/changelog/.2.x.x/3066_fix_bom.xml
b/src/changelog/2.25.0/3066_fix_bom.xml
similarity index 100%
rename from src/changelog/.2.x.x/3066_fix_bom.xml
rename to src/changelog/2.25.0/3066_fix_bom.xml
diff --git a/src/changelog/.2.x.x/3074_monitor_additional_files.xml
b/src/changelog/2.25.0/3074_monitor_additional_files.xml
similarity index 100%
rename from src/changelog/.2.x.x/3074_monitor_additional_files.xml
rename to src/changelog/2.25.0/3074_monitor_additional_files.xml
diff --git a/src/changelog/.2.x.x/3085_fix_log4j_1_priority.xml
b/src/changelog/2.25.0/3085_fix_log4j_1_priority.xml
similarity index 100%
rename from src/changelog/.2.x.x/3085_fix_log4j_1_priority.xml
rename to src/changelog/2.25.0/3085_fix_log4j_1_priority.xml
diff --git a/src/changelog/.2.x.x/3118_default_layout.xml
b/src/changelog/2.25.0/3118_default_layout.xml
similarity index 100%
rename from src/changelog/.2.x.x/3118_default_layout.xml
rename to src/changelog/2.25.0/3118_default_layout.xml
diff --git a/src/changelog/.2.x.x/3119_set_level_call_parent.xml
b/src/changelog/2.25.0/3119_set_level_call_parent.xml
similarity index 100%
rename from src/changelog/.2.x.x/3119_set_level_call_parent.xml
rename to src/changelog/2.25.0/3119_set_level_call_parent.xml
diff --git a/src/changelog/.2.x.x/3121_deprecate_FixedDateFormat.xml
b/src/changelog/2.25.0/3121_deprecate_FixedDateFormat.xml
similarity index 100%
rename from src/changelog/.2.x.x/3121_deprecate_FixedDateFormat.xml
rename to src/changelog/2.25.0/3121_deprecate_FixedDateFormat.xml
diff --git a/src/changelog/.2.x.x/3121_instant_format.xml
b/src/changelog/2.25.0/3121_instant_format.xml
similarity index 100%
rename from src/changelog/.2.x.x/3121_instant_format.xml
rename to src/changelog/2.25.0/3121_instant_format.xml
diff --git
a/src/changelog/.2.x.x/3123_change_PatternLayout_exception_renderer.xml
b/src/changelog/2.25.0/3123_change_PatternLayout_exception_renderer.xml
similarity index 100%
rename from
src/changelog/.2.x.x/3123_change_PatternLayout_exception_renderer.xml
rename to src/changelog/2.25.0/3123_change_PatternLayout_exception_renderer.xml
diff --git
a/src/changelog/.2.x.x/3127_JDBC_appender_IOException_stream_closed.xml
b/src/changelog/2.25.0/3127_JDBC_appender_IOException_stream_closed.xml
similarity index 100%
rename from
src/changelog/.2.x.x/3127_JDBC_appender_IOException_stream_closed.xml
rename to src/changelog/2.25.0/3127_JDBC_appender_IOException_stream_closed.xml
diff --git a/src/changelog/.2.x.x/3143_logger_registry.xml
b/src/changelog/2.25.0/3143_logger_registry.xml
similarity index 100%
rename from src/changelog/.2.x.x/3143_logger_registry.xml
rename to src/changelog/2.25.0/3143_logger_registry.xml
diff --git a/src/changelog/.2.x.x/3149_change_StatusData_prefix.xml
b/src/changelog/2.25.0/3149_change_StatusData_prefix.xml
similarity index 100%
rename from src/changelog/.2.x.x/3149_change_StatusData_prefix.xml
rename to src/changelog/2.25.0/3149_change_StatusData_prefix.xml
diff --git
a/src/changelog/.2.x.x/3151_fix_mongodb_appender_deprecation_warning.xml
b/src/changelog/2.25.0/3151_fix_mongodb_appender_deprecation_warning.xml
similarity index 100%
rename from
src/changelog/.2.x.x/3151_fix_mongodb_appender_deprecation_warning.xml
rename to src/changelog/2.25.0/3151_fix_mongodb_appender_deprecation_warning.xml
diff --git a/src/changelog/.2.x.x/3153_fix_StringMatchFilter_guardNPE.xml
b/src/changelog/2.25.0/3153_fix_StringMatchFilter_guardNPE.xml
similarity index 100%
rename from src/changelog/.2.x.x/3153_fix_StringMatchFilter_guardNPE.xml
rename to src/changelog/2.25.0/3153_fix_StringMatchFilter_guardNPE.xml
diff --git
a/src/changelog/.2.x.x/3159_fix_AsyncWaitStrategyFactoryConfig_guardNPE.xml
b/src/changelog/2.25.0/3159_fix_AsyncWaitStrategyFactoryConfig_guardNPE.xml
similarity index 100%
rename from
src/changelog/.2.x.x/3159_fix_AsyncWaitStrategyFactoryConfig_guardNPE.xml
rename to
src/changelog/2.25.0/3159_fix_AsyncWaitStrategyFactoryConfig_guardNPE.xml
diff --git a/src/changelog/.2.x.x/3206_fix_rootLogger_shorthand_npe.xml
b/src/changelog/2.25.0/3206_fix_rootLogger_shorthand_npe.xml
similarity index 100%
rename from src/changelog/.2.x.x/3206_fix_rootLogger_shorthand_npe.xml
rename to src/changelog/2.25.0/3206_fix_rootLogger_shorthand_npe.xml
diff --git a/src/changelog/.2.x.x/3212_fix_JTL_StackTraceStringResolver.xml
b/src/changelog/2.25.0/3212_fix_JTL_StackTraceStringResolver.xml
similarity index 100%
rename from src/changelog/.2.x.x/3212_fix_JTL_StackTraceStringResolver.xml
rename to src/changelog/2.25.0/3212_fix_JTL_StackTraceStringResolver.xml
diff --git a/src/changelog/.2.x.x/3215_fix-RegexReplacement.xml
b/src/changelog/2.25.0/3215_fix-RegexReplacement.xml
similarity index 100%
rename from src/changelog/.2.x.x/3215_fix-RegexReplacement.xml
rename to src/changelog/2.25.0/3215_fix-RegexReplacement.xml
diff --git a/src/changelog/.2.x.x/3217_precise_clock.xml
b/src/changelog/2.25.0/3217_precise_clock.xml
similarity index 100%
rename from src/changelog/.2.x.x/3217_precise_clock.xml
rename to src/changelog/2.25.0/3217_precise_clock.xml
diff --git a/src/changelog/.2.x.x/3257_fix_AsyncAppender_requiresLocation.xml
b/src/changelog/2.25.0/3257_fix_AsyncAppender_requiresLocation.xml
similarity index 100%
rename from src/changelog/.2.x.x/3257_fix_AsyncAppender_requiresLocation.xml
rename to src/changelog/2.25.0/3257_fix_AsyncAppender_requiresLocation.xml
diff --git
a/src/changelog/.2.x.x/3257_fix_FailoverAppender_requiresLocation.xml
b/src/changelog/2.25.0/3257_fix_FailoverAppender_requiresLocation.xml
similarity index 100%
rename from src/changelog/.2.x.x/3257_fix_FailoverAppender_requiresLocation.xml
rename to src/changelog/2.25.0/3257_fix_FailoverAppender_requiresLocation.xml
diff --git a/src/changelog/.2.x.x/3300_fix-javadoc.xml
b/src/changelog/2.25.0/3300_fix-javadoc.xml
similarity index 100%
rename from src/changelog/.2.x.x/3300_fix-javadoc.xml
rename to src/changelog/2.25.0/3300_fix-javadoc.xml
diff --git a/src/changelog/.2.x.x/3359_fix-javadoc.xml
b/src/changelog/2.25.0/3359_fix-javadoc.xml
similarity index 100%
rename from src/changelog/.2.x.x/3359_fix-javadoc.xml
rename to src/changelog/2.25.0/3359_fix-javadoc.xml
diff --git
a/src/changelog/.2.x.x/3369_fix_typo_in_RootLogger_Builder_method.xml
b/src/changelog/2.25.0/3369_fix_typo_in_RootLogger_Builder_method.xml
similarity index 100%
rename from src/changelog/.2.x.x/3369_fix_typo_in_RootLogger_Builder_method.xml
rename to src/changelog/2.25.0/3369_fix_typo_in_RootLogger_Builder_method.xml
diff --git a/src/changelog/.2.x.x/3398_fix_JTL_RecyclerFactoryConverter.xml
b/src/changelog/2.25.0/3398_fix_JTL_RecyclerFactoryConverter.xml
similarity index 100%
rename from src/changelog/.2.x.x/3398_fix_JTL_RecyclerFactoryConverter.xml
rename to src/changelog/2.25.0/3398_fix_JTL_RecyclerFactoryConverter.xml
diff --git a/src/changelog/.2.x.x/3399_logger_registry.xml
b/src/changelog/2.25.0/3399_logger_registry.xml
similarity index 100%
rename from src/changelog/.2.x.x/3399_logger_registry.xml
rename to src/changelog/2.25.0/3399_logger_registry.xml
diff --git
a/src/changelog/.2.x.x/3430_InternalLoggerRegistry_stale_entry_expunge.xml
b/src/changelog/2.25.0/3430_InternalLoggerRegistry_stale_entry_expunge.xml
similarity index 100%
rename from
src/changelog/.2.x.x/3430_InternalLoggerRegistry_stale_entry_expunge.xml
rename to
src/changelog/2.25.0/3430_InternalLoggerRegistry_stale_entry_expunge.xml
diff --git a/src/changelog/.2.x.x/3431_default_config_name.xml
b/src/changelog/2.25.0/3431_default_config_name.xml
similarity index 100%
rename from src/changelog/.2.x.x/3431_default_config_name.xml
rename to src/changelog/2.25.0/3431_default_config_name.xml
diff --git a/src/changelog/.2.x.x/3437_transtive_compile_only_dependencies.xml
b/src/changelog/2.25.0/3437_transtive_compile_only_dependencies.xml
similarity index 100%
rename from src/changelog/.2.x.x/3437_transtive_compile_only_dependencies.xml
rename to src/changelog/2.25.0/3437_transtive_compile_only_dependencies.xml
diff --git a/src/changelog/.2.x.x/3467_add_mongodb_conn_db_name.xml
b/src/changelog/2.25.0/3467_add_mongodb_conn_db_name.xml
similarity index 100%
rename from src/changelog/.2.x.x/3467_add_mongodb_conn_db_name.xml
rename to src/changelog/2.25.0/3467_add_mongodb_conn_db_name.xml
diff --git a/src/changelog/.2.x.x/3508_LoggerContext_shutdownDisable.xml
b/src/changelog/2.25.0/3508_LoggerContext_shutdownDisable.xml
similarity index 100%
rename from src/changelog/.2.x.x/3508_LoggerContext_shutdownDisable.xml
rename to src/changelog/2.25.0/3508_LoggerContext_shutdownDisable.xml
diff --git a/src/changelog/.2.x.x/3562_StatusData_ArrayIndexOutOfBounds.xml
b/src/changelog/2.25.0/3562_StatusData_ArrayIndexOutOfBounds.xml
similarity index 100%
rename from src/changelog/.2.x.x/3562_StatusData_ArrayIndexOutOfBounds.xml
rename to src/changelog/2.25.0/3562_StatusData_ArrayIndexOutOfBounds.xml
diff --git a/src/changelog/.2.x.x/3586_improve_GcpLayout.xml
b/src/changelog/2.25.0/3586_improve_GcpLayout.xml
similarity index 100%
rename from src/changelog/.2.x.x/3586_improve_GcpLayout.xml
rename to src/changelog/2.25.0/3586_improve_GcpLayout.xml
diff --git a/src/changelog/.2.x.x/3601_deprecate_or_remove_hiding_methods.xml
b/src/changelog/2.25.0/3601_deprecate_or_remove_hiding_methods.xml
similarity index 100%
rename from src/changelog/.2.x.x/3601_deprecate_or_remove_hiding_methods.xml
rename to src/changelog/2.25.0/3601_deprecate_or_remove_hiding_methods.xml
diff --git
a/src/changelog/.2.x.x/3639_disable_optimization_for_filling_the_stack_trace.xml
b/src/changelog/2.25.0/3639_disable_optimization_for_filling_the_stack_trace.xml
similarity index 100%
rename from
src/changelog/.2.x.x/3639_disable_optimization_for_filling_the_stack_trace.xml
rename to
src/changelog/2.25.0/3639_disable_optimization_for_filling_the_stack_trace.xml
diff --git a/src/changelog/.2.x.x/3645_speedup_array_logging.xml
b/src/changelog/2.25.0/3645_speedup_array_logging.xml
similarity index 100%
rename from src/changelog/.2.x.x/3645_speedup_array_logging.xml
rename to src/changelog/2.25.0/3645_speedup_array_logging.xml
diff --git
a/src/changelog/.2.x.x/3655_handle_missing_stack_traces_in_ExtendedThreadInformation.xml
b/src/changelog/2.25.0/3655_handle_missing_stack_traces_in_ExtendedThreadInformation.xml
similarity index 100%
rename from
src/changelog/.2.x.x/3655_handle_missing_stack_traces_in_ExtendedThreadInformation.xml
rename to
src/changelog/2.25.0/3655_handle_missing_stack_traces_in_ExtendedThreadInformation.xml
diff --git a/src/changelog/.2.x.x/3665_fix_StatusLogger_writing_to_stdout.xml
b/src/changelog/2.25.0/3665_fix_StatusLogger_writing_to_stdout.xml
similarity index 100%
rename from src/changelog/.2.x.x/3665_fix_StatusLogger_writing_to_stdout.xml
rename to src/changelog/2.25.0/3665_fix_StatusLogger_writing_to_stdout.xml
diff --git
a/src/changelog/.2.x.x/3669_generalize_ReadOnlyStringMap_equality.xml
b/src/changelog/2.25.0/3669_generalize_ReadOnlyStringMap_equality.xml
similarity index 100%
rename from src/changelog/.2.x.x/3669_generalize_ReadOnlyStringMap_equality.xml
rename to src/changelog/2.25.0/3669_generalize_ReadOnlyStringMap_equality.xml
diff --git
a/src/changelog/.2.x.x/3686_invoke_java_util_base64_directly_instead_of_reflectively.xml
b/src/changelog/2.25.0/3686_invoke_java_util_base64_directly_instead_of_reflectively.xml
similarity index 100%
rename from
src/changelog/.2.x.x/3686_invoke_java_util_base64_directly_instead_of_reflectively.xml
rename to
src/changelog/2.25.0/3686_invoke_java_util_base64_directly_instead_of_reflectively.xml
diff --git a/src/changelog/.2.x.x/3706_osgi-disruptor.xml
b/src/changelog/2.25.0/3706_osgi-disruptor.xml
similarity index 100%
rename from src/changelog/.2.x.x/3706_osgi-disruptor.xml
rename to src/changelog/2.25.0/3706_osgi-disruptor.xml
diff --git a/src/changelog/.2.x.x/fix_JsonWriter_surrogate_handling.xml
b/src/changelog/2.25.0/fix_JsonWriter_surrogate_handling.xml
similarity index 100%
rename from src/changelog/.2.x.x/fix_JsonWriter_surrogate_handling.xml
rename to src/changelog/2.25.0/fix_JsonWriter_surrogate_handling.xml
diff --git a/src/changelog/.2.x.x/throwable-proxy-clean-up.xml
b/src/changelog/2.25.0/throwable-proxy-clean-up.xml
similarity index 100%
rename from src/changelog/.2.x.x/throwable-proxy-clean-up.xml
rename to src/changelog/2.25.0/throwable-proxy-clean-up.xml
diff --git a/src/changelog/.2.x.x/update_actions_stale.xml
b/src/changelog/2.25.0/update_actions_stale.xml
similarity index 100%
rename from src/changelog/.2.x.x/update_actions_stale.xml
rename to src/changelog/2.25.0/update_actions_stale.xml
diff --git a/src/changelog/.2.x.x/update_ch_qos_logback_logback_core.xml
b/src/changelog/2.25.0/update_ch_qos_logback_logback_core.xml
similarity index 100%
rename from src/changelog/.2.x.x/update_ch_qos_logback_logback_core.xml
rename to src/changelog/2.25.0/update_ch_qos_logback_logback_core.xml
diff --git a/src/changelog/.2.x.x/update_com_fasterxml_jackson_jackson_bom.xml
b/src/changelog/2.25.0/update_com_fasterxml_jackson_jackson_bom.xml
similarity index 100%
rename from src/changelog/.2.x.x/update_com_fasterxml_jackson_jackson_bom.xml
rename to src/changelog/2.25.0/update_com_fasterxml_jackson_jackson_bom.xml
diff --git
a/src/changelog/.2.x.x/update_com_github_spotbugs_spotbugs_annotations.xml
b/src/changelog/2.25.0/update_com_github_spotbugs_spotbugs_annotations.xml
similarity index 100%
rename from
src/changelog/.2.x.x/update_com_github_spotbugs_spotbugs_annotations.xml
rename to
src/changelog/2.25.0/update_com_github_spotbugs_spotbugs_annotations.xml
diff --git a/src/changelog/.2.x.x/update_io_fabric8_docker_maven_plugin.xml
b/src/changelog/2.25.0/update_io_fabric8_docker_maven_plugin.xml
similarity index 100%
rename from src/changelog/.2.x.x/update_io_fabric8_docker_maven_plugin.xml
rename to src/changelog/2.25.0/update_io_fabric8_docker_maven_plugin.xml
diff --git a/src/changelog/.2.x.x/update_org_apache_cassandra_cassandra_all.xml
b/src/changelog/2.25.0/update_org_apache_cassandra_cassandra_all.xml
similarity index 100%
rename from src/changelog/.2.x.x/update_org_apache_cassandra_cassandra_all.xml
rename to src/changelog/2.25.0/update_org_apache_cassandra_cassandra_all.xml
diff --git a/src/changelog/.2.x.x/update_org_apache_commons_commons_csv.xml
b/src/changelog/2.25.0/update_org_apache_commons_commons_csv.xml
similarity index 100%
rename from src/changelog/.2.x.x/update_org_apache_commons_commons_csv.xml
rename to src/changelog/2.25.0/update_org_apache_commons_commons_csv.xml
diff --git a/src/changelog/.2.x.x/update_org_apache_commons_commons_dbcp2.xml
b/src/changelog/2.25.0/update_org_apache_commons_commons_dbcp2.xml
similarity index 100%
rename from src/changelog/.2.x.x/update_org_apache_commons_commons_dbcp2.xml
rename to src/changelog/2.25.0/update_org_apache_commons_commons_dbcp2.xml
diff --git a/src/changelog/.2.x.x/update_org_apache_commons_commons_pool2.xml
b/src/changelog/2.25.0/update_org_apache_commons_commons_pool2.xml
similarity index 100%
rename from src/changelog/.2.x.x/update_org_apache_commons_commons_pool2.xml
rename to src/changelog/2.25.0/update_org_apache_commons_commons_pool2.xml
diff --git a/src/changelog/.2.x.x/update_org_apache_kafka_kafka_clients.xml
b/src/changelog/2.25.0/update_org_apache_kafka_kafka_clients.xml
similarity index 100%
rename from src/changelog/.2.x.x/update_org_apache_kafka_kafka_clients.xml
rename to src/changelog/2.25.0/update_org_apache_kafka_kafka_clients.xml
diff --git a/src/changelog/.2.x.x/update_org_apache_logging_logging_parent.xml
b/src/changelog/2.25.0/update_org_apache_logging_logging_parent.xml
similarity index 88%
rename from src/changelog/.2.x.x/update_org_apache_logging_logging_parent.xml
rename to src/changelog/2.25.0/update_org_apache_logging_logging_parent.xml
index 0ea7b56393..3dc20db50d 100644
--- a/src/changelog/.2.x.x/update_org_apache_logging_logging_parent.xml
+++ b/src/changelog/2.25.0/update_org_apache_logging_logging_parent.xml
@@ -3,5 +3,5 @@
xmlns="https://logging.apache.org/xml/ns"
xsi:schemaLocation="https://logging.apache.org/xml/ns
https://logging.apache.org/xml/ns/log4j-changelog-0.xsd"
type="updated">
- <description format="asciidoc">Update `org.apache.logging:logging-parent` to
version `12.0.0`</description>
+ <description format="asciidoc">Update `org.apache.logging:logging-parent` to
version `12.1.1`</description>
</entry>
diff --git a/src/changelog/.2.x.x/update_org_apache_tomcat_tomcat_juli.xml
b/src/changelog/2.25.0/update_org_apache_tomcat_tomcat_juli.xml
similarity index 100%
rename from src/changelog/.2.x.x/update_org_apache_tomcat_tomcat_juli.xml
rename to src/changelog/2.25.0/update_org_apache_tomcat_tomcat_juli.xml
diff --git a/src/changelog/.2.x.x/update_org_eclipse_jetty_jetty_util.xml
b/src/changelog/2.25.0/update_org_eclipse_jetty_jetty_util.xml
similarity index 100%
rename from src/changelog/.2.x.x/update_org_eclipse_jetty_jetty_util.xml
rename to src/changelog/2.25.0/update_org_eclipse_jetty_jetty_util.xml
diff --git a/src/changelog/.2.x.x/update_org_jmdns_jmdns.xml
b/src/changelog/2.25.0/update_org_jmdns_jmdns.xml
similarity index 100%
rename from src/changelog/.2.x.x/update_org_jmdns_jmdns.xml
rename to src/changelog/2.25.0/update_org_jmdns_jmdns.xml
diff --git a/src/changelog/.2.x.x/update_org_mongodb_bson.xml
b/src/changelog/2.25.0/update_org_mongodb_bson.xml
similarity index 100%
rename from src/changelog/.2.x.x/update_org_mongodb_bson.xml
rename to src/changelog/2.25.0/update_org_mongodb_bson.xml
diff --git a/src/changelog/.2.x.x/update_org_slf4j_slf4j_api.xml
b/src/changelog/2.25.0/update_org_slf4j_slf4j_api.xml
similarity index 100%
rename from src/changelog/.2.x.x/update_org_slf4j_slf4j_api.xml
rename to src/changelog/2.25.0/update_org_slf4j_slf4j_api.xml
diff --git
a/src/changelog/.2.x.x/update_org_springframework_cloud_spring_cloud_context.xml
b/src/changelog/2.25.0/update_org_springframework_cloud_spring_cloud_context.xml
similarity index 100%
rename from
src/changelog/.2.x.x/update_org_springframework_cloud_spring_cloud_context.xml
rename to
src/changelog/2.25.0/update_org_springframework_cloud_spring_cloud_context.xml
diff --git
a/src/site/antora/modules/ROOT/pages/manual/appenders/message-queue.adoc
b/src/site/antora/modules/ROOT/pages/manual/appenders/message-queue.adoc
index d032c53de3..2095597e39 100644
--- a/src/site/antora/modules/ROOT/pages/manual/appenders/message-queue.adoc
+++ b/src/site/antora/modules/ROOT/pages/manual/appenders/message-queue.adoc
@@ -424,7 +424,7 @@ This example cannot be configured using Java properties.
== JMS Appender
The JMS Appender sends a formatted log event to a
-https://jakarta.ee/specifications/messaging/3.0/[Jakarta] or
https://jakarta.ee/specifications/messaging/2.0/[Javax] Messaging API
+https://jakarta.ee/specifications/messaging/3.0/[Jakarta] or
https://jakarta.ee/specifications/messaging/2.0/[Java] EE Messaging API
destination.
[IMPORTANT]
@@ -434,9 +434,38 @@
xref:manual/systemproperties.adoc#log4j2.enableJndiJms[`log4j2.enableJndiJms`]
configuration property to `true`.
====
-For Jakarta, use the `JMS-Jakarta` element name in the `log4j-jakarta-jms`
Maven module.
+[WARNING]
+=====
+Starting with Log4j `2.25.0`, the correct Appender element name depends on the
version of Jakarta Messaging you are using:
+
+* **For Jakarta Messaging 3.0 or later**, use the `JMS-Jakarta` element name.
+This requires additional runtime dependencies:
++
+[tabs]
+====
+Maven::
++
+[source,xml,subs="+attributes"]
+----
+<dependency>
+ <groupId>org.apache.logging.log4j</groupId>
+ <artifactId>log4j-jakarta-jms</artifactId>
+ <version>{log4j-core-version}</version>
+</dependency>
+----
-For Javax, use the `JMS-Javax` element name; the names `JMS`, `JMSQueue`, and
`JMSTopic` are provided for backward compatibility.
+Gradle::
++
+[source,groovy,subs="+attributes"]
+----
+runtimeOnly 'org.apache.logging.log4j:log4j-jakarta-jms:{log4j-core-version}'
+----
+====
+
+* **For Java Messaging or Jakarta Messaging 2.0**, use the `JMS-Javax` element
name instead.
+
+The legacy element names `JMS`, `JMSQueue`, and `JMSTopic` are still supported
for backward compatibility.
+=====
[#JmsAppender-attributes]
.JMS Appender configuration attributes
diff --git
a/src/site/antora/modules/ROOT/partials/manual/systemproperties/properties-log4j-core-misc.adoc
b/src/site/antora/modules/ROOT/partials/manual/systemproperties/properties-log4j-core-misc.adoc
index e9a44de433..fcb8ff4d70 100644
---
a/src/site/antora/modules/ROOT/partials/manual/systemproperties/properties-log4j-core-misc.adoc
+++
b/src/site/antora/modules/ROOT/partials/manual/systemproperties/properties-log4j-core-misc.adoc
@@ -262,8 +262,8 @@
link:../javadoc/log4j-api/org/apache/logging/log4j/message/FlowMessageFactory.ht
implementation to be used by all loggers.
// end::flow-tracing[]
-[id=log4j2.instant.formatter]
-== `log4j2.instant.formatter`
+[id=log4j2.instantFormatter]
+== `log4j2.instantFormatter`
[cols="1h,5"]
|===