Personally, I would appreciate a document I can read that documents the build process. Even though I am sure it is all Maven plugins of some kind it isn’t unusual for the order and configuration of the plugins to be important.
I’d really like to know what I need to do to get it to work for some existing project or a brand new one. Ralph > On Sep 4, 2024, at 3:56 AM, Christian Grobmeier <grobme...@apache.org> wrote: > > > On Tue, Sep 3, 2024, at 21:51, Gary Gregory wrote: >> From my point of view, building has gotten worse and less reliable over >> time :-( > > To be fair, the new build system was, at least for me, welcoming and > straightforward to use. Although complex under the hood, it’s a major > improvement over the build system we had in log4j1 (like Stone Age to > enterprise) and also lots better than the various documents with different > content we had with early log4j2 > > I am not sure why it did not build on your machine but on the others, but it > is certainly worth to improve the system we have today. > > I see a trend within this team that only few people push forward changes like > maintaining the build. I think it would be beneficial if others would learn > more about how it works and the details so everyone can provide patches. > > Volkan already offered to help. If there is more interest we maybe could have > video training session on the details, assuming Volkan would be willing to do > this as well. I would be certainly interested in this. > > Cheers > >> My -1 vote reflects this. >> >> Gary >> >> On Tue, Sep 3, 2024, 2:55 PM Volkan Yazıcı <vol...@yazi.ci.invalid >> <mailto:vol...@yazi.ci.invalid>> wrote: >> >>> Gary, do you know what is the difference between RC1 and RC2? Nothing. >>> Piotr only kindly added a one-liner condition check to the contending >>> (FQDN-related) test to make it up to you. That is the only difference – >>> plus, he updated the review kit (shared in the email) to avoid the >>> reproducibility check on Windows. Put another way, RC1 is effectively >>> identical to RC2, bit by bit. >>> >>> My point is, 3 people verified the release and CI runs passed on all 3 >>> platforms – there is definitely something unexpected in your setup. As you >>> know better, issuing an RC is a time and energy consuming task. Besides RM, >>> other voters put effort into it too. Would you mind asking for further help >>> instead of downvoting a release due to local failures, please? I would have >>> been more than happy to assist you in a video call, instead of re-issuing >>> the whole release. >>> >>> On Tue, Sep 3, 2024 at 4:04 PM Gary D. Gregory <ggreg...@apache.org> >>> wrote: >>> >>>> -1 >>>> >>>> On Windows, I deleting my entire .m2/repository folder and then ran >>>> >>>> mvnw -Prelease clean verify artifact:compare >>> -Dreference.repo=%NEXUS_REPO% >>>> >>>> and got: >>>> >>>> [INFO] Minimal buildinfo generated from downloaded artifacts: >>>> >>> C:\Users\ggregory\rc\2.24.0\src\target\reference\log4j-bom-2.24.0.buildinfo >>>> [ERROR] size mismatch log4j-bom-2.24.0.pom: investigate with diffoscope >>>> target\reference\org.apache.logging.log4j\log4j-bom-2.24.0.pom >>>> .flattened-pom.xml >>>> [ERROR] size mismatch log4j-bom-2.24.0-cyclonedx.xml: investigate with >>>> diffoscope >>>> target\reference\org.apache.logging.log4j\log4j-bom-2.24.0-cyclonedx.xml >>>> target\bom.xml >>>> [ERROR] Reproducible Build output summary: 0 files ok, 2 different >>>> [ERROR] see diff target\reference\log4j-bom-2.24.0.buildinfo >>>> target\log4j-bom-2.24.0.buildinfo >>>> [ERROR] see also >>>> https://maven.apache.org/guides/mini/guide-reproducible-builds.html >>>> [INFO] Reproducible Build output comparison saved to >>>> C:\Users\ggregory\rc\2.24.0\src\target\log4j-bom-2.24.0.buildcompare >>>> [INFO] Aggregate buildcompare copied to >>>> C:\Users\ggregory\rc\2.24.0\src\target\log4j-bom-2.24.0.buildcompare >>>> [INFO] >>>> ------------------------------------------------------------------------ >>>> [INFO] Reactor Summary for Apache Log4j BOM 2.24.0: >>>> [INFO] >>>> [INFO] Apache Log4j BOM ................................... FAILURE >>> [02:58 >>>> min] >>>> [ >>>> >>>> So I give up after trying macOS, Linux, and Windows. >>>> >>>> Gary >>>> >>>> On 2024/09/03 13:23:59 "Gary D. Gregory" wrote: >>>>> Note that I add "clean" *(why does the kit not use "clean"?) >>>>> >>>>> mvnw -Prelease clean verify artifact:compare >>> -Dreference.repo=$NEXUS_REPO >>>>> >>>>> Gary >>>>> >>>>> On 2024/09/03 13:21:32 "Gary D. Gregory" wrote: >>>>>> It's fails differently on Ubuntu: >>>>>> >>>>>> ... >>>>>> [INFO] --- artifact:3.5.1:compare (default-cli) @ log4j-api --- >>>>>> [WARNING] <project.build.outputTimestamp> property is inherited from >>>> outside the reactor, it should be defined in parent POM from reactor >>>> /mnt/c/Users/ggregory/rc/2.24.0/src/.flattened-pom.xml >>>>>> [INFO] Reference buildinfo file not found: it will be generated from >>>> downloaded reference artifacts >>>>>> [INFO] Reference build java.version: 17 (from MANIFEST.MF >>>> Build-Jdk-Spec) >>>>>> [INFO] Reference build os.name: Unix (from pom.properties newline) >>>>>> [INFO] Minimal buildinfo generated from downloaded artifacts: >>>> >>> /mnt/c/Users/ggregory/rc/2.24.0/src/log4j-api/target/reference/log4j-api-2.24.0.buildinfo >>>>>> [ERROR] sha512 mismatch log4j-api-2.24.0-sources.jar: investigate >>> with >>>> diffoscope >>>> >>> log4j-api/target/reference/org.apache.logging.log4j/log4j-api-2.24.0-sources.jar >>>> log4j-api/target/log4j-api-2.24.0-sources.jar >>>>>> [ERROR] Reproducible Build output summary: 3 files ok, 1 different >>>>>> [ERROR] see diff >>> log4j-api/target/reference/log4j-api-2.24.0.buildinfo >>>> log4j-api/target/log4j-api-2.24.0.buildinfo >>>>>> [ERROR] see also >>>> https://maven.apache.org/guides/mini/guide-reproducible-builds.html >>>>>> [INFO] Reproducible Build output comparison saved to >>>> >>> /mnt/c/Users/ggregory/rc/2.24.0/src/log4j-api/target/log4j-api-2.24.0.buildcompare >>>>>> [INFO] Aggregate buildcompare copied to >>>> /mnt/c/Users/ggregory/rc/2.24.0/src/target/log4j-bom-2.24.0.buildcompare >>>>>> [INFO] >>>> ------------------------------------------------------------------------ >>>>>> [INFO] Reactor Summary for Apache Log4j BOM 2.24.0: >>>>>> [INFO] >>>>>> [INFO] Apache Log4j BOM ................................... SUCCESS >>>> [02:01 min] >>>>>> [INFO] Apache Log4j Parent ................................ SUCCESS [ >>>> 1.427 s] >>>>>> [INFO] Apache Log4j API Java 9 support .................... SUCCESS [ >>>> 29.766 s] >>>>>> [INFO] Apache Log4j API ................................... FAILURE >>>> [03:13 min] >>>>>> [INFO] Apache Log4j Implementation Java 9 support ......... SKIPPED >>>>>> [INFO] Apache Log4j Core .................................. SKIPPED >>>>>> [INFO] Apache Log4j API Tests ............................. SKIPPED >>>>>> [INFO] Apache Log4j Core Tests ............................ SKIPPED >>>>>> [INFO] Apache Log4j 1.x Compatibility API ................. SKIPPED >>>>>> [INFO] Apache Log4j App Server Support .................... SKIPPED >>>>>> [INFO] Log4j API to SLF4J Adapter ......................... SKIPPED >>>>>> [INFO] SLF4J 1 Binding for Log4j API ...................... SKIPPED >>>>>> [INFO] Apache Log4j Cassandra ............................. SKIPPED >>>>>> [INFO] Apache Log4j Core Integration Tests ................ SKIPPED >>>>>> [INFO] Apache Log4j CouchDB ............................... SKIPPED >>>>>> [INFO] Apache Log4j Docker Library ........................ SKIPPED >>>>>> [INFO] Apache Log4j Streaming Interface ................... SKIPPED >>>>>> [INFO] Apache Log4j Jakarta SMTP .......................... SKIPPED >>>>>> [INFO] Apache Log4j Jakarta Web ........................... SKIPPED >>>>>> [INFO] Apache Log4j Commons Logging Bridge ................ SKIPPED >>>>>> [INFO] Apache Log4j JPA ................................... SKIPPED >>>>>> [INFO] Apache Log4j JDK Platform Logging Adapter .......... SKIPPED >>>>>> [INFO] Apache Log4j JDBC DBCP 2 ........................... SKIPPED >>>>>> [INFO] Apache Log4j JUL Adapter ........................... SKIPPED >>>>>> [INFO] Apache Log4j JSON Template Layout .................. SKIPPED >>>>>> [INFO] Apache Log4j JSON Template Layout tests ............ SKIPPED >>>>>> [INFO] Apache Log4j MongoDB 4 ............................. SKIPPED >>>>>> [INFO] Apache Log4j MongoDB Appender ...................... SKIPPED >>>>>> [INFO] Apache Log4j to JUL Bridge ......................... SKIPPED >>>>>> [INFO] Apache Log4j OSGi tests ............................ SKIPPED >>>>>> [INFO] Apache Log4J Performance Tests ..................... SKIPPED >>>>>> [INFO] SLF4J 2 Provider for Log4j API ..................... 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: 05:46 min >>>>>> [INFO] Finished at: 2024-09-03T09:16:38-04:00 >>>>>> [INFO] >>>> ------------------------------------------------------------------------ >>>>>> [ERROR] Failed to execute goal >>>> org.apache.maven.plugins:maven-artifact-plugin:3.5.1:compare >>> (default-cli) >>>> on project log4j-api: Build artifacts are different from reference -> >>> [Help >>>> 1] >>>>>> [ERROR] >>>>>> [ERROR] To see the full stack trace of the errors, re-run Maven with >>>> the -e switch. >>>>>> [ERROR] Re-run Maven using the -X switch to enable full debug >>> logging. >>>>>> [ERROR] >>>>>> [ERROR] For more information about the errors and possible solutions, >>>> please read the following articles: >>>>>> [ERROR] [Help 1] >>>> http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionException >>>>>> [ERROR] >>>>>> [ERROR] After correcting the problems, you can resume the build with >>>> the command >>>>>> [ERROR] mvn <args> -rf :log4j-api >>>>>> >>>>>> diff log4j-api/target/reference/log4j-api-2.24.0.buildinfo >>>> log4j-api/target/log4j-api-2.24.0.buildinfo >>>>>> 0a1,15 >>>>>>> # https://reproducible-builds.org/docs/jvm/ >>>>>>> buildinfo.version=1.0-SNAPSHOT >>>>>>> >>>>>>> name=Apache Log4j API >>>>>>> group-id=org.apache.logging.log4j >>>>>>> artifact-id=log4j-api >>>>>>> version=2.24.0 >>>>>>> >>>>>>> # source information >>>>>>> source.scm.uri=scm:git: >>> https://github.com/apache/logging-log4j2.git >>>>>>> source.scm.tag=2.x >>>>>>> >>>>>>> # build instructions >>>>>>> build-tool=mvn >>>>>>> >>>>>> 2,3c17,24 >>>>>> < java.version=17 (from MANIFEST.MF Build-Jdk-Spec) >>>>>> < os.name=Unix (from pom.properties newline) >>>>>> --- >>>>>>> java.version=17.0.12 >>>>>>> java.vendor=Ubuntu >>>>>>> os.name=Linux >>>>>>> >>>>>>> # Maven rebuild instructions and effective environment >>>>>>> mvn.version=3.9.8 >>>>>>> >>>>>>> # output >>>>>> 23c44 >>>>>> < >>>> >>> outputs.3.checksums.sha512=66b4c6ac951044361f76a796a5849c26dd0a9381c8e16d5f137202bd932e73ef27e9ca6e6755d41014108bac37a81c0a84f5325ab765ac66457d5b242fd7f37b >>>>>> --- >>>>>>> >>>> >>> outputs.3.checksums.sha512=e2658bebe4653910d9dfd1eeef920f2f6fc0984dda8ddc8156e33b8569393990527de07cd1d70f4e937a56f505bc35186c37689905ffae1d7234fc2d9e171a70 >>>>>> >>>>>> I am using: >>>>>> >>>>>> uname -a >>>>>> Linux RS-PF3NRMLR 5.15.153.1-microsoft-standard-WSL2 #1 SMP Fri Mar >>> 29 >>>> 23:14:13 UTC 2024 x86_64 x86_64 x86_64 GNU/Linux >>>>>> >>>>>> mvn -version >>>>>> Apache Maven 3.9.9 (8e8579a9e76f7d015ee5ec7bfcdc97d260186937) >>>>>> Maven home: /mnt/c/java/apache-maven-3.9.9 >>>>>> Java version: 17.0.12, vendor: Ubuntu, runtime: >>>> /usr/lib/jvm/java-17-openjdk-amd64 >>>>>> Default locale: en, platform encoding: UTF-8 >>>>>> OS name: "linux", version: "5.15.153.1-microsoft-standard-wsl2", >>> arch: >>>> "amd64", family: "unix" >>>>>> >>>>>> Gary >>>>>> >>>>>> >>>>>> On 2024/09/03 12:55:55 "Gary D. Gregory" wrote: >>>>>>> Trying again but not on macOS... >>>>>>> IMO, this text should be removed from the review kit: >>>>>>> "# If preferred, augment `mvnw` with `-DskipTests` to speed things >>>> up" >>>>>>> >>>>>>> You can't possibly validate an RC without running tests: "Look how >>>> fast I can NOT perform due diligence!" >>>>>>> >>>>>>> Gary >>>>>>> >>>>>>> On 2024/08/31 19:30:00 "Piotr P. Karwasz" wrote: >>>>>>>> This is a vote to release the Apache Log4j `2.24.0`. >>>>>>>> >>>>>>>> Website: >>> https://logging.staged.apache.org/log4j/2.24.0/index.html >>>>>>>> GitHub: https://github.com/apache/logging-log4j2 >>>>>>>> Commit: 08053687456f6be61ee8206da782a3d051928a57 >>>>>>>> Distribution: >>> https://dist.apache.org/repos/dist/dev/logging/log4j >>>>>>>> Nexus: >>>> https://repository.apache.org/content/repositories/orgapachelogging-1293 >>>>>>>> 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. At least 3 +1 votes and more >>>>>>>> positive than negative votes are required. >>>>>>>> >>>>>>>> == Review kit >>>>>>>> >>>>>>>> The minimum set of steps needed to review the uploaded >>> distribution >>>>>>>> files in the Subversion repository can be summarized as follows: >>>>>>>> >>>>>>>> # Check out the distribution >>>>>>>> svn co >>>> https://dist.apache.org/repos/dist/dev/logging/log4j/2.24.0 && cd $_ >>>>>>>> >>>>>>>> # Verify checksums >>>>>>>> shasum --check *.sha512 >>>>>>>> >>>>>>>> # Verify signatures >>>>>>>> wget -O - https://downloads.apache.org/logging/KEYS | gpg >>>> --import >>>>>>>> for sigFile in *.asc; do gpg --verify $sigFile; done >>>>>>>> >>>>>>>> # Verify reproduciblity >>>>>>>> umask 0022 >>>>>>>> unzip *-src.zip -d src >>>>>>>> cd src >>>>>>>> export NEXUS_REPO= >>>> https://repository.apache.org/content/repositories/orgapachelogging-1293 >>>>>>>> sh mvnw -Prelease verify artifact:compare >>>> -Dreference.repo=$NEXUS_REPO >>>>>>>> # If preferred, augment `mvnw` with `-DskipTests` to speed >>>> things up >>>>>>>> >>>>>>>> == Release Notes >>>>>>>> >>>>>>>> This release contains improvements and changes in several areas >>> of >>>> Apache Log4j: >>>>>>>> >>>>>>>> === Log4j API >>>>>>>> >>>>>>>> The `2.24.0` version of Log4j API has been enhanced with changes >>>> from >>>>>>>> the 3.x branch and will be used by both Log4j 2 Core and Log4j 3 >>>> Core >>>>>>>> releases. >>>>>>>> The changes include: >>>>>>>> >>>>>>>> * A faster default `ThreadContextMap`. >>>>>>>> * Enhanced GraalVM support: native binaries that use Log4j API >>>> will no >>>>>>>> longer require additional GraalVM configuration. >>>>>>>> * The configuration properties subsystem now only accepts the >>>> official >>>>>>>> pre-2.10 property names and the normalized post-2.10 names. >>>>>>>> Check your configuration for typos. >>>>>>>> >>>>>>>> === Documentation >>>>>>>> >>>>>>>> The Apache Log4j 2 website has been almost entirely rewritten to >>>>>>>> provide improved documentation and faster access to the >>> information >>>>>>>> you need. >>>>>>>> >>>>>>>> [1] https://logging.staged.apache.org/log4j/2.24.0/index.html >>>>>>>> >>>>>>>> === Bridges >>>>>>>> >>>>>>>> The JUL-to-Log4j API and Log4j 1-to-Log4j API will no longer be >>>> able >>>>>>>> to modify the configuration of Log4j Core by default. >>>>>>>> If such a functionality is required, it must be explicitly >>> enabled. >>>>>>>> >>>>>>>> === Modules >>>>>>>> >>>>>>>> The following Log4j Core additional modules have been removed: >>>>>>>> >>>>>>>> `log4j-flume-ng`:: >>>>>>>> The module has been moved to the Flume project and follows the >>>> Apache >>>>>>>> Flume release lifecycle. >>>>>>>> >>>>>>>> `log4j-kubernetes`:: >>>>>>>> The module has been moved to the >>>>>>>> >>>> >>> https://github.com/fabric8io/kubernetes-client/blob/main/doc/KubernetesLog4j.md[Fabric8.io >>>>>>>> Kubernetes project] and follows the Fabric8.io release lifecycle. >>>>>>>> >>>>>>>> `log4j-mongodb3`:: >>>>>>>> The module based on MongoDB Java client version 3.x has been >>>> removed. >>>>>>>> Please migrate to `log4j-mongodb` (client version 5.x) or >>>>>>>> `log4j-mongodb4` (client version 4.x). >>>>>>>> >>>>>>>> === JMX changes >>>>>>>> >>>>>>>> Starting in version 2.24.0, JMX support is disabled by default >>> and >>>> can >>>>>>>> be re-enabled via the `log4j2.disableJmx=false` system property. >>>>>>>> >>>>>>>> === Added >>>>>>>> >>>>>>>> * Add a faster `DefaultThreadContextMap` implementation. (#2330) >>>>>>>> * Add Logback throwable-consuming semantics as an option in >>>>>>>> `log4j-slf4j-impl` and `log4j-slf4j2-impl`. Users can enable it >>> by >>>>>>>> setting the property `log4j2.messageFactory` to >>>>>>>> >>>> `org.apache.logging.slf4j.message.ThrowableConsumingMessageFactory`. >>>>>>>> (#2363) >>>>>>>> * Add trace context fields to `GcpLayout.json` (#2498) >>>>>>>> * Add _"Plugin Reference"_ to the website. It is a >>>> Javadoc-on-steroids >>>>>>>> focusing on Log4j plugins. (#1954) >>>>>>>> * Automate website deployment using the new CI infrastructure >>>> shipped >>>>>>>> with `org.apache.logging:logging-parent:11.0.0` >>>>>>>> >>>>>>>> === Changed >>>>>>>> >>>>>>>> * Fix usage of `log4j-api` in GraalVM without additional >>>> reachability >>>>>>>> data. (#1539) >>>>>>>> * Ignore exceptions thrown by PropertySources. >>>>>>>> ( >>>> >>> https://github.com/spring-projects/spring-boot/issues/33450[Spring-33450]) >>>>>>>> * Add logging to `PropertiesUtil` and fix `Duration` parser. >>>> (#1936) >>>>>>>> * Disable level modification via JUL by default. (#2353) >>>>>>>> * Centralize initialization in the `Provider` class and deprecate >>>>>>>> `log4j2.loggerContextFactory` property. (#2374) >>>>>>>> * Remove `log4j-kubernetes` lookup. User should migrate to >>>>>>>> >>>> >>> https://github.com/fabric8io/kubernetes-client/blob/main/doc/KubernetesLog4j.md[`io.fabric8:kubernetes-log4j`] >>> <https://github.com/fabric8io/kubernetes-client/blob/main/doc/KubernetesLog4j.md%5Bio.fabric8:kubernetes-log4j%5D> >>>> < >>> https://github.com/fabric8io/kubernetes-client/blob/main/doc/KubernetesLog4j.md%5Bio.fabric8:kubernetes-log4j%5D >>>> >>>> . >>>>>>>> (#2412) >>>>>>>> * Disable JMX support by default. Require `log4j2.disableJmx` to >>> be >>>>>>>> set to `false` to enable JMX support. (#2462) >>>>>>>> * Replace some usages of `DateTimeFormatter#toString()` with >>>>>>>> `DateTimeFormatter#formatTo(StringBuilder)` to cut down on >>>> allocations >>>>>>>> (#2515) >>>>>>>> * Disable programmatic configuration in Log4j 1 Bridge if >>>>>>>> `log4j1.compatibility` is `false`. (#2778) >>>>>>>> * Improve missing plugin descriptor warnings. (#2835) >>>>>>>> * Remove configuration properties caching and (undocumented) >>> fuzzy >>>>>>>> property name matching. (#2849) >>>>>>>> * Fixes property source ordering to account for different sources >>>> with >>>>>>>> the same priority. >>>>>>>> (https://issues.apache.org/jira/browse/LOG4J2-3618[LOG4J2-3618]) >>>>>>>> * Prioritize user-defined values of `log4j2.enableThreadLocals`, >>>>>>>> `log4j2.garbagefreeThreadContextMap` and >>>> `log4j2.shutdownHookEnabled` >>>>>>>> over the value of `log4j.isWebapp`. (#2517) >>>>>>>> * Disallow duplicate keys in JSON Template Layout templates >>>>>>>> * Deprecate `log4j2.defaultStatusLevel` property in Log4j Core in >>>>>>>> favor of `log4j2.statusLoggerLevel` (#2481) >>>>>>>> >>>>>>>> === Deprecated >>>>>>>> >>>>>>>> * Deprecate `Message#getFormat()` due to unclear semantics and >>>>>>>> inconsistent implementations (#2773) >>>>>>>> * Deprecate `org.apache.logging.log4j.EventLogger` for removal >>>> (#2665) >>>>>>>> * Deprecate >>>> `org.apache.logging.log4j.core.appender.rolling.action.Duration` >>>>>>>> class for removal (#2425) >>>>>>>> * Deprecate the `log4j-mongodb4` module in favor of >>>> `log4j-mongodb` (#2486) >>>>>>>> >>>>>>>> === Fixed >>>>>>>> >>>>>>>> * Use FQDN in RFC5424 Layout. (#1740) >>>>>>>> * Fix custom thread-context data provider handling in lookups and >>>>>>>> filters. (#2331) >>>>>>>> * Fix handling of `log4j2.messageFactory` and >>>>>>>> `log4j2.flowMessageFactory` properties (#2505) >>>>>>>> * Discard blank keys in `PropertiesUtil` (#2414) >>>>>>>> * Fix handling of `log4j2.debug`. (#2703) >>>>>>>> * Fix location requirement for the `%F` and `%file` keys in >>> Pattern >>>>>>>> Layout (#2781) >>>>>>>> * Fix `JsonLayout` failure under JPMS. (#2814) >>>>>>>> * Fix empty string handling for `TruncatingBufferedWriter` >>> (#2609) >>>>>>>> * Fix that parameterized message formatting throws an exception >>>> when >>>>>>>> there are insufficient number of parameters. It previously simply >>>>>>>> didn't replace the '{}' sequence. The behavior changed in 2.21.0 >>>> and >>>>>>>> should be restored for backward compatibility. (#2380) >>>>>>>> * Fix `ClassCastException` in LMAX Disruptor 3 initialization >>>> (#2768) >>>>>>>> * Fix requirement on the `java.management` module when JMX is >>>>>>>> disabled, which is the default (#2775) >>>>>>>> * Website is migrated to Antora with several formatting and link >>>> fixes (#2427) >>>>>>>> >>>>>>>> === Removed >>>>>>>> >>>>>>>> * Move Flume Appender to its own release lifecycle. (#2902) >>>>>>>> >>>>>>>> === Updated >>>>>>>> >>>>>>>> * Add module log4j-mongodb to track the current MongoDB driver >>>>>>>> (currently version 5). (#2486) >>>>>>>> * Remove module log4j-mongodb3, use log4j-mongodb instead, >>>>>>>> log4j-mongodb4 is deprecated for removal. (#2486) >>>>>>>> * Update `com.fasterxml.jackson:jackson-bom` to version `2.17.2` >>>> (#2719) >>>>>>>> * Update `com.github.luben:zstd-jni` to version `1.5.6-5` (#2901) >>>>>>>> * Update `commons-codec:commons-codec` to version `1.17.1` >>> (#2741) >>>>>>>> * Update `commons-logging:commons-logging` to version `1.3.4` >>>> (#2864) >>>>>>>> * Update `github/codeql-action` to version `3.25.1` (#2483) >>>>>>>> * Update `io.fabric8:docker-maven-plugin` to version `0.45.0` >>>> (#2776) >>>>>>>> * Update `org.apache.cassandra:cassandra-all` to version >>> `3.11.17` >>>> (#2479) >>>>>>>> * Update `org.apache.commons:commons-compress` to version >>> `1.27.1` >>>> (#2869) >>>>>>>> * Update `org.apache.commons:commons-csv` to version `1.11.0` >>>> (#2565) >>>>>>>> * Update `org.apache.commons:commons-lang3` to version `3.17.0` >>>> (#2907) >>>>>>>> * Update `org.apache.kafka:kafka-clients` to version `3.8.0` >>>> (#2777) >>>>>>>> * Update `org.apache.logging:logging-parent` to version `11.2.0` >>>>>>>> * Update `org.eclipse.jetty:jetty-bom` to version >>>> `9.4.55.v20240627` (#2709) >>>>>>>> * Update `org.jctools:jctools-core` to version `4.0.5` (#2637) >>>>>>>> * Update log4j-mongodb4 `org.mongodb:*` from `4.11.1` to `4.11.2` >>>> (#2409) >>>>>>>> * Update `org.mongodb:bson` to version `5.1.3` (#2823) >>>>>>>> * Update `org.slf4j:slf4j-api` to version `2.0.16` (#2829) >>>>>>>> * Update `org.springframework:spring-framework-bom` to version >>>> `5.3.39` (#2840)