////
    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-2-25-1]
== 2.25.1

Release date:: 2025-07-05

This patch release addresses a dozen bugs in version `2.25.0`, in particular:

* Resolves a concurrency issue in the new unified datetime formatter.
* Fixes build failures affecting Gradle users.
* Restores backward compatibility with Spring Boot’s common logging configuration.
* Improves handling of edge cases in GraalVM support.


[#release-notes-2-25-1-fixed]
=== Fixed

* Fix detection of the Disruptor major version in environments with non-standard thread context classloader. (https://github.com/apache/logging-log4j2/issues/3706[3706])
* Downgrade `spotbugs-annotations` to resolve Gradle build failures. (https://github.com/apache/logging-log4j2/issues/3754[3754])
* Fix incorrect version resolution of `jspecify` and `error_prone_annotations` dependencies in published POM files. (https://github.com/apache/logging-log4j2/issues/3758[3758], https://github.com/apache/logging-log4j2/issues/3779[3779])
* Restore compatibility with Spring Boot by allowing reconfiguration using the `LoggerContext.start` method. (https://github.com/apache/logging-log4j2/issues/3770[3770])
* Allow omission of the `-Alog4j.graalvm.groupId` and `-Alog4j.graalvm.artifactId` arguments when building Log4j plugins. (https://github.com/apache/logging-log4j2/issues/3771[3771])
* Broaden the OSGi manifest's `Import-Package` constraints to support Jakarta Servlet API up to version 6. (https://github.com/apache/logging-log4j2/issues/3787[3787])
* Enable the `resource:` protocol for configuration files by default when running on GraalVM. (https://github.com/apache/logging-log4j2/issues/3790[3790])
* Fix timestamp formatting concurrency issue, when `log4j2.enabledThreadlocals` is `true`. (https://github.com/apache/logging-log4j2/issues/3792[3792])
* Fix GraalVM reachability metadata generation for methods with annotated array type parameters, such as `@Nullable String[]`. (https://github.com/apache/logging-log4j2/issues/3796[3796])
* Resolve `PropertiesConfiguration` compatibility issues with GraalVM and address additional minor reflection-related problems. (https://github.com/apache/logging-log4j2/pull/3800[3800])
