)]}'
{
  "log": [
    {
      "commit": "c588dd5e24d23f91a788a341686608d81bd77536",
      "tree": "fb7eea55a2e39ccaaee07d669e6b7543b7200bf5",
      "parents": [
        "f10c986684283e44e01149bbcc5f759f06e33c9a"
      ],
      "author": {
        "name": "Piotr P. Karwasz",
        "email": "pkarwasz-github@apache.org",
        "time": "Thu Jun 18 10:24:04 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Jun 18 10:24:04 2026 +0200"
      },
      "message": "Adopt the Dependabot changelog \u0027draft trick\u0027 (#4148)\n\nApplies the consumer-side changes from logging-parent PR #476:\n\n* `build.yaml` and `codeql-analysis.yaml` now subscribe to the\n  `ready_for_review` pull request type, so required checks re-run when a\n  Dependabot PR is taken out of draft.\n* `process-dependabot.yaml` drops the `RECURSIVE_TOKEN` PAT secret, which\n  is no longer needed now that the reusable workflow parks the PR in\n  draft mode instead of pushing with a privileged token.\n\nAssisted-By: Claude Opus 4.8 (1M context) \u003cnoreply@anthropic.com\u003e"
    },
    {
      "commit": "f10c986684283e44e01149bbcc5f759f06e33c9a",
      "tree": "8322843bfea6c383ed7fd54b9a703b11bc9a8888",
      "parents": [
        "823d53d6772f0a1095e590dc6d33ecf1b011edf3"
      ],
      "author": {
        "name": "Sebastien Tardif",
        "email": "SebTardif@ncf.ca",
        "time": "Mon Jun 15 00:03:57 2026 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Jun 15 09:03:57 2026 +0200"
      },
      "message": "Fix resource leaks in `ConfigurationSource` when loading via URL (#4127)\n\nSigned-off-by: Sebastien Tardif \u003csebtardif@ncf.ca\u003e\nCo-authored-by: Ramanathan \u003cramanathanbscmca@gmail.com\u003e\nCo-authored-by: Piotr P. Karwasz \u003cpkarwasz-github@apache.org\u003e\nCo-authored-by: Volkan Yazıcı \u003cvolkan@yazi.ci\u003e"
    },
    {
      "commit": "823d53d6772f0a1095e590dc6d33ecf1b011edf3",
      "tree": "37982b3ae096759d7a353e981023b03409d1feeb",
      "parents": [
        "dec43515eb1f9b25c9e76bebf20850aa8633ace5"
      ],
      "author": {
        "name": "SunWeb3Sec",
        "email": "107249780+SunWeb3Sec@users.noreply.github.com",
        "time": "Fri Jun 12 17:31:14 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Jun 12 11:31:14 2026 +0200"
      },
      "message": "Harden `readObject(ObjectInputStream)` method argument checks (#4098)\n\nSigned-off-by: SunWeb3Sec \u003cinfosecpt@gmail.com\u003e\nCo-authored-by: Volkan Yazıcı \u003cvolkan@yazi.ci\u003e"
    },
    {
      "commit": "dec43515eb1f9b25c9e76bebf20850aa8633ace5",
      "tree": "b27f8215f8ed43d873083d2d400dc9d3758f1a5f",
      "parents": [
        "2ca83488108ba2c14802cbbcb2c1e08874d83cc4"
      ],
      "author": {
        "name": "Ramanathan",
        "email": "ramanathan@apache.org",
        "time": "Fri Jun 12 00:10:40 2026 +0530"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Jun 12 00:10:40 2026 +0530"
      },
      "message": "Fix `DatePatternConverter` locale parsing when timezone is omitted (#4130)"
    },
    {
      "commit": "2ca83488108ba2c14802cbbcb2c1e08874d83cc4",
      "tree": "a624388c5df2f584ebbcab63e9da67a751d3f503",
      "parents": [
        "019a92865a9bcfcceb2e56a21ae9356eedc736eb"
      ],
      "author": {
        "name": "Ramanathan",
        "email": "ramanathan@apache.org",
        "time": "Thu Jun 11 21:37:56 2026 +0530"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Jun 11 21:37:56 2026 +0530"
      },
      "message": "Remove the `patternFlags` attribute from `RegexFilter` (#4119)\n\nCo-authored-by: Jeff Thomas \u003cjeffrey.thomas@t-systems.com\u003e\nCo-authored-by: Volkan Yazıcı \u003cvolkan@yazi.ci\u003e"
    },
    {
      "commit": "019a92865a9bcfcceb2e56a21ae9356eedc736eb",
      "tree": "d47b578be4686117f3a211498efcf51e204dac5d",
      "parents": [
        "6beea3feb0e5ec59ed85db14075bb7837b0a968f"
      ],
      "author": {
        "name": "Ramanathan",
        "email": "ramanathan@apache.org",
        "time": "Thu Jun 11 17:45:03 2026 +0530"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Jun 11 17:45:03 2026 +0530"
      },
      "message": "Fix stack trace rendering for exceptions with identity malfunction (#4133)\n\n* Fix circular reference detection for exceptions with colliding equals/hashCode implementations\n\n* Add changelog entry for circular reference detection fix with colliding equals/hashCode exceptions\n\n* Add changelog entry for circular reference detection fix with colliding equals/hashCode exceptions\n\n* Add test for ThrowableProxy serialization with colliding equals/hashCode implementations\n\n* Refactor ThrowableProxy serialization test to use modern Java I/O classes\n\n* Use `TestFriendlyException` to exercise the malfunction\n\n* Update changelog\n\n* Improve comments\n\n* Remove redundant change\n\n---------\n\nCo-authored-by: Volkan Yazıcı \u003cvolkan@yazi.ci\u003e"
    },
    {
      "commit": "6beea3feb0e5ec59ed85db14075bb7837b0a968f",
      "tree": "161bd023ab29ff19102ab91b926f4814da64920e",
      "parents": [
        "dcb668e60143d350a7aa59a8093a9407808ba781"
      ],
      "author": {
        "name": "Volkan Yazıcı",
        "email": "volkan@yazi.ci",
        "time": "Fri Jun 05 10:13:02 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Jun 05 10:13:02 2026 +0200"
      },
      "message": "Fix encoding of `MSGID` and `SD-ID` fields of `StructuredDataMessage` to XML (#4136)"
    },
    {
      "commit": "dcb668e60143d350a7aa59a8093a9407808ba781",
      "tree": "ebba1418386f32c5f44150da76670a58f0c78711",
      "parents": [
        "619debb4e96c0d85508525a6a25f2c26b98d2349"
      ],
      "author": {
        "name": "Ramanathan",
        "email": "ramanathanbscmca@gmail.com",
        "time": "Mon Jun 01 19:44:58 2026 +0530"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Jun 01 16:14:58 2026 +0200"
      },
      "message": "Fix changelog issue and PR references for Disruptor initialization error logging (#2250, #4124, #4134)"
    },
    {
      "commit": "619debb4e96c0d85508525a6a25f2c26b98d2349",
      "tree": "6626a96ba29c2cd4e2cdad8215251031c547e16b",
      "parents": [
        "446d2baa2063a90e1e03545d16cabcff093495b1"
      ],
      "author": {
        "name": "Ramanathan",
        "email": "ramanathanbscmca@gmail.com",
        "time": "Fri May 29 16:54:39 2026 +0530"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri May 29 11:24:39 2026 +0000"
      },
      "message": "Improve logging for `LinkageError` scenarios involving the LMAX Disruptor library (#4124)\n\nCo-authored-by: Volkan Yazıcı \u003cvolkan@yazi.ci\u003e"
    },
    {
      "commit": "446d2baa2063a90e1e03545d16cabcff093495b1",
      "tree": "bdc5953a1206f48d6e75a314a7fd6729132e4534",
      "parents": [
        "878f9518095c0116b12ebc88bc35db07d96113c5"
      ],
      "author": {
        "name": "Ramanathan",
        "email": "ramanathanbscmca@gmail.com",
        "time": "Thu May 28 14:51:18 2026 +0530"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu May 28 09:21:18 2026 +0000"
      },
      "message": "Add support for max compression delay in compression actions (#4071)\n\nCo-authored-by: Volkan Yazıcı \u003cvolkan@yazi.ci\u003e"
    },
    {
      "commit": "878f9518095c0116b12ebc88bc35db07d96113c5",
      "tree": "314b23353250e8fde507628184cc3055e88f716d",
      "parents": [
        "841efff2a9f7a288c2467522a7299d9927bd4bfd"
      ],
      "author": {
        "name": "Ramanathan",
        "email": "ramanathanbscmca@gmail.com",
        "time": "Fri May 22 01:03:29 2026 +0530"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu May 21 19:33:29 2026 +0000"
      },
      "message": "Fix `createOnDemand` for Rolling File Appender (#4072)\n\nCo-authored-by: Piotr P. Karwasz \u003cpkarwasz-github@apache.org\u003e\nCo-authored-by: Volkan Yazıcı \u003cvolkan@yazi.ci\u003e"
    },
    {
      "commit": "841efff2a9f7a288c2467522a7299d9927bd4bfd",
      "tree": "faaacfcc635a66d7472511c30053351ecfa80a5f",
      "parents": [
        "d026d3f8d4802f57ba36a45441f03179881c361c"
      ],
      "author": {
        "name": "Ramanathan",
        "email": "ramanathanbscmca@gmail.com",
        "time": "Fri May 22 00:58:55 2026 +0530"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu May 21 19:28:55 2026 +0000"
      },
      "message": "Improve `CronExpression` tests to cover daylight saving and scheduling logic (#4081)\n\nCo-authored-by: Piotr P. Karwasz \u003cpkarwasz-github@apache.org\u003e\nCo-authored-by: Volkan Yazıcı \u003cvolkan@yazi.ci\u003e"
    },
    {
      "commit": "d026d3f8d4802f57ba36a45441f03179881c361c",
      "tree": "db20a71882d8001a7f98c2e3250f8dc407c38914",
      "parents": [
        "12380a6619b1e480b580295be5ebbe0d7e641dc4"
      ],
      "author": {
        "name": "Ramanathan",
        "email": "ramanathanbscmca@gmail.com",
        "time": "Thu May 21 16:51:13 2026 +0530"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu May 21 11:21:13 2026 +0000"
      },
      "message": "Revamped `ListAppender` for thread-safety (#4111)\n\nCo-authored-by: Björn Michael \u003cb.michael@gmx.de\u003e\nCo-authored-by: Volkan Yazıcı \u003cvolkan.yazici@oracle.com\u003e"
    },
    {
      "commit": "12380a6619b1e480b580295be5ebbe0d7e641dc4",
      "tree": "0f441c7e5324102dc609aa3648bfdc31130f4e02",
      "parents": [
        "3bb440af8e7da6b5b9030391e91bc47f25d95f83"
      ],
      "author": {
        "name": "Sebastien Tardif",
        "email": "SebTardif@ncf.ca",
        "time": "Tue May 19 22:55:55 2026 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed May 20 05:55:55 2026 +0000"
      },
      "message": "Fix KafkaAppender reporting error after successful retry (#4125)\n\n* Fix KafkaAppender reporting error after successful retry\n\nWhen retryCount is configured and the initial tryAppend() fails, the\nretry loop uses break to exit on success. However, break only exits the\nwhile loop and execution always reaches the error() call afterward. This\ncauses spurious error notifications for transient Kafka failures that\nwere successfully recovered by a retry.\n\nReplace break with return so that a successful retry exits append()\nwithout reporting an error. Retry exceptions are now logged at DEBUG\nlevel for diagnostics instead of being silently discarded.\n\nAlso remove dead code in Builder.getRetryCount() where Integer.valueOf(int)\nwas wrapped in a NumberFormatException catch that can never fire.\n\nThe bug was introduced in #315.\n\nSigned-off-by: Sebastien Tardif \u003csebtardif@ncf.ca\u003e\n\n* Add changelog entry for KafkaAppender retry fix\n\nSigned-off-by: Sebastien Tardif \u003csebtardif@ncf.ca\u003e\n\n* Use CloseableThreadContext in testRetrySuccessDoesNotReportError\n\nAdopt reviewer suggestion to use try-with-resources CloseableThreadContext\ninstead of manual ThreadContext.put/clearMap.\n\n---------\n\nSigned-off-by: Sebastien Tardif \u003csebtardif@ncf.ca\u003e"
    },
    {
      "commit": "3bb440af8e7da6b5b9030391e91bc47f25d95f83",
      "tree": "7c1f51449ee8af9798cb56633041f4210eb78a06",
      "parents": [
        "98c2fa3946de2481f4cd50a965b0e2b4b1201ff0"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Mon May 18 11:02:47 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon May 18 11:02:47 2026 +0200"
      },
      "message": "Bump actions/stale from 9.1.0 to 10.2.0 in the dependencies group across 1 directory (#4121)\n\n* Bump actions/stale in the dependencies group across 1 directory\n\nBumps the dependencies group with 1 update in the / directory: [actions/stale](https://github.com/actions/stale).\n\n\nUpdates `actions/stale` from 9.1.0 to 10.2.0\n- [Release notes](https://github.com/actions/stale/releases)\n- [Changelog](https://github.com/actions/stale/blob/main/CHANGELOG.md)\n- [Commits](https://github.com/actions/stale/compare/5bef64f19d7facfb25b37b414482c7164d639639...b5d41d4e1d5dceea10e7104786b73624c18a190f)\n\n---\nupdated-dependencies:\n- dependency-name: actions/stale\n  dependency-version: 10.2.0\n  dependency-type: direct:production\n  update-type: version-update:semver-major\n  dependency-group: dependencies\n...\n\nSigned-off-by: dependabot[bot] \u003csupport@github.com\u003e\n\n* Generate changelog entries for #4121\n\n---------\n\nSigned-off-by: dependabot[bot] \u003csupport@github.com\u003e\nCo-authored-by: dependabot[bot] \u003c49699333+dependabot[bot]@users.noreply.github.com\u003e\nCo-authored-by: github-actions[bot] \u003c41898282+github-actions[bot]@users.noreply.github.com\u003e"
    },
    {
      "commit": "98c2fa3946de2481f4cd50a965b0e2b4b1201ff0",
      "tree": "732413094488af01be988056202aeae631af0681",
      "parents": [
        "75d7cf9a7abda3c9b01d34307d78c85aad6707de"
      ],
      "author": {
        "name": "Piotr P. Karwasz",
        "email": "pkarwasz-github@apache.org",
        "time": "Fri May 15 15:10:52 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri May 15 18:40:52 2026 +0530"
      },
      "message": "Don\u0027t override `apache-rat-plugin` version (#4123)\n\nRemove the version override for `apache-rat-plugin` so it falls back to the version provided by the ASF Parent POM.\n\nApache RAT `0.18`, for which Dependabot opened an update PR, contains a bug ([RAT-552](https://issues.apache.org/jira/browse/RAT-552)) that effectively disables the `excludeSubProjects` plugin option whenever `\u003cexcludes\u003e` is present in the configuration.\n\nUpgrading to `0.18` will require converting our `\u003cexcludes\u003e` to `\u003cinputExcludes\u003e`, which depends on a new `logging-parent` release."
    },
    {
      "commit": "75d7cf9a7abda3c9b01d34307d78c85aad6707de",
      "tree": "21b82e492a2942a19d059fd4073c940ccc2cc495",
      "parents": [
        "aaf04c0f67fc0f08a9b94c60ea87998c3a14a88e"
      ],
      "author": {
        "name": "Ramanathan",
        "email": "ramanathanbscmca@gmail.com",
        "time": "Sun May 10 15:16:57 2026 +0530"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun May 10 11:46:57 2026 +0200"
      },
      "message": "Restrict JUnit dependencies to below version 6.x to maintain compatib… (#4120)\n\n* Restrict JUnit dependencies to below version 6.x to maintain compatibility with Java 8\n\n* Update JUnit dependency restrictions for compatibility with Java 8 on 2.x"
    },
    {
      "commit": "aaf04c0f67fc0f08a9b94c60ea87998c3a14a88e",
      "tree": "e158057f487b394254b7772ab6df758634523bf9",
      "parents": [
        "c6d8dcc358c5794e79230c401e8a31194c119bb5"
      ],
      "author": {
        "name": "Volkan Yazıcı",
        "email": "volkan@yazi.ci",
        "time": "Thu May 07 14:51:38 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu May 07 12:51:38 2026 +0000"
      },
      "message": "Merge `2.26.0` release changes back into `2.x` (#4117)"
    },
    {
      "commit": "c6d8dcc358c5794e79230c401e8a31194c119bb5",
      "tree": "a6a101c0a29784bb01ee0b6763b933382572e2c1",
      "parents": [
        "82432570e8bb9a67c32de51dc63ebcfcec939818"
      ],
      "author": {
        "name": "Piotr P. Karwasz",
        "email": "pkarwasz-github@apache.org",
        "time": "Sat May 02 23:52:02 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat May 02 23:52:02 2026 +0200"
      },
      "message": "Generate changelog for Dependabot PRs (#4112)\n\nWire up the reusable workflows from apache/logging-parent#419 to:\n\n- Generate changelog entries for Dependabot PRs.\n- Re-run build checks on the newly created commit.\n- Enable auto-merge, which only merges once required checks pass and a maintainer approves.\n\nTogether, these allow merging Dependabot PRs in a single click.\n\nAlso add a concurrency setting to `build.yaml` and `codeql-analysis.yaml` so superseded PR commits stop consuming runners."
    },
    {
      "commit": "82432570e8bb9a67c32de51dc63ebcfcec939818",
      "tree": "2ea6adb9d6b7b4ff0132f795d6582e3d6307b414",
      "parents": [
        "2a15414e839fea3f3ba61cc7403dd8e4130a15cf"
      ],
      "author": {
        "name": "Neelesh Mehar",
        "email": "98316220+Neel1210@users.noreply.github.com",
        "time": "Sun May 03 00:49:44 2026 +0530"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat May 02 19:19:44 2026 +0000"
      },
      "message": "Add documentation for `MessageRewritePolicy` (#4042)\n\nCo-authored-by: Volkan Yazıcı \u003cvolkan@yazi.ci\u003e"
    },
    {
      "commit": "2a15414e839fea3f3ba61cc7403dd8e4130a15cf",
      "tree": "221bc668a9d29398e3ac5b5768aacff5890d5532",
      "parents": [
        "b178cb1f926b3db43c65e69e9b7be7b76431f824"
      ],
      "author": {
        "name": "Matthias Langer",
        "email": "m.langer798@gmail.com",
        "time": "Sat May 02 21:19:21 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat May 02 19:19:21 2026 +0000"
      },
      "message": "Add documentation pointer to the Async HTTP Appender of `more-log4j2` (#4062)\n\nCo-authored-by: Volkan Yazıcı \u003cvolkan@yazi.ci\u003e"
    },
    {
      "commit": "b178cb1f926b3db43c65e69e9b7be7b76431f824",
      "tree": "7f1ea39d6b52c09806c89591f9e81e77ab782d61",
      "parents": [
        "76c8bef88a5af15b09420445143e652f4696cab7"
      ],
      "author": {
        "name": "Volkan Yazıcı",
        "email": "volkan@yazi.ci",
        "time": "Sat May 02 20:38:56 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat May 02 18:38:56 2026 +0000"
      },
      "message": "Switch CI to `gha/v0` and remove Develocity (#4108)"
    },
    {
      "commit": "76c8bef88a5af15b09420445143e652f4696cab7",
      "tree": "62103e7c168a41bbebc404e5779e734c69dc871f",
      "parents": [
        "d0c00e953abf9fd4b21c1269a74f4efdee8740df"
      ],
      "author": {
        "name": "Volkan Yazıcı",
        "email": "volkan@yazi.ci",
        "time": "Mon Apr 20 09:17:33 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Apr 20 07:17:33 2026 +0000"
      },
      "message": "Fix Javadoc references across module boundaries (i.e., cross references) (#4100)"
    },
    {
      "commit": "d0c00e953abf9fd4b21c1269a74f4efdee8740df",
      "tree": "aadc4f3aee8277580a5eeb70830ac69751c747e7",
      "parents": [
        "83702bb6194182572eccf6594acf935f83437e76"
      ],
      "author": {
        "name": "Piotr P. Karwasz",
        "email": "pkarwasz-github@apache.org",
        "time": "Sun Apr 19 15:11:09 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Apr 19 15:11:09 2026 +0200"
      },
      "message": "Add missing setters to `Rfc5424LayoutBuilder` (#4076)\n\n* Restore support for documented `Rfc5424Layout` attributes\n\nIn `2.21.0`, `Rfc5424Layout` was migrated from a factory method to the builder pattern. During this change, the recognized names of several configuration attributes unintentionally diverged from the documented ones.\n\nAs a result, some documented attributes were no longer recognized, while new, undocumented names were introduced.\n\nThis change restores support for the documented attribute names while continuing to accept the names introduced in `2.21.0` for backward compatibility.\n\nFixes #4022\n\nCo-authored-by: Volkan Yazıcı \u003cvolkan@yazi.ci\u003e\n\n* Add missing setters to `Rfc5424LayoutBuilder`\n\nThis change introduces setter methods for the private fields added to `Rfc5424LayoutBuilder` in version `2.25.4`.\n\nThese fields were originally introduced to restore configuration options that existed in `2.20.0` but were unintentionally renamed in `2.21.0`. Due to semantic versioning constraints, setters were not added at that time.\n\nWith the `2.26.0` release, it is now appropriate to expose these fields via setters, restoring full configurability and improving API usability.\n\n* fix: wrong reference in Javadoc\n\n---------\n\nCo-authored-by: Volkan Yazıcı \u003cvolkan@yazi.ci\u003e"
    },
    {
      "commit": "83702bb6194182572eccf6594acf935f83437e76",
      "tree": "0b9e411b145cb70d5e678a4f32c87a0b6b6d25df",
      "parents": [
        "7e6cce57f50a841888004b6868637475cc0a53f2"
      ],
      "author": {
        "name": "yuno",
        "email": "47402252+cookiejack15@users.noreply.github.com",
        "time": "Sun Apr 12 10:40:53 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Apr 12 08:40:53 2026 +0000"
      },
      "message": "Fix SLF4JLogger.atFatal() returning Level.TRACE instead of Level.FATAL (#4089)\n\nCo-authored-by: Piotr P. Karwasz \u003cpkarwasz-github@apache.org\u003e\nCo-authored-by: Volkan Yazıcı \u003cvolkan@yazi.ci\u003e"
    },
    {
      "commit": "7e6cce57f50a841888004b6868637475cc0a53f2",
      "tree": "f07f2fce18f25e9285f0a85e5772f07f09f162a5",
      "parents": [
        "c889dcbb3ea5044c4d78f4ffae2ba9559105a0d0"
      ],
      "author": {
        "name": "Moritz Mack",
        "email": "mmack@apache.org",
        "time": "Sun Apr 12 08:01:27 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Apr 12 08:01:27 2026 +0200"
      },
      "message": "Move the incorrectly placed changelog for #3940 to `.2.x.x` (#4090)"
    },
    {
      "commit": "c889dcbb3ea5044c4d78f4ffae2ba9559105a0d0",
      "tree": "c4b85bc97eee8275584a0ce0345342cc68672bf2",
      "parents": [
        "11e74d78f64c205569023bcc20ba95dacaeb5fda"
      ],
      "author": {
        "name": "Michael Morris",
        "email": "105736419+MichaelMorrisEst@users.noreply.github.com",
        "time": "Sun Mar 29 21:11:24 2026 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Mar 29 20:11:24 2026 +0000"
      },
      "message": "Discard defined but unused loggers, appenders and filters (#4069)"
    },
    {
      "commit": "11e74d78f64c205569023bcc20ba95dacaeb5fda",
      "tree": "e5f41ab76a3d3ae23ae98b662c8d078dbe2e1e42",
      "parents": [
        "d375a664942a2c5e50658a2e4c4979e1ca549c72"
      ],
      "author": {
        "name": "Piotr P. Karwasz",
        "email": "pkarwasz-github@apache.org",
        "time": "Sun Mar 29 22:04:26 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Mar 29 22:04:26 2026 +0200"
      },
      "message": "Merge changes in version `2.25.4` back to `2.x` (#4085)"
    },
    {
      "commit": "d375a664942a2c5e50658a2e4c4979e1ca549c72",
      "tree": "a80b75575fdbd534a4a21dd36f5896b51af5a8ad",
      "parents": [
        "1fdfe142d57febdd22a9e7d91ccdcc6d71a6efb0"
      ],
      "author": {
        "name": "Piotr P. Karwasz",
        "email": "pkarwasz-github@apache.org",
        "time": "Fri Mar 27 17:56:56 2026 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Mar 27 17:56:56 2026 +0100"
      },
      "message": "Add initial `AGENTS.md` for AI-assisted vulnerability research (#4083)\n\nThis introduces an `AGENTS.md` file, which AI coding agents (such as Claude Code, Cursor, and GitHub Copilot) read automatically when entering a repository. It lets the project guide agent behavior without relying on researchers to configure their tools manually.\n\nThis first version targets vulnerability research workflows. Before an agent drafts or files a report, it is instructed to read:\n\n- **Threat model**: to establish what is and isn\u0027t in scope\n- **VDR**: to catch duplicates before they are reported\n- **Security FAQ**: to filter out known, intentional behaviors that are not vulnerabilities\n\nAll three documents are referenced by their raw source URLs rather than rendered pages. This reduces token consumption and avoids context window pressure when agents are processing large codebases alongside these files.\n\nThe expected outcome is fewer duplicate reports, fewer false positives, and less triage burden."
    },
    {
      "commit": "1fdfe142d57febdd22a9e7d91ccdcc6d71a6efb0",
      "tree": "4d1e55047b5c5779a4cac709f48ccfd1b6a3b7d8",
      "parents": [
        "c5396fc4d5983be852f73c238890d41fe348c360"
      ],
      "author": {
        "name": "treyfarmigoni",
        "email": "39505090+treyfarmigoni@users.noreply.github.com",
        "time": "Tue Mar 17 14:59:43 2026 -0500"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Mar 17 19:59:43 2026 +0000"
      },
      "message": "Allow severity-based log message filtering in `PluginProcessor` (#4063)"
    },
    {
      "commit": "c5396fc4d5983be852f73c238890d41fe348c360",
      "tree": "7433fd1b0738ca14bf649016f472dc6f257056ff",
      "parents": [
        "3792f440d47b8d5be6c10fa1c766fdffe379f617"
      ],
      "author": {
        "name": "LBS",
        "email": "130454150+ban-xiu@users.noreply.github.com",
        "time": "Mon Mar 16 23:43:28 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Mar 16 15:43:28 2026 +0000"
      },
      "message": "Add debug logs for successful resource loading in `Loader` (#4060)\n\nCo-authored-by: Volkan Yazıcı \u003cvolkan@yazi.ci\u003e"
    },
    {
      "commit": "3792f440d47b8d5be6c10fa1c766fdffe379f617",
      "tree": "bbd9632d964361faf805a1b7bc5b1145697ab3a3",
      "parents": [
        "0f7f2c757f779fd24509dbbdee7795bf6a541776"
      ],
      "author": {
        "name": "Volkan Yazıcı",
        "email": "volkan@yazi.ci",
        "time": "Mon Mar 16 16:13:19 2026 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Mar 16 16:13:19 2026 +0100"
      },
      "message": "Remove redundant warning from `feature_request.md` (#4065)"
    },
    {
      "commit": "0f7f2c757f779fd24509dbbdee7795bf6a541776",
      "tree": "b4039b86761e90086a87a45195a41e89053ecc93",
      "parents": [
        "d46918c9e350ba64f1c4af25aea3758c36453b33"
      ],
      "author": {
        "name": "Liam Miller-Cushon",
        "email": "cushon@google.com",
        "time": "Mon Mar 16 10:37:39 2026 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Mar 16 09:37:39 2026 +0000"
      },
      "message": "Avoid referring to `PluginBuilderAttribute.class` in `PluginProcessor` (#4041)\n\nThis makes it easier to build `PluginProcessor` by itself\nseparately from the rest of `log4j-core`, and then include\nthat processor when building the rest of core, instead of\nhaving to compile all of core twice."
    },
    {
      "commit": "d46918c9e350ba64f1c4af25aea3758c36453b33",
      "tree": "af83dcae35943d6495961be01c6a47a01148ab19",
      "parents": [
        "8e7d897c850c66c22eb02b0ff92020a0ebfbac00"
      ],
      "author": {
        "name": "JongminChung",
        "email": "chungjm0711@gmail.com",
        "time": "Thu Mar 05 22:51:59 2026 +0900"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Mar 05 14:51:59 2026 +0100"
      },
      "message": "Take `Throwable#toString()` into account while rendering stack traces in Pattern Layout (#4033)\n\nSigned-off-by: Jongmin Chung \u003cchungjm0711@gmail.com\u003e\nCo-authored-by: Volkan Yazıcı \u003cvolkan@yazi.ci\u003e"
    },
    {
      "commit": "8e7d897c850c66c22eb02b0ff92020a0ebfbac00",
      "tree": "1eee8ca4c336ab596169d535913e7ddd8f2b0ba3",
      "parents": [
        "4f474b32751f4ccad67424ca585612584440cd63"
      ],
      "author": {
        "name": "Dimitar Dimitrov",
        "email": "30328539+dimitarndimitrov@users.noreply.github.com",
        "time": "Mon Mar 02 09:55:20 2026 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Mar 02 08:55:20 2026 +0000"
      },
      "message": "Fix the `AsyncLoggerConfig` ring buffer size property name in the manual (#4038)\n\n"
    },
    {
      "commit": "4f474b32751f4ccad67424ca585612584440cd63",
      "tree": "b1ec4c9e5e72f045df117c84f5c19f0d60b8523f",
      "parents": [
        "c8a942155b05a54677e7a7eb7ae19c54c0f77d45"
      ],
      "author": {
        "name": "Volkan Yazıcı",
        "email": "volkan@yazi.ci",
        "time": "Thu Jan 22 11:08:42 2026 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Jan 22 10:08:42 2026 +0000"
      },
      "message": "Retire Log4j Scala (#4030)\n\n"
    },
    {
      "commit": "c8a942155b05a54677e7a7eb7ae19c54c0f77d45",
      "tree": "be2632550f40168ff77098c30bbfbe648e2de13e",
      "parents": [
        "752d023795fc518a38ecae73bb6455e2723cecea"
      ],
      "author": {
        "name": "Na Minhyeok",
        "email": "112960401+NaMinhyeok@users.noreply.github.com",
        "time": "Wed Jan 21 17:51:18 2026 +0900"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Jan 21 09:51:18 2026 +0100"
      },
      "message": "Remove Log4j Jakarta EE link from navigation file (#4025)\n\n"
    },
    {
      "commit": "752d023795fc518a38ecae73bb6455e2723cecea",
      "tree": "b9346d7d24753d03f4b16926b485753a12d963f1",
      "parents": [
        "33fff89edc688ae64e44424abef122c13cc1f5be"
      ],
      "author": {
        "name": "NeatGuyCoding",
        "email": "15627489+NeatGuyCoding@users.noreply.github.com",
        "time": "Wed Dec 31 00:26:56 2025 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Dec 30 16:26:56 2025 +0000"
      },
      "message": "Fix header write in `RollingRandomAccessFileManager` (#4008)\n\nCo-authored-by: Volkan Yazıcı \u003cvolkan@yazi.ci\u003e"
    },
    {
      "commit": "33fff89edc688ae64e44424abef122c13cc1f5be",
      "tree": "efdbbeaa45bf04210376551ca519c2c7111fe6da",
      "parents": [
        "8abfdfc142f7920471ed4dd0723c4e509a6b9027"
      ],
      "author": {
        "name": "lrozenblyum",
        "email": "lrozenblyum@gmail.com",
        "time": "Mon Dec 29 14:11:59 2025 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Dec 29 13:11:59 2025 +0100"
      },
      "message": "Fix warning when last argument is null (#4014)\n\n"
    },
    {
      "commit": "8abfdfc142f7920471ed4dd0723c4e509a6b9027",
      "tree": "ecb1ed55a3b13a3c5d0cc942a72ea3d1706a606b",
      "parents": [
        "9c22ca26d817d0b6cde86475db56a3eb504adc43"
      ],
      "author": {
        "name": "Piotr P. Karwasz",
        "email": "pkarwasz-github@apache.org",
        "time": "Mon Dec 29 13:08:24 2025 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Dec 29 12:08:24 2025 +0000"
      },
      "message": "Add versioning and support policy information (#3341)\n\nThis PR introduces a new `versioning` page under *Support* that summarizes the support status of Apache Log4j releases and documents the long-standing project policy:\n\n* Log4j follows semantic versioning.\n* Only the latest minor of the latest major receives patch releases for bug and security fixes.\n* Vulnerability reports are accepted for **all** `2.x` releases.\n* Log4j `1.x` is EOL and no longer accepts vulnerability reports.\n\nRelated to #1867\nFixes #3988\n\nCo-authored-by: Volkan Yazıcı \u003cvolkan@yazi.ci\u003e"
    },
    {
      "commit": "9c22ca26d817d0b6cde86475db56a3eb504adc43",
      "tree": "27a2079f8f35d02e1e1c9aa3fc3456169bf494e0",
      "parents": [
        "5ee789082f1d07b6ccad81c4470b26494516a86b"
      ],
      "author": {
        "name": "Piotr P. Karwasz",
        "email": "pkarwasz-github@apache.org",
        "time": "Wed Dec 17 23:52:25 2025 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Dec 17 22:52:25 2025 +0000"
      },
      "message": "docs: recommend use of appropriately scoped trust roots (#4006)\n\n* docs: recommend use of appropriately scoped trust roots\n\nThis change adds an important note to the documentation for `log4j2.trustStoreLocation` and the `TrustStore` plugin, advising users to configure trust stores with trust roots that are appropriate for their communication scope.\n\nThe recommendation is grounded in public guidance from\n[NIST SP 800-52 Rev. 2: *Guidelines for the Selection, Configuration, and Use of Transport Layer Security (TLS) Implementations*](https://csrc.nist.gov/pubs/sp/800/52/r2/final), which advises minimizing trust anchors to those necessary for the intended connections.\n\n* fix: rename partial"
    },
    {
      "commit": "5ee789082f1d07b6ccad81c4470b26494516a86b",
      "tree": "a5195156ec2823b70c0eb036f693043e834c1845",
      "parents": [
        "3b93748497e1adbbd027fda8a5e7268ec5d0d578"
      ],
      "author": {
        "name": "Volkan Yazıcı",
        "email": "volkan@yazi.ci",
        "time": "Tue Dec 16 21:53:24 2025 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Dec 16 21:53:24 2025 +0100"
      },
      "message": "Merge `rel/2.25.3` to `2.x` (#4004)\n\n"
    },
    {
      "commit": "3b93748497e1adbbd027fda8a5e7268ec5d0d578",
      "tree": "b264dd5d47ab4860ed3cc5a7ab077deb308bbe99",
      "parents": [
        "37a03838ebc6e6802ec3e4633469b48e527f2210"
      ],
      "author": {
        "name": "Volkan Yazıcı",
        "email": "volkan@yazi.ci",
        "time": "Mon Dec 15 13:05:10 2025 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Dec 15 12:05:10 2025 +0000"
      },
      "message": "Fix host name verification in `SSLSocketManager` (#4002)\n\n"
    },
    {
      "commit": "37a03838ebc6e6802ec3e4633469b48e527f2210",
      "tree": "6ed48142c2e218ccba6c8ee25175319acc74d8d3",
      "parents": [
        "5cd888793aa53f64a60c69d1db20f7f9d4eaff07"
      ],
      "author": {
        "name": "Piotr P. Karwasz",
        "email": "pkarwasz-github@apache.org",
        "time": "Mon Dec 15 10:56:58 2025 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Dec 15 09:56:58 2025 +0000"
      },
      "message": "Use binary names in `GraalVmProcessor` (#3996)\n\n* Use binary names in `GraalVmProcessor`\n\n`GraalVmProcessor` currently emits canonical type names (JLS §6.7) for parameter types in the GraalVM reachability metadata.\nHowever, testing shows that GraalVM expects **binary names** (JLS §13.1) for reference types. For example:\n\n* Canonical: `org.apache.logging.log4j.core.Filter.Result`\n* Required (binary): `org.apache.logging.log4j.core.Filter$Result`\n\nFor array types, GraalVM accepts two forms:\n\n* The JVM descriptor form: `[L\u003ccomponent_type\u003e;`\n* The Java-like form: `\u003ccomponent_type\u003e[]`\n\nThis PR updates the processor to use binary names and emits the simpler Java-like syntax for arrays.\n\n* Fix changelog entry type\n\n---------\n\nCo-authored-by: Volkan Yazıcı \u003cvolkan@yazi.ci\u003e"
    },
    {
      "commit": "5cd888793aa53f64a60c69d1db20f7f9d4eaff07",
      "tree": "c05b4efdb2570f8b463c093b3fa46e61a5f1198a",
      "parents": [
        "a6bc86ed2e7a3ecfca68e65c8958536a4157e184"
      ],
      "author": {
        "name": "Piotr P. Karwasz",
        "email": "pkarwasz-github@apache.org",
        "time": "Thu Dec 11 23:16:01 2025 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Dec 11 22:16:01 2025 +0000"
      },
      "message": "Fix Dependabot configuration (#3997)\n\nThis change restores a valid Dependabot configuration that was broken in #3990 (see the failing GHA run: [57824321555](https://github.com/apache/logging-log4j2/runs/57824321555)).\n\nBecause GitHub does not validate Dependabot configuration files before merge, the fix is based **entirely** on the documented format and examples in the [Dependabot options reference](https://docs.github.com/en/code-security/dependabot/working-with-dependabot/dependabot-options-reference#exclude-paths-).\n\n**Note:** Dependabot appears to interpret the `exclude-paths` key differently from `directories`; unlike `directories`, `exclude-paths` does **not** require a leading slash."
    },
    {
      "commit": "a6bc86ed2e7a3ecfca68e65c8958536a4157e184",
      "tree": "bedef607ce05ab5d05f0471c9dd7928ed5148a92",
      "parents": [
        "4f68c32ef440c510920b4938f79cd5529822f088"
      ],
      "author": {
        "name": "Piotr P. Karwasz",
        "email": "pkarwasz-github@apache.org",
        "time": "Thu Dec 11 20:47:49 2025 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Dec 11 20:47:49 2025 +0100"
      },
      "message": "Group Dependabot PRs and remove `merge-dependabot` (#3990)\n\nThis change adds grouping to all dependabot configurations to limit the\nnumber of open PRs to one.\n\nIt also removes the `merge-dependabot` workflow, which is no longer\nuseful in case of grouped upgrades."
    },
    {
      "commit": "4f68c32ef440c510920b4938f79cd5529822f088",
      "tree": "947cd3977c4e262fc74dfbddbab81c3623291dfe",
      "parents": [
        "73733dadf4250ad6bd683f99474266d18c6b6c35"
      ],
      "author": {
        "name": "Volkan Yazıcı",
        "email": "volkan@yazi.ci",
        "time": "Mon Dec 01 10:00:29 2025 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Dec 01 10:00:29 2025 +0100"
      },
      "message": "Disable commit signatures (#3989)\n\n"
    },
    {
      "commit": "73733dadf4250ad6bd683f99474266d18c6b6c35",
      "tree": "f7da21b73bdfee26c37d86d6c16c3178108ce564",
      "parents": [
        "4b7065b8b3818cabb88cf1d553da33897b733413"
      ],
      "author": {
        "name": "Vladimir Sitnikov",
        "email": "sitnikov.vladimir@gmail.com",
        "time": "Wed Nov 26 01:25:09 2025 +0500"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Nov 25 20:25:09 2025 +0000"
      },
      "message": "Remove the `com.github.spotbugs:spotbugs-annotations` dependency (#3984, #3985)\n\nCo-authored-by: Volkan Yazıcı \u003cvolkan@yazi.ci\u003e"
    },
    {
      "commit": "4b7065b8b3818cabb88cf1d553da33897b733413",
      "tree": "15c7cac7e7c1bfb3659415db2552a9d8782c98bb",
      "parents": [
        "296d1d7c3d8d79771c1aa84f2a22dd0bdb18b0c3"
      ],
      "author": {
        "name": "Piotr P. Karwasz",
        "email": "pkarwasz-github@apache.org",
        "time": "Tue Nov 11 22:12:22 2025 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Nov 11 21:12:22 2025 +0000"
      },
      "message": "Simplify file manager registry factory pattern (#3968)\n\n* Simplify file manager registry factory pattern\n\nThe current factory pattern used with the `AbstractManager` registry is unnecessarily complex. It relies on:\n\n* **Stateless factory classes** to create managers of each type,\n* **Separate `FactoryData` parameter objects** to pass construction data\n\n#### What this PR does\n\nThis PR simplifies the registry factory mechanism by:\n\n* Replacing the factory classes with **inline lambda factories**\n* Allowing **stateful factory lambdas**, removing boilerplate `FactoryData` classes in most cases\n* Keeping factory logic **localized and easier to follow** within the registry call site\n\nThis is a **pure refactoring**, it does not change behavior. It improves code readability and maintainability by reducing indirection and eliminating unnecessary types.\n\n#### Notes\n\n`FactoryData` parameter objects are still used where necessary:\n\n* **`RollingFileManager`** and **`RollingRandomAccessFileManager`** still require parameter objects since they update state on each retrieval, not just during initialization.\n* Other managers still pass `Configuration` through `ConfigurationFactoryData` to access `getLoggerContext()`, which remains useful.\n\n* fix: add reference to PR number\n\n* Apply suggestions from code review\n\nCo-authored-by: Volkan Yazıcı \u003cvolkan@yazi.ci\u003e\n\n---------\n\nCo-authored-by: Volkan Yazıcı \u003cvolkan@yazi.ci\u003e"
    },
    {
      "commit": "296d1d7c3d8d79771c1aa84f2a22dd0bdb18b0c3",
      "tree": "53081941c592e03acffe6cc3078c8fc8a242dde0",
      "parents": [
        "1cfcda9b4ccd4e6a0b6b6c3839e68a96fd6b87ed"
      ],
      "author": {
        "name": "Matthias Langer",
        "email": "m.langer798@gmail.com",
        "time": "Mon Nov 10 10:36:11 2025 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Nov 10 09:36:11 2025 +0000"
      },
      "message": "Fix `BurstFilter` documentation regarding the level parameter (#3983)\n\nCo-authored-by: Volkan Yazıcı \u003cvolkan@yazi.ci\u003e"
    },
    {
      "commit": "1cfcda9b4ccd4e6a0b6b6c3839e68a96fd6b87ed",
      "tree": "cd9bb358b4462be95afa9c343701ecb27f7f1a48",
      "parents": [
        "e2234cf3c85161e735bb171acba07556093b7888"
      ],
      "author": {
        "name": "Matthias Langer",
        "email": "m.langer798@gmail.com",
        "time": "Fri Nov 07 15:41:42 2025 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Nov 07 14:41:42 2025 +0000"
      },
      "message": "Add documentation for third-party filters and routing filter specifically (#3982)\n\nCo-authored-by: Volkan Yazıcı \u003cvolkan@yazi.ci\u003e"
    },
    {
      "commit": "e2234cf3c85161e735bb171acba07556093b7888",
      "tree": "d9e177358fb62b683df8e310fc1f4d737430b1c9",
      "parents": [
        "1f8bb40f19da1182b6f87f1b81cfd223ddb73da4"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@users.noreply.github.com",
        "time": "Fri Oct 31 15:03:29 2025 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Oct 31 15:03:29 2025 -0400"
      },
      "message": "Fix spelling (#3967)\n\n"
    },
    {
      "commit": "1f8bb40f19da1182b6f87f1b81cfd223ddb73da4",
      "tree": "80ff458b3914e3956b9eb93dfd8f92024c8ca0ab",
      "parents": [
        "62cd4bf4d71645e491f738a33cd619daf1549e41"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Wed Oct 29 11:40:41 2025 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Oct 29 11:40:41 2025 +0100"
      },
      "message": "Bump elastic.version in /log4j-layout-template-json-test (#3972)\n\nBumps `elastic.version` from 9.1.5 to 9.2.0.\n\nUpdates `co.elastic.clients:elasticsearch-java` from 9.1.5 to 9.2.0\n- [Release notes](https://github.com/elastic/elasticsearch-java/releases)\n- [Changelog](https://github.com/elastic/elasticsearch-java/blob/main/CHANGELOG.md)\n- [Commits](https://github.com/elastic/elasticsearch-java/compare/v9.1.5...v9.2.0)\n\nUpdates `org.elasticsearch.client:elasticsearch-rest-client` from 9.1.5 to 9.2.0\n- [Release notes](https://github.com/elastic/elasticsearch/releases)\n- [Changelog](https://github.com/elastic/elasticsearch/blob/main/CHANGELOG.md)\n- [Commits](https://github.com/elastic/elasticsearch/compare/v9.1.5...v9.2.0)\n\n---\nupdated-dependencies:\n- dependency-name: co.elastic.clients:elasticsearch-java\n  dependency-version: 9.2.0\n  dependency-type: direct:development\n  update-type: version-update:semver-minor\n- dependency-name: org.elasticsearch.client:elasticsearch-rest-client\n  dependency-version: 9.2.0\n  dependency-type: direct:development\n  update-type: version-update:semver-minor\n...\n\nSigned-off-by: dependabot[bot] \u003csupport@github.com\u003e\nCo-authored-by: dependabot[bot] \u003c49699333+dependabot[bot]@users.noreply.github.com\u003e"
    },
    {
      "commit": "62cd4bf4d71645e491f738a33cd619daf1549e41",
      "tree": "95f8ee11b147876fd20bdb610f718d3d1663a5f9",
      "parents": [
        "a6cb7b711c989b813a65f8dcd12657a1d4043cc1"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Wed Oct 29 11:40:13 2025 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Oct 29 11:40:13 2025 +0100"
      },
      "message": "Bump com.github.jnr:jnr-ffi from 2.2.17 to 2.2.18 in /log4j-cassandra (#3971)\n\nBumps [com.github.jnr:jnr-ffi](https://github.com/jnr/jnr-ffi) from 2.2.17 to 2.2.18.\n- [Commits](https://github.com/jnr/jnr-ffi/compare/jnr-ffi-2.2.17...jnr-ffi-2.2.18)\n\n---\nupdated-dependencies:\n- dependency-name: com.github.jnr:jnr-ffi\n  dependency-version: 2.2.18\n  dependency-type: direct:production\n  update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] \u003csupport@github.com\u003e\nCo-authored-by: dependabot[bot] \u003c49699333+dependabot[bot]@users.noreply.github.com\u003e"
    },
    {
      "commit": "a6cb7b711c989b813a65f8dcd12657a1d4043cc1",
      "tree": "7a4a8b79b7b949d0655eb556a2df6d407d80eedd",
      "parents": [
        "d54bf0a12672495e68e3498cc4268ad807df62f8"
      ],
      "author": {
        "name": "yoobin_mion",
        "email": "yunyubin54@gmail.com",
        "time": "Wed Oct 29 17:00:39 2025 +0900"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Oct 29 09:00:39 2025 +0100"
      },
      "message": "Add new `ConfigurationFactory::getConfiguration` accepting multiple URIs (#3921)\n\nCo-authored-by: Volkan Yazıcı \u003cvolkan@yazi.ci\u003e"
    },
    {
      "commit": "d54bf0a12672495e68e3498cc4268ad807df62f8",
      "tree": "b55b9b6bdf151c056d07a08ffb669287129cddb5",
      "parents": [
        "df5096a8c7df4f36d87ee2e6c0e9df39a1b2015a"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Wed Oct 29 07:21:41 2025 +0000"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Oct 29 07:21:41 2025 +0000"
      },
      "message": "Update `org.mongodb:bson` to version `5.6.1` (#3961)\n\nCo-authored-by: ASF Logging Services RM \u003cprivate@logging.apache.org\u003e"
    },
    {
      "commit": "df5096a8c7df4f36d87ee2e6c0e9df39a1b2015a",
      "tree": "fccecfb8255887611901c080f538d9c366a430af",
      "parents": [
        "9643c2220f7816e5653fcc63b28c3d4d7ac26b1e"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Wed Oct 29 06:47:11 2025 +0000"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Oct 29 06:47:11 2025 +0000"
      },
      "message": "Update `co.elastic.clients:elasticsearch-java` to version `9.1.5` (#3949)\n\n"
    },
    {
      "commit": "9643c2220f7816e5653fcc63b28c3d4d7ac26b1e",
      "tree": "b66386147b9494ad814861e360e8df14948e5f68",
      "parents": [
        "141a54e987588e60c4a0e0278caadd243ffb3621"
      ],
      "author": {
        "name": "Matt Sicker",
        "email": "mattsicker@apache.org",
        "time": "Fri Oct 24 14:15:55 2025 -0500"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Oct 24 19:15:55 2025 +0000"
      },
      "message": "Fix nullability issues in `SslConfiguration` (#3953)\n\nCo-authored-by: Volkan Yazıcı \u003cvolkan@yazi.ci\u003e"
    },
    {
      "commit": "141a54e987588e60c4a0e0278caadd243ffb3621",
      "tree": "46c0abc732186a933e8547db5d69012d46614dd9",
      "parents": [
        "60c62ee8fd49639f59cf4673c75fa3bf9b055c48"
      ],
      "author": {
        "name": "Rodolfo Juarez",
        "email": "92766353+rjuare8@users.noreply.github.com",
        "time": "Fri Oct 24 08:21:18 2025 -0500"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Oct 24 13:21:18 2025 +0000"
      },
      "message": "Stabilize `RollingAppenderDeleteAccumulatedCount1Test` (#3957)\n\n"
    },
    {
      "commit": "60c62ee8fd49639f59cf4673c75fa3bf9b055c48",
      "tree": "1bfc77999e6dea143016ad2a5c968f832c3df924",
      "parents": [
        "13e37d85ce79b4562a1efff0bcc6a91b9d1529f3"
      ],
      "author": {
        "name": "Rodolfo Juarez",
        "email": "92766353+rjuare8@users.noreply.github.com",
        "time": "Wed Oct 22 05:47:46 2025 -0500"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Oct 22 10:47:46 2025 +0000"
      },
      "message": "Stabilize `RollingAppenderDirectCronTest` and `XmlCompleteFileAppenderTest` (#3946)\n\nCo-authored-by: Volkan Yazıcı \u003cvolkan@yazi.ci\u003e"
    },
    {
      "commit": "13e37d85ce79b4562a1efff0bcc6a91b9d1529f3",
      "tree": "58c2ecd75b768cf6fddb71da6ad0fbedbc2894d1",
      "parents": [
        "ed45a45e7dfb4cdfaaa6cd631a88ad3993d64163"
      ],
      "author": {
        "name": "Kevin Cruz",
        "email": "kcruz28@illinois.edu",
        "time": "Mon Oct 20 13:54:36 2025 -0500"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Oct 20 18:54:36 2025 +0000"
      },
      "message": "Increase Awaitility timeout to 5s in `AbstractAsyncThreadContextTestBase` (#3956)\n\n"
    },
    {
      "commit": "ed45a45e7dfb4cdfaaa6cd631a88ad3993d64163",
      "tree": "35df4f7eee5d287b4370556e777a119836f64eda",
      "parents": [
        "c9a38ed7545931c2de2c424666d55f5cfd71209c"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Mon Oct 20 13:46:07 2025 +0000"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Oct 20 13:46:07 2025 +0000"
      },
      "message": "Update `org.junit:junit-bom` to version `5.13.4` (#3850) (#3850)\n\nCo-authored-by: ASF Logging Services RM \u003cprivate@logging.apache.org\u003e\nCo-authored-by: Piotr P. Karwasz \u003cpkarwasz-github@apache.org\u003e"
    },
    {
      "commit": "c9a38ed7545931c2de2c424666d55f5cfd71209c",
      "tree": "6910009ce91bc083882307266837e41b78ba306e",
      "parents": [
        "1758179ef0206e78b6b61b7ac45d3e237685e360"
      ],
      "author": {
        "name": "Moritz Mack",
        "email": "moritz@mackmail.net",
        "time": "Mon Oct 20 09:41:13 2025 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Oct 20 09:41:13 2025 +0200"
      },
      "message": "Fix `ArrayIndexOutOfBoundsException` in `ThrowableStackTraceRenderer` when the stack trace is mutated concurrently (#3955)\n\nCo-authored-by: Volkan Yazıcı \u003cvolkan@yazi.ci\u003e"
    },
    {
      "commit": "1758179ef0206e78b6b61b7ac45d3e237685e360",
      "tree": "ba5dd96e206cc17be8a512def36f588b55f01108",
      "parents": [
        "4852d1255c011ec757f5d06564f9408857b51423"
      ],
      "author": {
        "name": "Kevin Cruz",
        "email": "kcruz28@illinois.edu",
        "time": "Mon Oct 13 04:40:59 2025 -0500"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Oct 13 09:40:59 2025 +0000"
      },
      "message": "Replace fixed delay with polling in `SyslogAppenderCustomLayoutTest` (#3944)\n\n"
    },
    {
      "commit": "4852d1255c011ec757f5d06564f9408857b51423",
      "tree": "fdb0867cd34b28a7cea7ae38f691fffb8aa614cd",
      "parents": [
        "e9556bb8f68722ef60b86f1e71a5fb994e4971f1"
      ],
      "author": {
        "name": "Kevin Cruz",
        "email": "kcruz28@illinois.edu",
        "time": "Mon Oct 13 04:35:04 2025 -0500"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Oct 13 09:35:04 2025 +0000"
      },
      "message": "Fix state leakage in `AbstractAsyncThreadContextTestBase` (#3945)\n\n"
    },
    {
      "commit": "e9556bb8f68722ef60b86f1e71a5fb994e4971f1",
      "tree": "b7392bade0c4160b212b36f8a3eb01ece7a8877b",
      "parents": [
        "8a3fb534f999632d0688a9a204f11b3dd7f59f72"
      ],
      "author": {
        "name": "Anurag Dubey",
        "email": "143686183+anuragdy@users.noreply.github.com",
        "time": "Fri Oct 10 19:11:27 2025 +0530"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Oct 10 13:41:27 2025 +0000"
      },
      "message": "Optimize `DefaultThreadContextMap.getCopy()` performance (#3939)\n\nCo-authored-by: Volkan Yazıcı \u003cvolkan@yazi.ci\u003e"
    },
    {
      "commit": "8a3fb534f999632d0688a9a204f11b3dd7f59f72",
      "tree": "2449844450ae9674302168328f776641764da365",
      "parents": [
        "7125d933cf5a3b655a1cf9f5cfd9101b7beffe06"
      ],
      "author": {
        "name": "Jeff Maxwell",
        "email": "jeff.maxwell@uptake.com",
        "time": "Thu Oct 09 03:23:58 2025 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Oct 09 07:23:58 2025 +0000"
      },
      "message": "Fix log message in `ApiLogger::setUseParentHandlers` (#3943)\n\n"
    },
    {
      "commit": "7125d933cf5a3b655a1cf9f5cfd9101b7beffe06",
      "tree": "4fca286cbc27f8aa540376dceac72588be437767",
      "parents": [
        "84c77160a1a9b0a561a9dae46a5b7e9fd8093ea1"
      ],
      "author": {
        "name": "joepembe",
        "email": "joepembe@amazon.com",
        "time": "Fri Oct 03 10:12:14 2025 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Oct 03 17:12:14 2025 +0000"
      },
      "message": "Fix `NPE` in `ThrowableStackTraceRenderer` due to concurrent mutation of suppressed exceptions (#3934)\n\nCo-authored-by: Volkan Yazıcı \u003cvolkan@yazi.ci\u003e"
    },
    {
      "commit": "84c77160a1a9b0a561a9dae46a5b7e9fd8093ea1",
      "tree": "e1f8196820a8e72a841001e64e130c432c4ef2b8",
      "parents": [
        "745d0967620008492b1c8c3354198dca5300fb05"
      ],
      "author": {
        "name": "Ramanathan",
        "email": "ramanathanbscmca@gmail.com",
        "time": "Fri Oct 03 19:21:38 2025 +0530"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Oct 03 15:51:38 2025 +0200"
      },
      "message": "Bump elasticsearch-java to version 9.x (#3901)\n\nSigned-off-by: Ramanathan \u003cramanathanbscmca@gmail.com\u003e\nCo-authored-by: Volkan Yazıcı \u003cvolkan@yazi.ci\u003e"
    },
    {
      "commit": "745d0967620008492b1c8c3354198dca5300fb05",
      "tree": "a8a31fb7564c1d5a5ecd66d6a3f1ca83bc1834ff",
      "parents": [
        "9b9a0d4350ab046c8f1616e90095ff222750f333"
      ],
      "author": {
        "name": "Volkan Yazıcı",
        "email": "volkan@yazi.ci",
        "time": "Mon Sep 22 10:04:37 2025 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Sep 22 08:04:37 2025 +0000"
      },
      "message": "Merge changes from `2.25.2` release (#3936)\n\n"
    },
    {
      "commit": "9b9a0d4350ab046c8f1616e90095ff222750f333",
      "tree": "e1632842d620d9df7c175c14c965f30c6a621742",
      "parents": [
        "59d2be98a49fa7efd0d66e3d880e5079c104f59c"
      ],
      "author": {
        "name": "Piotr P. Karwasz",
        "email": "pkarwasz-github@apache.org",
        "time": "Thu Sep 18 19:49:24 2025 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Sep 18 19:49:24 2025 +0200"
      },
      "message": "Fix parsing and merging of literals in `InstantPatternDynamicFormatter` (#3932)\n\n"
    },
    {
      "commit": "59d2be98a49fa7efd0d66e3d880e5079c104f59c",
      "tree": "0562ef38154155f530335ef4a3e86eb53f9016bf",
      "parents": [
        "7209b27ba4b2a9a9ce7be99b3a8af9bd74de5ad0"
      ],
      "author": {
        "name": "Piotr P. Karwasz",
        "email": "pkarwasz-github@apache.org",
        "time": "Thu Sep 18 19:11:51 2025 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Sep 18 19:11:51 2025 +0200"
      },
      "message": "Recognize nested converters in `alwaysWriteExceptions` (#3920)\n\n"
    },
    {
      "commit": "7209b27ba4b2a9a9ce7be99b3a8af9bd74de5ad0",
      "tree": "dc83ddd3b25849fce0c30f1322011e86813994de",
      "parents": [
        "c41feeddad05f96fc73d3c0fb6a9da6763431aec"
      ],
      "author": {
        "name": "Piotr P. Karwasz",
        "email": "pkarwasz-github@apache.org",
        "time": "Fri Sep 12 13:21:08 2025 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Sep 12 13:21:08 2025 +0200"
      },
      "message": "doc: clarify `%ex` whitespace behavior across versions (#3918)\n\nThis update documents the historical whitespace handling of the `%ex` pattern converter and how it has evolved in the `2.25.x` releases.\n\nKey point: since `2.25.2`, when users add `%ex` explicitly in their pattern, Log4j no longer inserts any automatic separator. It is now entirely up to the user to decide how (or whether) to separate the stack trace from the preceding output.\n\nRelated to #3837\n\nCo-authored-by: Volkan Yazıcı \u003cvolkan.yazici@oracle.com\u003e"
    },
    {
      "commit": "c41feeddad05f96fc73d3c0fb6a9da6763431aec",
      "tree": "8d175b9b990d945e6d41ec54f2c2f64e71c3c651",
      "parents": [
        "fe55a68d1170338cea19649c62936d376af983ee"
      ],
      "author": {
        "name": "Piotr P. Karwasz",
        "email": "pkarwasz-github@apache.org",
        "time": "Fri Sep 12 13:00:06 2025 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Sep 12 13:00:06 2025 +0200"
      },
      "message": "fix: make `%ex` behavior context-independent (#3919)\n\nHistorically, throwable pattern converters (`%ex`, `%xEx`, etc.) behaved in a context-sensitive way:\n\n* If the **preceding formatter’s expansion** did not end with whitespace, the converter automatically inserted a space before rendering the exception.\n\nIn version `2.25.0`, this was changed to insert a **newline** instead of a space, but the behavior was still dependent on surrounding context.\n\n#### What this change does\n\nThis PR removes the context-dependent behavior altogether and makes `%ex` expansion fully predictable, while remaining backward-compatible:\n\n* When `%ex` is **added implicitly** because `alwaysWriteExceptions\u003dtrue`:\n\n  * If the pattern already ends with `%n`, a plain `%ex` is appended.\n  * Otherwise, `%notEmpty{%n%ex}` is appended.\n    This ensures exceptions are always clearly separated from the main log message by a newline, without adding extra characters when no exception is present.\n* When `%ex` is **explicitly included** in the pattern by the user:\n\n  * Its expansion is rendered exactly as written in the pattern.\n  * It will **never** prepend a newline on its own.\n\n#### Why\n\n* Eliminates confusing context-sensitive behavior.\n* Makes output consistent and predictable.\n* Preserves legacy expectations by only modifying implicitly added `%ex`.\n\nCloses #3873\n\nCo-authored-by: Volkan Yazıcı \u003cvolkan@yazi.ci\u003e"
    },
    {
      "commit": "fe55a68d1170338cea19649c62936d376af983ee",
      "tree": "615db35e8f61fda1822871929434b862e5262f2e",
      "parents": [
        "d13b56a083e2acf1c6f119413ee849d82f4a38b7"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Sun Sep 07 21:49:23 2025 +0000"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Sep 07 21:49:23 2025 +0000"
      },
      "message": "Update `org.apache.commons:commons-lang3` to version `3.18.0` (#3821)\n\nCo-authored-by: dependabot[bot] \u003c49699333+dependabot[bot]@users.noreply.github.com\u003e"
    },
    {
      "commit": "d13b56a083e2acf1c6f119413ee849d82f4a38b7",
      "tree": "615db35e8f61fda1822871929434b862e5262f2e",
      "parents": [
        "8e80e9e37a6d0294e254f2227638d6384fb8cf84"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Sun Sep 07 21:48:56 2025 +0000"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Sep 07 21:48:56 2025 +0000"
      },
      "message": "Update `org.apache.commons:commons-lang3` to version `3.18.0` (#3815)\n\nCo-authored-by: ASF Logging Services RM \u003cprivate@logging.apache.org\u003e"
    },
    {
      "commit": "8e80e9e37a6d0294e254f2227638d6384fb8cf84",
      "tree": "e03c7419781061668cafea10d818cd1a93fe6c27",
      "parents": [
        "187f38cd897b0f5a16fbfc68f5860935f4a7fe23"
      ],
      "author": {
        "name": "Volkan Yazıcı",
        "email": "volkan@yazi.ci",
        "time": "Tue Sep 02 09:38:38 2025 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Sep 02 09:38:38 2025 +0200"
      },
      "message": "Fix the missing Error Prone version (#3905)\n\n"
    },
    {
      "commit": "187f38cd897b0f5a16fbfc68f5860935f4a7fe23",
      "tree": "2dce5f5a2b73163d711487314627725ae02146fb",
      "parents": [
        "a865bd192d3f84936e196486b42c058aea5f22a1"
      ],
      "author": {
        "name": "Niklas Keller",
        "email": "me@kelunik.com",
        "time": "Mon Sep 01 10:40:11 2025 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Sep 01 08:40:11 2025 +0000"
      },
      "message": "Round `initialTime` in `RollingFileManager` (#3872)\n\nCo-authored-by: Volkan Yazıcı \u003cvolkan@yazi.ci\u003e"
    },
    {
      "commit": "a865bd192d3f84936e196486b42c058aea5f22a1",
      "tree": "71b4e9adb3499f596e236291e04e156bd4096cc2",
      "parents": [
        "74c9418d57f0bb3548d21e41675a06f60786e618"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Sat Aug 30 12:55:59 2025 +0000"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Aug 30 12:55:59 2025 +0000"
      },
      "message": "Update `com.fasterxml.jackson:jackson-bom` to version `` (#3847) (#3847)\n\nCo-authored-by: ASF Logging Services RM \u003cprivate@logging.apache.org\u003e"
    },
    {
      "commit": "74c9418d57f0bb3548d21e41675a06f60786e618",
      "tree": "c8de12ee5a8b74947371700377cb031a5ef8c470",
      "parents": [
        "af69de4314639a0d9d75735daa6798e41ea50340"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Sat Aug 30 12:51:48 2025 +0000"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Aug 30 12:51:48 2025 +0000"
      },
      "message": "Update `org.xerial.snappy:snappy-java` to version `1.1.10.8` (#3841) (#3841)\n\nCo-authored-by: ASF Logging Services RM \u003cprivate@logging.apache.org\u003e\nCo-authored-by: Piotr P. Karwasz \u003cpkarwasz-github@apache.org\u003e"
    },
    {
      "commit": "af69de4314639a0d9d75735daa6798e41ea50340",
      "tree": "f45b50629dd2d2a364596724fea334e3bba18c57",
      "parents": [
        "769b9249176b69ad4474fc4bd831dec67775c953"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Sat Aug 30 12:50:30 2025 +0000"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Aug 30 12:50:30 2025 +0000"
      },
      "message": "Update `org.gradlex:gradle-module-metadata-maven-plugin` to version `1.1` (#3811)\n\nCo-authored-by: ASF Logging Services RM \u003cprivate@logging.apache.org\u003e"
    },
    {
      "commit": "769b9249176b69ad4474fc4bd831dec67775c953",
      "tree": "551fdf2a767c5f217b2cf18305be066362dd3372",
      "parents": [
        "e84655e22366b690afa48d4d1a8be02c0f799c73"
      ],
      "author": {
        "name": "Ramanathan",
        "email": "ramanathanbscmca@gmail.com",
        "time": "Fri Aug 22 02:00:08 2025 +0530"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Aug 21 20:30:08 2025 +0000"
      },
      "message": "[LOG4J2-3805] NamedInstantPatternTest#compatibilityOfLegacyPattern fails in timezones with minute offsets (e.g., GMT+05:30) (#3888)\n\n* [LOG4J2-3805] Skip compatibilityOfLegacyPattern test for fractional timezone offsets\n\nThe compatibilityOfLegacyPattern test fails in environments where the system\ndefault timezone has a non-zero minute offset (e.g., Asia/Kolkata, Asia/Kathmandu).\n\nRoot cause:\n- SimpleDateFormat\u0027s X pattern truncates fractional offsets (e.g., +05:30 → +05).\n- DateTimeFormatter\u0027s X pattern preserves the minutes (+05:30).\n\nSince Log4j intentionally follows DateTimeFormatter’s behavior, the test should\nnot assert equivalence in such environments.\n\nThis change adds an assumption to skip the test when the system timezone offset\nis not a whole hour. This ensures deterministic builds for contributors in all\nregions, while still verifying correctness in whole-hour zones.\n\nCloses #3805\n\n* LOG4J2-3885: Add test for ISO8601_OFFSET_DATE_TIME_HH with system default zone\n\nEnsure legacy and modern formatting produce consistent results\nwhen the system default zone offset is a whole hour.\nSkip the test otherwise using assumptions."
    },
    {
      "commit": "e84655e22366b690afa48d4d1a8be02c0f799c73",
      "tree": "3d8fc65595f8ccb9769581ea7ad337e3a26519cb",
      "parents": [
        "2f79c39696a998ec1530aaf12de67a3c51ee1f13"
      ],
      "author": {
        "name": "Ramanathan",
        "email": "ramanathanbscmca@gmail.com",
        "time": "Tue Aug 19 01:29:54 2025 +0530"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Aug 18 19:59:54 2025 +0000"
      },
      "message": "Remove `jvmrunargs` lookup (#3874)\n\n"
    },
    {
      "commit": "2f79c39696a998ec1530aaf12de67a3c51ee1f13",
      "tree": "27c678d3d9fa38bc3f3f2bc280f428430814943a",
      "parents": [
        "286191e5253da635c271053e8d3b6f433b00c054"
      ],
      "author": {
        "name": "Ryan Schmitt",
        "email": "rschmitt@apache.org",
        "time": "Mon Aug 04 00:56:45 2025 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Aug 04 07:56:45 2025 +0000"
      },
      "message": "Fix missing default `Target` value in `ConsoleAppender` (#3852)\n\nCo-authored-by: Volkan Yazıcı \u003cvolkan.yazici@oracle.com\u003e"
    },
    {
      "commit": "286191e5253da635c271053e8d3b6f433b00c054",
      "tree": "5aae0603c6a6ce177f5c2d3816e3d7dbc387a92b",
      "parents": [
        "61ec36abd44b7c7d9b62baecd69698ee30caee92"
      ],
      "author": {
        "name": "Ryan Schmitt",
        "email": "rschmitt@apache.org",
        "time": "Thu Jul 24 06:30:19 2025 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Jul 24 15:30:19 2025 +0200"
      },
      "message": "DefaultLayout: Append a newline to the serialized LogEvent (#3851)\n\nFixes #3835."
    },
    {
      "commit": "61ec36abd44b7c7d9b62baecd69698ee30caee92",
      "tree": "5ebb1d46d28290d221b140216ec885ff6cf63c83",
      "parents": [
        "2b1d4692faa03c3541e23cd194507bc3d2622bfa"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "garydgregory@users.noreply.github.com",
        "time": "Wed Jul 23 10:24:37 2025 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Jul 23 10:24:37 2025 -0400"
      },
      "message": "Specify the scale (seconds) of the monitorInterval configuration integer (#3854)\n\n"
    },
    {
      "commit": "2b1d4692faa03c3541e23cd194507bc3d2622bfa",
      "tree": "8822fe2176c5e26ffa3858dd283c8a08cbfa9e0f",
      "parents": [
        "b6b1deb194f6a8a7797b56ef9151d3e60ecb0488"
      ],
      "author": {
        "name": "Roy",
        "email": "roy.ash456@gmail.com",
        "time": "Sun Jul 20 21:36:48 2025 +0300"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Jul 20 18:36:48 2025 +0000"
      },
      "message": "Create `NamedDatePattern` to make date \u0026 time patterns supported by Pattern Layout programmatically accessible (#3789)\n\nCo-authored-by: Piotr P. Karwasz \u003cpiotr@github.copernik.eu\u003e\nCo-authored-by: Roy Ash \u003croya@getneema.com\u003e"
    },
    {
      "commit": "b6b1deb194f6a8a7797b56ef9151d3e60ecb0488",
      "tree": "e82b8f9dd3d2cb6e0722434fd184fe9c490009ea",
      "parents": [
        "2c66a74fd712976b2111bad6719d6649553b0cbf"
      ],
      "author": {
        "name": "Volkan Yazıcı",
        "email": "volkan@yazi.ci",
        "time": "Sun Jul 20 20:16:32 2025 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Jul 20 18:16:32 2025 +0000"
      },
      "message": "Add changelog for `StatusLogger` changes in `2.23.0` (#3838)\n\n"
    },
    {
      "commit": "2c66a74fd712976b2111bad6719d6649553b0cbf",
      "tree": "44f1cd5d02086d72ed7a546ce04147f01c925af8",
      "parents": [
        "a501f98cb1269b29a92b40d5d166bf7ec50f4db4"
      ],
      "author": {
        "name": "Piotr P. Karwasz",
        "email": "pkarwasz-github@apache.org",
        "time": "Sun Jul 20 20:01:15 2025 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Jul 20 20:01:15 2025 +0200"
      },
      "message": "fix: Prevent `LogBuilder` memory leak in Log4j API to Logback bridge (#3824)\n\n"
    },
    {
      "commit": "a501f98cb1269b29a92b40d5d166bf7ec50f4db4",
      "tree": "73dbdcd857e479a92d2fe6ba6bc469f303429627",
      "parents": [
        "b00133be816ad2d95cc1e8afe8eb66bba009591a"
      ],
      "author": {
        "name": "Piotr P. Karwasz",
        "email": "pkarwasz-github@apache.org",
        "time": "Sun Jul 20 19:38:55 2025 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Jul 20 19:38:55 2025 +0200"
      },
      "message": "Merge release `2.25.1` back into `2.x` (#3820)\n\n"
    },
    {
      "commit": "b00133be816ad2d95cc1e8afe8eb66bba009591a",
      "tree": "982617d1c28f63db5bf54a0dd97ad8061a3dd9ea",
      "parents": [
        "8ec5703670fc24d8883db39df8be244c34c8e0bd"
      ],
      "author": {
        "name": "Junhyeok Lee",
        "email": "118912510+jhl221123@users.noreply.github.com",
        "time": "Sun Jul 20 16:51:45 2025 +0900"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Jul 20 07:51:45 2025 +0000"
      },
      "message": "Correct log message format in `AbstractDriverManagerConnectionSource` (#3831)\n\n* Correct log message format in AbstractDriverManagerConnectionSource\n\nThe debug log message in AbstractDriverManagerConnectionSource had 4 placeholders but was supplied with 5 arguments.\nThis corrects the format string to match the argument count, resolving the warning.\n\nFixes #3828\n\n* Add changelog entry"
    },
    {
      "commit": "8ec5703670fc24d8883db39df8be244c34c8e0bd",
      "tree": "78e0fe8ab0e2a14f4c35dad90df5ccde3207da44",
      "parents": [
        "c5a19557899ce751eb2841d0e7491b535bec2524"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Mon Jul 07 14:59:03 2025 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Jul 07 14:59:03 2025 +0200"
      },
      "message": "Bump org.junit:junit-bom from 5.13.2 to 5.13.3 in /log4j-parent (#3806)\n\nBumps [org.junit:junit-bom](https://github.com/junit-team/junit-framework) from 5.13.2 to 5.13.3.\n- [Release notes](https://github.com/junit-team/junit-framework/releases)\n- [Commits](https://github.com/junit-team/junit-framework/compare/r5.13.2...r5.13.3)\n\n---\nupdated-dependencies:\n- dependency-name: org.junit:junit-bom\n  dependency-version: 5.13.3\n  dependency-type: direct:production\n  update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] \u003csupport@github.com\u003e\nCo-authored-by: dependabot[bot] \u003c49699333+dependabot[bot]@users.noreply.github.com\u003e"
    },
    {
      "commit": "c5a19557899ce751eb2841d0e7491b535bec2524",
      "tree": "103b886534b944f325ef97494739ffaa5010d820",
      "parents": [
        "cab8ae8944a0651d77401a8424eb4514f6e1da10"
      ],
      "author": {
        "name": "Piotr P. Karwasz",
        "email": "pkarwasz-github@apache.org",
        "time": "Fri Jul 04 20:33:11 2025 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Jul 04 18:33:11 2025 +0000"
      },
      "message": "fix: Add `resource:` protocol to allowed URL schemes by default (#3795)\n\n* fix: Add `resource:` protocol to allowed URL schemes by default\n\nThis update includes `resource:` in the list of allowed URL schemes for retrieving configuration files.\nSee [`log4j2.configurationAllowedProtocols`](https://logging.apache.org/log4j/2.x/manual/systemproperties.html#log4j2.configurationAllowedProtocols)\n\nCurrently, the `resource:` protocol is used exclusively by a `URLStreamHandler` that retrieves files from the embedded resources in a GraalVM native image. This makes it a secure and appropriate source for trusted configuration files.\n\nThis change cannot be easily and reliably tested through a unit test. An integration test will be provided in apache/logging-log4j-samples#345\n\nCloses #3790\n\n* fix: Add `resource` protocol only in native images\n\nThis change introduces an internal `SystemUtils.isGraalVm()` method to detect the presence of GraalVM and enable the `resource` protocol.\n\n* Reword changelog entry\n\n---------\n\nCo-authored-by: Volkan Yazıcı \u003cvolkan@yazi.ci\u003e"
    },
    {
      "commit": "cab8ae8944a0651d77401a8424eb4514f6e1da10",
      "tree": "162e518466c919a40a6aab2429932cfd189630df",
      "parents": [
        "6cd74a88bace5e63fd605256a0dee38cb07ddc8e"
      ],
      "author": {
        "name": "Piotr P. Karwasz",
        "email": "pkarwasz-github@apache.org",
        "time": "Fri Jul 04 18:43:08 2025 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Jul 04 18:43:08 2025 +0200"
      },
      "message": "fix: Add GraalVM reachability metadata for non-plugin class instantiations (#3800)\n\nThe `GraalVmProcessor` currently only generates metadata for Log4j plugins, overlooking other reflection usages in Log4j Core. This change adds reachability metadata for additional reflection cases to improve compatibility with GraalVM native images.\n\n### Fixed Cases\n\nThis PR addresses the following reflective instantiations:\n\n* **Context selectors and reliability strategies:** Ensures proper instantiation under GraalVM.\n* **`Configuration` instantiation in `DefaultConfigurationBuilder`:** Fixes support for the `log4j2.properties` configuration format when running on GraalVM.\n* **`BlockingQueue` instantiation in JSON Template Layout:** Enables GraalVM compatibility. Note: `MpmcArrayQueue` is not supported on GraalVM and must be fixed in the JCTools project.\n\n### Known Limitations (Explicitly Ignored)\n\nThe following cases are *not* addressed in this PR:\n\n* **JMX classes in `log4j-1.2-api`:** While GraalVM supports JMX, usage of Log4j 1.x’s JMX interface is likely minimal.\n* **`MulticastDnsAdvertiser`:** This feature is probably unused and could pose a security risk by advertising log file locations via mDNS.\n"
    },
    {
      "commit": "6cd74a88bace5e63fd605256a0dee38cb07ddc8e",
      "tree": "c8ed38f05373d8d09e2871322b29c95deaf7f9b1",
      "parents": [
        "3ba9da5eef7c3a65a95a7ca547bbe2852aecb0d3"
      ],
      "author": {
        "name": "Piotr P. Karwasz",
        "email": "pkarwasz-github@apache.org",
        "time": "Fri Jul 04 14:29:06 2025 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Jul 04 14:29:06 2025 +0200"
      },
      "message": "fix: Disable sharing of formatted timestamps between threads (#3802)\n\nThis change disables the sharing of formatted timestamps between threads in `InstantPatternThreadLocalCachedFormatter`.\n\nPreviously, a mutable `StringBuilder` was shared across threads via a cached object. This could lead to situations where one thread (\"owner\") was modifying the builder while another thread was reading from it, resulting in inaccurate or truncated timestamps.\n\nThis fix ensures that only thread-local instances are used, preventing concurrency issues and improving timestamp correctness under load.\n\nThis change is similar in nature to #1485 and fixes #3792."
    },
    {
      "commit": "3ba9da5eef7c3a65a95a7ca547bbe2852aecb0d3",
      "tree": "24c99dbe766dbf62d4cca556324b93bf1a2eb7fa",
      "parents": [
        "3fa55e8d54bd54cf9b5db4d514ee19f605cf9275"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Thu Jul 03 21:11:24 2025 +0000"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Jul 03 21:11:24 2025 +0000"
      },
      "message": "Update `com.github.luben:zstd-jni` to version `1.5.7-4` (#3799)\n\nCo-authored-by: ASF Logging Services RM \u003cprivate@logging.apache.org\u003e"
    },
    {
      "commit": "3fa55e8d54bd54cf9b5db4d514ee19f605cf9275",
      "tree": "fb7a8eb7444c2d7c0a404bf5320fdbe1ad7a9c7f",
      "parents": [
        "7f901930b25a2e085941b60439fc056c67769a1d"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Thu Jul 03 21:11:10 2025 +0000"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Jul 03 21:11:10 2025 +0000"
      },
      "message": "Update `org.junit:junit-bom` to version `5.13.2` (#3782)\n\nCo-authored-by: ASF Logging Services RM \u003cprivate@logging.apache.org\u003e"
    },
    {
      "commit": "7f901930b25a2e085941b60439fc056c67769a1d",
      "tree": "8d9607782b9ae16f55e8ac3230fdb09f39096b3a",
      "parents": [
        "7da84506296b6cd836475e27ce85404a28a3d5ee"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Thu Jul 03 22:49:21 2025 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Jul 03 22:49:21 2025 +0200"
      },
      "message": "Bump com.fasterxml.jackson:jackson-bom from 2.19.0 to 2.19.1 in /log4j-parent (#3745)\n\n* Update `com.fasterxml.jackson:jackson-bom` to version `2.19.1` (#3745)\n\n* Empty commit to trigger required checks\n\n---------\n\nCo-authored-by: dependabot[bot] \u003c49699333+dependabot[bot]@users.noreply.github.com\u003e\nCo-authored-by: Piotr P. Karwasz \u003cpkarwasz-github@apache.org\u003e"
    },
    {
      "commit": "7da84506296b6cd836475e27ce85404a28a3d5ee",
      "tree": "70f73cf4bb189db26c09787e4a39d20b0290a5b2",
      "parents": [
        "c4df56e979e00a06624147fdc0fd04a7d0638307"
      ],
      "author": {
        "name": "Piotr P. Karwasz",
        "email": "pkarwasz-github@apache.org",
        "time": "Thu Jul 03 16:55:32 2025 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Jul 03 14:55:32 2025 +0000"
      },
      "message": "fix: Fix Java type for annotated array parameters (#3797)\n\nThis update fixes the GraalVM reachability metadata generation for methods with annotated array parameters, such as `@Nullable String[]`.\n\nPreviously, the code computed the fully qualified class name for the parameter using the **raw** type, which retained the annotations (e.g., `@org.jspecify.annotations.Nullable java.lang.String`). This resulted in incorrect metadata that was ignored by GraalVM.\n\nThe issue is resolved by transforming the `DeclaredType` into a `TypeElement`, effectively removing any annotations, and then calling `getQualifiedName()` to correctly generate the fully qualified class name without annotations.\n"
    },
    {
      "commit": "c4df56e979e00a06624147fdc0fd04a7d0638307",
      "tree": "8f215d2518528064a473b7d48cbf1d2ea8f4f76d",
      "parents": [
        "3b0c77d5e8195c437bbe690f87180fe3ba44e48d"
      ],
      "author": {
        "name": "Piotr P. Karwasz",
        "email": "pkarwasz-github@apache.org",
        "time": "Thu Jul 03 16:02:29 2025 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Jul 03 16:02:29 2025 +0200"
      },
      "message": "doc: Clarify and enhance `GraalVmProcessor` configuration example (#3786)\n\nThis update refines the `GraalVmProcessor` configuration example in response to feedback from #3755. The goal is to make the example more reliable and aligned with common Maven project setups. Key improvements include:\n\n* **Ensuring consistent parameter usage:**\n  The example now adds `-Alog4j.graalvm.groupId` and `-Alog4j.graalvm.artifactId` to **all executions** of the Maven Compiler Plugin. This guarantees correct behavior regardless of the execution ID used in user projects.\n\n* **Simplifying plugin execution setup:**\n  Instead of introducing a dedicated `generate-log4j-plugin-descriptor` execution, the example now modifies the existing `default-compile` execution. This reflects the most typical use case, where annotation processing and compilation occur together.\n\nThese changes aim to make the setup easier to adopt while reducing configuration errors."
    }
  ],
  "next": "3b0c77d5e8195c437bbe690f87180fe3ba44e48d"
}
